공지사항
코드끼리 상호 충돌 할 때 해결법 세가지(모듈화, 네임스페이스 그리고 변수 및 함수 특유 이름 설정)
- 공유 링크 만들기
- 이메일
- 기타 앱
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. style 명령어로 다른 글자들을 지정한다. 어... 맞기는 한데... 싫어하는 사람들이 있다. 여기다 본래 그린 사람의 의도가 왜곡 될 수도 있는 부분이고.... (ㅇㅈㄹ) 또한 블록 안에 있을 경우 따로 style을 지정 해야 하는데, 가끔 오류인지 안 되는 경우가 있다. 그럴 때! 3번을 실행하자. 3. 근본적인 방법이다. 깨진 글자를 선택하면, 무슨 스타일을 사용하는지 나온다. 그 것을 인터넷에 검색하여 다운로드 받으면 된다. TTF, 트루타입글자파일은 설치가 간단하다. 더블클릭만 하면 되니까. SHX파일 은 캐드 파일 안에 'fonts 폴더' 안에 집어 넣고, 재실행하면 된다. 이럴 때 보면,,, 캐드 프로그램이 많이 조악하다. 이런 것 쯤은 알아서 설정이 되야지... 다루는 이가 찾아서 해결해야 하다니.... autoCad도 별거 아니다. DWG TrueView 2024 설치 오류(4000), autoCad를 설치 해 보세요... 그래도 안 되면.... (xehostel.blogspot.com)
하이브리드, 원페달드라이빙은 안 되지만, 스마트회생제동 정말 재밌다.
기어에서 오토로 바뀌면서, 클러치라는 패달이 없어졌고, 이제는 회생제동 이라는 개념이 생기면서, 브레이크라는 패달의 존폐가 흔들리고 있다. 원페달드라이빙이란? 브레이크 패달을 밟지 않고, 엑셀패달과 패드쉬프트만으로 운전하는 기법을 말한다. 이는 회생제동이 있음으로서 가능한 방법인데, 사실 이런 방법은 기존의 엔진브레이크를 이용하여 해 왔던 방법이기도 하다. 다만, 엔진브레이크는 그대로 에너지를 소비 해 버리지만, 회생제동은 배터리를 배터지게 충전함으로서 하이브리드나 전기차의 효율을 극대화한다는데 큰 의미가 있다. 진정한 원페달드라이빙은 아예 전기 모터로서(회생제동으로서) 정차까지 하는 것을 말하는 것인데, 하이브리드에서는 이 정차까지는 아직 구현이 안 되는 듯하다. 반자율주행 후기, 새로운 기어 단수가 생겨났다.(하이브리드와 반자율운전의 조합) (xehostel.blogspot.com) 반자율시스템을 생각하면, 충분히 구현이 가능한데, 약간 아쉽다. 물론, 원페달드라이빙이 문제점 을 가지고 있다. - 예전에는 회생제동만으로 정차 시 브레이크 등이 안 들어와 뒷 사람이 엄청 불편했다. - 급발진, 사고를 유도 할 수 있다. 전기차 하면, 생각 나는 것이 바로, 급발진 사고다. 그런데 어떤 이는 급발진은 차량 결함에 의한 것이 아니라, 운전자 미숙, 즉, 브레이크를 엑셀 패달과 오해해서 일어나는 일이라 보고 있는데, 그 것이 바로 원페달드라이빙에서 기인 한 것이라 보고 있다. 브레이크를 밟지 않아도 되니, 시간이 지나 망각 해 버리고, 정말 급할 때 브레이크를 밟아야 할 때 실수로 엑셀을 더 밟는다 주장하는 것이다. 나도 가끔씩은 운전하다 보면, 실수하기도 하는데, 그런면에서는 신빙성이 큰 주장이라 할 수 있다. 여튼, 그런 의미에서 완전 제동 시 브레이크를 이용 해야만 하는 하이브리드가 전기차보다 더 뛰어나다 할 수 있다. 스마트회생제동이란 무엇인가? 타력주행(탄력주행)과 회생제동 간 스마트하게 조정 해 주는 기능이다. 즉, 타력주행이 필요 할 때는 약하게
DWG TrueView 2024 설치 오류(4000), autoCad를 설치 해 보세요... 그래도 안 되면....
캐드 도면을 다루다 보면, 버전 문제도 있디만, 글자 깨짐 현상도 있다. 최신 캐드 프로그램을 깔면, 해결 되지 않을까 하지만, 아시다시피 autocad는 유료다. 그렇다면, 무료 캐드 프로그램은 없을까? 그것이 바로 'DWG TrueView 2024 - English'이다. DWG TrueView | DWG Viewer| Autodesk 그런데 왠걸? 오류 4000번 이 떴다. 원인을 알아보니,,,, 지들도 모른단다. "설치 오류: [제품] 설치를 완료할 수 없습니다. 오류 4000" 오류 발생 (autodesk.co.kr) 우선은 autocad를 설치한 이력이 있다면, 서로 충돌 할 수도 있으니, 이전의 autocad 관련 프로그램, 나아가 잔여 파일마저 지우라고 한다. 과연 가능할까? 되지 않았으니, 다루지 않았겠는가. 결론적으로 윈도우 업데이트 프로그램 중 일부와 충돌 해서 발생한 문제라는 것을 알게 되었지만, 일반인들은 알아도 해결 하기 어렵다. 그렇다면, 어찌 쉽게 해결 할 수 있는가? 옛부터 이런 문제는, 문제 해결 할 수 있는 사람을 자극해야 한다. 즉, 무료 버전 말고, 유료 버전을 설치하면, 돈 되는 것은 해결하지 말라고 해도 급한 사람들이 해결한다. 그래도 안 되는데요? 지금부터 중요한 방법이다. 바로 불법프로그램, autocad 최신버전 크랙버전을 설치 해 보자. 크랙 버전을 배포하는 이유가 무엇인가? 바로 해킹 프로그램을 설치하기 위함이다. 정식버전이야, 고객센터라든지 대응처가 있지만, 불법프로그램은 설치가 안 되면, 그렇지 않아도 찝찝한데, 설치 안 하게 된다. 그러니, 이 크랙버전은 어떻게든 설치가 되게끔 조치를 취해났다. 다소 트로이야 같은 것이 걱정 되기는 하지만, 설치가 반드시 필요하다면, 이 방법도 괜찮은 방법이라 생각된다. 그런데,,,, autocad도 별거 없더라... 버전호환 같은 것은 도움이 되지만, 글자 깨짐은 해당 글자 파일을 설치 해야 되고,,,, 오히려 batch plot 부분
태그(카테고리) 별 버튼 글자 색깔을 바꿔보자 with chatGPT
사실, 더 직관적으로 태그(카테고리)별, 해당하는 이동 버튼만을 보여주게끔 만들 수는 있지만, 과연 이 홈페이지에서 보여 줄 수 있는 미디어가 뭐가 있는가, 한 동안 보여주기 위해 버튼 글자 색깔만 바꿔주는 것으로 마무리 하였다. 구글 브로거... 다른 블로그보다 제약 사항이 없다는 것에 장점을 가지지만, 뭔가 주인장이 노~~~력을 하지 않으면, 꾸미기 힘들다는 것에 한계를 가진다. 여기다, 한국에서는 네이버, 다음이라는 버프를 받기가 힘들다는 것도 있다. 이재, 곧 죽습니다(이제 곧 죽습니다), 지옥보다 비참한 현실 (hanissss.blogspot.com) 그래서 그 시장을 개척하는 의미에서 약간의 기교를 넣어봤다. See the Pen Untitled by xelaw ( @xelaw ) on CodePen . 솔직히 혼자서 이런 코드를 짜라고 하면... 불가능 했을 것이다. 시간이 남아도는 것도 아니고, case보다는 if절을 더 선호하는 편이라. 이러한 쿼리셀렉터 방식은 티스토리 태그 or 제목 값 가져오기(추출, 브로거든 뭐든 다됨) (tistory.com) 많이 다뤄왔던 주제이지만, 아는 것을 또 하고, 또하고, 반복하는 것은... 무척 귀찮은 일이다.
ECM룸미러 하이패스 옵션, 꼭 넣어야 할까?
ecm 룸미러란? 뒤에서 하이빔을 쏘거나, 강한 빛이 들어 오면, 전자기기가 이를 인지하고, 반사를 덜하게 만들어 주는 룸미러다. 즉, 눈뽕 방지다. 있으면, 좋으나, 최근에는 그닥 필요가 없다. 왜? 요즘은 썬팅이 너무나도 잘 되어 있거든. 또한 뒷자석에 커튼도 쳐져. 여기다 애초에 빛이 너무 강하면, 룸미러를 올려버리거나, 반사각을 바꾸면 된다. 여기다, 요즘은 p 버튼만 눌러도, 사방팔방을 다 비춰준다. 블루링크, 문콕 CCTV에 탁월, 현대가 돈값을 하네... with 문콕 전자소송 방법 (xehostel.blogspot.com) 우리는 이를 어라운드뷰라고도 한다. 뒤가 궁금하면, 후방카메라를 키면 된다. 사실상 룸미러는 필요없다. 그러니, 룸미러에다 하이패스 기능을 묶어 판매하는데,,, 하이패스 카드를 넣는 공간이 따로 있어서... 차라리 ecm을 넣어줄려고 하면, 양쪽 사이드미러에 넣어줬으면, 사람들이 더 선택 했을 수도 있지만, 이 간단한 생각을 아직 현대나 기아는 못하고 있다. 어떤 분은 어라운드뷰를 운행 중 항상 키고 다닌다고 하니,,, 룸미러 이제 없애도 되지 않나? 사실, 요즘 사제 룸미러는 블랙박스도 되고, 항시 후방을 비추는 룸미러도 있어서... 물론, 파노라마 디스플레이에 나오는 크기보다는 모하기는 하지만, 비슷한 가격이라면... 차라리... 그리고,,, 순정 ecm룸리러? 블랙박스보다 더 설치하기 쉽다. 블랙박스 탈거 하는데 30분? 20분? (xehostel.blogspot.com) 공짜로 주면 모르겠는데, 굳이 돈주고 넣기는 아까운 옵션이 바로 ecm 룸미러다.
브레이크 디스크 클리닝(BDC), 자동차 브레이크에 녹이 생겼을 때
사실, 크게 신경쓰는 부분은 아니다. 브레이크 몇번 밟으면 싹 갈리는 것이니까, 하지만, 차량을 오랫동안 세워두고, 방치하는 사람들. 특히나 물이 차오르거나, 외부에 주차하는 사람들은 자동차 관리에 신경을 써야 한다. 1. 녹 발생 : 브레이크 디스크와 같은 금속 부품에 녹이 생길 가능성이 높습니다. 2. 타이어 변형: 오랫동안 같은 위치에 무게가 실리면 타이어가 변형될 수 있습니다. 3. 배터리 방전: 차량을 사용하지 않으면 배터리가 방전될 수 있습니다. 4. 오일 및 연료 상태 악화: 오일과 연료가 오래되면 성능이 저하될 수 있습니다. 이래서 우리는 차를 자산으로 취급 안 한다. 끌고 다니면, 끌고 다니는데로 세워두면 세워두는데로. 그렇다고 이것저것 신경 쓴다고 전기차를 지하주차장에 박아두다가는, 이렇게 화재성 기사에 실리거나 전기차 충전소를 지하에 박아뒀다구요??? 왜??? feat 태양광 전기실 위치 선정 (xehostel.blogspot.com) 화재가 나거나. 벤츠에서 결론을 냈다. 배터리에 돌빵이 발생하여, ㅋㅋㅋㅋ 이렇게 자동차는 자산이 아니라, 소모품이다. 요즘 차들은 신경 안 써도 된다. 예전에 브레이크 녹 때문에 눌러붙은 차를 보기는 봤지만, 그거야,,, 그 차가 아주 썩차라... 그래도 나름 관리를 한다면, 가끔은 '브레이크 클리닝'을 사용하는 것도 나쁘지 않을 듯 하다. 보기에도 흉하지 않고. 요즘 내연기관차에는 없을 것이라 생각 된다. 이 기능은 브레이크를 거진 사용하지 않는 전기차나, 하이브리드를 위한 기능이다. 그런데, 설명서를 아무리 뒤져봐도, 안 나온다. 그만큼 알만한 분들만 사용할만큼... 굳이???? 요즘 차들이 브레이크 녹 때문에 망가질 정도면, 이미 오일증가라든지, 쇼바라든지 여러가지 이상이 발생했을지라... 사용법 은 간단하다. 운전석 주변에 있는 auto hold 버튼을 지긋이 2~3초 눌러주면, 계기판에 "브레이크 클리닝 기능이 활성화 되었습니다." 하고 사용이 가능하다. 이 기능
하이브리드 12v 배터리 교환주기, 방전 되어 문이 안 열릴 때 대처방안
추억 돋는다. 이 납산 배터리, 독립형 태양광이라 해서 사용되기도 하는데, 요즘은 쫌 바뀌었을라나??? 태양광 독립형 인버터와 역전력계전기란 무엇인가? (xehostel.blogspot.com) 님 차가 하이브리드고, 본넷이나 트렁크를 열어봤는데, 이 배터리가 까꿍하고 보인다? 그럼 님 것은 최소 21년 전에 만들어진 하이브리드다. 상식적으로, 용량이 큰 고전압 배터리를 사용하는데, 굳이 이 무거운 12v 납산배터리를 사용 할 필요가 있을까? 라고 의문을 가질 수 있다. 그래서 최신 하이브리드는 통합형이라하여, 고전압배터리에다 저전압배터리를 같이 붙여놓았다. 그래서 님 차가 만약 최신 하이브리드라면, 12v납산 배터리는 없다. 참 추억 돋는다. 그래도 단골 집이라고, 꾸역꾸역 영덕읍에서 영해면으로 이사 간 카센터 쫒아가서, 배터리를 갈았었지, 같은 영덕이라도 영해까지는 30분거리가 가기 쉽지 않은 거리인데, 한동안 엔진오일 갈지 않아 삐지셨는지, 좀 과하게 받더라... 마지막이라 생각하고, 드리기는 했지만, 그 이후 다시는 영해쪽으로 가지 않... 이제는 이런 걱정 할 필요가 없다. 10년, 20만kw 보장이다. 거의 영구적으로 작동 할 것을 목표로 만든 것이기에,,,, 님은 자동차 40만 타잖수... 아... 차피 거기, 하이브리드 만지지도 못함. 솔직히 하이브리드로 바꾼 이유도 수리비로 덤탱이 씌우는 사람, 책임지지 않는 사람, 능력 안 되는 사람들 많아서, 이 차 고장나면 바로 전기차로... 여튼, 최신 하이브리드에는 리튬이온저전압배터리가 장착 되어 있는데, 거진 이 배터리는 차량 시동, 유지관리에 사용된다 보면 된다. 왜 바로 고전압배터리를 사용 안하냐는 질문에, 왜 나선을 사용하지, 콘센트로 사용하냐고 답변하고 싶고, 사실, 예전에도 납산배터리를 고집한 이유는, 아직 실험 단계라 미쳐 적용하지 못 했다고 답하고 싶다. 즉, 이 배터리 전후로 같은 하이브리드라도 기술적으로 조금 많이 차이가 있다라 할 수 있다.ㅋ 이 리튬이온배터리는 방전 되지 않는다
댓글
댓글 쓰기