목록전체 글 (52)
ren+gin+eer
- 구성을 이해하고 할 수 있다면 진입장벽이 낮아진다 -> 이것이 정말 어렵다. 조합하다 실패가 나면 왜 실패 했는지 알기가 어렵다. - 웹서버 구축이 더이상 필요하지 않다

데이터 샘플 출처 : https://www.genericgamedev.com/general/serialisation-comparing-xml-sdl-toml-json/ Serialisation - Comparing XML, SDL, TOML, JSON – GameDev Choosing the right script file format can be an essential decision. By comparing several alternatives we can see what we really need for our application. www.genericgamedev.com YAML의 또하나의 강점은 --- 으로 환경 변수 설정이다.
@Setter(onMethod_=@Autowired) 이 코드를 처음 봤을 때부터 불편했다. - @Autowired 와 차이점 - 왜 버전 별로 달라야 하나 - 왜 underbar(_) 인가? 계속 불편한 마음이 지속되다가 결국엔 검색하며 유추해봤다. - @Autowired 와 차이점 @Autowired는 생성자 주입, @Setter는 Setter 메소드 주입. 단 @Setter는 Setter 메소드를 생성하는 어노테이션이고 @Setter(onMethod_ = @Autowired)는 Setter 메소드에 주입이며 @Autowired는 Springframework, @Setter는 Lombok Project에 소속된 어노테이션이다. ! 그럼 또 여기서 궁금한 점이 생긴다. @Autowired와 @Sette..
annotation에 대한 테스트 코딩을 하고 Spring 프로젝트를 구축해서 모듈 하나씩 붙여보려 하는데 막히는 게 바로 Configration과 관련된 Annotation이다. 자주 코딩할 일도 없고 보통 도메인을 주도하는 개발자가 세팅하기 때문에 직접 세팅 할 일이 없지만 모르면 이또한 답답한게 없다. 도저히 구조가 이해되지 않아서 SpringFramework 에 대해 다시 검색해 특징들을 확인해보니 어설프게 알고 있던 개념과 이를 말로 설명하려니 어렵고 어떻게 외워야 하나 싶다가 그간 테스트 코드나 현업에서 사용했던 코드를 떠올리며 특징과 연관시켜 봤다. SpringFramework의 특징인 IoC, AOP, PSA, MVC2 등등 이 모든게 Pojo 를 위한 개념이고 이는 Annotation 기..

transient와 volatile은 - 발음기호도 어렵고 - access modifier 이면서도 사용한 적도 없고 - 기능도 이해를 못하고 있었다. transient와 volatile은 모두 jvm 메모리와 관련된 키워드이며 각각 serialized와 jvm, thread, synchronized 에 대한 선지식이 있어야 이해가능한 내용이다. transient는 field가 serialized 대상 제외 되기 위한 키워드이며 serialized 에 대해 알아볼 때 이미 숙지한 내용인데 오늘 다시 검색해보니 생각의 전환을 하는 글을 봤다. "this field is for in-memory use only. don't persist or move it outside of this particular V..

ArrayList, HashMap 을 정말 셀수 없이 사용 하면서 Iterator 사용은 자신이 없고 패키지는 커서 (feat.알고리즘) 외울 자신이 없어서 공부 전에 부담이 컸다. 일단 시작 하고 나서 생긴 궁금한 점은 아래와 같다. - Itrator의 원리와 기능 - 왜 Collection 인터페이스는 Itrator를 사용하고 Map 인터페이스는 Set을 거쳐 Itrator로 순환하는지 - 왜 Map은 Collection 인터페이스를 implements 하지 않는지 먼저 Collection의 Iterator 의 사용법을 숙지 했고 Map의 Set을 거쳐 Iterator로 순환하는 방법을 코딩했다. 하다보니 enhanced for each 문도 접했으니 javascript에서 익숙한 문법이 였다. ht..
Shallow Copy : 인스턴스의 reference 복사 (window os 로 비교하면 링크 복사) Deep Copy : 인스턴스의 메모리 복사 (window os로 비교하면 파일 복사) Shallow Copy List master = new ArrayList(); master.add("1"); master.add(new Member()); List feather = master; master.add("master"); feather.add("feather"); System.out.println("reference = " + (master == feather));// true System.out.println("hashcode() = " + (master.hashCode() == feather.ha..

shallow&deep copy에 대해 테스트 코딩하면서 객체들을 비교하는데 전혀 예상치 못한 결과가 나왔다. ! ArrayList는 mutable 한 객체임에도 size가 늘어날 때마다 hashcode(메모리 주소 기반)가 변경되는 것이였다. Document를 찾아보니 아래와 같이 연산이 되고 있어 이게 무슨 상황인가 했다. int hashCode() Returns the hash code value for this list. The hash code of a list is defined to be the result of the following calculation: int hashCode = 1; for (E e : list) hashCode = 31*hashCode + (e==null ? 0 :..