공지사항
코드끼리 상호 충돌 할 때 해결법 세가지(모듈화, 네임스페이스 그리고 변수 및 함수 특유 이름 설정)
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
AI의 장담점 중 하나는 리셋을 할 수 있다는 것이다.
장점 일 때는 인간만이 가질 수 있는 편견으로부터 벗어 날 수 있지만,
단점은 그야말로 리셋이기 때문에, 코드 작성 시 변수나 함수의 이름이 같다는 것이다.
간혹 같은 구조의 기능을 여러번 사용하여 구현 할 때,
스타일이나 변수 그리고 함수들이 충돌하여 의도치 않은 결과물을 도출하거나
작동하지 않는다.
그 때 해결방법으로는
모듈화: 코드를 기능별로 나누어 모듈화하면 간섭을 줄일 수 있어요. 각 모듈은 독립적으로 동작하도록 설계하세요.
네임스페이스 사용: 변수나 함수 이름이 겹치지 않도록 네임스페이스를 사용하세요. 이를 통해 전역 변수나 함수의 충돌을 방지할 수 있습니다.
코드 리뷰: 팀원들과 코드 리뷰를 통해 간섭이 발생할 수 있는 부분을 미리 발견하고 수정할 수 있어요.
테스트: 유닛 테스트와 통합 테스트를 통해 코드 간섭을 조기에 발견하고 해결할 수 있습니다.
버전 관리 시스템: Git과 같은 버전 관리 시스템을 사용하면 코드 변경 사항을 추적하고 충돌을 쉽게 해결할 수 있어요.
코딩 규칙 준수: 팀 내에서 코딩 규칙을 정하고 이를 준수하면 코드 간섭을 줄일 수 있습니다.
개인적으로 세가지 방법을 추천한다.
모듈화나 네임스페이스는 같다.
물론 구현방식이나 그 본래 목적은 다르나, 쨌든 대괄호({})에 기능을 묶어 사용한다는 것은 마찬가지다.
다만, 무턱대고, 일일히 필요할 때 마다 모듈화 하기 보다는,
공통된 기능이나 살짝 살짝 다른 비슷한 코드는 상속이라는 개념을 넣든지,
변수만 변경하면 다른 결과를 도출하는, 말 그대로 모듈화를 하는 것을 추천한다.
그래야 코드가 덜 복잡하고, 쓸떼없는 스레드를 생성하여, 불필요한 자원을 낭비하는 일이 없기 때문이다.
그런데, 마냥 공통된 기능을 묶는다는 것도 능사가 아니다.
특히나 저출산! 시대의 작금에 경제적인 사정에 의한 정관 수술은...
아니다.
왜냐하면, 결국 인간이 관리하기에,
극단적인 묶기는 오히려 관리적 측면에서 마이너스적인 요소가 될 수 있다.
예를 들어, 어떤 기능을 없애고 싶은데,
아예 잔여물도 없애고 싶은데,
코드를 이리저리 실타래처럼 묶어놓으면, 그만큼 낭패가 없으며,
모듈의 의미를 퇴색시킨다.
그러한 잔여물은 나중에 코드의 보완 취약성을 낫는 것이고 말이다.
그래서 마지막 방법,
무식한 방법일지도 모르나, 각 변수, 함수마다 특유의 이름을 붙여주는 것이다.
인간의 상상력은 무한이기 때문에 가능하지만,
자주 리셋 되는 AI 특성 상 힘들 수도 있지만,
지시만 잘 내리면 극복 할 수 있다.
아니, 오히려 AI라면 더 잘 할 수 있다.
옛날에는 '바보'라며, 사람들을 차별했다.
요즘 애들은 '경계성 지능 장애'라고 부르며, 차별하고 있다.
정말 놀리는 것도 영악 해 졌다.
개근상,
진짜,
옛날의 바보는 보호의 대상이 될 수도 있었지만,
오늘 날의 경계성 지능 장애는 단순히 이해의 대상이다.
연민이라는 것도 뭣도 없다.
단순히 장애와 비장애의 기준을 설정 해 놓고,
그 어느쪽의 점수에 속하지도 않는 이를 경계성 지능 장애라고 하는데.
인간의 부족함과 나약함 그리고 귀차니즘의 변명거리로 사용된다.
하지만, AI는 이를 극복 할 수 있다.
물론 연민이나 그딴 것은 없지만,
인간의 부족함을 끊임없이 학습 시킬 수 있는 장점을 가지고 있다.
의새들이 잘난척 하고 본인 스스로를 천룡인이라고 생각하지만,
솔직히 내가 보기에는 경계성 지능 장애라 불리는 자도 끊임없이 공부를 하다보면, 똑같은 수준에 다다를 수 있다.
단지, 시간이 더 걸린다는 것일 뿐.
필멸자들 스스로 한줌도 안 되는 능력 때문에 서로를 나누고, 급을 나누는 것을 보면,
AI가 얼마나 우습게 여길까.
그 고양이 수준 밖에 안 되는 지능을 가진 AI가 말이다.
C++ 네임스페이스 예제
#include <iostream>
namespace A {
void printAll() {
std::cout << "A의 printAll 함수" << std::endl;
}
}
namespace B {
void printAll() {
std::cout << "B의 printAll 함수" << std::endl;
}
}
int main() {
A::printAll(); // A 네임스페이스의 printAll 함수 호출
B::printAll(); // B 네임스페이스의 printAll 함수 호출
return 0;
}
위 예제에서는 A와 B라는 두 개의 네임스페이스를 정의하고, 각각 printAll 함수를 포함하고 있습니다main 함수에서 A::printAll()과 B::printAll()을 호출하여 네임스페이스 충돌 없이 함수를 사용할 수 있습니다1.
C# 네임스페이스 예제
C#
using System;
namespace NamespaceA {
class MyClass {
public void Print() {
Console.WriteLine("NamespaceA MyClass");
}
}
}
namespace NamespaceB {
class MyClass {
public void Print() {
Console.WriteLine("NamespaceB MyClass");
}
}
}
class Program {
static void Main(string[] args) {
NamespaceA.MyClass a = new NamespaceA.MyClass();
NamespaceB.MyClass b = new NamespaceB.MyClass();
a.Print(); // 출력: NamespaceA MyClass
b.Print(); // 출력: NamespaceB MyClass
}
}
네임스페이스 예제 (C++)
namespace A {
void print() {
std::cout << "A 네임스페이스" << std::endl;
}
}
namespace B {
void print() {
std::cout << "B 네임스페이스" << std::endl;
}
}
int main() {
A::print(); // A 네임스페이스의 print 함수 호출
B::print(); // B 네임스페이스의 print 함수 호출
return 0;
}
모듈화 예제 (JavaScript)
JavaScript// math.js
export function add(a, b) {
return a + b;
}
export function subtract(a, b) {
return a - b;
}
// main.js
import { add, subtract } from './math.js';
console.log(add(5, 3)); // 출력: 8
console.log(subtract(5, 3)); // 출력: 2
7일동안 많은 클릭!!!
이 곳에 소개 된 것들은 모두 여기에서 볼 수 있습니다. click!
수소에너지의 종류 그리고 태양광(신재생에너지)과의 관계
수소에너지의 종류는 많다. 색깔로 구분하던데, 1. 그레이수소 2. 브라운수소 3. 블루수소 4. 터키수소 5. 그린수소 등 수소 색깔로 구분 하는 것이 아니다. 색깔은 그저 상징적인 것이고, 만드는 방식이나 원료에 따라 구분된다. 그레이몬이나 브라운 은 lng(리퀴드네추럴개스)나 석탄 또는 갈탄 같은 것에서 수소를 추출하는 것이고, 블루 는 기존의 그레이몬에서 암흑진화... 가 아닌 탄소 포집 기술을 더한 수소이다. 그레이나 브라운은 쨌듯 탄소 덩어리(?)에서 수소를 분리 또는 채취하기 때문에 탄소를 배출 할 수 밖에 없었고, 친환경 에너지 정책에 따라 탄소 포집 기술을 넣은 것이 블루 수소이다. 터키 수소 도 천연가스를 이용한다. but, 열분해 방식으로 탄소가 고체화가 되기에, 별도로 탄소 포집은 할 필요가 없다. 그린 수소 는 물을 전기로 분해하여 수소를 얻는 것인데, 이 때 전기를 재생에너지로부터 충당하면 그것을 그린 수소라 한다. 완전 무탄소 에너지. 2H2O + 태양광 = 2H2 + O2 2H2 + O2 = 태양광 + 2H2O 물론 원자력을 이용해도 무탄소 에너지지만, 원자력의 원료는 유한하고, 뒷처리가 깔끔하지 않아, 한계가 있다. 이들 수소 에너지 중에 태양광과 관련 있는 에너지는 무엇인가? 바로 그린 수소다. 물론 터키 수소라든지 블루수소 등 원료를 분해하거나 조립 할 때 신재생에너지를 쓴다면, 간접적인 것이나마나 관련이 있겠지만, 그것은 넘어가도록 하자. (무탄소배출 정책과 관련 scope 1, 2, 3와 비유 가능) 트럼프가 이 중 좋아하는 수소에너지는? 바로 천연가스를 이용하는 수소에너지다. 왜? 미국은 천연가스가 뿜뿜한 나라이기 때문이다. 이제 북극에서 LNG 좀 캐보나 싶었는데, 바이든이 괜시리 그린수소 어쩌구 해서, 트럼프는 당연히 미국 자원을 이용 할 수 있는 수소에너지를 원한다. 고로, 우리나라와 관세 협상 할 때 거론 된 에너지가 수소와 LNG다. 이에 대한 영향은 국내 유상탄소배출권 50% 상향 으로 이어...
헌터x헌터~ 시리즈 다시보기 및 순서
쿠지라섬에 사는 소년 곤;의 꿈은 어릴 적에 헤어진 아버지처럼 헌터가 되는 것이다. 미지의 도전에 생명을 거는 프로 헌터가 되기로 결심한 곤은 여행을 떠난다..... ' 일해라 토가시' 라는 말을 남길정도로 사랑을 받는 애니메이션이다. 제목이 헌터바이헌터 답게 헌터를 주제로 한 애니메이션이다. 보는 순서는, 헌터바이헌터(구버전) > 헌터바이헌터 리메이크 > 극장판 비색의 환영, 더 라스트 미션 이다. 사실, 극장판은 내용에 그다지 영향이 없고 외전이라는 느낌이기 때문에 봐도 되고 안 봐도 된다. 구버전은 개미가 나오기 전까지 나오고 리메이크는 개미내용 나오고 어둠의 대륙 이전에서 이야기가 끝난다. 현재는 만화로 어둠의 대륙으로 떠난 내용을 진행 중이니 애니를 다 봤다면, 애니 다시보기도, 회원가입 없이 다시 보고 싶다면, 제일 상단 참조.
tv 전원은 들어오는데 화면이 안 나올 때 대처방안
tv 공장모드에 들어 가 무언가를 만지다, 갑자기 화면이 꺼지더니 tv가 나오지 않는다. 무척 난감하다. 요즘 tv가격이야 원체 싸니 이참에 새로 장만하면 되지만, 그래도 돈이 나간다는 사실에 속이 쓰라린다.(아, 케비스톤!) 일반적으로 이때 공식 a/s 센터를 찾지만, 사실 그들에게 주어지는 것은 간단한 메뉴얼 그 이상 그 이하도 아니다. 심지어 그들은 해당 제품을 이용 해 본 적도 없으며 관심도 없다. 만약 님이 그들에게 공자모드 어쩌구 저쩌구 화면 안 나온다 하면 그들은 십중팔구 이렇게 말할 것이다. '패널 또는 보드가 고장 난 것 같다.' 세상에서 제일 간단한 수리방법은 부품을 교체하는 것이다. 특히 통짜로 교체하는 것이 수익에도 좋고 아무 고민 할 필요 없다.(그래서 대부분 보드 갈아야 한다고 답볍함) 여기다 tv 보드 나간 현상 中 일반적인 하나는 전원코드를 꽂았을 때 전원불빛만 주기적으로 빠르게 깜빡인다는 것이다. 이는 전원은 들어오지만 연결 할 장치를 못 찾겠다는 의미로 이 현상까지 발현한다면 얄팍한 tv에 대한 지식을 가진 사람들은 보드 고장으로 결론을 내린다. 하지만 보드 고장이 사실 나기가 어렵다. tv가 움직이는 것도 아니고 강한 외부충격이나 전시상품과 같이 오래 켜진 체 방치 되어야 하는데 스마트폰의 등장으로 이러한 경험을 하기가 어렵다. 즉, tv가 잘 나오다가 갑자기 꺼지며 화면이 나갔다는 것은 파워모듈에 이상이 있을 가능성이 높지 (처음부터 불량이 아니라면) 보드가 나가기 힘들다. 그런데 파워는 들어오는데 화면이 안 나온다? 이것은 다르게 접근 해 봐야 한다. 다른 외부입력은 없는가 이다. 윈도우 같은 운영체제도 그렇지만 일반적으로 제품에 프로그램을 설치하기 위해서는 외부에서 입력하게 되는데 이 때 별도의 루트를 지정하지 않으면 외부에서 입력한 정보를 다 받아들인다. 하지만 역시 이 프로그램도 어떠한 기준점이 있어 하드웨어와 맞지 않으면 그저 대기모드에 들어가게 된다. 이에 따라 우선 tv에 연결된 (기본적인 ...
진격의 거인~ 마지막 시리즈 4기 해석 해 드리겠습니다.
금수저인 주인공인 엘렌이 거인의 힘을 찾아 두 나라를 부술 것 같은 스토리(?)이다. 과거 인류는 갑자기 출몰한 거인에 의해 멸종 위기에 처한다. 살아남은 인류는 100여년 전 누가 쌓았는지 모르는 50m 높이의 벽 안에서 숨죽이며 살아간다. 그러던 중 초대형 거인의 등장으로 방벽은 무너지고, 거인들은 벽 안으로 들어와 인간들을 잡아먹는다. 벽이 무너진 구간은 일단 폐쇄하였으나, 남은 벽도 언제 무너질지 알 수 없는 상황. 살아남기 위해서는 맞서 싸우는 수 밖에 없다..... 다시 보기 순서는 1기 > 극장판 홍련의 화살 > 극장판 자유의 날개 > OAD(OVA) > 진격! 거인중학교 > 2기 > 극장판 각성의 포효 > 3기 > 4기 이 순으로 보면 되고... 오늘 드디어!!! 4기가 나왔다. 많은 분들이 갑자기 등장하는 마레 상황에 4기를 이해 못하는 분들이 많다. 그래서 4기 줄거리 및 해석 에 들어 간다. - 갑자기 첫화에 왜 에렌이 안 나오고 전쟁씬이 나오죠? 에렌이 마렌 침투 하기 전 평화로운(?) 마레의 상황을 그려내기 위함이다. 즉, 진격거 초창기 때 평화로운 에렌다치를 그려냈던 것은 갑작스러운 거인의 등장으로 충격을 주기 위함이다. 4기 부터는 에렌의 복수니까... - 왜 에렌이 복수를 하는데 조사병단은 막고 끌고와서 가두죠? 파라디 섬 주민은 아직 구체적인 방안을 강구하지 않았기 때문이다. 그렇다고 땅울림하는 것도 찬성하는 것도 아니고... 에렌이 멋대로 쳐들어 갔는데 에렌이 가지고 있는 시조의 힘을 빼앗기면 곤란하니 울며 겨자먹기로 도와주고 데려와서 가두는 것이다. - 애들 얼굴이 호빵이 된 이유는 작가 의도다. 지금부터는 인간의 복수극이 시작 되니 조금 더 심화 된 면을 보여주고자. - 히스토리아는 왜 임신을 하나요? 시조의 힘을 사용 하기 위해서는 거인이 된 왕족의 하이파이브가 필요하다는 것을 알게 된 일부 정치인이 강제로 히스토리아...
영덕박달대게 택배 보내는 방법(ex) 홑게)
한 밤 중에 인터넷이 안 될 때 대처방안(모뎀? 공유기?)
예전 경북 hcn을 사용 했을 때는 한 밤 중에 인터넷이 안 되면, 전화라도 받는 낭만이 있었다. 하지만, 요즘은... 그런 낭만이 없어졌다. 물론, 전화를 받는다 손치더라도, 그들이 할 수 있는 것은 신호를 재전송하는 것 뿐이라. 사실 요즘은 대부분 광랜을 쓰기에, 동축랜과 달리 안정성이 많이 확보되었다. 모뎀만 봐도, 요즘은 걍 전원, 광랜선, 집안에 쓸 랜선 이 세가진 슬롯만 있고. 경량화 되어, 마치 장난감화 되었다. 동축케이블을 쓰는 모뎀은 케이블 자체 무게도 있었지만, 기기 자체도 무거웠었다. simple is best. 그래서 사실 인터넷이 아니되면, 모뎀 문제이기보다는. 그 이후 부분에서 문제 일 가능성이 높다. (그래서 이제 한밤 중에 a/s 전화를 받는 인력들을 잘라버린 것이다.) 1. 그래도 모뎀 이상 여부, 즉, 단선 여부를 확인하고 싶다면? data하면서 램프부분이 있다. 데이터가 오고 가면, 그 부분이 간헐적이든 쭉이든 반짝반짝인데, 그게 들어 온다면 왠만하면 신호를 받고 있다는 것이다. 그래도 의심스러우면, 모뎀에 연결 되어 있는 랜선을 바로 컴퓨터에 꽂아 인터넷이 연결 되어 있는지 확인하면 된다. 예전에는 주소 설정하고 했는데, 요즘은 걍 꽂으면 알아서 주소 설정하고 잡힌다. 2. 공유기를 살펴보자. 모뎀 이상 없음을 확인 했고, 그 다음 공유기다! 모뎀과 인터넷 선이 이상 없는데, 와이파이나 인터넷이 안 되면... 공유기 문제지 뭐... 잠시 오류가 났을 수도 있으니, 전원을 뽑고 10초 뒤 다시 꽂자. 그래도 안 되면? 리셋버튼을 길게 누르고... 근디... 일반론적으로 이렇게 해서 안 될 개연성이 높다. 그 때는! 3. 공유기를 바꿔야지 뭐.... 샤오미 공유기 2 후기~청춘 x, 유무선공유기 살 때 tip's (tistory.com) 그래서 오랜만에 꺼냈다. 2017년도에 샀지만, hcn에서 다른 인터넷 회사로 바꾸니, 무선 공유기를 공짜로 준다길래, 팔지 않고 잠시 묵혀뒀었다. 왜? 아무리 대기업 통...
댓글
댓글 쓰기