공지사항
코드끼리 상호 충돌 할 때 해결법 세가지(모듈화, 네임스페이스 그리고 변수 및 함수 특유 이름 설정)
- 공유 링크 만들기
- 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!
태양광 일조권은 '기대권'이 아니라, '현실권'이다. feat 건축법 일조권 개정
2026년 건축법에서 일조권이 개정이 된다. 본디, 북측 경계선에서 10m 높이에서 일조권 사선(1:1.25)를 지켜야 하지만, 이제는 이 10m가 17m로 완화 되었다. 개정의 목적 은 공간을 확장하여, 지방을 버리고 서울로 더 들어오라는 의미이거나, 집을 더 넓히고 싶은 위정자들이 본인들의 이익을 위해서 개정 했을 가능성이 있다. 이 일조권 사선을 완화하면, 기존의 북측 건물 소유주는 본인들의 권리를 침해 받는 것 아닌가 하는 염려가 있다. 가만 있으면 침해 받는 것이고, 자신의 권리를 안다면, 지켜내거나 보상을 받을 수 있다. 실제로 이 건축법의 전제는, 타인의 일조권을 보장한다는 전제 하에 적용이 된다. 겨울 동절기 날 낮 시간 동안 4시간 일조량 확보.(9시 ~ 16시) 그니까, 만약 앞집에서 증개축 할 액션을 취한다면, 그 내용을 파악하고 협상에 들어가는 것이 옳다. 그러다 안 풀리면, 담당 공무원의 중재를 요청하다, 그러다 안 통하면, 공사중지 가처분 심판 또는 소송을 걸면 되는 것이고. 태양광발전소로 인해 재산권을 침해 예상 될 때 대처 방안(전망권, 조망권, 일조권, 공시지가) 그럼에도 끝끝내 짓는다면, 민사로 피해 사실을 정리하여, 그에 따른 보상을 받으면 된다. 도심이나 산업단지 등에 태양광 모듈을 배치 해 주다 보면, 가끔은 음영 때문에 유휴면적을 다 이용하지 못하는 안타까운 경우를 보게 된다. 그 때는 미리 태양광을 조성 해 놓아 부지확보를 해 놨더라면 하는 아쉬움이 있다. 이는 일조권이 기대권이 아니라, 현실권이기 때문이다. 빈공터에 아무리 내가 건물을 올릴 계획이 있더라도, 당시 일조권 침해 사실이 없다면, 구제 받기 힘들다. 물론, 야매로 확보하는 방법은 있지만. 우리가 반지하를 싫어하고, 한강뷰를 선호하는 이유는, 한강이 무척 깨끗하거나, 한강 위를 건너는 고양이를 보기 위함이 아니다. 바로 탁트인 전망(권)과 일조를 확보하기 위함이다. 태양광은 겸사겸사 부가 수익을 올리기 위...
유행하는 프로그레스바(그로우링, 오라, 물채움) etc
프로그램 따위의 진행정도를 알려주는 것이 프로그레스바(진행바)이다. 한국인이라면, 성질 급한 것으로 유명한데, 차라리 프로그레스바 등으로 진행정도를 알려준다면, 그나마 악성 민원인이라도 기다리는데 도움이 된다. 이번에 스크롤 기능을 개선하는 김에 프로그레스바도 집어 넣었다. 처음에 일반적인 프로그레스바를 이미지 안에 넣었지만, 이왕 만드는 김에 디자인을 추천 받았다. - 그로우링, 오라, 물채움. 이 중 물채움이 난이도가 가장 높았지만, 모던하고 심플한 것이 그로우링이라하여 적용하였다. ... 역시 구관이 명관이라, 유행이고 뭐고, 일반적인 프로그레스바가 직관적이다. 또한 차피 스크롤 바라고 옆에 진행도가 나와있는데, 굳이 이 스크롤 진행 정도를 그로우링으로 구현한들, 도움도 안 되니... 그렇다고 물채움을 적용하니, 애니메이션 구현은 잘 해 놨는데, 물결모양 등을 더 상세하게 적용하려면, 좀 더 신경 써야 할 듯 하고. 이 오라라는 것은 그로우링과 다른게 뭔지... 아니면, 이미지 주변을 둘러 싸는 프로그레스바를 만들어도 되나, 네모 형태의 틀에는 어울리지도 않고, 이미지가 게시글 대표 이미지라, 수시로 바뀌다 보니, 그림에 따라 어울리지 않는다. 걍 이 정도 구현 할 수 있다. 과시 용으로나 나둬야 할 듯 하다. 그 외 적용 된 것은 더블 클릭하면, 위 아래로 두페이지씩 이동하는 기능이다. 추후에는 차라리 웹페이지 이동 간 로딩 형식으로 프로그레스바를 적용 해 봐야 할 듯 하다. 코드는 스크롤 프로그래스바 구현~아! 정말 쉽구현! 이것 참조. 요즘은 기능은 기본이고, 적절성, 디자인도 신경써야 한다. 그래서 어떤 미치갱이가 집안에 불이 났는데, 공감 능력이 없는지, 본인 과시용으로 냉부 같은 방송 프로그램에 나갔다고 하는데, 본인이 연예인이면, 잊혀지면 안 되니 나가는 것이 맞는데, 그것도 아니고,,,(이것도, 배임죄도 뭐시기 아니여?) 불난 것도 자기 직원 탓, 그 거 수습 할 때 희생양 구하라고 하고, 지는 휙, 본인의 자격지심 때...
탁류~옛부터 중간 관리자와 그에 빌붙어 농락하는 넘들이 문제다.
탁류가 분명히 막걸리와는 상관이 없는데, 막걸리가 생각난다. 드라마 자체는 잘 만들어 냈다. 배우도 연기 잘 하고, 연출도 부드럽게 잘 이어간다. 중간 중간 마다 우리나라 특유의 익살스러운 장면도 잘 표현하였고. 어떤 님은 드라마 추노2편 이라고 하는데, 추노와는 성질이 다르다. 추노는 노비를 쫓는 집단이고, 이 탁류는 왈패를 주제로 다룬 것이다. 물론 대길이도 처음에는 왈패 출신 이였을지 모르나, 노비를 부각 시킨 반면, 이 탁류에서는 노비 구분이 없다. 돈 있는 사람이 힘이 있는 것이 아니고, 권력에 빌 붙는 사람이 힘이 있다. 그것이 흥미로운 관계다. 그 만큼 액션신 구도도 다르다. 추노는 멋진 절권도 위주로 액션신을 그린다면, 탁류는 피지컬로 액션신을 그린다. 요즘은 안 싸워봐도, 견적이 나오는데, 옛날 사람들은 꼭 싸워봐야 견적이 나오고, 소문이 소문을 낳아, 칼을 쓰지 않은 사람을 00칼잡이라 부른다. 중간의 썩은 관리는 오직 왕을 모시며, 위만 바라보며, 그 썩은 관리에 빌붙어 한 줌 권력도 안 되는 힘에 기대어 힘을 주는 왈패. 중앙 관리가 모든 것을 컨트롤 할 수 없으니, 중간에 기름칠 좀 할 수 있는 집단이 생기게 되지만, 보고 배 운 것이 도둑질이라, 똑같은 짓을 하니, 결국 굶어죽는 것은 백성이라. 하루 벌어 하루 먹는 백성은 사흘 째 품삯을 못 받아, 굶어가지만, - 나라에서 시킨 것이니 품삯이 없고, - 지체 높은 사람이 시킨 것이니 품삯이 없다. - 정치적인 이유 때문에 민생과 관련 된 모든 예산을 삭감한다. 하지만 내가 집권 했을 때는 필요한 돈이라. 근디 사실 알고 보니, 중간에 삥땅을 친 것이고... 씁쓸하게도 현재에도 비슷한 일이 발생하고 있다. 검찰청 폐지? 민생과는 아무 관련이 없는 것인데, 위정자들이 정치함에 있어 불편하다는 이유로 폐지 해 버린다. 이번 국가정보관리원 화재 또한 원래 10년 주기가 되서 배터리를 교체 해야 하는 것이지만, 중간에 예산으로 장난 친 더불어 민주당 덕분에 난 것이다. 그런데도, 전 ...
테더링(핫스팟) 제한 무력화 또는 우회(DUN)하는 방법, how it's done
드디어 SK통신사를 이용하다, LG로 넘어갔다. 뭐, SK 해킹 때문에 넘어 간 것은 아니고, 2025 알뜰폰 요금제 업데이트, 이제 평생요금 데이터 무제한도 나올 때 되었지? 때가 되서 넘어 간 것이다. 1Mbps... 느린 속도이기는 하나, 테더링(핫스팟)으로 활용하면, 노트북으로 간단한 업부를 보거나, 가족들이 유튜브나 가볍게 유흥을 즐길 수 있다. sk는 제한이 없던 것 같던데,,, LG 통신사는 당당하게 있네??? 기본 통신 데이터를 다 쓰니, 테더링(핫스팟)이 안 되는 것이였다. 처음에는 LG의 1Mbps가 SK보다 느리구나 생각하다가, 아예 되지를 않으니 이상하여 통신사에 문의했다. 돌아 온 대답은 "기본 데이터와 테더링 데이터는 별도로 관리하고 있어, 기본 데이터가 남아 있더라도, 테더링 데이터를 다 쓰면 핫스팟이 안 된다. 약관에 써놨다." 약관을 꽁꽁 숨겨놓고는 약관에 있다고 한다. sk 해킹 때는 약관에 업체 잘 못이면, 위약금 없다 해놓고는 잘만 받아놓고는, 이럴 때는 보여주지도 않은 약관을 찾고 있다. 쨌든 테더링을 왜 제한 할까는 나중에 다루도록 하고, 우선, 이 혼문을 극복하는 방법을 알아보자! 빠르게, 방법은 3가지다. 1. 설정에서 APN 설정 변경 2. 데터링 우회 어플 사용 3. 최신폰이라면, ADB에서 설정변경 1. 설정 > 연결 > 모바일네트워크 > 엑세스 포인트 이름 가서 새로운 엑세스 포인트 이름을 만들면 된다. 테더링 무제한 사용 방법 (핫스팟 우회 하기) : 네이버 블로그 이분은 많은 것을 넣었지만, 핵심은 APN유형, dun이다. Dial-Up Networking, 스마트폰을 모뎀으로 써서 핫스팟으로 쓰겠다 이다. apn 유형에 이것만 추가하면 되는데, 괜시리 기본 프로필을 잊어버리는 경우도 있으니, 새로 만들어서 사용하라는 것이다. 이게 안 된다고 하면... 두번째 방법인 어플을 까는거고. NetShare - 루트 없는 테더링 - Google Play 앱 근디, 이것이 vp...
하이브리드 배터리 공회전 충전(발전기 충전), 병렬은 잠깐, 직병렬은 상시
또 아파트 지하주차장에서 전기차로 인해 불이 났다. 이제 슬 슬 날씨도 추워지는데, 따땃하게 증말. 배터리 뭐 썼냐, 국내산이니 아니니 말 많던데, 그게 중요한가? 벤츠가 또 한건 했다는 것이 중요하지. 내가 알기로는 처음에는 보험으로 다 처리 해 준다 했는데, 발뺌하고, 벤츠에서도 나 모른다~하고 발뺌하고 있다던데... 이번에는 특이하게 full충전 된 전기차 화재가 났다고 하는데, 그 유명한 독일... 아, 이제 중국인가? 그 원인을 안 찾았거나 찾지 못 했거나 둘 중하나 인 듯 하다. (처음에 보상 해 준다 했을 때 역시 벤츠! 하면서 할인하던 짱츠 전기차 더 샀었지? ㅋㅋ) 다른 나라야, 거주 형태가 주로 주택이니, ㅈ되도 혼자만 ㅈ되는데, 우리나라는 대부분 아파트여서, 여기다 더불어 오히려 주차장 등을 늘리라고, 용적률 완화까지 해 주는 곳인데,,, 태양광 일조권은 '기대권'이 아니라, '현실권'이다. feat 건축법 일조권 개정 참... 이게 다행인게 차안에 사람이 없었으니까, 다행이지, 차박한다고, 전기차는 엔진 안 돌아가니, 공회전 따위는 없다고 안에서 자고 있었으면... 이렇듯 전기차의 메인은 배터리다. 하이브리드 또한 배터리가 들어가는데, 병렬 시스템이라 메인이 아니니, 상대적으로는 안전하다. 플러그인이 아닌 이상 하이브리드는 외부충전이 없다. 대부분 주행 중에 충전이 되는 시스템 으로 용량이 작아 금방 소비 되기에 잦은 충방전은 있어도 화재의 위험이 덜한 편이다. 단, 가만히 있을 때는 배터리 컨디션을 위해 엔진 공회전을 시켜 충전하는데, 우리는 이를 '공회전 충전'이라 한다. 본디 이 기능은 '직렬 하이브리드'가 주로 사용하는 방법으로서, 모터를 주행에 주로 쓰기 위해 엔진 회전은 오로지 배터리를 충전하기 위한 용도이지만, 배터리 컨디션을 위해서라는 명분 하에 병렬하이브리드에서도 발현 된다. 그럼 직병렬 하이브리드와 경계가 모호하잖아요. 엔진 갯수 차이로 구분하면 쉽다 즉, 직렬...
나의 히어로 아카데미~ 8기...인간은 반드시 명멸한다.
나의 히어로 아카데미아 8기가 시작되었다. 무개성인 올마이트가 특별 주문하여 만든 슈트를 입고, 올포원과 싸운다. 그 슈트는 자신이 가르친 학생들의 개성을 집약 해 놓았다. 올포원은 영웅이 나에게 지는 모습을 보여서 되겠냐면서 조롱하지만, 올마이티는 말한다. 인간은 원래 명멸한다. 우리나라에서 가장 센 사람이라 오만하게 말한 사람에게. 넌 태생적 한계 때문에 올마이티가 될 수 없다. 영웅이란 올포원이 아니라, 원포올이다. 여튼, 마무리 작품이니 한번 지켜보자. 줄거리 인구의 약 8할이 특이체질 개성을 갖고 있는 초인사회로 탈바꿈한 세계. 폭발적으로 급증한 범죄와 맞서 싸우는 히어로들은 시민 모두의 동경의 대상이었다. 미도리야 이즈쿠도 그런 히어로를 꿈꾸는 중학생. 하지만 그는 히어로에게 필수적인 개성을 타고나지 않았는데--!!.... 보는순서는 1기, 2기 > ova > 3기 > 극장판 2명의 영웅 > 4기 >>> 7기 처음에는 초록색 머리의 주인공이 마음에 안들어서 보지 않았다가... 다른 캐릭터들이 마음에 들어 볼까 하다가,,, 남의 학창시절은 관심이 없어, 안 보다가,,, 7기 이제 막바지 인 만큼 볼려고 노력 중이다. 미국의 최고 히어로가, 무기빨이라는 것이 마음에 들지 않지만, 어쩌면 그렇기에 인류 대표 히어로라 볼 수 있을지 모르겠다. 나의 히어로 아카데미아의 단점은 풍둔주둥아리술, 입으로 말하는 것은 다 이루어지기에, 그 한계 없는 것이 머릿속을 도리어 복잡하게 만든다. 응원 할 히어로를 스스로 버리게 되는 꼴. 응원 할 것이 없으면, 그 인생은 재미가 없어지는거지 뭐... 그런데, 자꾸 미국 대빵 히어로가 브라자, 브라자 하길래,,, 영어에서 '오빠'가 브라자였나... 싶다가, 브라더라는 영어를 일본어 화 했다는 것을 끝날 때쯤 깨달았다!!!!
댓글
댓글 쓰기