본문 바로가기

hackerrank : Diagonal Difference 매트릭스가 주어졌을 때 0.0 -> n.n 으로 향하는 라인과 0.n -> n.0 으로 향하는 라인의 값들을 구하여 합을 구하는 문제 key point left to right : n == m right to left : n+m == array size 두어달전에 면접봤던 곳에서 면접현장에서 갑자기 내놓은 문제.. 너무 당황스러웠어서 전혀 실마리를 접근도 못하고 있었다. 그림도 그리며 삽질을 했는데 전혀 실마리를 찾지 못하였었다. 방금 해커랭크 연습기초문에 이 문제가 나왔길래 바로 풀렸다. 어느때부터인가 부끄러움이 폭발하는 스타일이 되었나보다.
기획의도를 알고 개발할때의 시너지 돈받고 일한지 벌써 8년여가 되었습니다. 그리고 현 직장에서 지낸지 5년이 되어갑니다. 지금하는 업무는 계속 게임서버를 개발하고 관련하여 필요한 전반적인 서버파트 업무를 수행합니다. 아키텍처 설계에 참여하고 API 개발을 하고 배치프로그램을 만들어 랭킹,추천 정산같은 것을 하고. 이렇게 5년정도 일을 하다보니 여러 사람들과 일을 하며 게임이라는 도메인에 대한 이해도가 꽤 생겼습니다. 어떤 것은 실시간 처리로 진행해야하는지, 어떤 것은 배치로 처리해야하는지, 어떤 것은 부하를 분산하기 위해 사용자의 화면에 연출등을 통해 서버의 API 를 분리해야하는지. 어느정도 도메인에 대한 이해가 생기다보면 업무 자체를 추상화하여 고도화하는데까지 신경을 쓰게 됩니다. 게임내 미션, 퀘스트, 업적... 다양한데 추상화해서..
ec2 instance 생성 다시 블로그를 시작하며 쓰는 첫 기술포스팅을 무엇으로 할까 하다가 스터디에 공유해야지 하며 생각만 하던 ec2 instance 와 ami 에 대해 적어봅니다. 본 글은 서버에 대한 개념이 이해되어있다는 가정아래에 작성합니다. ec2 인스턴스란 AWS 에서 제공해주는 클라우드 서버 자원입니다. ec2 는 AWS 클라우드 서비스를 이용하면서 가장 먼저 접하게 되는 서비스입니다. serverless 등이나 RDS만 사용한다던가, CDN 등을 사용하기 위해 접했다면 ec2는 사용하지 않을 서비스긴 하지만, 클라우드 서비스를 이용하는 가장 많은 이유가 아마 클라우드 서버 자원을 이용하기 위함이 아닐까 싶네요. AWS 콘솔에 로그인을 하면 컴퓨팅 카테고리 아래 ec2 서비스를 접속할 수 있는데요, 이때 나오는 화면..
aws ec2 instances log centralized https://blogs.aws.amazon.com/application-management/post/TxFRDMTMILAA8X/Send-ECS-Container-Logs-to-CloudWatch-Logs-for-Centralized-Monitoring
angularjs : input file field change event angularjs 에서 다른 dom element event 에 대해서는 모두 확인을 해본 것은 아니지만일반 text input, radio change, select option change 등과 같은 여러 form input 요소들에 대해서는change 등과 같은 event 에 대해서 function 을 정상적으로 binding 할 수 있음을 확인하였습니다. 하지만, file type 에 대해서는 정상적으로 event 가 binding 되질 않아서 삽질을 좀 했었습니다. 그러다 구글신을 영접하여 문제를 해결했습니다. angularjs document 에선 못본 것 같아서 공유합니다. 에 대해서는 ng-change 요소가 먹히질 않습니다. 때문에 custom 요소를 직접 만들어주어야 합니다. 여기에 작..
jackson : jackson json parser 쓸 때 field ordering 자바에서는 json parser 로 jackson 을 많이 쓰네요. (라기 보단 이젠 논란없이 그냥 이것만 쓰는듯.) 제목처럼 jackson 은 Object (pure bean) 를 json 형태의 pretty text 로 serialize 할 때 자주 씁니다. 물론 json type으로 pretty text를 Object 로 deserialize 할 때도 당연히 쓰겠죠. Object 를 serialize 할 때 종종 의도하지 않게 결과 text 가 나오는 경우가 있습니다. 예를 들어 class User { private String name; private String email; private int age; private String homepage; private List education; pr..
scala, eclipse : scala ide 플러그인을 활용하여 interpreter 사용하기 우선 eclipse 에 market 등을 활용하여 scala ide 플러그인을 설치했다고 가정합니다.(provider : scala-ide.org) eclipse navigation > Window > Show View > Scala Interpreter 하단에 그럼 인터프리터가 나오는데,상단에 출력란이, 하단에 입력란이 나뉘어 나옵니다. 하단에 표현식을 작성하시고, ctrl + enter 를 치시면 결과가 출력란에 나옵니다.
webjar : managing web resource libraries http://www.webjars.org/ java default resource path (maven build) : classpath:/META-INF/resources/ 세상 참 편해진듯. 간혹 보면 페이지마다 web resource 버전이 통일되지 않은 경우가 있던데.(client side 의 예외적인 필요에 의함을 제외하고도.) 그럴일 없겠다 싶기도 하다.(물론 작업자가 그냥 CDN 을 가져다 쓴다던가, 따로이 build path에 넣어두던가 하면 의미없긴 하겠지만)