어떤 객체를 직렬화하는 것과 관련된 가장 중요한 점은 나중에 JVM을 다시 실행시킬 때, 또는 아예 다른 JVM에서실행시킬 때에도 원래의 상태로 되돌릴 수 있어야 한다는 점인데, 역질렬화는 직렬화를 뒤집어놓은 것과 비슷합니다. 123456789101112131415161718FileInputStream fileStream = new FileInputStream("MyGame.ser");//FileInputStream 을 만든다. ObjectInputStream os = new ObjectInputStream(fileStream);//ObjectInputStream 을 만든다. Object one = os.readObject();Object two = os.readObject();Object three =..
Object Serialize 객체의 직렬화란 객체의 내용을 바이트 단위로 변환하여 파일 또는 네트워크를 통해서 송수신이 가능하게 하는 것을 의미합니다. 비유를 하자면 어떤 어드벤쳐 게임이 프로그램이 있다고 합시다. 게임이 진행되면 게임 캐릭터는 계속 해서 상태가 변합니다. '더 강해지거나, 약해지거나', '무기를 잃거나, 그 무기를 사용하거나' 할 수도 있죠. 하지만 사용자가 게임을 끄고 다시 돌아왔을때, 캐릭터의 상태가 초기화 되면 안되겠죠? 저장을 해야 합니다. 이 때 데이터를 만들어낸 자바 프로그램에서만 사용한다면 직렬화를 사용하여 납작해진 객체가 저장된 파일을 만들고 나중에파일을 열 때는 프로그램에서 직렬화된 객체를 읽어서 다시 살아 숨쉬는, 힙에 들어있는 형태의 객체로 만들어 줍니다. 객체 직..

Android Dialog Fragment Android에서 팝업창을 통해서 간단하게 사용자의 입력을 받을 때 Dialog 라는 컴포넌트를 사용합니다. Dialog의 형태는 여러가지임 이때 Dialog를 Fragment 형태로 구현하는 방법에 대해서 알아보려고 합니다. 구현방법 기능은 간단하게 EditText에 값을 입력할 수 있도록 하고 확인, 취소 버튼을 추가해보겠습니다. dialog_add_name.xml layout 입니다. AddNameDialogFragment.java layout을 구성하는 Fragemnent 클래스로 확인, 취소 버튼의 Action에 대해서 지정해주고 있습니다. NameInputListener는 외부에서 확인 버튼에 대한 이벤트 얻을 수 있는 Listener 인터페이스 입니..
Android Tmap 경로 API 프로젝트 진행중 걸은 거리를 추적해서 이동 경로를 지도상에 선 형태로 그려주는 기능을 구현하려고 했다. 처음에는 GPS 값만 가져와 Google Map에서 지원해주는 Polyline 형태로 그려주는 방법을 생각했었는데 실제 도로에 표시되지 않는 정확도가 떨어지는 경우가 많았다. Polyline을 그리는 자세하 방법은 아래 포스트를 참고해주세요 (Android) Google Map 이동한 거리 선(polyline) 으로 그리기 Android Google Map Polyline Google Map 라이브러리를 사용하여 지도 관련 프로젝트를 진행하고 있습니다. GPS를 통해 걸음을 체크하는 서비스 걸음 시작 버튼을 누른 후부터 특정 주기로 GPS를 기록하여 이동한.. jin..
CMD MySql 실행이 되지 않는 현상 MySql이 실행되지 않을 때 커맨드 창에서 실행해보려 하니 아래와 같은 메세지가 발생하며 실행이 되지 않았다. 'mysql'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치파일이 아닙니다. 해결 방법 해결 방법은 간단합니다. 환경 변수 설정이 안되있어서 발생하는 오류입니다. 제어판 -> 시스템 및 보안 -> 시스템 -> 고급 시스템 설정 ->고급 -> 환경 변수 혹은 윈도우키 를 눌러 시스템 환경 변수 검색 후 실행 Path에 MySQL의 설치 경로를 붙여줍니다. 저 같은 경우에는 경로가 C:\Program Files\MySQL\MySQL Server 5.7\bin 입니다. 그런 다음 실행해보면 정상적으로 실행 되는 것을 확인 할수 있습니다...
IPv4 와 IPv6의 상호 변환 (1) 헤더 변환방식 헤더 변환은 IPv6 패킷 헤더를 IPv4 패킷 헤더로 변환하는 것, 또는 그 역순의 변환 및 필요하다면 체크섬을 조정(또는 재계산)하는 것을 가리킨다. 헤더 변환은 IP 계층에서의 변환으로, IPv4 패킷을 IPv6 패킷, 또는 그 반대로 변환하는 규칙은SIIT에서 정의하고 있다. NAT-PT는 SIIT에 기반을 둔 헤더 변환방식의 전형적인 예이다. 헤더 변환은 다른 방식에 비해 속도가 빠르다는 장점이 있는 반면, NAT(Network AddressTranslator)와 마찬가지로 IP계층 변환에 따른 제약점을 가지고 있다. (2) 수송계층 릴레이 방식 수송 릴레이는 {TCP, UDP}/IPv4 세션과{TCP, UDP}/IPv6 세션을 중간에서 릴..
IPv4 고갈문제 해결법 IPv6 IPv4 주소 고갈에 대한 해결책으로 NAT(Network Address Translation) 및 CIDR(Classless Inter-Domain Routing) 등이 있다. 하지만, 이는 주소 고갈 문제를 해결한다기 보다 IPv4 주소 체계의 생명을 연장하는데 불과하다고 할 수 있다. 또한 ISP로 하여금 부가 장비에 대한 투자가 필요하며, 네트워크 구축의 복잡성, 다양한 서비스 확산의 어려움 등 제한 사항이 많을 것으로 판단된다. 따라서, 이보다는 IPv6 주소의 도입이 궁극적인 해결책으로 여겨지고 있다. IANA는 물론 RIR 역시 IPv6의 도입 확산을 적극적으로 권장하고 있다. IETF 역시 지난 10 여 년 동안 IPv6의 필요성 및 도입 확산을 고려하여 ..
- Total
- Today
- Yesterday
- effective java
- 배낭여행
- 자전거 여행
- 일본 자전거 여행
- 자바
- 자전거
- 일본여행
- JavaFX
- 스프링부트
- JavaFX Table View
- 이펙티브
- 배낭 여행
- 인텔리제이
- 일본 배낭여행
- intelij
- java
- effectivejava
- JavaFX 종료
- 일본 여행
- JavaFX Window Close
- 텐트
- git
- JavaFX 테이블뷰
- windows
- TableView
- 이펙티브자바
- 방통대 과제물
- Java UI
- springboot
- 이펙티브 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |