이번 시간에는 gitlab의 접속 port를 바꿔 보도록 합시다. https라던지, http는 다음에 한 번 언급하고, https로 설정도 같이 해 보도록 하겠습니다. 저는 ubuntu 20.04를 쓰고 있고, gitlab 버전은 Enterprise 13.7.1-ee 입니다. 깃랩 관련 설정 파일은 gitlab.rb에 있습니다. 여기서 unicorn 관련한 것이 있는데요. 공식 문서에 따르면 이것은 웹 서버와 관련된 무엇인가라고 합니다. 그리고 git HTTP client라는 이야기도 나오는데요. 더 읽어보면, 이것이 깃랩이 관련이 있다고 합니다. 그러니, 이것을 건드리면 될 겁니다. 즉, unicorn을 찾으면 됩니다. listen이나 port를 바꾸면 될 듯 합니다. 설정파일에 들어가서 바꿔 보겠습니..
전체 글 검색 결과
새해 첫 글은 ubuntu에서 어떻게 메모리와 cpu에 대한 정보를 보느냐입니다. proc 디렉토리에는 cpuinfo가 있습니다. 이것을 보도록 하겠습니다. 여기서 봐야 할 것은 model name하고 cache size, core 갯수를 의미하는 cpu cores, 그리고 siblings입니다. 보면 i5-4200U가 보이는데요. 이는 i5 4세대를 의미합니다. 사실 모델명만 알면, 찾는 것은 어렵지 않습니다. i5-4200u에 대해서 나온 페이지를 보겠습니다. 이것은 코어가 2개이고 스레드가 4개임을 알 수 있습니다. 그런데, cpu-z 같은 것을 보면 cache의 사이즈도 나옴을 알 수 있습니다. 이 그림은 제 데스크탑에 있는 cpu 정보입니다. lscpu 명령어를 쳐 보겠습니다. 그러면 이것 저것..
5002번째로 푼 문제는 이 문제였습니다. 문제 상황을 간단하게 요약하면 아래와 같습니다. 1순위가 같으면 2순위를 처리하는 것은 나중에 생각해 보도록 합시다. 우리가 원하는 것은 '탑승 비용', 문제에서 설명하는 route cost를 최소화 하는 방법부터 고민해 보겠습니다. 비행기 1이 도시1에서 3을 거쳐서 목적지인 7로 간다고 해 봅시다. 대충 1에서 7로 가는데 3을 경유한다고 보시면 됩니다. 이 경로를 선택하는 비용이 10이라고 해 보겠습니다. 문제에서 설명하는 것에 따르면 1에서 3으로 가는 탑승 비용, 3에서 7로 가는 탑승 비용, 1에서 7로 가는 탑승 비용이 10으로 같습니다. 이 세 경우는 경로 1을 선택해서 갈 수 있는 경우이기 때문입니다. 문제는, 비용 10을 어느 간선에 줄 것이냐..
약 5개월 전에, define 전처리문에 대해서 썼습니다. 이번 시간에는 조건부 컴파일을 할 때 많이 써먹는, #if와 #ifdef에 대한 글을 써보도록 하겠습니다. 당연하게도, 백준 사이트에서도 많이 볼 수 있는 코드이기도 합니다. 먼저 위 코드를 보겠습니다. 이상한 va_list라던지 va_start, vprintf, va_end가 나오지만, 여기에서는 중요하지 않습니다. 단지, 가변 인자를 처리하기 위해서 저런 것들을 썼다 정도만 보시면 되고요. 여기서 중요한 것은 13번째 줄의 #ifdef입니다. 이것은 무엇을 하는 것일까요? 위에 보니까 DEBUG라는 것이 정의가 되어 있지 않아요. 아무 결과도 나타나지 않았습니다. 반면에, 이 코드는 위에서 DEBUG라는 필드가 정의되어 있었습니다. 이 경우에..
이번 시간에는 빌더 패턴에 대해서 알아보겠습니다. 이전에 언급한 객체의 완전한 상태, 메서드 체이닝, setter 관련 글을 보고 오시면 더 좋습니다. 그리고 HashMap이나 CharsetDecorder에서는 왜 빌더 패턴이 안 보이나도 같이 고민해 보면 좋을 듯 싶습니다. 생성자에 인자가 많은 것이 있음에도. 먼저, Model에서 x와 y가 필수 필드라고 해 보겠습니다. 그러면, 우리는 아래와 같은 생성자를 생각해 볼 수 있습니다. 아예 생성자에서 x와 y를 받게끔 해 버리면 그만입니다. 간단합니다. 그러면, p가 x만 있거나 y만 값이 있거나, 혹은 둘 다 값이 없는 불완전한 상태에서는 벗어날 수 있습니다. 사실, x와 y만 있는 경우에는 그냥 이렇게 생성자만 둬도 무난할 겁니다. 굳이 아래와 같이..
최근댓글