공지사항
코드끼리 상호 충돌 할 때 해결법 세가지(모듈화, 네임스페이스 그리고 변수 및 함수 특유 이름 설정)
- 공유 링크 만들기
- 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일동안 많은 클릭!!!
전기공사 실적신고 방법 및 유의 할 점(동영상 첨)
우리나라에는 수많은 전기공사가 발생한다. 이 것을 총괄로 관리 하는 협회가 바로 '전기공사협회'다. 우리는 실적신고라는 것을 행해야 한다. 전기공사 실적 신고를 해야 하는 이유는 단순한 관료적 절차가 아니라, 업계의 안전성과 신뢰성을 지키기 위한 핵심적인 과정이에요. 1) 안전 확보: 전기공사는 작은 실수 하나로도 큰 사고로 이어질 수 있는 분야죠. 실적 신고를 통해 어떤 업체가 어떤 공사를 수행했고, 그 결과가 어땠는지 명확하게 기록하면, 잠재적인 위험 요소를 미리 파악하고 예방할 수 있어요. 이는 결국 현장에서 일하는 모든 사람들과 일반 대중의 안전을 지키는 데 큰 역할을 해요. 2) 업계의 신뢰성 증진: 투명한 실적 관리는 고객들에게 신뢰를 줄 수 있는 중요한 요소예요. 어떤 업체가 얼마나 많은 경험과 성과를 갖고 있는지 공개됨으로써, 고객들은 더욱 안심하고 서비스를 이용할 수 있죠. 이는 업계 전체의 이미지 개선과도 연결되고요. 3) 공정한 경쟁 환경 조성: 정확한 실적 신고는 업체 간의 공정한 경쟁을 촉진해요. 실적이 우수한 업체는 그만큼 인정받고, 그렇지 않은 업체는 개선의 기회를 찾게 되죠. 이는 전기공사 업계의 전체적인 수준을 끌어올리는 데 도움이 될 거예요. 4) 정책 수립과 지원: 정부나 지방자치단체에서는 이 데이터를 기반으로 업계의 현황을 파악하고, 필요한 지원이나 정책을 마련할 수 있어요. 예를 들어, 특정 지역에 전문 인력이 부족하다는 것이 파악되면 교육 프로그램을 마련하는 식이죠. 라고 하는데... 음... 걍 많이 해 두면 언젠가 쓸 때가 있다. 관급이라든지, 보증보험이라든지 등 각 종 증명 할 때? 주의 할 것은 1. 표준과세보다 실적을 더 넣으면 안 된다는 것 2. 원도급이든 하도급이든 관급이든 사전에 협의 후 금액 입력 등이다. 별거 없다. 차피 스크랩 돌리면, 금액 다 나오는거. 틀리기도 힘들기는 한데,,, 이상하게 기성액 입력을 수동으로 해야 한다는 것이, 오입 확률을 높인다는 것이지.... 차피 계산서 선...
이 곳에 소개 된 것들은 모두 여기에서 볼 수 있습니다. click!
태양광 표준시설부담금 쉽게 계산하는 방법 그리고 산출 근거(설계조정시설부담금 이야기)
표준시설부담금이란, 기본시설부담금 + 거리시설부담금이다. 공사 발생 유무와 관계없이, 내역에 관계없이, 태양광의 kw당 책정 되는, 다른 말로 인입비라고 보면 된다. 일전에도 다룬 적은 있다. 한전불입금==한전표준시설부담금 계산하는 방법 아주 기본적인 내용이기도 하고. 하지만 달라진 내용이 있다. 설계조정시설부담금 이전에는 1mw 미만의 태양광발전소에 대해서는 설계조정시설부담금을 받지 않았으나, 이번에 산업통상자원부의 승인으로 작은 용량의 태양광발전소도 설계조정시설부담금을 받기로 했다. 즉, 접속공사비라는 명목하에, 표준시설부담금만 받아왔지만, 공동배선에 신설, 증설, 변경 등의 내용이 있다면, 설계조정 했다하여, 받아 내겠다는 의미. 한전에서는 계통 여유 용량도 없는 곳에 억지로 하지말고, 여유 있는 곳에 하라는 의미라고 한다. 쨋든 설계조정시설부담금이야, 한전이 현장에 나가보고, 설계에 임해야 알 수 있는 것으로, 우리가 이것은 예상 못하더라도, 최소한 표준시설부담금은 제일 위 상단처럼 계산 가능하다. 기본시설부담금 + 거리시설부담금 . . . 어려우면, 걍 한전ON | 표준시설부담금 계산 계산기 써라! 이러한 계산이 필요한 이유는 사업성 검토와 계약 때문이다. 이게 한두푼 하면, 걍 내면 되는데, 90kw만 해도, 1천만원은 걍 우습다. (일단 1천만원부터 시작하겠다는 의미) 어? 고압은 500kw인데도, 싼데요? 아... 완전 초보구나... 왜 저압과 고압이 차이가 나는지, 곰곰히 생각 해 보자. 쨌듯, 그럼 한전 인입비는 이걸로 계산 끝난거죠? 지금까지 계산한 것은 접속공사비고, 다른 공사비도 필요하다. 그 것은 찾아봐... hint/ 송배전용전기설비 이용규칙. 만들어서 먹여주는 것은 쉽다. 하지만, 진정한 교육은 방향만 가르쳐주는 것이지, 대신 걸어주는 것이 아니다. 엠비씨, JTBC, 한겨레, 경향신문 등 언론이 가리고, 편향적이고 현혹해서, 방향과 방법을 알려주는 것 일뿐. 사실, 나는 행정학과 출신임에도 전한길 저 분은 본적이 없다....
테더링(핫스팟) 제한 무력화 또는 우회(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...
캐드 캐디안 도면 면적 쉽게 측정하기, AA(Area)
모든 부지에 태양광 모듈을 깔면 좋겠지만, 여러가지 사정으로 인해 그렇지 못 하는 경우가 있다. 예를들어, 태양광을 왜 100kw로 쪼개야 할까? 제2편! (xehostel.blogspot.com) 정책적 이유 때문에, 그리고 국가나 지자체의 토지 이용계획 때문이기도 하다. 이쪽분야는 내가 전문가가 아니라, 언급하기 힘들지만, 내 땅에 내가 임시로 창고를 지을려고, 산업단지 태양광 전 체크해야 할 사항(위법건축물편) (xehostel.blogspot.com) 해도 국가나 지자체의 허가가 있어야하고, 심지어 돈을 내야 한다. 만약 그 과정에서 물건을 샀다면, 취득세도 내야 하는 것이고. 오늘은 노지, 즉, 땅 위에 모듈 배치를 한다. 근디, 위의 요건으로 인해 땅을 제척한다는 것은 아는데, 면적은 가르쳐 주지 않았다... 야심한 밤. 알랴달라고 전화하면 되지만, 캐드 도면도 있겠다. 내가 재기로 한다. 간단하다. aa 명령어를 넣은 뒤 재고자 하는 면적 테두리의 각 끝점을 한번 씩 다 눌러주면 된다. 끝! 물론 엔디티를 선택하여 하나의 면적을 선택해도 되지만, 이 분들 걍 선만 그어났네... 그래서 이번에는 li를 사용 안 하고, aa를 사용하는 것이다. 어, 근디 이 면적이 제곱미리인지, 제곱미터인지, 어떻게 알아요? 우리는 절대적 척도가 있지 않은가? 바로, 태양광모듈! 모듈 가로세로 길이는 다 알지? 이때 데이터시트를 찾아보면, 초짜. 바로 나오면, 변태! 난... 변태다..가 아니라, 어차피 모듈 크기는 거기서 거기다. 이번 건은 빨리 끝내고, 결과물 곧 보여주겠다. 노지? 별거 없다. 걍 토목 공사만 플러스 한다고 보면 된다.
태양광 발전소를 하기 위해서는 불 내면 된다???(It's easier to ask for forgiveness than permission)
태양광발전소 탈세와 절세 관련 글을 쓰다, 생각 난 기사가 있다. “산불 났으니 태양광 짓겠다”…의성군, 태양광 발전사업 논란 - 대구일보 토지 위의 태양광은 건축물 위보다 까다롭다. 오죽하면, 가짜 버섯재배사를 만들어라도 태양광을 하는 사람들이 있을까. 그 중 하나가 환경영향 평가인데, 다음의 이유 때문이다. 산지 임야 태양광의 위험성(수익성 편) 1. 식생 보호 2. 지형 보호 3. 홍수, 산사태 등 자연재해 이번 의성군 태양광 발전사업이 논란이 되는 것은 산 불 이전에는 식생 보호로 인해 환경영향평가에서 부적합 판결을 받았지만, 산 불 이후 이제 보호해야 할 식생이 없으니 적합하지 않냐는 취지의 말이 나왔기 때문이다. 뭐, 건설 현장에서는 흔한 일이니, 놀랍지도 않다만, 내가 할 것도 아니니, 호의적으로 볼 이유도 없다. 특히나 햇빛소득마을로 본 태양광 수익성 분석(불확실성, 가격 기준 변경 필요, 발전량 감소, 전력판매수입 2,150만원) 이재명의 태양광 활성화 정책은 잠자고 있던 건설욕을 자극 할 수 밖에 없는데,,, 단기적으로 봤을 때는 나쁜 선택은 아니나, 장기적 환경 변화에 있어서는 홍수 및 산사태라는 결과를 가져 올 수도 있다. 환경영향평가에서 부적합 평가를 받으면, 불내면 된다? 나는 이 공식이 성립 될까 두렵다. 그도 그럴 것이 이 불을 낸 님들은 [속보]역대 최악 피해 ‘경북 산불’ 피고인 2명 징역형 집행유예 - 경향신문 집행유예다. 불 낼만하지... 이러면... 얼마 전 경남 쪽에도 쥐불놀이 하더만, 그것도 집행유예 나올걸??? 물론 이재명 목에 기스를 낼 뻔 했으면, 테러가 되는데,,, 아니니까, 집행유예 나오는거지... ㅋㅋㅋ 이재명이 무슨 왕도 아니고, 테러는 개뿔ㅋㅋㅋ 얼굴 빵 당한 박근혜도 가만 있는뎈ㅋㅋㅋ 아, 남자가 되가꼬, 쪽 팔리구로, 졸렬한 이재명ㅋㅋㅋㅋㅋ 이렇듯 베이커리 커피 카페도 옹호하는 사람들이 있는데, "10년동안 가게 유지 하는 것이 얼마나 어려운데!!!!" 태양광발전소도 탈세 또는 절세...
컴퓨터를 키면 바이오스만 켜져요... 바이오스 진입키, 부팅메뉴키
컴퓨터를 갓 조립을 했던, 메모리를 바꾸었던, 어느 날 갑자기 컴퓨터를 켰더니, 운영체제가 안 켜지고, 바이오스만 켜진다. 마치 도르마무를 설득하기 위한 닥터 스트레인지가 되는 기분인데, 위에 언급 된 이유들도 있지만, 공통적인 원인은 운영체제나 운영체제가 있는 메모리를 인식 못 한다는 것이다. 해결방안으로는 1. 물리적인 방법. 메모리와 연결 된 모든 배선 점검 또는 운영체제가 들어 있는 메모리 외 다른 메모리는 빼두고 부팅 해 보는 것. 2. 설정적인 방법. 부팅 우선순위가 운영체제가 들어있는 메모리가 제일 우선 순위에 있는가 체크 해 보고, 안 되어 있다면 설정하면 된다. 둘 중 몸이 가는대로 시행하면 된다. 제일 좋은 것은 물리 공격이나 이런 간단한 것도 해결 하기 어려워 하는 것을 보면, 소프트웨어 적인 방법(설정적인 방법)을 써 보는 것이 더 좋을 듯 하다. 먼저, 부팅메뉴에 들어가서 운영체제 메모리를 선택, 그것으로 부팅 해 보자. 제조사, 노트북 별 바이오스진입키 & 부팅진입키 그 후 정상적으로 부팅이 된다면, 바이오스에서 우선 순위를 그 메모리로 두면 된다. 그래도 안 된다면 운영체제를 다시 설치 해 볼 것을 권한다. 그래도 안 된다면, 물리적인 방법으로 다른 메모리 다 빼버리고, 부팅을 해 보고, 그래도 안 된다면, 다른 메모리에 설치 및 부팅을 해보라. 만약 그때 된다고 하면, 아쉽게도 메모리 자체가 고장 났을 가능성이 크거나 운영체제 설치 포맷을 잘 못 했을 가능성이 크다. 설치 USB로 윈도우 10 설치 해 보자, 3만원이나 아낄 수 있다구!!!! 윈도우 설치 시 UEFI 포맷 등이 있는데, 이 것은 심화 학습으로 위 링크로 대신하고자 한다. 여튼, 근본적인 원인은 운영체제 및 메모리를 인식 못하여 발생한 것이니, 그 것을 해결 한다 생각하고 접근한다면 충분히 고칠 수 있다. 물리적인 고장 아니라면. 1. 주요 브랜드 노트북 및 완제품 PC 제조사 바이오스(BIOS) 진입 부팅 메뉴(Boot Menu) 삼성...
댓글
댓글 쓰기