일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CleanCode
- Spring Boot
- bulk update
- jdbc
- 튜플
- 트라이 #trie #알고리즘
- trie
- Python
- Tistory
- 크레인 인형뽑기 게임
- 호텔 방 배정
- 가사 검색
- pycon
- 트라이
- 프로그래머스
- 카카오 인턴
- 불량 사용자
- 보행자 천국
- 티스토리 open api
- 티스토리
- Open API
- 알고리즘
- 징검다리 건너기
- Today
- Total
목록전체 글 (153)
택시짱의 개발 노트
개요 회사에서 최근 Django로 이루어진 서비스를 Spring으로 migration하는 프로젝트가 진행되고 있다. 기존에 운영되고 있던 서비스를 유지한채 Spring 서비스를 하나 둘 씩 만들 예정인데 현재 나는 기존에 Django로 제공되는 API를 Spring에서 호출하여 알맞은 형태로 가공하여 API로 내려주는 부분을 맡게 되었다. 처음에는 http 통신하는 package와 jackson을 이용하여 API를 호출하고 알맞은 형태로 변환하기 위해 DTO에 일일이 데이터를 mapping해주고.. 약간의 노가다 형태가 반복되었다. 이때 이를 조금더 편리하게 해주는 package가 없나 찾아보는 와중에 spring cloud open feign이라는 것을 알게 되었다. Spring Colud open F..
Common @RestController - Rest API 설정 @RequestMapping - 리소스를 설정 (method로 구분가능) Get @GetMapping - Get Resource 설정 @RequestParam - URL Query Param Parsing @PathVariable - URL Path Variable Parsing Object - Query Param Object로 Parsing Post @PostMapping - Post Resource 설정 @RequestBody - Request Body 부분 Parsing @PathVariable - URL Path Variable Parsing @JsonProperty - json naming @JsonNaming - class j..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/3IXRc/btrHsEA58my/KlaYva97PJ6W5XkczAPb0K/img.png)
개요 Prometheus와 Grafana란? Prometheus 설치 방법 Grafana 설치 방법 Prometheus란? Prometheus는 메트릭 수집, 시각화, 알림, 서비스 디스커버리 기능을 모두 제공하는 오픈 소스 모니터링 시스템이다. 처음에는 SoundCloud에서 만들어졌으나 2016년에는 쿠버네티스에 이어 두 번째로 CNCF(Cloud Native Computing Foundation) 산하 프로젝트 멤버로 들어가게 됐다. Grafana란? Grafana는 멀티플랫폼 오픈 소스 애널리틱스 및 인터랙티브 시각화 웹 애플리케이션이다. 지원되는 데이터 소스에 연결될 때 웹의 차트, 그래프, 경보를 제공한다. Prometheus 설치 1. prometheus 유저 생성 sudo useradd -..
트랜젝션이란? 여러 작업들을 하나로 묶은 단위이다. 하나로 묶인 작업들은 모두 실행되거나 또는 실행되지 않는다. ACID란? Atomicity(원자성) 트랜젝션은 쪼개지지 않는 원자처럼 동작한다는 의미. 모든 트랜젝션은 정상적으로 수행되거나 어떠한 연산도 수행되지 않는다. all or noting Consistency(일관성) 하나의 트랜젝션 이전과 이후, 데이터베이스의 상태는 이전과 같이 유효해야 한다. 예를들면 모든 고객은 이메일주소를 가지고 있어야 한다라는 제약이 있을때 트랜젝션이 수행되기전과 수행된 이후가 변경되지 않아야 한다. Isolation(독립성) 트랜잭션 작업 수행 중에는 다른 트랜젝션에 영향을 주어서도 안되고 다른 트랜젝션에게 간섭을 받아서도 안된다. Durability(지속성) 트랜젝..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mFK92/btrye4BsOqC/DCgX9XUrwGJkon1tC8rn21/img.png)
결론 - 과제 통과, 1차 면접 탈락 토스 과제 전형 토스 1차 면접 전형 후기 아쉽다.. 면접이 끝나고 돌이켜 보면 오래만에 보는 면접이라 그런지 알고 있는 내용을 착각해 다르게 이야기 한 부분이 있었다. 회사를 다니면서 항상 직장 동료와 이야기를 해왔는데 새로운 개발자와 이야기를 하니 재미도 있었고 나의 실력이 어느정도 되는지 알 수 있는 계기가 되었다. 다음에 더 좋은 기회가 온다면 꼭 쟁취하도록 노력해야 겠다
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cIupg3/btrw43rvbnP/mHO7hz1ofUNduNfpz7X4o1/img.png)
시작전에 메인 루틴과 서브 루틴이란 ? 메인 루틴에서 서브 루틴을 호출하면 서브 루틴의 코드를 실행 한 뒤 다시 메인 루틴으로 돌아와 남은 작업을 진행한다. 서브 루틴의 작업이 끝나게되면 서브 루틴의 내용은 모두 사라진다. 서브 루틴은 메인 루틴안에 속하기 때문에 종속된 관계를 가진다. def mul(a, b): # mul 함수가 끝나면 변수와 계산식은 사라진다 c = a * b print(f'{c} - mul 함수') return c def main(): # mul 함수가 끝나면 다시 calc 함수로 돌아온다 result = mul(1, 4) print(f'{result} - calc 함수') main() >>> 4 - mul 함수 >>> 4 - calc 함수 # main가 main 루틴(main ro..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b6QTSf/btrwWf5D1BQ/Q1s9mxr4nvIqZG6UOBnUKk/img.png)
mro 란? method resolution order로 메서드 결정 순서이다. ( 자식과 부모 클래스를 전부 포함하여 메서드의 실행 순서를 지정하는 것) 왜 mro라는게 있을까? python은 기본적으로 다중 상속을 지원한다. 상속받은 부모 클래스가 서로 겹치지 않은 메서드 네임을 가지고 있다면 자식 클래스에서 부모 클래스의 메서드를 사용할때 딱히 문제가 되지 않는데 BUT 부모 클래스가 가지고 있는 메서드의 이름이 모두 같다면 자식 클래스는 어떤 부모 클래스의 메서드를 불러와야할까?? 아래의 같은 경우에는 어떻게 해야 될까..?? 정답은 자식에서 상속 받기 위해 작성한 부모 클래스의 순서에 있다. (왼쪽에서 오른쪽으로) class A: def name(self): print('A') class B: ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cuoYdm/btrvqi3ZPjh/JaUtJR689JKzhLnJOvBGh1/img.png)
왜?? 티스토리에서 개발 관련 글을 작성한지도 약3년정도가 되어가고 있으며 지금까지 티스토리에 글을 쓰면서 불편하다고 느낀적은 한번도 없었던거 같다. 그러나 한가지 단점이 있었으니 github에 기록이 남지 않는다는 것 이였다. 나는 github는 개발일기장과 같다고 생각하였고 글을 작성하는것도 개발의 일부분 이라고 생각 했기 때문이다. 그래서 github blog도 만들어 보았지만 front개발에 무지했던 나로써는.. github blog를 포기했다. 어떻게? 티스토리에 글을 올리면 github action을 통해 일정시간마다 새롭게 작성된 글이 있는지 확인하여 내가 블로그에 작성한 글을 github issue로 작성을 해주도록 하였다. 프로젝트의 아키텍쳐 사용 기술 1. github 2. github..