DEVIEW 2023에 다녀왔습니다

신청 국내 최대규모의 개발자 컨퍼런스인 Deview 2023이 2023년 2월 27일 오늘 열렸습니다. 무려 3년만에 열리는 오프라인 컨퍼런스입니다. 3주정도 앞선 2월8일에 Day1, 다음날인 2월9일에 Day2 예약을 선착순으로 받았습니다. 2019년엔 11초만에 마감이 되었었다는데 아무래도 그때보다 훨씬 경쟁률이 높아졌을테니 선착순에 자신있는편인 저도 긴장이 되었습니다. 오후3시 정각에 선착순 예약이 시작되었고, 정확히 0초에 신청 버튼을 누르니 마감되었습니다 라는 알러트가 떴습니다. 그런데 상식적으로 아무리 빠르다고 해도 이 시간에 마감은 될 수 없다고 생각하여, 바로 한번 더 신청을 누르니 대기열이 300번쯤 나옵니다. 대기열은 아주 조금씩 줄어들었고, 한 3분정도 기다리고 나니 아래와 같이 신..

Development/DevLife 2023.02.27
Safari 에서만 localhost에 쿠키가 저장 안되는 문제 해결

문제 쿠키에 JWT 를 저장하고, 토큰값 기반 로그인을 구현 해 두었다. 그런데 Chrome 이나 Firefox, Opera 등 다른 브라우저에서는 다 문제 없이 작동하는데 유독 사파리에서만 동작이 안된다. Network를 확인 해 보면, 로그인 성공시 정상적으로 Set-Cookie가 내려 온다. 그런데 저장된 쿠키를 확인 해보면 방금 저장하도록 한 쿠키값이 저장이 되어 있지 않다. 한가지 특이한건, localhost가 아닌 운영중인 서버에서는 Safari 에서도 쿠키가 정상적으로 저장되었다는 것이다. 원인 일단 용의자는 아래와 같이 잡고 몇가지 테스트를 진행해 보았다. domain SameSite Secure 제일 먼저 Domain을 확인 해 봤는데, 기존에는 위 스샷처럼 Response Cookie에..

Development/Daily Error 2023.02.19
Leetcode 1년, 드디어 릿코드 티셔츠

릿코드에서는 6,000 릿코드 코인을 모으면 티셔츠를 줍니다. Leetcode 모든 분들이 이미 잘 알고 계신 leetcode.com 에서는 간편하게 코딩 문제를 풀이 해 볼 수 있습니다. 릿코드를 시작하게 된 계기는 단순했습니다. 심심할 때 마다 게임하는 기분으로 프로그래머스에서 코딩 문제풀이를 하곤 했었는데, 지금은 프로그래머스에 제법 새로운 문제가 많이 추가 되었지만 제가 릿코드를 시작한 22년 1월에는 지금처럼 문제가 많지는 않았습니다. 제 실력으로 간단히 풀 수 있는 문제는 거의 다 풀어서, 심심할 때 풀기에는 너무 어려운 문제들만 남아있습니다. 물론 코딩테스트 실력을 늘리려면 무작정 많이 푸는것 보다 분야별로 난이도별로 전략적으로 접근하는편이 좋다고는 하지만, 저는 그냥 잠깐잠깐 심심함을 느낄..

Development/DevLife 2023.02.08
iPhone 사파리 페이지를 개발자모드 열기

Intro 개발중인 토이프로젝트의 css가 아이폰으로 확인 했을 때, 의도치 않은 모습으로 보였습니다. 버튼 및 input의 텍스트 색상이 자꾸 파랑색으로 표시되는데 개발자 모드로 띄워 놓고 확인을 하고 싶었습니다. macOS 의 Safari로 띄워놓고 같은 사이즈로 줄여도 같은상황이 재현되지 않는걸 보면 iOS Safari의 특징 같았습니다. 사파리 페이지를 테스트 하다 보면 스택오버플로에서 흔히들 말하는 Safari is new IE 라는 말에 뭔가 수긍되는 경우도 종종 있긴 합니다. iPhone Safari 디버그 iPhone 에서 Web Inspector 켜기 설정 > Safari > Advanced > Web Inspector 순서로 들어가서 설정을 켜 줍니다. 이후 이제 맥북에서 Safari를..

Development/Develop Tools 2023.01.28
[Java] Counting Sort 밤하늘의 Perl

Intro 알고리즘 문제를 풀 때 매우 많은 상황에서 주어진 데이터를 정렬해야 할 경우가 생깁니다. 기본적으로 길이 N의 배열에서 특정 수를 찾는다면, 일반적인 탐색으로는 N번의 비교가 필요하지만, 정렬이 된 데이터라면 log(N) 번의 비교만에 찾아 낼 수 있는 강력한 binary Search를 사용 할 수 있습니다. 프로그래밍을 처음 공부하거나 자료구조를 공부 할 때 기본적인 정렬 알고리즘을 여러가지 배우게 되는데요. 흔히 기본적으로 접하게 되는 정렬 알고리즘을 살펴 보면.. O(n²)인 정렬 알고리즘 버블 정렬 선택 정렬 삽입 정렬 O(n log n)인 정렬 알고리즘 병합 정렬 힙 정렬 퀵 정렬 정도가 있습니다. 자바에서 정렬의 경우에는 기본적으로 DualPivotQuicksort로 구현이 되어 있..

Development/Problem Solving 2023.01.24