본문 바로가기

전체 글

2021년 08월 회고록 8월을 되돌아보며 얼마만큼 계획했던 일을 진행했는지 체크하기 위해 회고록을 작성한다. 팀 내 스프링 스터디 7월에 시작했었던 스터디를 꾸준히 진행하고 있다. `토비의 스프링`이란 책을 읽으며 배웠던 점은 내가 안다고 자부했던 생각이 착각이었다는 것과 항상 겸손하게 살아야한다는 생각이 들었다. 스터디가 중반 단계까지 진행되었으며 이번 스터디의 목표는 추석 전까지 토비의 스프링책을 완독하는 것이다. 일일 목표 계획 및 달성하기 평소 개발에 대해 여러 이야기를 나누는 개발자 친구가 있다. 이 친구는 머신러닝 분야를 종사하는데 항상 성장에 목말라있는 친구이다. 이 친구와 이야기하는 도중 어떻게 하면 성장할 수 있을까라는 주제에서 비롯된 계획인데 한번 실행해보려고 한다. 노션을 통해 계획달성표를 작성하여 꾸준히 .. 더보기
2021년 07월 회고록 8월이 끝나는 입장에서 7월 회고록을 작성한다는게 머쓱한 일이지만 자신의 성취를 다시 되돌아보는 일이 얼마나 중요한지 알고 있기에 늦게나마 회고록을 작성한다. 팀 내 스프링 스터디 7월에는 회사 팀 내 사원들과 함께 스프링 관련된 스터디를 진행하였다. 스프링을 사용하고 있는 입장에서 스프링에 대해서 확실하게 알고 활용하기 위해서 팀 시작한 스터디이다. 스프링의 바이블이라고 하는 토비의 스프링이라는 책을 스터디 도서로 지정하여 진행하는 방식이며 매주 스터디 당일날 발표할 사람을 뽑는 방식으로 진행하였다. 이펙티브 자바 전에 한번 읽었던 이펙티브 자바를 재 정독을 시작하였다. 검색하다가 우연히 `자바봄`이라는 스프링/자바 관련 블로그를 찾았는데 책을 읽는 방식에 대해 깊은 감명을 받아 시작하게 되었다. 매주.. 더보기
2021년 06월 회고록 5월 회고록에서 목표했었던 계획을 6월 회고록에서 다시 한번 되짚어 보려고한다. 아래 그림은 5월 회고록 당시에 작성했었던 목표였다. 이루려고 했었던 목표 중에 RealMySQL, AWS 서버구축, 자바8 인 액션 책 읽기 이렇게 3가지를 실패했었다. 7월 회고록에는 목표했었던 책을 다시 읽어보려고 한다. 더보기
Postgresql 설치하기 리눅스 CentOS 7에 Postgresql을 설치해야하는 일이 생겼습니다. 설치하는 과정을 복습하는 의미에서 포스팅 하려고 합니다. CentOS 설치하면 yum 명령어가 작동하지 않는경우가 존재합니다. yum의 접속 url이 잘못되어 있거나 등 여러가지 이유가 존재합니다. 먼저, dns 서버 IP가 설정되어있는지 확인합니다. 만약 아무것도 없다면 search com 이하 부분을 추가해주세요 vi /etc/resolv.conf search com nameserver 8.8.8.8 # 구글 도메인 서버 nameserver 168.126.63.1 # KT 서버 nameserver 164.124.101.2 # LG 파워콤 서버 다음은 yum의 레포지터리를 수정하겠습니다. /etc/yum.repos.d/Cent.. 더보기
[토이 프로젝트] 다중 채팅 프로그램 구현(1) 이전 개발을 진행하다가 중단되었던 토이 프로젝트를 보완하여 다시 진행하려고 한다. 목표는 다음과 같다. 1. 회사에서 사용하는 카프카(MessageQueue)에 익숙해지기 2. 테스트를 중심적으로 개발해보기(무조건 TDD를 하겠다는건 아니다) 다음은 토이 프로젝트에 필요한 서버리스트이다. 1. CI/CD를 위한 Jenkins 서버 1대 2. NginX 웹서버 1대 3. 브라우저, 모바일과의 소켓연결을 위한 소켓서버 3대(모바일은 추후 고려해야할듯 싶다) (Netty 프레임워크 사용예정) - 클라이언트가 서버로부터 채팅 메시지를 가지고 위한 방법 고려 4. Messaging Queue 역할을 하는 주키퍼 1대, 카프카 1대 5. Api 역할을 하는 톰캣 WAS 서버 1대 6. 이미지를 저장할 수 있는 AW.. 더보기
2021년 04월 회고록 4월 1일부터 현재 회사에 입사한 후 회사업무, 개인프로젝트 리팩토링, 알고리즘 스터디를 진행하느라 정신없었던 그리고 빠르게 지나갔던 한달이었다. 알고리즘에 대해서 회고해보자면 BOJ와 프로그래머스의 문제유형은 많이 다르다고 느꼈다. 프로그래머스 문제를 풀었을 때 익숙하지 않아 해매는 부분도 많았지만 곧 잘 적응하여 수월하게 풀었던 것 같다. 4월말부터 문제풀이와 회사업무를 진행하며 자바8 문법(람다 등)에 나름 익숙해진 것 같아 자바가 아닌 자바스크립트로 문제를 풀기 시작했다. ( 나중에는 코틀린으로 풀거다 -_- ) 자바스크립트로 문제를 풀며 느낀 장단점이 존재한다. 장점 함수형 프로그래밍을 통해 가독성과 간결함을 동시에 잡을 수 있었다. ← 이 부분은 자바8의 도움이 큰것 같다. MDN이 한글화되어.. 더보기
2021년 05월 회고록 나에게 5월은 많은 것을 이루었던 달이다. 익숙하지 않았던 회사업무에 익숙해진 시기였으며 대용량데이터를 다루기 때문에 알고리즘 및 쿼리 최적화 하는 등 코드 작성에 많은 것을 배울 수 있었다. 더불어 MySQL에 대한 공부스터디와 알고리즘 문제 풀기, 개인프로젝트 리팩토링, Mwav 이커머스 개발 스터디, 운동, 책 읽기, 인터넷 강의 등 많은 것을 이루는 시간이었다. 5월동안 이루었던 항목들을 나열하면 다음과 같다. 이루었던 항목 그림으로 보는 보안 구조(http://www.yes24.com/Product/Goods/89782924) 책 읽기 개인프로젝트 리팩토링(https://github.com/eedys1234/wip_3.0) 알고리즘 문제 풀기(https://www.notion.so/Algorit.. 더보기
Real My SQL - 아키텍처(3) InnoDB 스토리지 엔진 아키텍처 InnoDB 스토리지 엔진은 레코드 기반의 잠금을 제공하여 이로인해 높은 동시성 처리가 가능하다. 특징 프라이머리 키에 의한 클러스터링 잠금이 필요없는 일관된 읽기 외래 키 지원 자동 데드락 감지 자동화된 장애 복구 프라이머리 키에 의한 클러스터링 - InnoDB 테이블은 기본적으로 프라이머리 키에 의해 클러스터링 되어 디스크에 저장된다. 즉, 프라이머리 키 값이 순차적으로 디스크에 저장된다는 뜻으로 프라이머리 키에 의해 인덱스 레인지 스캔이 빠르게 처리 될 수 있다.(다른 보조 인덱스에 비해 높게 설정된 이유) 잠금이 필요 없는 일관된 읽기 - MVCC 라는 기술을 통해 락을 사용하지 않고 읽기를 수행한다. 다른 트랜잭션이 가지고 있는 락을 기다리지 않고 읽기 작업이.. 더보기