일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- InheritableThreadLocal
- gitlab.rb
- MSA
- approle
- auth method
- CQRS
- 샤미르
- 멱등성
- RequestFacade
- AWS SNS
- external_url
- backtick
- Approval Test
- 하만카돈 #오라 #스튜디오 #2 #harman #kardon #aura #studio #fix #repair #수리 #shutdown #bluetooth
- shanta #bahadur
- 명령어 대체
- Vault
- Unseal
- 우아콘
- gitlab-ctl
- AWS SQS
- KMS
- secretid
- Shamir
- 제어역전
- Session invalidate
- JSR-330
- WooWaCon
- hashicorp
- json.tool
- Today
- Total
목록전체 글 (18)
인생은 여행
GitLab 서버의 IP가 변경되었거나 도메인 주소가 변경된 경우 기존에 서비스되고 있는 GitLab 서버의 경우 설정을 변경해주어야 한다. 그렇지 않으면 프로젝트내 소스 파일들은 이전 주소를 참조하게 된다. 설정 변경은 `/etc/gitlab/gitlab.rb` 파일을 아래와 같이 변경한 후, external_url "http://gitlab.example.com" 다음 명령을 실행하면 설정이 적용되고 서비스가 재시작한다. sudo gitlab-ctl reconfigure 참고 사이트: docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab Configuration options | GitLab..
Jenkins와 gitlab을 연동 시험을 하는 중 아래와 같은 오류를 만났다. git 'remote-http' is not a git command git 저장소 프로토콜을 'git'이나 'ssh'가 아닌 'http'로 지정하는 경우에만 발생하였다. git은 status, pull, push 같은 많은 하위 명령어와 함께 작동하는데, 이 하위 명령어가 오는 부분에 알 수 없는 명령어가 오면 위와 같은 오류가 발생한다. 결론부터 말하자면, 'remote-http'라는 git 하위 명령어(sub command)가 설치되지 않았거나 git plugin이 http 프로토콜에 대하여 정상 작동할 수 없어서 발생한 오류이다. 그리고 그 근본적인 이유는 Jenkins가 설치된 Linux 서버의 curl 명령어(정확..
www.woowacon.com 2020 우아한테크콘서트 www.woowacon.com 2020 우아한테크콘서트 2020.12.16 ~ 18 배달의민족 마이크로서비스 여행기(김영한) 배달의민족의 급격한 성장 매년 2.3배 주문 증가 MSA 전환은 단순한 유행 기술이 아니라 생존의 문제였음 2015년 상황 하루 주문수 5만 이하 모노리딕 구조 - MS SQL + PHP, ASP MS SQL Stored Procedure 방식 사용 2016년 하루 주문수 10만 돌파 루비라는 이름의 거대 MS SQL 레거시 PHP -> Java 전환 결정(대용량 트래픽 수용, 개발자 풀) 마이크로서비스 도전 시작 결제, 주문중계 독립 IDC -> AWS 클라우드 인프라로 이전 시작 결제 서비스 독립, 마리아DB 사용, 아직은..
리눅스에서 curl 명령으로 api를 테스트할 때 response 가 JSON 형태면 값이 한 줄로 길게 나와서 보기 어려운 경우가 있다. 이럴때 python이 설치되어 있다면 아래처럼 정열하여 볼 수 있다. curl localhost:8080/api/xxx | python -m json.tool
멱등성 수학이나 전산학의 용어로 멱등성이라는 말이 있다. 같은 연산을 여러번 반복하더라도 결과가 달라지지 않는 성질을 말한다. 어떤 수에 0을 더하는 연산이 있다면, 이 연산의 결과는 몇 번을 수행하더라도 결과는 0이 되므로 멱등성을 가질 수 있다 하겠다. 예) x + 0 = (x + 0) + 0) + 0). Idempotent HTTP Method HTTP 요청 같이 통신 회선상에서 일어나는 사건에서도 멱등성은 중요한 개념이다. 오류가 발생했을 경우 서버에서 멱등성을 보장하지 않는다면 재시도를 하지 않아야 할 것이다. 일반적인 REST API 설계에서 POST를 제외한 GET, PUT, DELETE, HEAD, OPTIONS, TRACE 메서드는 멱등성을 보장하는 것으로 간주한다. POST는 새로운 레..
Spring Framework를 다루다 보면 IoC(Inversion of Control; 제어의 역전), DI(Dependency Injection; 의존성 주입) 같은 단어를 많이 보게 된다. 볼 때마다 알듯 모를 듯 헷갈리는 개념이다. 확실히 기억하기 위하여 정리해 본다. 그전에 먼저 소프트웨어에 있어서 의존성이 무엇인지 정리해 보야할 것 같다. 의존성 Dependency 어떤 객체 A의 코드 내부에 다른 객체 B를 적었다면 A는 B를 알고 있다 할 수 있을 것이다. 다른 말로 하자면, A는 B를 참조하고 있다, 또는 A는 B에 의존하고 있다고 표현할 수도 있을 것이다. class A { void doThis() { B.doThat(); // A가 B에 의존하고 있다. } } 소프트웨어에서 이런 식..
책을 보다가 Approval Test라는 새로운 용어를 발견하여 검색해 보고 알게 된 것을 정리해 본다. 우리말로 승인 테스트 정도로 불릴 Approval Test는 일반적인 Unit Test Framework가 사용하기 어렵다는 점을 보완하기 위하여 2008년경 Llewellyn Falcon이 만든 테스트 프레임워크이다. 참고: approvaltests.com 기본적인 아이디어는 다음과 같다. 프로그램은 입력을 받아서 처리하고 출력을 내놓는 하나의 박스라는 가정에서 출발한다. 이 출력을 사람이 읽을 수 있도록 문자화해서 개발자가 직접 눈으로 확인하고 정상 출력이 맞다고 하면 expected 값으로 채택하여 앞으로 수행하게되는 테스트의 기준 값으로 사용하게 되는 것이다. 이런 일련의 과정을 승인(appr..
자바의 열거형 자료구조인 enum 은 Java5 부터 지원되었다. enum의 장점이 여러 가지 있겠지만 가장 큰 장점은 런타임에 해야할 일들 중 상당 부분을 컴파일러에게 대신 시킬 수 있다는 것 아닐까 한다. 무슨 말인고 하니, 어떤 상수 세트를 int 형이나 String 형으로 선언했다고 하면, 이 상수 값을 주고 받을 때 validation도 해야할 것이고 장황하게 비교 구절이 들어갈 것이며 필요하다면 값 변환도 할 것이다. 물론 enum을 사용한다고 해서 비교 로직이 필요 없는 것은 아니지만 코드로 구현해야할 부분의 상당부분을 컴파일러가 보장해줄 수 있다. 자바같은 정적 언어의 장점을 최대한 살릴 수 있는 것이다. 아래는 enum을 사용하여 사칙 연산을 정의한 코드이다. public enum Cal..