본문 바로가기

전체 글

(172)
[ Core Java Volum ] Chapter 4 클래스와 객체 Class vs Object vs Instance - Class는 Object를 구현하기 위한 설계도 - Object는 현실에 구현될 수 있는 것 - Instance는 현실에 구현된 실체 [ 컴퓨터에서는 메모리에 올라간 Object ] Class 및 Instance 특징 - Class는 필드와 메서드로 구성된다. - Class간의 관계는 Dependence("use-a"), Aggregation("has-a"), Inheritance("is-a")가 있다. - 접근제어자 Private, Public, Protected, Default를 사용할 수 있다. - 메서드 호출은 Implicit[ Instance of Class ]와 Explicit[ Parameter of Method ] Parameter로 구..
[ Core Java Volum ] Chapter 3 자바의 기본 구조 C 와 달리 새로웠던 점 - 자바는 일반적인 종료 코드는 0 하나 뿐인다. 다른 코드로 프로그램 종료는 System.exit 를 통해서 가능하다. - 자바는 프로그램 이식성을 위해 원시 자료형의 범위를 고정했다. Unsigned 지원하지 않는 이유도 이와 같다. - 부동 소수점 계산은 이진수 시스템의 표현 때문에 오차가 존재한다. 정확한 수치 계산은 BigDecimal 클래스 사용을 통해 가능하다. - 자바는 10 버전부터 var 키워드를 제공한다. - 유니코드 인식은 u 개수의 상관 없이 마지막 u를 기준으로 이루어진다. -> ASCII와 유니코드 Conversion 과정 중 u가 더해질 수 있기 때문이다. - 자바는 C/C++과 달리 선언과 정의를 구별하지 않는다. - 문자열은 원소를 변경할 수 없는..
[ 인생퍼즐 ] 안드로이드 Recoil 사용할 때 글자 깨짐 이슈 안드로이드 실제 기기에 앱을 설치하고 테스트했을 때 한글 깨짐 현상이 발생했다. 시뮬레이터 상에서는 발생하지 않는 문제였기에 실제 기기 USB를 연결해 디버그 작업을 수행했다. 해결 방법 테스트에서 글자가 깨지는 화면과 깨지지 않는 화면 모두 존재했다. 두 화면의 소스 코드를 비교해보면 문제점을 찾고 해결 방안을 모색했다. 디버그 과정에서 Recoil이 TextInput에서 사용되었을 때 나타난다는 것을 발견했다. 그래서 Recoil을 useState를 변경해서 TextInput에서 사용을 했고 다른 화면으로 넘어갈 때 useState에 저장된 정보를 Recoil에 저장하는 방식으로 해결했다. 이슈 수정 코드 예시 1. 수정 전 코드 const [userName, setUserName] = useR..
[ 인생퍼즐 ] TypeORM Transaction 사용 Transaction 사용 이유 프로젝트 중 일부 로직에서 DB에 정보 저장은 관련 파일이 서버에 정상적으로 전송되었을 때 이루어져야 했다. 하지만 서버에 저장되어야 하는 파일 경로에 DB 정보 저장할 때 생기는 고유키가 필요했다. DB 정보 임시 저장 후 고유키로 완성된 파일 경로로 전송해야 했다. 전송이 성공했을 때 DB 정보를 저장 완료를 해야 했다. 그래서 성공 시 DB Commit, 실패 시 DB Rollback 할 수 있는 Transaction을 사용했다. Transaction 구현 1. EntityManager 사용 방식 async saveUser(){ await connection.getRepository(User).manager.transaction(async (manager) => { ..
[ 인생퍼즐 ] RN Navigation 화면 남는 문제 이슈 주인공 정보 수정 후 주인공 리스트를 리로딩하기 위해 Event Parameter를 넘기는 방법으로 만들어졌다. 이때 Navigation의 Navigate로 Event Parameter와 함께 페이지 이동을 했을 때 기존 화면이 남아 있는 문제가 발생했다. GoBack 사용 기존 화면을 없애기 위해 뒤 페이지로 이동하면서 현재 페이지를 삭제하는 GoBack 메서드 사용하기로 했다. 하지만 GoBack 메서드는 Parameter를 넘길 수 없기 때문에 이를 해결할 수 있는 방법이 필요했다. Function을 Parameter로 넘기기 주인공 리스트 화면에 UseState 생성 후 State를 변경할 수 있는 Function 선언했다. 선언한 Function은 필요한 페이지로 Parameter로 넘겨 ..
[Chapter 6] Hidden Markov Model Hidden Markov Model Markov Chain의 경우 실제 세계에서 관찰되는 연속된 사건의 확률을 계산할 때 사용된다. NLP에서 Part-Of-Speech-Tag처럼 현실 세계에서 관찰되지 않는 것이 있다. Hidden Markov Model은 관찰, 미관찰되는 연속된 사건의 확률을 사용하는 모델이다. Component Of Hidden Markov Model Markov Chain은 Set of State, Transition Probability Matrix, Start & End State 로 이루어져있다. Hidden Markov Model은 앞 3가지에 Sequence of Observation, Sequence of Observation Likelihood가 추가된 요소로 이루어..
[Chapter 6] Markov Chains Markov Chain Hidden Markov Model를 정의하기 위해 Markov chain( observed Markov Model )에 대해 알아야 한다. Markov Chain은 Sequence 값이 입력될 경우 유일한 하나의 State를 결정하는 Weighted Finite-State Automaton의 특수한 경우이다. 모호성 문제가 없기 때문이다.(?) Markov Chain As Graphical Model Markov Chain의 그래프 모델의 구성 요소는 Set of States, Transition Probability Matrix, Start State & End Satate로 구성된다. Transition Probability Matrix의 합 $a_{01} + a_{02} +..
[Side Project] 인생퍼즐하고 느낀점... 마지막 모임 진행 사이드 프로젝트 인생퍼즐 마무리를 위해 7월 24일(토) 대면 모임을 가졌다. 1년 동안 진행하면서 잘한 점과 아쉬운 점에 대해서 이야기했다. 그리고 간단하게 아이폰에 빌드된 인생퍼즐을 시연했다. 그리고 함께 저녁을 먹고 모임을 마무리했다. 좋았던 점 사이드 프로젝트를 하면서 처음 접해보는 언어에 대해 공부를 할 수 있어서 좋았다. 프로젝트 개발자들과 "Modern JavaScript" 책 스터디를 하면서 자바스크립트의 기본과 좀 더 심화된 내용을 배울 수 있었다. DreamCoding 엘리의 TypeScript 강의를 들으면서 타입스크립트의 기본을 습득할 수 있었다.  꾸준히 코드를 작성할 수 있는 시간을 가질 수 있어서 좋았다. "수토이브닝코드"를 통해 수요일, 토요일 정해진 시간..