목록전체 글 (274)
허허의 오늘은 뭐 먹지?
FaaS (Function-as-a-Service) 서버없이 컴퓨팅 Serverless Computing이라고 하고 기능 및 함수단위로 서비스한다고 해서 서비스로서의 함수라고 함 관련 서비스 : AWS Lambda, Google Cloud Functions, MS Azure Functions 장점 - 빠른 개발이 가능함. - 서버 관리의부 부담이 없음. 서버를 관리하거나 실행할 필요가 없고 서비스를 하는 코드에만 집중할 수 있고 작은 기능 단위로 개발해서 연결할 수 있음. - 적은 비용 (사용한 만큼만 지불) 단점 - Cold Start 문제 오랫동안 실행하지 않거나 갑자기 많은 요청이 온 경우 함수 실행이 지연됨. Wamer로 주기적으로 수행하거나 함수에 동시성을 부여함 FaaS와 Serverless의..

블라인드에 이런 질문이 올라왔다. 메시지큐를 쓰다가 메시지가 중간에 소실되는 건 어쩔 수 없을텐데, 어떻게 감지/조치하는지? 괜찮은 답변들이 많아서 정리해보면... 검사하는 로직 넣어서 실패하면 한번 더 보내게 하지 않나? 아니면 될때까지.. 일정이상 fail나면 skip 및 로그 처리 모든걸 다 감지는 못해서 심각한 장애가 일으킬 수 있거나 필수 데이터가 빠져있으면 job으로 배치 돌려서 그때그때 해결하거나, saga pattern으로 최소한의 필수 데이터를 고려해서 정합성을 맞춤 클라이언트 입장에서 전송이 실패하면 어디 쌓아놓았다가 나중에 쏴야죠. 카프카 클라이언트에 버퍼가 있는 경우도 있고, 좀 크게 잡으려면 일단 파일에 쓰고 이걸 파일비트나 fluentd로 쏘게하면 디스크 용량만큼 버퍼로 쓸 수 ..
Transaction이란 DBMS에서 데이터를 다루는 논리적인 작업의 단위이다. Transcation ACID 1. Atomicity (원자성) : 한 Transaction의 작업은 전부 수행되거나 전부 수행되면 안 됨 2. Consistency (일관성) : Transaction의 수행 전/후에서 DB는 항상 일관된 상태여야 함 (업데이트한 데이터의 합이 전과 후에 달라지지 않아야 함 등) 3. Isolation (고립성) : 수행 중인 Transactino에 다른 Transaction이 끼어들어 변경하려는 데이터 값이 의도치 않게 변경되면 안 됨 4. Durability (지속성) : Transaction 수행 후 변경한 데이터는 영구적으로 저장되어야 함 Isolation Level ACID를 다 지..
이번 포스트는 JAVA의 String과 Flyweight 디자인 패턴에 대해서 알아보려고한다. JAVA에서 String은 immutable하다고 한다. 이 의미는 무엇일까..?! String a = "test"; String b = "test"; 위와 같은 선언이 있었다고 하자. Stack영역에는 변수 a, b의 value의 주소가, Heap영역에는 변수 a, b의 value가 저장된다. 그리고 그 value는 Heap영역 안에 있는 String Constant Pool 영역에 저장된다. 위 예제에서 a,b 변수값은 "test"로 동일하므로 두 변수의 값은 같은 String Constant Pool의 주소를 가르키게 되는 것이다. 만약 a의 값이 "test2"로 바뀌었다고 했을 때, String Cons..

Github에 commit되어 있는 특정 tar 파일을 다운로드 받기 위해서 wget [url] 명령어로 다운로드를 시도해보았습니다. url은 해당 파일 소스를 보는 화면의 url을 넣어주었습니다. 다운로드받은 파일의 압축을 풀려고 하는대... 아래와 같은 메세지가 나오고 있었습니다. "tar: Error opening archive: Unrecognized archive format" 해당 화면의 주소를 볼 것이 아니라 해당 소스의 Raw버튼에 연결되어 있는 주소를 url로 사용해야 정상적으로 tar파일을 다운로드 받을 수 있습니다. Raw버튼을 눌렀을 때 redirect되는 주소는 개발자도구의 Request URL을 참고하면 됩니다. RAW버튼을 누를 때 개발자도구에서 Redirect되는 주소입니다...
leetcode.com/problems/middle-of-the-linked-list/ Middle of the Linked List - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Linked List문제에서 흔히 볼 수 있는 runner, walker문제입니다. runner는 한번에 두번씩, walker는 한번에 한번씩 움직입니다. 그래서 runner가 끝에 다다랐을 때, walker는 중간까지 올 수 있습니다. class Solution { public ..
삼성모니터 M7은 노트북 충전과 보조 모니터 연결이 USB-C타입 케이블 하나로 된다고 해서USB-C 타입 케이블을 하나 구매했습니다. 그런데...PC충전은 되는데 모니터를 보조화면으로 쓸 수가 없는 겁니다.그 이유는.. 모니터와 PC를 연결하는 USB-C 케이블은 USB 3.1 gen2 여야 했던 것입니다. 일반 USB-C타입 케이블로는 충전과 모니터를 같이 연결할 수 없으니저와 동일한 증상이 있는 사람은 한번 시도해보세요.
x^n 결과를 구하는 문제입니다. leetcode.com/problems/powx-n/ Pow(x, n) - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 이 문제는 x를 n번 루프를 돌려서 풀면.. 타임아웃이 나버립니다. 2^10이라고 10번 2를 곱해줄것이 아니라 2^10 = 2^4 * 2^4 * 2^2 2^4 = 2^2 * 2^2 2^2 해서 총 세번의 연산으로 최종 값을 구할 수 있습니다. 아래 코드는.. i를 n부터 시작해서 i를 반씩 나눠주며 계산합니..
이 문제는 전형적인 topological sort (위상정렬) 문제입니다. leetcode.com/problems/course-schedule/ Course Schedule - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 위키에 topological sort에 대해서 잘 설명되어 있습니다. ko.wikipedia.org/wiki/%EC%9C%84%EC%83%81%EC%A0%95%EB%A0%AC 위상정렬 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의..
DP와 관련된 문제입니다. leetcode.com/problems/partition-equal-subset-sum/ Partition Equal Subset Sum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com input이 [5, 11, 5, 1] 인 경우, [11], [5,5,1]로 그룹을 묶으면 두 그룹의 합이 같으므로 true를 리턴해야 합니다. 전체 값의 합이 22이므로, 어떤 수들의 합이 11이 되는지를 보면 됩니다. 처음으로 풀어본 것은 아래와 같..