IT
-
Stackoverflow 2021년 개발자 설문 조사IT/News 2021. 8. 24.
세계적으로 영향력 있는 QnA 서비스이자 커뮤니티인 stacoverflow는 매년 개발자 설문을 진행하여 웹사이트에 공유한다. 아래는 응답자 상위 10개 국가이다. 북미, 인도, 유럽 등이 주요 응답자들이다. 전 세계 대상의 설문조사라고 하지만 전문적인 샘플링 아니기 때문에 내용 자체는 일부 국가에만 맞는 내용일 수 있다. 개발 트렌드에 대한 소소한 인사이트를 얻을 수 있는 자료 또는 참고용으로 보면 좋다. Years coding 약 10년차를 기점으로 10년 차 미만이 50% 10년 차 이상이 약 50% 비율을 갖는다. 전 세계적으로 10년 차 넘게 일하고 있는 개발자들이 생각보다 많음을 알 수 있다. 개인적인 경험으로 우리나라에서도 10년 이상 경력자들이 과거 대비 꽤 늘어나고 있어 긍정적인 하나의 ..
-
[SQL] 사용자별 제일 마지막 데이터 조회하기IT/Database 2021. 6. 16.
때때로 사용자 기준으로 제일 마지막 데이터 조회가 필요할 때가 있다. 다양한 방법이 있을텐데 SQL로 간결하게 데이터를 조회할 수 있는 방법을 정리하려고 한다. 결론부터 말하면 사용자 ID를 기준으로 group by를 하고 나서 그 중 updated_at 필드가 가장 큰 값을 조건으로 데이터를 찾으면 된다. 예를 들어 가상의 테이블을 하나 만들어서 확인해보자. 아래는 사용자별 과목에 대한 점수를 저장하는 테이블이다. create table test_score ( id bigint(11) auto_increment comment 'PK' primary key, user_id bigint(11) round int, subject varchar(30), score int, created_at datetime ..
-
Kubernetes pod outgoing connectionsIT/DevOps 2021. 6. 7.
최근 API 서버의 DB Connection pool의 연결 개수 및 동작에 대해 검증을 했었다. 컨테이너로 접속하여 netstat 명령이 실행 가능하다면 너무나도 쉽게 외부로 연결하는 connection을 손쉽게 확인할 수 있지만, container image를 만들 때 보안도를 높이기 위해 시스템 명령어들은 설치하지 않거나 계정 권한을 제외시키는 방향을 취하기 때문에 다른 확인 방법이 필요하다. nsenterkubernetes worker node에 ssh로 접속한다.docker ps와 inspect 명령어를 통해서 연결 확인을 원하는 pod의 process id를 확인한다.찾아낸 process id 정보를 기반으로 nsenter 명령을 내려서 pod의 outgoing connection을 확인한다...
-
Django framework 3.2 LTS 릴리즈IT/News 2021. 4. 15.
4월 6일, Django 3.2 마이너 버전이자 3.X의 LTS 버전이 릴리즈 되었다. 이번 릴리즈에는 편의 기능들이 다소 많이 포함되었는데 그 중 가장 반가운 소식은 ORM에서 AutoField에 설정에 대해서 전체 설정을 할 수 있게 됬다는 점이다. AutoField, 즉 PK가 기본값이 int이기 때문에 각 Model마다 BigAutoField로 재정의 해야하는 귀찮음(?)이 있었는데 간단한 설정으로 기본값을 변경할 수 있게 되었다. 이번 마이너 릴리즈의 주요 변경사항은 아래 3가지이다. AppConfig 자동 발견 Django에서는 하나의 프로젝트에 여러개의 앱을 운용할 수 있게 지원하고 있다. python manage.py startapp [APP_NAME] 명령으로 기본 뼈대를 만들어낼 수 있..
-
JQuery 3.6 릴리즈와 4.0 준비IT/News 2021. 3. 10.
jquery/jquery jQuery JavaScript Library. Contribute to jquery/jquery development by creating an account on GitHub. github.com 지난 2020년 4월 3.5 릴리즈 이 후 거의 1년만에 JQuery 3.6이 릴리즈되었다. jQuery는 오랜 시간 파편화된 브라우저의 DOM을 단일 코드로 문제 없이 다룰 수 있게 하여 빠른 생산성과 안전성을 제공하는 섹시한 javascript 라이브러리였다. 하지만 이제는 ECMAScript 표준을 준수하는 웹 브라우저들이 많고 성능적인 이슈도 있기 때문에 jQuery가 프로젝트를 진행할 때 필요한가라는 질문에 쉽게 예스라고 말할 수는 없을 것이다. 또한 ajax를 위해서도 많..
-
Amazon EC2 T4g 인스턴스 서울 리전 출시IT/News 2021. 3. 4.
EC2는 AWS에서 제공하는 Virtual Machine이다. Amazon Elastic Compute Cloud(Amazon EC2)이 풀 네임이다. Ealstic에 E 그리고 Compute Cloud에 대문자 C가 두번 들어가서 EC2라고 불리운다. 이렇게 반복 문자를 숫자로 대체하는 것이 AWS 서비스 이름의 특징이다. EC2는 목적에 따라서 다양한 버전을 제공하는데 이번에 T4 시리즈가 출시되어 서울리전에서 사용할 수 있게 되었다. EC2 T familty는 순간적으로 성능을 Burst할 수 있는 기능을 제공하고 사용한 만큼 가격을 내는 인스턴스 타입이다. 예를 들어 평상시에 적은 컴퓨팅 파워로 운용이 가능하지만 상황에 따라 순간적으로 CPU 파워를 사용하여 어느정도 대응이 가능하도록 설계 되었는..
-
설정 파일은 어떤 포맷을 사용할까?IT/101 2017. 6. 23.
이번 글에서는 설정 파일에 대한 이야기를 하려고 한다. 개발을 할 때 설정 파일 포맷을 직접 만들어서 개발하는 경우가 있는데 사실 아래와 같은 경우가 아니라면 이미 잘 만들어진 포맷들을 이용하는 것이 좋다. 잘 알려진 설정 포맷들이 내가 원하는 기능을 지원하지 않을 때 다양한 멀티 플랫폼을 고려해야할 때 원하는 기능을 제공하지 않는 경우는 할 이야기가 없지만, 멀티 플랫폼 고려에 대해서는 apache와 nginx를 소개하려 한다. apache, nginx 웹 서버에서 사용하는 설정 포맷은 ini 스타일과 비슷하지만 독자 스펙으로 개발되었다. 왜냐하면 다양한 플랫폼을 고려해야하기 때문이다. 그도 그런 것이 다양한 플랫폼에서 설정 포맷 라이브러리가 모두 지원되리라는 법이 없기 때문에 이런 경우는 만들어서 사..
-
vim essential plugin ctrlpIT/Tools 2016. 7. 2.
vim ctrlp는 vim awesome에서도 상위권에 해당하는 유명한 도구이다. 지원하는 기능은 생각보다 단순하지만 매우 강력하다. ctrlp는 mru, file, buffer에서 원하는 파일을 찾아주는 기능을 제공한다. mru는 most recently used의 줄임말이고, files은 말 그대로 file, buffer는 vim에서 메모리상에 로드된 데이터를 의미한다. vim으로 작업을 하는 과정에서 열어놓았던 buffer를 찾을 때에도 유용하지만 무엇보다도 소스코드를 수정하고 있을 때, 헤더 파일을 쉽게 찾을 수 있도록 도와준다. 실행방법은 :CtrlP를 누르거나 말 그대로 "Ctrl + p"를 누르면 실행된다. 기본적으로는 file mode로 실행되는데 아래의 예를 보자. ngx_stream_u..