WebService를 가장 잘 구현하고 있는 플렛폼은 자바이다. 현재 Java EE는 가장 최근 spec은 jakarta 10이며 Java WebService의 표준을 여기서 구성하고 있다. 현재 SOAP web service 개발을 위해 여전히 glassfish서버가 개발되고 있으며 glassfish 7 버전은 jakarta 10을 만족하고 있다. 개발 시 glassfish를 사용시 주의 할 점을 적어본다. 1. glassfish 4버전은 JDK1.7을 지원한다. 1.7만 쓰는 것이 좋다. 2. glassfish 5버전은 JDK8을 지원한다. 설명에는 최근 2022년 5.1버전은 11버전을 지원한다고 되어 있는데, 지원하지 않는다. 그냥 1.8을 사용해라 정신 건강에 좋다. 3. glassfish 6버..
프로그래밍을 업으로 20년 이상해왔지만 Web Service를 실제로 서비스에 제대로 사용해 본적이 없다. 스프링에서 RMI도 써봤는데 말이다. 그런데 이미 철이 많이지난 지금에서야 드디어 사용해 볼 기회가 생겼다. 그래서 잘 모른다고 하는 게 정확하다. 잘 모르는 주제에 여기에 이걸 적는 이유는 언제나 그랬듯 나의 형편없는 기억력 때문이다. Web Service는 결과적으로 REST가 하는 것과 동일한 것을 한다. 특징 몇가지를 적어보면 1. 서비스와 데이터의 정의를 위해 xml을 사용한다. 메시지의 구조와 서버의 명세 같은 것들이 모두 xml로 되어 있다. 2. HTTP를 통신기반으로 사용한다는 점에서 REST와 차이가 없다. 3. REST와 다른 점은 endpoint가 외부로 노출되어 있지 않고(노..
트랜잭션은 원자성을 가지는 하나의 task의 단위라고 생각할 수 있다. 트랜잭션은 로직 작성에 아주 중요한 요소이기 때문에 많은 고민이 필요하다. 트랜잭션을 엄격하게 적용하면 모든 것이 좋아 보이기는 하지만 모든 일이 그렇듯 tradeoff가 발생하기 마련이다. 1. 트랜잭션이 길어지면 DB Locking이 발생하기 쉽다. 하나의 트랜잭션이 끝날 때 까지 해당 테이블을 놓지 않는다. 2. DB Locking이 길어지면 DB 컨넥션이 full이 되고 심한 경우는 서버가 죽을 수 있다. 일반적으로 트랜잭션을 거는 이유는 하나의 task의 원자성을 보장하기 위한 것으로, 특정한 작업 중에 관련된 정보가 변경되는 경우 예상하지 못하는 결과가 나올 수 있기 때문이다. 부작용이 있기 때문에 최소한의 단위로 사용하는..
1. nfc 접근 라이브러리 1-1 nfc-pcsc 라이브러리 - pcsc lite를 사용한 nfc를 간편하게 사용할 수 있게 하는 라이브러리 1-1-1 편의용 라이브러리이기 때문에 100% 자바 스크립트로 작성됨 2-1-2 예제를 포함하고 있어 사용법을 쉽게 이해할 수 있다. https://github.com/nodejs/node-gyp#installation GitHub - nodejs/node-gyp: Node.js native addon build tool Node.js native addon build tool. Contribute to nodejs/node-gyp development by creating an account on GitHub. github.com 1-2 node-pcsclit..
기본 배경 AWS는 VPC를 리전마다 5개 까지 허용하고 있다. 각 리전 마다 기본 VPC를 부여하고 있고 VPC 설정이 없으면 기본 VPC에 해당 리소스가 배치되게 된다. 하나의 리전은 2개 이상의 AZ(Availability Zone)으로 구성되어 있어 지역적인 이중화를 가능하게 해 준다. 하나의 AZ가 파괴되어도 다른 AZ에 위치한 서버는 여전히 서비스가 가능하다. Subnet은 하나의 VPC에 내에 위치하는 하나의 네트워크 공간으로 특정 아이피 범위를 부여 받아 내부에 위치한 자원들의 통신이 가능하다. 이 subnet은 public, private으로 구분할 수 있는데 public은 인터넷을 사용해야 하는 자원들이 배치되고 각 자원은 dynamic IP가 부여되어 외부에서 접근이 가능하다. VPC..
지금 일하고 있는 회사의 서버 프로그램은 노드기반으로 개발되어 있다. 10년이 넘게 서비스 해온 시스템으로는 상당히 드문 경우이다. 우리나라에서 노드가 제대로 알려지기 시작한 게 2014~2015년 정도라고 생각하고 그 당시 노드의 대한 평가는 상용서비스로는 적합하지 않다는 것이 우세한 의견이였고, 분위기가 바뀌어 국내 스타트업에서 많이 사용하기 시작한 게 2018년 정도부터라고 기억한다. 아무튼 현재 legacy 시스템을 유지보수하면서 Amazon Linux 2버전으로 OS업데이트, AWS NAT Gateway를 이용한 백엔드 구조 개선, 라이브러리 최신화와 12버전의 사용 중인 현재 시스템을 노드 16 LTS로 업데이트하는 것들 현재 하고 있다. 이 시스템이 C++ addon을 사용하여 otp를 발급..
1. sudo apt install openjdk-11-jdk 형식으로 원하는 자바버전을 모두 설치한다. 2. update-alternatives --config java 명령어로 원하는 자바 버전을 선택 가능하다. 3. .bashrc 에 export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java)))) 를 추가한다. 자바 버전을 바꿀 때 마다. source .bashrc를 실행해줘야 한다. 이 명령라인은 단순히 현재 설정된 자바의 버전을 JAVA_HOME에 할당한다.
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib