ProgrammingLang 122

[C++] gcc 버전을 업그레이드 후 프로그램 배포시 유의사항

개요gcc 버전을 업데이트한후 프로그램 배포시 gcc에서 생성한 library 몇개는 꼭 가져야 합니다. 이렇게 하지 않으면 segment fault가 발생 합니다. 문제 발생 상황Ubuntu 18.04에서 GCC 13.1로 업그레이드한 후, 빌드된 실행 파일이 호스트 시스템의 설치된 libstdc++와 호환되지 않는 이유는 다음과 같은 원인에서 발생할 수 있습니다:원인ABI (Application Binary Interface) 차이:GCC는 특정 버전에서 ABI에 변경을 가할 수 있습니다. 이는 C++ 표준 라이브러리(libstdc++)의 내부 구현이 변경되어 이전 버전의 GCC로 컴파일된 바이너리와 호환되지 않게 될 수 있다는 것을 의미합니다. 특히, 새로운 기능이나 최적화가 도입될 때 이러한 변경..

ProgrammingLang/c++ 2024.08.26

[c++ 개발자되기] map, set , unordered_set, unordered_map

개요Container 관련 구현 사항을 정리 합니다.ContainerTyp 자료형중복구현시작 복잡도정렬여부구현 필요 사항정늘 저하 요인setKeyNoTreeO(log n)Yes mapkey-valueNoTreeO(log n)Yes unordered_setKeyNoHashO(1)Nohash,== 연산자료 값증가시O(n)의 rehahsing이 발생-> reserved를 사용하여 회피unordered_mapKey-ValueNoHashO(1)Nohash,== 연산자료 값증가시O(n)의 rehahsing이 발생-> reserved를 사용하여 회피unordered_multisetKeyYesHashO(1)Nohash,== 연산자료 값증가시O(n)의 rehahsing이 발생-> reserved를 사용하여 회피unord..

ProgrammingLang/c++ 2024.05.25

[javascript] 변수 형식 정리(var, let ,const)

개요 var, let, 그리고 const는 JavaScript (및 Node.js)에서 변수를 선언할 때 사용하는 키워드들입니다. 이들의 주요 차이점을 아래에 정리하였습니다: Scope (범위): var Function scope입니다. 즉, 변수는 선언된 함수 내에서 액세스할 수 있습니다. 함수 외부에서 선언된 경우 전역 범위를 갖습니다. let과 const Block scope입니다. 즉, 중괄호 {} (예: if 문, for 루프 등) 내에서 선언된 변수는 해당 블록 내에서만 액세스할 수 있습니다. Reassignment (재할당): - var와 let: 변수에 새로운 값을 재할당할 수 있습니다. - const: 한 번 값을 할당하면 재할당할 수 없습니다. 그러나 const로 선언된 객체의 프로퍼티..

[React] Hook- array useState 관리

개요 React Hook 에서 사용되는 useState의 관리 방법을 정리 합니다. useState가 array 인경우 추가 https://bobbyhadz.com/blog/react-push-to-state-array How to push an Element into a state Array in React | bobbyhadz Use the spread syntax to push an element to a state array in React, e.g. `setNames(current => [...current, 'New'])`. The spread syntax (...) will unpack the existing elements of the state array into a new array w..

[go] vscode Error 및 Warning

개요 vscode에서 코딩시 발생하는 오류들을 정리 합니다. (ST1017) Yoda conditions don't use Yoda conditions (ST1017) go-staticcheck https://knowthecode.io/yoda-conditions-yoda-not-yoda Yoda Conditions: To Yoda or Not to Yoda - Know the Code Tonya explains the Yoda conditions programming style. She discusses its intent and the problem it seeks to solve. A handy guide and litmus test are included to help you decide when..

ProgrammingLang/Go 2023.02.02

[go] go mod vendor 사용법

개요 go mod vendor의 사용법을 알아보겠습니다. go mod vendor 필요 성 go에서는 1.13부터 module이라는 기능을 이용하여 package의 의존성을 자동으로 관리를 해줍니다. 그러나 여기서 하나의 문제점이 발생을 합니다. 그것은 go module을 사용하기 위해서는 항상 internet에 연결이 되어있어야 한다는 것입니다. 하지만 일반적으로 제품 개발 시는 보안을 위해서 폐쇠망에서 build를 합니다. 그러면 go module을 통해서 package를 다운로드할 수가 없습니다. 그래서 필요한 기능이 다운로드한 package에서 compile시 필요한 파일만 보관하는 기능인 go module의 vendor 기능입니다. 우선 간단한 테스트를 위해서 logrus를 사용하는 packag..

ProgrammingLang/Go 2023.01.31

[go] 내부 module 및 package 만들기

개요 이전 post([go] 1. downloading 가능한 module 및 package 만들기)에서 download가능한 module을 만들어 보았습니다. 그러나 program 을 개발 하다보면 외부에 노출 되면 안되는 module들도 많이 개발합니다. 그러면 이러한 module을 어떻게 만들면 되는지 알아보겠습니다. 참조 : https://go.dev/doc/tutorial/call-module-code 절차 1. 내부 모듈 생성 (inner_hello) 2. 내부 모듈 경로 설정 3. main package에서 호출 내부 모듈 생성 (inner) 내부 모듈은 main package directory에서 생성을 합니다. 1. inner 생성 #mkdir inner 2. inner_hello mod..

ProgrammingLang/Go 2023.01.20

[go] downloading 가능한 module 및 package 만들기

개요 go 1.19 기준에서 프로그램을 가끔 만들면 사용자 module 를 만들어야 할 때가 매우 많이 생깁니다. 그런데 항상 module 만드는 방법을 까먹습니다. 우선 첫 번째 post에서 download가능한 module을 만들어 볼것 입니다. 참고로, 모든 정보는 https://go.dev/ 에서 가져왔습니다. 알고 싶은 것 1. 나만의 module를 만드는 순서 필요한 사전 지식 - module과 package의 관계 - module 용도 - package 용도 module과 package의 관계 https://go.dev/doc/tutorial/create-module Go 코드는 package로 그룹화되고 package는 module로 그룹화됩니다. 그래서 나만의 module을 만들때는 mo..

ProgrammingLang/Go 2023.01.19