목록분류 전체보기 (385)
만족
서버 개발자가 신경써야 할 것은 많습니다. 그 중에서도 서버의 자원은 한정적이기 때문에 이를 모니터링하고 대응하는 것 역시 중요한 미덕입니다. 특히나 스타트업이나, 개인 프로젝트에 사용하는 서버는 코어가 한두개짜리인 저가형 서버를 사용하기 때문에 리소스 관리에 많은 심혈을 기울여야 할 것입니다. 먼저 고전적인 리소스 모니터링 방법은 top 명령어를 이용하는 것입니다. 우분투에서 추가 설치 없이 기본적으로 사용 가능한 명령어입니다. 단순하게 커맨드라인에 top을 사용하는 것 만으로도 메모리/CPU/프로세스 상태를 모니터링 할 수 있습니다. 치명적인 단점은 반드시 ssh로 서버에 들어가서 명령어를 입력한 다음 명령어를 입력해서 쳐다봐야 한 다는 점과 모두 텍스트로 이루어져 있어 가독성이 그리 좋지는 않다는 ..
나에게 알뜰폰에 대한 인식은 사실 별로 좋지 않다. 딱히 알뜰폰을 써보고 불만이 생겼다거나 하는 것은 아니고, 이름에서 오는 거부감이 있다. 이게 공모전같은걸로 이름을 받아서 선정한거라는데, 개인적으로 이름만 보고서는 뭔가 기존 통신사에 비해 속도가 느린 대신 요금이 싼 것만 같은 느낌을 주기 때문이다. 알뜰폰이 뭘까? 참고 우리나라에서 이동통신망 사업자를 불러보라면, 백이면 백 SKT/KT/LG를 떠올릴 것이다. 아직까지도 대부분의 사람들이 가입된 곳이기도 하고. 그런데 피쳐폰때는 덜 느껴졌겠지만, 3G/4G/5G로 넘어오면서 가계 요금제 부담이 극심해지기 시작했다 (4인 가족 기준 한달 통신비로만 10~20만원이 나간다) 아마 대부분의 사람들은 3~5만원 정도의 요금제를 사용하고 있을 것이다. 이런 ..
Routing을 위해 component에 컴포넌트를 집어넣을 때, 보통은 아랫쪽처럼 하지만 뭔갈 더 집어넣어서 라우팅하기 위해 위와 같은 방법으로 컴포넌트를 만든 후, 리턴하게끔 해서 사용했었다. 그런데, 위의 방법은 문제가 있다. 아래쪽 방법으로 사용하면, 이 컴포넌트의 부모 컴포넌트가 업데이트되어도 Lol쪽은 언마운트되지 않지만, 위쪽 방법으로 사용하면 기존에 있던 와 새로 리턴되는 를 다른 인스턴스로 판단하여, 기존의 를 언마운트하고, 새로운 를 마운트한다. 간단히 말해서, 부모 컴포넌트가 업데이트 될 때마다 라우트의 컴포넌트를 새로 만든다는 뜻이다. 만약 위와 같은 방법을 사용한다면, 해당 컴포넌트의 업데이트 관련 라이프사이클을 만져주는 식으로 의도하지 않는 언마운트/마운트를 막아주어야 한다. 안..
network reqeust를 아주아주 편하게 만들어주는 작고 직관적인 라이브러리인 axios에 대해 알아보자. 설명하기에 앞서, 만약 당신이 제이쿼리를 사용하고 있고 제이쿼리에서 사용하는 기능이 쿼리셀렉트(ex: $("#test") )와 네트워크 통신(ex: $.get(...))뿐이라면 쿼리셀렉트를 기본 API로 변경하고 네트워크 부분은 axios로 교체하는 것을 추천한다. (왜냐면 compress되었다 하더라도 제이쿼리자체가 파오후라 어쩔 수 없이 로딩이 좀 걸린다) 실전압축으로다가 빠르게 알아보자. Installation 을 삽입하거나 npm을 사용중이라면 터미널에 yarn add axios를 사용해 설치하자. Axios를 사용해보자 많고많은 함수들이 구현되어 있지만, 딱 하나만 잘 써도 단물 다 ..
두 개념 모두 비동기적인 작업을 좀더 직관적이고 편리하게 진행하기 위해 탄생한 개념이다. 아주아주 빠르게 실전압축으로다가 알아보자. Promise는 무엇인가? es6에서 처음 등장한 개념이다. Promise는 pending(작동 중), fulfilled(성공적으로 완료), reject(실패)의 세 상태를 가진다. 미리 정의된 상태를 통해 비동기적인 작업을 쉽게 다룰 수 있다. new Promise((resolve, reject)=>{ //... }); 와 같이 선언한다. (resolve, reject)=>{ ... } 에는 프로미스로 진행할 작업 내용을 정의하고, 성공 시 resolve( [전달하고싶은 값] ); 을 호출하고, reject( [전달하고 싶은 값;주로 에러 정보] )를 호출한다. resol..
2020년이 되었습니다. 2019년에 내가 무엇을 이루었는지 돌아보려 합니다. 1. 가장 애착이 가는 앱, 사이퍼즈 서포터 2018년 7월에 인턴 생활을 하며 짬짬이 제작하던 앱, 사이퍼즈 서포터는 제가 좋아하는 게임인 사이퍼즈가 타 인기게임보다 정보를 얻을 수 있는 공간이 없다고 판단하여 만든 앱 입니다. 2019년에는 2.x버전으로 올려서, 디자인/속도/기능 등 많은 방면에서 고민하며 사용자 경험을 극대화시키기 위해 많이 노력했습니다. 프로그램 제작 부분은 모두 혼자 담당하기 때문에(서버, 웹, 앱), 알아야 할 것이 매일같이 늘어갔습니다. 물론 저도 사람인지라 정말 하기 싫을때도 많았지만, 참고 열심히 배우다보니 정말 많은 지식이 쌓였습니다. 단적으로, 앱에서는 '패키지' 개념을 잘 활용하지 않아서..
요번에 정부과제를 하면서 IOS프로그래밍을 건들 일이 있어서 맥북을 한대 구매했다. 평생을 윈도우만 쓰면서 살았던 나한테는 꽤나 혼란스러웠지만 (물론 서버쪽 건드릴때는 우분투도 쓰긴 했다) 쓴지 5달정도 되어가는 지금은 많이 적응이 되서 이제 그럭저럭 쓸만하다. 그래서 간단하게 두 OS를 비교해보려 한다. 둘 중에 고민하는 사용자가 있다면, 도움이 되었으면 좋겠다. 단, 맥에서만 돌아가는 프로그램이 필요하다면, 또는 그 반대라면 이 글을 읽을 필요 없이 그걸 사면 된다. (애초에 선택지가 없는거지만...) 맥의 장점 내가 생각하는 맥의 최고의 장점, 화면 쓸어넘기기 기능이다. 비유하자면, 모니터 여러대를 가상으로 만들고, 쓸어넘기는 것으로 모니터를 전환하는 것 같은 느낌이다. 풀사이즈로 볼 수 있어서 몰..
한 1년가량 Digital Ocean을 사용했으나, 여러가지 문제가 있어서 아마존으로 옮기게 되었다. 사실 성능 하나때문에 옮긴 것은 아니다. 이 서버에 굉장히 많은 서비스들을 올려서 사용하고 있는데, 나름 잘 버텨줬기 떄문에 딱히 성능에 불만이 있지는 않다. (하루 고유 이용자 약 1500~1700명) 내가 특별히 알고리즘을 잘 짰다거나 하는건 아니고... 그래도 나름 디지털오션의 CPU성능은 좋은 편에 속하기에 개떡같은 알고리즘을 줘도 CPU 로드율이 그렇게 높지 않다. 문제는 해외, 그것도 저 먼....곳에 있는 싱가폴 리전이라는 점이다. 이게 웃긴게 어떤 시간에는 1MB/s정도가 나와주다가, 어떤 시간에는 10KB/s근처에서 빌빌거리고 있다... 안정적이지 못한 연결 품질은 사용자로부터 불쾌감을 ..