React Native (이하 RN) 은 안드로이드와 아이폰을 모두 개발할 수 있고 웹에서 React 를 사용한다면 거의 흡사한 같은 환경을 갖는 것으로 봐도 된다. 하지만 단점도 존재하는데 그 중에 가장 큰 것은 버전이 1 밑이고 변화가 많을 뿐더러 개발자 분들이 공유해 주시는 좋은 라이브러리들이 환경에 따라 어떻게 동작할 지 모른다는 것이다.그래서 개발을 잘 하다가 라이브러리는 가져다가 사용했을 때 오동작하는 경우가 발생하면 앱이 기동되지 않고 이를 해결하기 위해 무한 구글링을 시작해야 한다. 그래도 다행인 점은 먼저 고생해주시는 분들이 많이 계셔서 해결이 불가능 하지는 않다..그래도 힘듬. ㅠ이번에는 react-native-swiper 를 사용하기 위해서 가져왔는데 갑자기 안드로이드가 기동되지 않았..
Java9 에서 List, Set, Map 인터페이스에 불변 인스턴스를 생성할 수 있는 새로운 팩토리 메소드가 추가되었습니다.(별로 환영하고 싶지 않은) 이 팩토리 메소드는 복잡하지 않고 간결한 방법으로 collection 을 생성하기 위한 편리한 팩토리 메소드 입니다.과거Set set = new HashSet(); set.add("A"); set.add("B"); set.add("C"); set = Collections.unmodifiableSet(set); List list = new ArrayList(); list.add("A"); list.add("B"); list.add("C"); list = Collections.unmodifiableList(list); Map map = new HashMap..
Java8 이전 까지의 인터페이스는 variable/methods 에 대해서 다음 두 가지의 형태를 갖고 있었습니다.- Constant variables (상수) - Abstract methods (추상메소드)그래서 우리는 인터페이스 안에서 메소드를 구현할 수 없고 더 정밀한 기본 구현을 할 수 없었습니다. 하지만 Java8 부터 인터페이스는 다음과 같은 형태를 갖을 수 있게 되었습니다.- Constant variables - Abstract methods - Default methods (기본 메소드) - Static methods (정적 메소드)이제 기본 구현과 정적 메소드를 통해서 인터페이스 자체를 사용할 수 있게 되었습니다. (난 반댈세...)Java9 부터는 (이제 그만~!!) 다음 타입들이 늘..
출처 - https://www.tutorialspoint.com/java9/java9_module_system.htmJava 9 에서는 모듈이라고 불리는 새로운 프로그래밍 요소가 소개되었습니다. 모듈은 코드와 데이터와 구분 짓기 위한 자체 이름을 갖고 있는 self-describing 집합입니다.Feature모듈 요소들과 함께 다음 사항들이 강화되었습니다.- 링크 시간이라는 새로운 선택적 단계가 도입되었습니다. 이 단계는 컴파일 시간과 실행 시간 사이에 있으며 이 단계동안 jlink 도구를 사용하여 일련의 모듈을 어셈블 및 최적화하여 사용자 정의 런타임 이미지를 만들 수 있습니다.- javac, jlink, java 는 추가적인 옵션으로 특정 모듈의 경로를 설정하고 경로를 통해 모듈의 정의를 찾습니다.-..
PostgreSQL 의 timezone 을 보다가 jvm의 timezone 까지 확인할 일이 생겼다. 서버를 처음 구축할 당시 아무 생각없이 timezone 을 .profile 에TZ='Asia/Seoul'; export TZ설정을 추가하여 사용하고 있었는데 java 의 로그시간이 이상한 것을 보고 어느 부분을 수정해 주어야 하는지 찾아 보았다. 우선 date 명령어를 통해서 현재 시간이 맞지 않는 것을 확인했고 이것을 고치면 jvm 도 같이 고쳐질 것이라고 생각했다.1. /etc/localtime 은 어떤 시간대를 사용할 지 정해주는 파일로 사용해야 하는 파일은 /usr/share/zoneinfo/ 밑에 있는 폴더 안의 파일들을 사용하면 되는데 서울은 /usr/share/zoneinfo/Asia/Seo..
이 글은 tutorials point(https://www.tutorialspoint.com/java8)를 번역한 글입니다.JAVA 8 은 Java 프로그래밍 언어 개발의 주요한 릴리즈 버전으로 2014년 3월 18일에 초기 버전이 나왔습니다. Java 8 출시와 함께 Java 는 함수형 프로그래밍 지원, 새로운 Javascript engine, date time 을 정교하게 다루기 위한 APIs, 새로운 스트림 API 등을 제공하게 되었습니다.새로운 특징Lambda expression - 함수 처리 능력 Method references - 함수를 직접 호출하지 않고 이름으로 함수를 참조. 파라미터로 함수를 사용 Default method - interface 는 기본적인 method 의 구현체를 가질 ..
앞에서 설명하지 않은 부분은 OS 의 모드 변경이다. 처음 OS 가 부팅이 되면 리얼모드로 시작되고 이 부분은 16비트 환경이다. 지금 공부 중인 책은 64비트 OS 를 목표로 진행되기는 하지만 64비트로 가기 전 OS 는 32비트 보호 모드를 거쳐서 가야한다. 그래서 이번에는 앞에서 만든 테스트용 가상 OS 소스를 보호 모드로 전환하는 소스로 변경하려고 한다.우선 리얼 모드에서 보호 모드로 전환하기 위해서느는 6단계를 거쳐야 한다.1. 세그먼트 디스크립터 생성 (보호 모드 코드와 데이터용 세그먼트 디스크립터 생성)2. GDT 정보 생성 (세그먼트 디스크립터의 시작 어드레스와 디스크립터의 전체 크기 저장)3. 프로세서에 GDT 정보 설정 (GDTR 레지스터에 GDT의 시작 어드레스와 크기 설정)4. CR..