인력(引力)
·
글을 써봐요/그냥 글
인력(引力) 최근 10기 데모데이를 다녀왔다. 10기로 활동을 하진 않았지만, 단기 스터디로 다시 9기 때부터 진행해온 개발 블로그 쓰기 스터디 를 맡아서 진행했고, 해당 스터디를 다음 기수에도 이어서, 그리고 규모를 조금 키워서 진행할 예정이기에 데모데이에 개블스 발표를 진행하려 참여했다. 같은 데모데이를 준비하며 주변에서 발표하는게 떨린다, 걱정된다라는 이야기를 하는 친구가 있었다. 나에게 있어서 발표와 특히 사람들에게 앞에서 이야기 하는 것은 전혀 어렵지 않았다. 8기 교육팀과 운영진을 하고 프로젝트 팀장으로 1년 넘게 회의를 진행해오면서 이전에 실제 들었던 발표도 꽤 잘했다고 생각했기에 부담없이 하라고 다소 마음 편한 얘기를 했다. 나도 늘 하던대로 발표 준비를 하고 데모데이 장소에 도착했다. 도..
TaskScheduler를 통한 동적 스케줄링
·
프로젝트/COTATO.KR
TaskScheduler를 통한 동적 스케줄링코테이토 프로젝트에서 출석 입력 기능을 개발 이후, 운영진의 출결 입력 안내가 없더라도 사용자들이 세션 시작 시간이 되면 출결 입력을 할 수 있었으면 좋겠다는 니즈가 있었다.따라서, 출석 입력이 허용되기 시작하는 시간에 사용자들에게 출결 입력 알림을 전송이란 기획이 추가되었다.해당 기능 개발을 위해 2가지에 대한 고민이 필요했다.서버가 클라이언트에게 출결 입력 시작을 알리는 방법유저가 지정한 시간에 알림을 전송하는 방법첫번째 고민에 대해서는 서버 → 클라이언트의 단방향 전송을 위한 Server Sent Event를 사용하기로 결정했다.(구체적인 이야기는 다른 글에서 다루도록 하겠다.)이 글에선 두 번째 고민인 유저가 지정한 시간에 동적으로 서버에서 스케줄링을 ..
Redis는 왜 빠를까?
·
카테고리 없음
COTATO 프로젝트를 하면서 회원 가입, 캐시, 선착순 요청 처리, 동시성 처리등 redis를 많은 부분에서 활용하고 있다. 최근 올라오는 백엔드 개발자 취업 공고에도 redis는 우대 사항이 아닌, 자격사항에 포함된 경우가 많다. 레디스는 싱글스레드, 인메모리 DB등의 특징이 있는데 레디스가 주목받는 이유는 여러가지가 있지만 그 중 하나는 ‘빠른 속도’이다. 실제로 우리 서비스에 레디스를 사용하는 이유 중 하나도 ‘빠른 처리 속도’ 중 하나인데 정작 왜?에 대한 고민을 해보진 않을 것 같다.실제 redis.io에도 Redis는 빠르다 빠르다 하는데 그 이유가 뭘까? 하는 고민을 하던 중 최범균님의 유튜브에 레디스가 빠른 5가지 이유라는 제목의 영상이 올라왔다.https://www.youtube.com..
25년도
·
글을 써봐요/그냥 글
난 백엔드 개발자(였)다.25년 초 퇴사를 했다. 3개월의 시간이었지만 회사와 맞지 않는 부분이 있었고 그 결정 끝에 퇴사를 결정했다.다시 개발자로 취업을 준비하는 지금 지난 3개월을 돌아보고 25년 목표를 작성해보고자 한다.진로많은 고민을 해봤지만 나는 최종적으론 ‘필요한 서비스를 만들 능력이 있는 소프트웨어 엔지니어’가 되고 싶다. 그러한 소프트웨어 엔지니어가 되기 위해선 백엔드부터 범용적인 기술과 이론에 대해 이해가 필요하다고 생각한다. 여러가지 시작점이 있겠지만, 지난 3개월 간의 경험을 돌이켜봤을때 Java 백엔드 개발자로 계속 도전하고 싶다는 생각이 아직은 명확하게 든다. 이렇게 커리어를 시작해 최종적으론 한 기업의 CTO까지 커리어를 확장하고 싶다. 그래서 올해는, 지금은 ‘서비스를 만들 능..
두달차 개발자의 반성문
·
글을 써봐요/그냥 글
지난 10월 7일 입사 후, 어느덧 두 달 조금 넘는 시간이 지났다.나름 개블스 1,2기 팀장에 ‘글쓰는 개발자 유쓰’라는 타이틀을 달아놓고 취업을 확정 지은 3달간 아무글도 안썼다.어떤 주제로 블로그를 다시 시작해볼까 고민하다가. 짧게 두달차 신입 개발자의 느낀점과 소소한 반성문을 작성해볼까 한다.진짜 처음이라고요사실 난 인턴 경험조차 없고 시작한 첫 직장, IT업계에서 그리고 스타트업에선 보기 드문 생 리얼 신입이다.입사 후 회사사람들과 커피챗을 8번정도 진행하는데 비슷한 시기에 입사사람들의 이야기를 들어보면 생생생 신입은 진짜 거의 나 밖에 없었다. (여기가 첫회사라고 하면 다들 놀라곤 한 걸보면 ..) 프로젝트 팀을 1년 이상 유지하고 실서비스를 운영했고 그 팀의 팀장이었다해도 어디까지나 학생 수..
ThreadLocalRandom을 활용한 성능 개선기
·
프로젝트/COTATO.KR
ThreadLocalRandom을 사용해 성능 개선하기문제현재 이메일 인증 랜덤 코드를 발생할때 요청 이후 인증코드 발송까지 꽤 오랜시간이 걸리는데, 클라이언트에서 인증코드 발송 요청을 보낸 후 요청이 성공했다는 서버의 응답이 오면 아래와 같은 팝업을 띄운다.문제는 서버에서 response자체가 오래걸려 인증 메일 발송 완료 팝업 이 뜨는데 오래 걸리고, 인증 메일 발송 버튼이 계속 활성화 되어 유저가 여러번의 인증 메일 발송을 요청하는 문제가 있었다.즉, 서버의 응답 시간이 늦어 유저가 여러 요청을 하게된 것이다.우선적으로 프론트엔드에서 응답이 오지 않더라도 팝업을 띄우고 버튼을 비활성화하는 방법을 마련했지만, 서버측에서도 요청시간을 줄일 필요를 느꼈다.Random 클래스 사용현재는 java.util...
IT동아리에서 운영진으로 성장하기 - (2)
·
활동/cotato
운영진 (8, 9기: 2023.08 ~ 2024.08)8기엔 교육팀장을 9기엔 홍보팀원 (및 깍두기 … )으로 나름의 운영에 관여해 의견을 피력했다. 나는 어떻게 성장했지?우선, 내가 개발자로 성장하는 과정에서 어떻게 성장해왔는지에 대해 생각해봤다. 유의미한 깨달음을 얻고 변화한것은 이유와 더 나은 방법에 대해 고민하기 시작했을때부터였는데 아쉽게도 그 계기는 이곳이 아니었다. 사실 내가 깨달음을 얻고 성장하기 시작했던 계기는 'GDSC 자바 스터디' + '야놀자 특강' + '우테코 프리코스'였던 것 같다.이 활동을 하며 만난 사람들의 공통점은 하나 같이 아래와 같은 공통점이 있었는데‘개발’에 몰입하고 있다.정보를 공유하고 있다이 사람들과 함께하며 나도 몰입하고, 고민하게 되고 이야기를 나누며 변화하기 시..
IT동아리에서 일반 부원으로 성장하기 - (1)
·
활동/cotato
이번 주를 끝으로 1년 반 6,7,8,9기 총 1년 6개월을 활동한 코테이토를 마무리한다.활동을 마무리하며, 코테이토에서 내가 느끼고 했던 활동을 정리해보고자 한다. 들어온 이유3학년을 마쳐갈 당시 개발 관련 네트워크가 간절했다. 혼자서 이것저것 공부를 하고, 무작정 학교 공부를 열심히해도 프로젝트와 같은 실제 활용 경험이 없으니 시험기간이 지나면 까먹게 되는 것들이 많았다. 특히, 3-2 DB 수업 때 스프링을 처음 했는데 뭐 교수님이 많은 설명을 한 것 같지도 않은데 슥삭슥삭 해내는 사람들을 보며 “학교에서 분명 안가르쳐줬는데 왜 잘해 ??? 어떻게 해??” 이런 생각이 들었다. 이러한 갭을 극복하기 위해선 어떤 내용을 공부해야하는지, 어떤 프로젝트를 해야하는지 알기 위한 네트워크가 강하게 필요했다...
지속 성장 가능한 코드: import문도 코드이다.
·
프로젝트/COTATO.KR
지속 성장 가능한 코드: import도 코드어느 덧 9기가 끝나가며 자신있게 출시(?)한 프로젝트를 운영한지도 6개월이 되어간다.그냥 박치기로 시작했던 프로젝트를 운영까지 하고 있으니 리팩토링을 하거나 새로운 기능을 짤 때 ‘변경한 코드의 파급력’을 고려하지 않을 수가 없다.그렇다고 확장을 하지 않을수도 없는데, 크고 작은 기능이 추가되며 하나의 클래스에 메서드가 증가하고 의존성이 더해지며 코드가 복잡해지는데 기수가 끝나가는 하나의 전환점인 지금 아래와 같은 고민이 생긴다. 지금 우리의 프로젝트는 새로운 개발자가 와서 읽기 좋은 구조인가? 언젠가는 누군가가, 적어도 ‘홍보’ 관련 도메인은 가져가야하는데 이게 맞나 싶은 포인트가 생겨 고민이 드는 요즘이다.이게 맞나?import 문에 와일드 카드 사용을 하..
[백준 2073 수도배관공사 : Java] DP
·
Algorithm/백준 문제풀이
오늘은 지난 개블스 부원이 다룬 냅색 문제인 BOJ 2073번을 풀고 정리https://www.acmicpc.net/problem/2073문제 요약파이프를 일렬로 이어서 수도관을 하나 만든다.수도관 용량 := 연결된 파이프 중 용량이 최소인 파이프의 용량구할 값 := 길이가 D인 수도관 중 최대 수도관 용량 구하기조건 해석이 조금 어렵다. 특히 최대와 최소가 섞여있어서 구해야하는 값이 무엇인지 잘 이해가 되지 않았다.  알고리즘 생각하기: DP우선, 길이가 D인 수도관 중 최대 수도관 용량을 구하는 것이니 수도관을 추가하면서 정해지는 구할 값이 규칙적이라면, 점화식을 찾는다면 DP로 풀 수 있지 않을까? 하는 생각이 들었다.추가로 아래 이유 때문에도 DP이지 않을까 생각했는데 이는 그냥 개인적인 생각이니..
유쓰응