목록전체 글 (103)
정글에서 온 개발자

계기기존에 네트워크 지식이 없을 때는 certbot을 이용하면서도 내가 만들어놓은 WAS가 80 번을 listen하게 한 상태로 nginx-proxy 도커를 설치해서 proxy를 해왔다. 나중에는 갱신까지 포함된 docker를 쓰면서 신세계라고 생각하기도 했다.Go로 짠 프로그램으로 Nginx, Apache 같은 Web Server를 대체할 수도 있다는 사실을 알게 된 뒤로는 (사실 같은 원리로 node.js로도 이런 설정을 할 수 있지만 느릴 수 있다.) 굳이 Nginx를 안 써도 되겠다는 생각이 들었다.마침 이번에 아버지 홈페이지를 만들어드리면서 '주의 요함' 이 뜨길래 이를 해결하고자 도전해 봤다.배경 지식HTTPS암호화 통신을 시작하기 위한 public key가 필요하고, 이 public key에..
x.y.z 형식으로 되어 순서대로 major.minor.patch 를 의미한다.Major하위 호환이 안 될 수도 있는 기능의 변경이다. 예를 들어 python2로 작성한 코드는 python3에서 실행이 제대로 안 될 수 있고, Angular18로 작성한 코드는 Angular19에서 안 될 수 있다.deprecated로 경고하던 기능들이 이 때 사라질 가능성이 있다.Minor하위 호환은 가능한 변경이다. minor 버저닝을 잘지키는 정상적인 라이브러리라면 마음놓고 업데이트해도 현재 작성한 코드에 영향이 없다.Patch가벼운 버그 수정, 주석 변경 등이 있을 수 있다.내 생각현재 진행하는 프로젝트에도 버저닝을 적용하고 , 패치노트도 쓰면 롤백이 필요할 때 많은 참고가 될 것 같다.그런데 minor가 바뀐 ..
결론적으로 push_back보다 빠르다.vector, deque,list 등 컨테이너에는 push_back() 을 통해 끝에 요소를 추가할 수 있다.emplace_back()은 괄호 안에 해당 컨테이너의 요소 생성자를 컨테이너 안에서 직접 호출하여 생성한다.push_back()과 비교하면 더 이해가 되는데, push_back은 밖에서 생성한 요소를 복사, 이동하는 형식을 취한다.vector> vec;pair temp = {1,2};vec.push_back(temp); //복사vec.push_back({3,4}); //이렇게 하더라도 외부에서 생성돼 복사된다.그러나 emplace_back()은 vector 내부에서 생성하기 때문에 이동, 복사 과정이 없다.vector> vec;vec.push_back(..