요즘 블로그가 뜸했던 이유가 있었는데, 바로... 상반기부터 쭉 서비스 개발을 해왔기 때문이다. 그것도 스프링이 아니라 Nest.js + TypeORM으로. 우리 회사는 SI회사이긴 하지만, 창사 때부터 줄곧 자체 서비스를 목표로 했다고 한다. 그리고 여러 회의를 거쳐 아이템이 선정되었고, 지금까지 발전시켜오다가 드디어 서비스 오픈을 목표로 본격적으로 개발에 돌입한 상황이었다. 원래는 앱으로만 만들려다가 서버의 역할이 필요해졌는데, 때마침 내가 그 소식을 알게 되었고, 내가 개발자 전에 하던 업무와 밀접한 관련이 있는 앱 서비스이기도 해서 내가 자원해서 서버를 개발하기로 했다. 처음엔 서버는 한 사람으로 충분할 것 같다고 하셨지만, 우리 팀에서 나 말고도 하고 싶다고 한 사람이 있어서 팀장님은 고민하다가..
문제k번 happiness 배열을 훑으면서 남아 있는 가장 큰 값을 더해서 반환한다. 단, 한 번 가장 큰 값을 뽑으면 그 다음엔 배열에 담긴 모든 값이 1씩 줄어들고 그 상태에서 가장 큰 값을 또 꺼내야 한다.나의 접근법happiness를 오름차순 정렬하고, k개만큼 앞에서 가장 큰 값에서 인덱스를 뺀 값을 더해간다. 단, 가장 큰 값에서 인덱스를 뺀 값은 최소 0이다.class Solution { public long maximumHappinessSum(int[] happiness, int k) { Arrays.sort(happiness); int n = happiness.length; for (int i = 0; i 코멘트시간복잡도는 코드 라인따라 계산해보..
기존의 컴퓨터는 0과 1만을 가질 수 있었다. 하지만 0과 1을 동시에 공존시킬 수 있는 양자역학을 이용하여 현존 최고 성능의 컴퓨터가 수백년이 걸려도 풀기 힘든 문제를 단 몇 초 이내로 빠르게 풀 수 있는 것이 양자컴퓨팅이다. 양자컴퓨팅에 대해 흥미를 갖고 양자컴퓨터의 구조와 원리에 대해 공부하던 중 양자컴퓨터에서는 프로그래밍을 어떻게 할까? 라는 생각에 미쳤고 그에 관련하여 찾아보다가 Q#을 알게 되었다. Q#은 2017년에 발표된 양자컴퓨터의 양자 알고리즘을 개발하고 실행하기 위한 Microsoft의 오픈 소스 프로그래밍 언어다. 주기능은 양자 알고리즘용 큐비트를 만들고 사용하는 기능이다. 양자컴퓨터인만큼 하드웨어도 중요한데, Q#과 함께 제공될 하드웨어 스택은 토폴로지 큐비트로 구현할 것으로 예상..
12월 이후로 오랜만에 개발 블로그에 일기를 남긴다. 그 사이에 꽤나 많은 일이 있었다. 개인사정으로 병원 12월부터 좀 안좋은 낌새가 있었는데 병원을 다니기 시작했다. 지금은 좀 괜찮아지긴 했는데 그래도 완전히 괜찮아질 때까지 컨디션도 신경쓰자. 결혼 준비 해야지 해야지 하면서 미뤄왔던 결혼 준비를 본격적으로 시작했다. 아마도 6월까지는 결혼 준비 때문에 정신없이 바쁠듯. typescript + nest.js + typeorm 사내 서비스 프로젝트 합류 우리 회사는 SI... 이긴한데 최종목표는 서비스인 회사다. 그래서 회사 내부적으로 서비스 프로젝트를 준비하는데 그 프로젝트에 서버 개발로 합류하게 되었다. 뭔가 그동안 해왔던 SI식 업무가 아니라, 서비스회사에서 할법한 업무 프로세스여서 재미있기도 하..
사두고 언제 다 듣나 했는데 그래도 다 듣긴 했다. 2022년 5월에 산 '헤드 퍼스트 디자인 패턴' 책도 사놓고 보고 싶은 일부만 보고 나머지는 안 봐서 이 강의랑 같이 봤다. 헤드 퍼스트 디자인 패턴 같은 경우, 해당 패턴에 대한 이해가 목표로 써져 있어서 이것 저것 생각해볼 거리가 많았고, 본 강의는 실제로 자바, 스프링에서 해당 패턴을 어떻게 사용하고 있는지 알려줘서 적용 사례를 알 수 있어서 좋았다. 그래서 나는 헤드 퍼스트 디자인 패턴 책으로 패턴을 먼저 이해하고 강의를 들으며 내가 실제로 이해한 방향이 맞는지 확인도 하고 실제로 어떻게 적용되고 있는지 확인하는 방향으로 진행했다. 그래도 디자인패턴은 이렇게 강의 하나를 다 봤다고, 책 한 권을 다 봤다고 오롯이 내 것이 되는 건 아니다. 이제..
오늘도 채용공고를 찾아 이리저리 플랫폼들을 돌아다니다가 프로그래머스에서 지원했는데 UI가 이상하게 표시되는 문제가 있었다. 원래 지금 선택된 메뉴가 파란 글씨로 표시되는데, 저렇게 두 메뉴명이 파랗게 표시되는 문제였다. 재현과정 1. 프로그래머스 홈페이지에서 [채용] - [채용 공고]를 클릭한다. 2. 공고에 지원한다. 3. 지원 완료 페이지에서 위 메뉴를 마우스오버하여 확인하면 [채용 공고]와 [지원한 포지션] 메뉴가 파란 글씨로 표시된다.
사실 우아콘 참가자 선정 결과는 기대하지 않고 있었다. 떨어져도 아쉽지 않겠다 생각했는데, 참가자 선정 발표날 선정 결과를 확인했고, 선정되었다. 아무래도 올해는 컨퍼런스 운이 많이 따라주나보다. 인프콘도 우아콘도 엄청난 경쟁률을 뚫고 당첨되었으니. 여차저차 바쁘게 시간이 흐르고 15일에 다녀왔다. 10시에 시작이었는데, 전날 게임하다 늦게 자서 밍기적거리다가 10시에 아슬아슬하게 도착할 것 같아 급하게 에스컬레이터를 탔다. 그런데 앞사람의 실루엣이 익숙했고, 지금 내 눈 앞에 있는 분이 그분이 맞나 한 0.1초 현실감각을 잃었다. 그리고 그분은 정말 인프랩 CTO이신 동욱님(=향로)이셨다. 그래서 중간에 사진 요청드렸는데 흔쾌히 좋다고 하셔서 동행분이 사진까지 찍어주셨다. 당황하셨을수도 있는데 사진 흔..
지난 추석, 인프런에서 뿌리는 30% 쿠폰에 난 뭘 살까 하다가 내내 한 번 해보고 싶었던 스프링 시큐리티 강의를 샀다. 그래서 추석 때도 듣고 틈틈이 들은 결과 오늘 완강할 수 있었다. 수료증에 찍힌 날짜를 보니 거의 한달이 걸렸는데 이 강의 들으면서 힘들었던 거에 비하면 완전 양호하다고 생각한다. 우선, 이 강의를 들으면서 스프링이나 JPA, AOP에 대한 이해가 있어서 소문으로 들은 것만큼 많이 어렵지는 않았는데, 문제는... 스프링 시큐리티 버전이었다. 나는 5.4버전으로 하고, 강의는 이전버전이었는데 이 사이에 너무 많은 게 바뀌어서 혼자 deprecated된거 바꿔가면서 듣느라 머리가 좀 아팠다. 그리고... 참고용 코드는 존재하지만 어디까지나 참고용이라 강의보면서 따라치다가 문제생기면 알아서..