본문 바로가기
반응형

전체글253

2021년 4분기 계획 (10월, 11월, 12월) 3분기 회고 1. daitso 프로젝트 하면서 생각 많이 하고 블로그에 글 정리하기 2. 1일 1커밋 3. 7, 8월은 코딩 테스트에 시간 투자 많이 하기 4. 신입 채용 계속 넣기 5. 면접 개념 1주일에 한 번씩은 하기 6. 스터디하면서 책 많이 읽기 열심히 살았던 3분기. 어쩌다 보니 원하는 회사에 취업하게 되었다. 멘토링도 열심히 했고 구직 활동도 열심히 했다. 선배들의 도움도 받고 멘토, 팀원들의 도움도 많이 받아서 취업에 성공했다. 입사를 약 1주일 정도 앞둔 지금. 긴장과 설렘이 반반 공존한다. 가서 잘할 수 있을지? 에 대한 걱정도 꽤 있다. 처음부터 잘하는 사람이 어디 있겠나. 가서 열심히 공부하고 배우다 보면 좋은 평가를 받을 수 있을 것이다. 4분기 시작 회사 일을 우선시 하고 부족한.. 2021. 9. 26.
Github-actions로 CI 구축하기 CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다. CI를 지속적인 통합, CD를 지속적인 배포라고 부르는데, CI 후에 CD를 하는 경우가 대부분입니다. CI/CD를 할 수 있는 도구는 Jenkins, TravisCI 등 여러 가지 툴이 있는데, 이번 프로젝트에서는 github-actions를 사용하여 spring boot 프로젝트 CI(자동 test)를 진행해보도록 하겠습니다. 1. Workflow 생성하기 CI를 사용하고자 하는 github repository에 들어가서 상단에 'Actions' 탭을 누른 후 'New workflow'를 누릅니다. 저는 직접 set up을 해줄 것이기에 'set up a .. 2021. 9. 1.
'함께 자라기'를 읽고 '함께 자라기' 책을 읽으면서 생각한 몇 가지를 공유해보려고 합니다. 이 책은 어떻게 우리가 함께 성장할 수 있고 올바른 방향으로 나아갈 수 있는지를 잘 알려주는 책입니다. 지금은 개발자 0년차. 즉, 학생으로서 책을 읽었지만 시간이 흘러도 이 책은 매년 의미가 있고 그 의미가 새롭게 다가올 것 같습니다. 0년차, 3년차, ... 그리고 그 이상의 년차까지도 책은 저에게 새로운 성장 방식을 제시할 것이고 저는 그것을 잊지 않고 개발할 수 있는 개발자가 되어야 할 것입니다. 1. 자라기 저는 개발을 하면서 저의 성장 가능성에 대해 의문을 가진 적이 많습니다. '왜 나는 주변 친구들과 다르게 성장하는 속도가 느릴까?' 라는 생각을 하며 다른 사람과 비교한 적이 많습니다. 이 책에.. 2021. 8. 30.
서버 기반 인증 & 토큰 기반 인증 이해하기 매번 프로젝트에서 세션을 사용하여 인증하곤 했습니다. 시스템의 규모가 커지고 세션을 저장해야하는 인증 방식에는 한계가 있을 수 있습니다. 이러한 것을 해결하기 위해 토큰을 사용하여 인증을 할 수 있습니다. 인증 방식들의 특징에 대해서 알아보도록 하겠습니다. 1. 서버 기반 인증 서버 기반 인증은 서버 측에서 사용자의 정보를 기억하고 있습니다. 사용자의 정보 즉, 세션을 유지하기 위해서 메모리, 디스크, DB에 저장을 할 수 있습니다. 위 방식이 세션을 사용하는 흐름입니다. 하지만 이러한 방식은 여러가지 문제가 있습니다. 1-1. 서버 기반 인증 문제점 확장성 세션을 사용하면 서버를 확장하는 것이 어려워집니다. 여러 대의 서버를 사용하게 되면 분산 시스템을 설계 해야하는데 이 과정에서 세션을 사용하는 것이.. 2021. 8. 12.
@Transactional 동작 원리 JDBC Transaction의 이해 Connection connection = dataSource.getConnection(); try (connection) { connection.setAutoCommit(false); // excute some SQL statements... connection.commit(); } catch(SQLException e) { connection.rollback(); } 데이터베이스를 연결합니다. setAutoCommit의 default value는 true이다. 이것을 setAutoCommit을 false로 지정한다. true로 설정하게 되면 하나의 쿼리마다 자동시작 ~ 자동커밋이 일어난다. 우리는 여러 개의 쿼리 문장이 하나의 작업으로 수행되게 할 것이기 때문에 .. 2021. 7. 30.
Transaction/@Transactional 이해하기 Transaction에 대해 누군가 물어보면 "데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위" 라고 기계처럼 설명했다. 이 기계적인 답변에서 벗어나기 위해 transaction에 대해 공부해보겠다. 1. Transaction 맛보기 옷을 구매한 후, 판매자에 3만원을 계좌이체를 해야 한다고 생각해보자. 우리는 ATM기에 가서 판매자에게 돈을 송금할 것이다. 나의 계좌에서 3만원이 출금된다. UPDATE account SET balance = balance - 30000 WHERE user="park"; 판매자의 계좌에 3만원이 입금된다. UPDATE account SET balance = balance + 30000 WHERE user="판매자"; 이러한 상황에 어떠한 .. 2021. 7. 17.
반응형