목록기타 (78)
개발놀이터
최근에 공부를 쉬었다가 다시 시작하고 있다. 또 하고싶은 공부가 생기니까 이렇게 저렇게 하게되는게 신기하다. 공부는 3개월정도 쉬었는데 그동안 게임도 열심히 하고 공부생각 안하고 열심히 놀았던 것 같다. 오늘은 근황과 함께 현재 느끼고 있는 감정을 있는 그대로 써보려고한다. 최근 연봉협상을 진행했다. 만족스럽진 않지만 불황인 현재 상황을 보면 나름 나쁘지 않은 것 같다. 13퍼센트 연봉이 올랐는데 400만원이 올랐다. 기쁘면서도 조금 아쉽긴 하다. 내가 했던 성과들을 쭉 얘기하는데 대표가 그런건 아무나 다 할 수 있는거라면서 가스라이팅을 했다. 속으로 ㅅㅂ 그걸 아무나 할 수 있는거였으면 왜 지금까지 안했냐 라고 얘기하고 싶었지만 싸우자는 얘기로 들릴까봐 참았다. 잘했다고 한마디하고 그냥 가만히 있으..
작년 2월 14일에 취업하고 현재 회사에서 1년을 채운 뒤 오늘 연봉협상을 마쳐 본격적으로 2년차가 시작되었습니다. 회사에서 1년동안 했던 일들 회고해보도록 하겠습니다. 성능 개선회사에서는 WebRTC를 이용한 비대면 평가 시스템을 개발하고 있습니다. 제가 투입되었을 당시 오픈소스인 Openvidu를 이용해서 만들어져있었는데 Openvidu가 Kurento 미디어 서버를 기반으로 만들었기 때문에 WebRTC만 사용하는 저희 서비스 입장에선 썩 좋은 선택지는 아니었습니다. 이것도 추후에 포스팅을 하겠지만 WebRTC에 특화된 미디어 서버인 Mediasoup가 있어서 이를 이용해서 서비스를 마이그레이션 했습니다. 그러면서 기능도 추가로 개발하고 프로세스도 다듬으면서 기존 Openvidu에 비해 성능이 많..
안녕하세요. 개발 블로그 작게 운영하는 폴폴입니다. 제가 쓴 회고글을 보다보니 회고다운 회고가 없네요 ㅎㅎ.. 뭔가 제 감정을 드러낸 것이 하나도 없어 좀 딱딱한 회고글들이 나온 것 같습니다. 이번엔 조금 이른 24년도 회고겸 일기처럼 편하게 써보려고합니다. 조금 쉬어도 괜찮지 않을까..?개발이라는 공부를 시작한지는 3년 반정도 되었네요. 정말 미친놈처럼 달리기만 했는데 그만큼 개발 공부가 재밌었습니다. 시간 가는 줄도 모르고 밤을 새가면서 공부할 때도 많았고 골머리 썩던 버그가 새벽에 해결됐을 땐 가족들 다 자고있는 집에서 소리없는 환호성을 지르기도 했습니다. 대학생 시절엔 평균 10시간씩 공부하고 올해 2월에 취직하고 나서 지금까지 평일엔 3~4시간 주말엔 10시간씩 공부했습니다. 쉬고싶어서 연..
2024년 2월에 작은 서비스기업에 취업하게 되면서 제2의 삶이 시작되고 있습니다. 아직 서비스가 고객들에게 배포되진 않아서 다양한 문제상황을 만날 기회는 없지만 서비스를 개발한다는 것 자체만으로도 첫회사치고는 잘 들어갔다 싶은 생각이 듭니다. 벌써 개발 공부한지 만으로 3년이 다되었고 지난 만2년 기념 회고를 작성했던 것과 동일하게 한번 회고를 진행해볼까합니다. 2023년 8월 9일 온라인 쇼핑몰 ver.4를 시작하다7월에 ver.3가 마무리되면서 얼마 지나지않아 ver.4를 기획하게 되었습니다. 실제 ver.3까지 개발된 온라인 쇼핑몰을 AWS환경에 배포하는 과정을 거쳤습니다. 이때 실제로 많이 사용되는 EC2, S3, ALB, VPC등을 경험하면서 이때 했던 경험을 살려 현재 회사에서도 클라우..

회사에서 리액트를 사용해서 어쩔 수 없이 리액트를 공부해야하는데 나름 재미는 있습니다. 근데 좀 그지같은 부분이 있더군요... 이번엔 포스팅에선 컴포넌트의 생명주기와 렌더링에 따른 useEffect의 호출 순서 그로인해 벌어지는 useEffect의 맹점에 대해서 알아보려고합니다. 그지같은 리액트...제가 원한건 useEffect에서 API를 호출하고 state에 저장한 뒤 state에 저장된 값을 HTML에 써먹고싶었습니다. 기대했던 순서는 다음과 같습니다. 리액트가 useEffect를 호출한다. API가 호출된다. 값이 가져와지고 그 값을 state에 저장한다. 렌더링이 될 때 state 값을 사용한다. 근데 이 그지같은 리액트는 제가 원하는대로 움직여주지 않더군요. 렌더링이 되고 state값..

이번 포스팅에선 리액트의 전역 상태 관리 라이브러리 redux와 recoil에 대해서 알아보도록 하겠습니다. 사용방법은 구글링하면 엄청많이 나오더라구요. 사용법은 이번 포스팅에선 다루지 않도록 하겠습니다. 이번 포스팅에선 hello world 수준으로 redux와 recoil을 써보고 느낀점 그리고 둘의 차이점에 대해서 다뤄보도록 하겠습니다. Redux첫인상redux는 리액트 훅중에 useReducer와 굉장히 유사하더군요. 아니 유사한게 아니고 완전 빼다박았습니다. redux를 조금 경량화한게 useReducer라는 느낌이 들었습니다. 접근성redux는 보일러플레이트가 굉장히 높았습니다. 설정해줘야하는게 굉장히 많았고 hello world 수준의 예제도 시작하는데 한참이 걸렸습니다. 특징하지만 ..
최근 회사에서 리액트를 사용하면서 공부를 해야겠다고 생각이 들었습니다. 리액트의 생명주기나 useState, useEffect, useRef 같은 기본적인 hook은 자세히 공부하지 않고 감으로도 충분히 알겠더라구요. 하지만 회사 서비스에서 사용중인 코드 중에 useReducer라는 hook이 있었는데 이놈을 공부해보았습니다. useReduceruseReducer는 useState를 대체하는 hook으로서 state, dispatch, reducer, initialize 이렇게 네가지로 이루어져있습니다. 기본적인 구조는 이렇게 생겼습니다. const [state, dispatch] = useReducer(reducer, initialize);ex)const [number, sendValue] = ..
보통 많은 애플리케이션이 JWT를 이용해서 인증을 하고있다고합니다. JWT를 한글이던 영어던 구글링을 해보면 모두같이 JWT를 stateless라고 소개하고 있습니다. JWT를 쓰고 있던 와중 갑자기 문득 생각이 들었습니다. 이게 stateless야? JWT는 정말 stateless인가?왜 이런 의문이 들었냐면 access token (이하 AT)이 만료되는 순간 refresh token (이하 RT)를 확인해서 다시 AT를 재발급 하는 과정에서 의문이 들었습니다. RT를 확인할 때 우리는 이 사용자와 관련된 즉, 이 사용자가 로그인할 때 만들었던 RT를 찾기위해 결국 사용자의 정보를 가지고 RT를 검색합니다. 이 RT는 데이터베이스에 오랜시간 저장되어있으면서 사용자에게 계속 AT를 발급해주죠. ..

객체지향의 5대원칙 SOLID를 만들었다고 전해지는 로버트 C 마틴이 쓴 책 클린코드를 읽어봤습니다. 취업 준비때는 바빠서 취직하고는 책읽을 시간이 없어서 책 읽는 것을 소홀히했는데, 반성하며 읽다만 클린코드를 읽었습니다. 책에서는 객체지향을 위해 클린코드를 어떻게 작성해야하는지에 대한 가이드라인이 나와있습니다. 함수는 어떻게 작성해야 하는지, 주석은 어떻게 달아야하는지, 클래스는 어떻게 작성해야하는지 등등에 대한 내용이 들어있습니다. 그런데 저자가 표현을 좀 강력하게해서 일부 오해의 소지가 있는것 같습니다. 어떤 유튜버가 영상에서 클린코드를 무조건 맹신하면 안된다면서 "함수 하나에 하나의 책임만을 가지고 각각의 책임들을 함수로 빼야한다." 라는 말을 했는데 이를 오해한 사람들이 모든 함수를 다..
드디어 취뽀했습니다. 후... 초기 스타트업에 취직하게 되었습니다. 요즘 취업 힘들다 힘들다 얘기만 들었지 몸으로 체감하니까 차원이 다르더군요. 취뽀한김에 회고를 안적을 수 없겠죠. 한번 적어보겠습니다. 공부 기간은? 코딩을 시작한지는 3년, 본격적으로 공부를 시작한지는 2년7개월 됐습니다. 처음 개발 공부를 시작했을 때가 정말 새록새록 떠오르네요. JSP로 프로젝트 하는데 JSTL에서 이거 진짜 애먹었습니다. 게시판도 만들어보고 MVC1 MVC2로 프로젝트 해보면서 개발에 대한 흥미를 잃지 않았던게 가장 큰 포인트였던 것 같습니다. 공부 방법은? 인프런의 영한님 강의를 들었습니다. 영한님이 강의를 너무 재밌게 찍으셔서 영한님 강의를 전부 다 들었습니다. 인강이 좋은 점이 모르는 부분 있으면 잠깐 멈췄다..