2016/06/22
Gradle의 발음
이 바닥의 용어가 죄다 영어다 보니
가져다 쓰는 외국인으로서 발음이 참 애매할 때가 많은데
내 경우 gradle은 '그래들' 이라고 읽곤 했다.
뭐.. 현지인들도 알아먹기만 하면 이것 저것 쓸지도 모르지만
어쨌든 선검색 즉시 실천! First Search Just Execute! FSJE!!
Gradle Forums에 비슷한 질문이 올라갔었고, 답변으로 '그레이들'로 부른다고..
그레이들.. 어색어색한게 왠지 회색들아 하는 느낌이랄까.
어쨌든 이제부턴 그레이들!
2016/06/02
Using Github as a Syntax Highlighter for Your Blog or Website
https://github.com/에 접속한 후 로그인.
화면 상단의 gist를 클릭하거나
https://gist.github.com/로 직접 이동한다.
파일명과 확장자를 입력하고
소스코드를 입력
Create secret gist / Create public gist 두 중 하나를 선택
입력했던 파일명으로 새로운 gist가 생성된다.
생성된 gist의 Embed 옆의 copy to clipboard를 선택한 후
블로그 내용에 입력하면 완성
2016/05/26
2016/05/23
2016/05/13
Window 10에서 Ping 요청 시간이 만료되었습니다 해결 방법
Git 서버를 설치를 하다가 문득 설치할 서버에 Ping을 던졌는데
요청 시간이 만료 되었단다.
응?
혹시나 해서 해당 원격서버에서 내 피씨로 Ping을 던졌는데
요청 시간이 만료 되었단다.
응??
이미 원격 데스크톱이 연결이 되었는데 Ping을 못 주고 받는 경우라니..
내 PC는 방화벽을 건드린 적이 없고, Git 서버는 얼마전에 새로 설치한 건데 이상하다.
디폴트 설정이 뭔지 헷갈리기 시작한다.
여튼 해결 방법은 방화벽을 열어주는데
Ping이라는게 ICMP (Internet Control Message Protocol) 프로토콜을 이용하며
OSI 7 Layer 기준으로 Network Layer (3 Level)에 속하며,
TCP/IP 모델에서는 Internet Layer (2 Level)에 속한다.
우리가 사용해 오던 포트는 OSI 7 Layer 기준 Transport Layer (4 Level)에 속하며,
TCP/IP 모델에서도 Transport Layer (3 Level)에 속한다.
그래서 포트를 열어주고 자시고 할 건 없는 건데...
ICMP 데몬의 포트를 방화벽 설정에서 열고 닫아 줘야 한다.
윈도우 10에서는 방화벽 설정 중 고급 설정의 인바운드/아웃바운드에 있는
파일 및 프린터 공유(에코 요청 - ICMPvX-In), 파일 및 프린터 공유(에코 요청 - ICMPvX-out)를
모두 사용으로 해주면 된다.
2016/05/11
ZeroMQ
아무래도 성능을 최우선 고려하자면 ZeroMQ 밖에 없지 라는 생각으로
회사에서 사용할 미들웨어를 ZMQ로 결정이 났었다.
그래서 어찌저찌 구현을 해 놓았다더니 만든 사람은 퇴사를 하고....
ZMQ도 공부하고 영어 공부도 할 겸 해서 겸사겸사 ZeroMQ 공식 사이트를 조금씩 번역 해볼까 했는데
여간 귀찮고 힘든 일이 아니다.
그런데.. 전부 다는 아니지만 상당히 번역이 진행되고 있는 것이 아닌가...
누구라도 언제라도 많은 참고가 되길 바래 본다.
ØMQ 분산 메시징
[번역] ZeroMQ설계자: 세계를 구원하라
한눈에 보는 MQ
2016/05/10
JPA 2.1에서 LocalDate를 사용하는 방법
자바 8에서 마침내 새로운 Time API가 추가가 됐는데 JPA 2.1에서는 새 API를 사용할 수 없다.
이유는 자바 8이 나오기 전에 JPA 2.1이 먼저 릴리즈 됐기 때문인데...
그것 때문에 계속 기존 API를 사용하기도 답답한 노릇이라...
@Converter 애노테이션과 AttributeConverter 인터페이스를 활용해서 해결한다.
How to persist LocalDate and LocalDateTime with JPA
Java의 날짜와 시간 API
이유는 자바 8이 나오기 전에 JPA 2.1이 먼저 릴리즈 됐기 때문인데...
그것 때문에 계속 기존 API를 사용하기도 답답한 노릇이라...
@Converter 애노테이션과 AttributeConverter 인터페이스를 활용해서 해결한다.
Casting in java
instanceof를 사용한 static casting부터
class를 사용한 dynamic casting,
Generic과 Type을 활용한 dynamic casting,
java 8에서 추가된 Optional과 method reference를 활용한 casting,
Stream을 활용한 casting 까지.
Casting In Java 8 (And Beyond?)
class를 사용한 dynamic casting,
Generic과 Type을 활용한 dynamic casting,
java 8에서 추가된 Optional과 method reference를 활용한 casting,
Stream을 활용한 casting 까지.
Jackson JsonView가 작동하지 않을 때
JsonView가 작동하지 않는 상황이 발생했다.
참... 어쩜 이렇게 뭐가 안되는 상황은 죄다 한번씩 겪어 보는지..
늘 그래왔듯이 검색 그리고 해결.
Jackson JsonView not being applied
등록된 답변 보다도 답변에 추가된 Eric의 댓글이 포인트.
Good catch regarding withView() not mutating the existing config. However, objectMapper.setConfig(objectMapper.getSerializationConfig().withView(YourView.class)); works and is probably prefarable to subclassing ObjectMapper. work fine. thx.
참... 어쩜 이렇게 뭐가 안되는 상황은 죄다 한번씩 겪어 보는지..
늘 그래왔듯이 검색 그리고 해결.
등록된 답변 보다도 답변에 추가된 Eric의 댓글이 포인트.
Good catch regarding withView() not mutating the existing config. However, objectMapper.setConfig(objectMapper.getSerializationConfig().withView(YourView.class)); works and is probably prefarable to subclassing ObjectMapper. work fine. thx.
Java Map 객체의 동기화와 성능
java Map 객체의 동기화에 대한 글과 Map 종류별 성능.
ConcurrentHashMap vs. HashTable
HashMap Vs. ConcurrentHashMap Vs. SynchronizedMap – How a HashMap can be Synchronized in Java
HashTable은 동기화 구현으로 인해서 성능이 좋지 않아 사용하지 않는 것이 정석.
동기화를 고려한다면 SynchronizedMap 보다 ConcurrentHashMap을 사용하는게 성능에 도움이 된다는 내용.
두 번째 블로그를 보면 차이가 참 많이 나네.
HashTable은 동기화 구현으로 인해서 성능이 좋지 않아 사용하지 않는 것이 정석.
동기화를 고려한다면 SynchronizedMap 보다 ConcurrentHashMap을 사용하는게 성능에 도움이 된다는 내용.
두 번째 블로그를 보면 차이가 참 많이 나네.
2015/08/25
영어표현
1. the heck out of (ZeroMQ 가이드 변역 중) 예문 http://forum.wordreference.com/threads/the-heck-out-of-me.1618358
On the other hand it annoys the heck out of some Danish folk who write us things like "ØMG røtfl", and "Ø is not a funny looking zero!" and "Rødgrød med fløde!", which is apparently an insult that means "may your neighbours be the direct descendants of Grendel!" Seems like a fair trade.뜻 : 많이, (heck = 제기랄) 참고
2015-08-24
23일 일요일 낮에 처음으로 녹변을 봤다. 만 하루가 조금 넘을 때까지 변을 보지 못 하더니 엄청난 양의 녹색괴물을 낳았다... 기쁜 마음으로 지아를 목욕 시키는데 갑자기 자지러지게 울기 시작했다. 겨우겨우 다잡아뒀다고 생각, 아니 착각했던 그나마만큼의 평온하던 고작 며칠 동안의 패턴이 무너지기 시작한 순간이다. 모르겠다. 우는 이유를 모르겠다. 그것도 마치 격통을 겪는 것 같이 갑작스럽게 우는 이유를 모르겠다. 다행인지 오히려 걱정거리인지 모유든 분유든 뭐든 먹이기만 하면 진정이 된다. 하지만 엄마와 아빠가 괜히 미웠던건지 먹는 양도 조금 줄어들고, 줄어든만큼 금세 배가 고픈가보다. 다시 자지러진다. 이러기를 반복, 또 반복. 결국 밤새도록 같은 과정이 반복되었고 걱정스런 마음으로 지아를 남겨놓고 출근을 하게 됐다. 늘 기아 1단의 찡찡거림부터 기아 4단의 자지러짐까지 단계별로 진행이 됐었는데, 밤새도록 기아 4단으로 자지러지기만 했다. 천만다행으로 낮 동안에는 얌전했다고 한다. 갑작스레 자지러질듯 한 4단계의 울음은 다시 1단계 찡찡거림부터 시작하게 됐고, 잘 먹고, 잘 잤다고 한다. 안심하고 퇴근했다. 퇴근해서 보니 자고 있댄다. 괜한 걱정에 숨소리도 확인해봤다. 조용히 쌕쌕거리며 자는 모습이 참.. 아내가 대견하고 기특해보였다. 아내가 조용히 이야기 한다. 장모님께서 약국에서 약사가 먹이랬다며 얻어오신 기응환을 한 알만 먹였다고. 아.. 충격이었다. 다급히 인터넷을 찾아보고 삐뽀삐뽀119도 봤다. 기응환은.. 먹이지 말란다. 아내에게 차분히 이야기 했다. 약을 숨기라고.. 그러고 하루가 지난 오늘 과연 내 판단과 행동이 잘못되진 않았을까 하는 생각에 기응환에 대해 다시 찾아보았다. 그에 대해 아주 상세하게 설명되어 있는, 그리고 내가 판단하는데 도움이 된 블로그를 찾게 됐다. 이미 먹어버린 기응환은 특별한 효과라거나 문제를 일으키진 않는 것 같다. 먹은 후에 얌전하던 모습도, 먹은 후에 애가 몽롱해 보이던 모습은 먹이고 싶어하는 사람과 먹이기 싫어하는 사람들 각자가 보고싶어 하는 모습일지도 모른다. 아이는 그저 배고프면 울고, 먹으면 졸리고, 졸리면 잠들게 되는.. 늘 똑같은 일상일 뿐인데 말이다. 어쨌든 결론은.. 기응환은 절대 먹이지 말자. 어른들이 말씀하시면 잘 설명드리거나, 기어이 사오시면 먹이는 척만 하자. 그리고 기응환을 먹여야 될 것만 같이 불안한 상태라면 그냥 소아과로 데려가자. 기응환
2015/08/06
원격 데스크톱 연결 중 파일 복사 붙여넣기가 안될 때
로컬 컴퓨터와 원격 컴퓨터 간에 파일 혹은 폴더를 복사(Ctrl+C, Ctrl+V) 하려고 할 때 정상 작동하지 않을 경우 (원격 데스크톱 연결 중에 랜선 접촉 불량 등과 같이 네트워크 연결이 끊기거나 할 경우에 주로 발생한다.) 작업관리자에서 rdpclip.exe 프로세스를 끄고 다시 시작하면 된다. RDPCLIP.EXE: Does Not Work If Session Was Disconnected
디자인 원칙 (Design Pattern Principle)
1. 바뀌는 부분은 캡슐화 한다. 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분으로부터 분리시킨다.2. 구현이 아닌 인터페이스에 맞춰서 프로그래밍한다.3. 상속보다는 구현을 활용한다.4. 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 한다.5. OCP (Open Close Principle : 개방 폐쇄 원칙) - 클래스는 확장에 대해서는 열려 있지만 변경에 대해서는 닫혀 있어야 한다.6. 추상화된 것에 의존하도록 만들어라. 구상 클래스에 의존하도록 만들지 않도록 한다.7. PLK (Principle of Least Knowledge : 최소 지식 원칙 == Law of Demeter : 데메테르의 법칙) - 정말 친한 친구하고만 얘기하라.8. 먼저 연락하지 마세요. 저희가 연락 드리겠습니다.9. SRP (Single Responsibility Principle : 단일 책임 원칙) - 클래스를 바꾸는 이유는 한 가지 뿐이어야 한다.- 헤드퍼스트 디자인 패턴 (Head First Design Patterns)
피드 구독하기:
글 (Atom)