nGrinder 사용후기 nGrinder 사용하게 된 이유 ? 회사를 이직한지 어느덧 3주가 되었습니다. 첫 번째 임무(?)로 nGrinder 스크립트 작업이 들어왔습니다. ( 으응 ? 나는 php 개발자인데 ㅎㅎ groovy 라뇻!? ) 뭐죠 ? 이름만 들어서는 생소한데.. 사실 ngrinder 는 우리가 흔히 사용하는 부하테스트용 툴이다. 보통 아파치에 기본 포함되어있는 툴로 서버의 스트레스를 주어서 얼마나 많은 트래픽을 견디는지 산출할 때 쓰입니다. ngrinder의 경우는 단순히 경로 하나를 스트레스를 주는 것이 아니라 ngrinder 가 지원하는 언어 ( 그루비, 자이썬 ) 으로 시나리오를 작성하여 부하를 줄수 있는 장점이 있다. 결정적으로 ngrinder 는 grinder 의 사용하기 힘든 부..
.zshrc # If you come from bash you might have to change your $PATH. export PATH=$HOME/bin:/usr/local/bin:$PATH export PATH="$PATH:$HOME/.composer/vendor/bin" export PATH="$PATH:`pwd`/flutter/bin" # Path to your oh-my-zsh installation. export ZSH="/Users/lovizu/.oh-my-zsh" export NVM_DIR="$HOME/.nvm" export JAVA_HOME="/Library/Java/JavaVirtualMachines/openjdk-14.0.1.jdk/Contents/Home/" export AND..
코딩, 어떤 언어로 시작하지? ( 현직 개발자가 추천하는 개발 언어 ) 서론 개발언어추천, 코딩 뭘로 시작하지? 등등 많은 글들이 인터넷에 돌아다닌다. 대부분의 글들은 어디서 순위 차트 기준, 혹은 잡 사이트에서 필요 순위 등을 참고로 한다. 필자는 솔직히 언어는 도구다라는 생각이 강하다. 사실 다양한 언어를 할 수 있는데, 모든 종류의 프로젝트를 한 언어로 작성하는 것은 어리석은 짓이다. 이 말은 어떤 언어를 배워도 먹고 사는 길은 있다는 뜻이다. 하지만 현실은 가장 인기 있는 언어가 당연히 개발자 pool 이 많고, 채용도 거기서 많이 이뤄진다. 그러다보니 취업을 위해서 자신에게 맞지 않은 언어로 고생하는 개발자들도 많다. 물론 모든 언어를 다양하게 배워야 경험하고, 그중 몇개의 언어를 특화하는 것이..
golang 시리즈 1 ( 언어 특징 ) 정적 타입, 강타입 컴파일 언어 가비지 컬렉션 병행성 * 멀티코어 환경 지원 모듈화 및 패키지 시스템 빠른 컴파일 나의 평가 아직 배우기전에 golang은 python 의 대항마라고 들었다. 하지만 막상 배우려고 여러가지 정보를 수집하고, 배우는 첫단계를 보자말자 얘는 파이썬의 대항마가 아니라 좀 다른 포지션인 것 같다는 생각이든다. 뭔가 작정하고 요즘 트렌드에 맞는 백엔드 언어가 아닌가 싶다. 추천하는 이유 한국은 자바왕국이다. 하지만 자바의 단점은 분명함에도 그 프로덕션으로서의 안전성과 오랜 기간 사용함에 따른 신뢰가 자바왕국을 더 단단하게 할것이다. 하지만 golang 을 처음본 순간 좀 희열을 느꼇다. 지금까지 자바의 대체 언어로는 많은 언어들이 존재했다...
목록 화면을 만들 때 가장 먼저 손이 가는 게 LIMIT ... OFFSET ... 이다. 프레임워크가 다 해주니까 신경 쓸 일도 없다. Laravel이면 paginate() 한 줄이고, 페이지 번호는 알아서 붙는다.문제는 데이터가 쌓이고 나서 터진다. 개발 초기에 1,000건으로 테스트할 때는 멀쩡하던 목록이, 운영 6개월 차에 수십만 건이 되면 뒤쪽 페이지에서 눈에 띄게 느려진다. 그리고 느려지는 것보다 더 골치 아픈 문제가 하나 더 있다.문제 1. 뒤로 갈수록 느려진다OFFSET 100000 LIMIT 20 을 DB가 어떻게 처리하는지 생각해보면 답이 나온다. DB는 100,000건을 건너뛰는 게 아니라, 100,020건을 실제로 읽은 다음 앞의 100,000건을 버린다. 건너뛴다는 표현이 주는 인..
AWS RDS 비용 줄이는 방법 및 최적화 하기 서론 ( 안 읽어도 됨) 현재 필자가 다니는 회사는 예약관리 서비스를 하고 있습니다. 처음 입사 했을 때는 사용자가 그리 많지 않아서 T시리즈를 이용해도 문제가 없었지만, 입사 후 갑자기 폭팔적인 서비스 성장으로 인해 순간 동접 1만을 넘는 거대한 서비스가 되었고, 현재 해당 분야 업계 1위가 되었습니다. 서비스 성장은 언제나 즐겁지만, 스타트업들의 개발 코드는 여기서부터 문제입니다. 서비스를 위한 기능 추가만 하다보니 코드가 그렇게 깔끔하지 않을 뿐더러, ORM 코드들의 최적화되지 않은 쿼리도 문제였습니다. 이 문제는 우리 회사도 다르지 않았습니다. 처음 MariaDB 를 사용하고 있었는데.. DB 의 CPU 가 90프로를 넘기는 경우가 종종 있었고, 업..
