ETC (17) 썸네일형 리스트형 HTTPCP(Hyper Text Coffee Pot Control Protocol) RFC 2324과 RFC 7158에 의하면커피를 만들고 싶어 하는 컴퓨터 엔지니어들을 위한 프로토콜 'HTTPCP'이 정의되어있다HTTPCP는 HTTP 1.1을 기반으로 동작한다.HTTP 1.1 ([RFC2068]) permits the transfer of web objects from origin servers to clients. The web is world-wide. HTCPCP is based on HTTP. This is because HTTP is everywhere. It could not be so pervasive without being good. Therefore, HTTP is good. If you want good coffee, HTCPCP needs to be good. T.. c 와 java 에서 call by reference는 없다 Call by Reference(Pass by Reference) call by reference는 프로그래밍 언어 설계에서 사용되는 용어로, 함수에 인수를 전달할 때 값의 복사본 대신 원래 값의 참조를 전달 받는 것을 의미한다. 함수 내에서 참조를 통해 직접 값을 접근함으로써 원본을 변경할 수 있게 된다. 예를 들어 다음과 같은 Java 코드를 살펴보면 public static void main(String[] args) { List list = new ArrayList(); add(list); System.out.println(list.size()); //output: 1 } public static void add(List collection){ collection.add("1"); } 위 코드는 .. [보이지 않는 동료] 목적을 통일시키고 인정을 기다리며 원본이 있는 글이며 좋은 한글 번역 게시글이있습니다. 조금 더 쉽고 편하게 읽을 수 있도록 수정하였으며 원문의 내용을 해치지 않도록 하였습니다. 스티브 마퀴스는 텔레비전도 없고 휴대전화 신호도 없는 워싱턴 주변의 작은 나무집에 은둔하고 있다. 그는 15년 동안 전 세계의 수십 명의 프로그래머와 함께 인간의 개인 정보를 보호하기 위한 큰 프로젝트를 비밀리에 개발하고 있다. 그러나 그들은 서로를 거의 본 적이 없으며 각각 마치 유령처럼 존재한다. 그러던 중 어느 날, 중국 기업이 갑자기 "대량의 기부금"을 보내기 전까지는.. 스티브 마퀴스 스티브 마퀴스는 워싱턴 주변의 작은 나무집에 은둔하고 있다. 서비스 제공업체는 매년 그의 집 앞에 신호 탑을 세울 것을 약속했지만 한 번도 이행한 적이 없고 나무집 주변은.. Swagger fox + Spring Boot Actuator = boom! 평화로운 따스한 오후 // swagger fox implementation 'io.springfox:springfox-boot-starter:3.0.0' implementation("io.swagger:swagger-annotations:1.5.21") implementation("io.swagger:swagger-models:1.5.21") //Spring Boot Actuator implementation 'org.springframework.boot:spring-boot-starter-actuator' runtimeOnly 'io.micrometer:micrometer-registry-prometheus' 개발 중인 프로젝트에 메트릭 정보를 prometheus로 얻고 싶은 마음에 Swagger-fo.. 양말의 짝을 찾을수있는 효율적인 알고리즘 stackoverflow에서 재미난 주제를 발견하였다. 주제에 대한 요약은 아래와 같다. 세탁물에서 양말의 짝을 찾는 도중 내가 하는 방식이 그다지 효율적이지 않다는 걸 알게 되었다. 나는 양말을 하나를 고르고 그 짝을 찾기 위해 세탁물 더미에서 반복적으로 찾았다. 이는 평균적으로 n/2 * m/4 = n^2/8의 양말을 반복해야 한다. 나는 컴퓨터 과학자로서 O(N log N)에 달성하기 위해 정렬을 떠올렸다 양말을 복제할 수 없기 때문에 해싱이나 not in-place 정렬 같은 해결책은 사용할 수 없다 따라서 질문은 2n 개의 요소를 포함하는 n개의 양말 더미를 고려할 때(각 양말이 정확히 하나의 일치하는 쌍을 가지고 있다고 가정) 최대 로그 여분의 공간으로 효율적으로 짝을 찾는 가장 좋은 방법은 .. 브라우저 에서 내 도메인을 검색하면 일어나는일 언젠가 누군가에게 "브라우저 URL 입력창에 'www.google.com'을 검색하면 어떤 일이 일어날까요?" 라는 질문이 꽤 유행하는 면접질문이라는 소식을 들었던 것 같다. 처음에는 그냥 별 생각 안 하고 넘어갔었는데 최근에서야 이 질문이 복잡한 웹기술에 대한 이해도를 답변받을 수 있는 좋은 질문이라는 사실을 알게 되었고 알고 보니 정말 좋은 질문이면서 좋은 주제인 거 같아 블로깅을 한다. 이글에서는 SpringBoot로 만든 서버를 서비스로 운영을 하고 있는 상태에서 브라우저로 접근하는 과정을 나열하려 한다. 서버의 IP를 174.173.172.171, 도메인을 mail.awesome.com이라고 가정하자. 브라우저는 Domain에 해당하는 IP를 찾는다. DNS (domain name service.. Git Hook 을 멋들어지게 즐겨보기 Hook ?! Git 에서 어떠한 이벤트가 생겼을때 자동으로 특정 스크립트이다. Git 으로 형상관리 하는 프로젝트에는 .git 디렉토리가 있으며 그 밑에는 hooks 디렉토리가 있으며 그 안에 유용한 샘플 hook들이 들어있다. hook은 이벤트 별로 다양한 이름을 가지며 본 글에서 사용할 hook으로는 커밋 메시지 작성전에 동작하는 pre-commit, 커밋 메시지 편집기가 실행하기 직전에 동작하는 prepare-commit-msg 커밋 메시지 작성후 커밋이 완료되기 직전인 commit-msg 이렇게 3개를 활용 해보려한다. commit-msg 로 커밋 메시지 검사 https://www.conventionalcommits.org/en/v1.0.0/ Conventional Commits A specif.. Custom GitHub Action 으로 Chat-GPT 코드리뷰 제작하기 github에 pull request를 날리면 chat gpt 가 코드리뷰를 해주는 custom github action 을 만들려 한다. 만드는 방법은 아래의 링크를 참고할 수 있다. https://docs.github.com/en/actions/creating-actions/creating-a-javascript-action file.filename); let fileDiff = "" for (const file of changes) { const diff = await client.request(`GET /repos/${owner}/${repo}/commits/${sha}`, { headers: { Accept: "application/vnd.github.diff", }, }); fileDiff +.. 이전 1 2 3 다음