1. 개인적으로 개발을 위해서 Kubuntu를 사용하고 있다. 여기서는 기본적으로 debian 기반 버전을 설명한다. 2. 리눅스 UI는 리눅스 코어에 해당하지 않고 부수적인 기능으로 취급된다. 하지만 개발을 위해서는 UI는 필수적인 부분이고 이것이 없으면 vscode 같은 ide를 사용할 수 없기 때문에 리눅스 코어는 아니지만 필수로 취급된다. 3. 최근에는 엔비디아나 AMD에서 만든 그래픽 카드에서도 리눅스를 지원하고 있고 현재 윈도우에서의 기능의 50%정도는 지원하고 있어 그래픽을 사용하는데 있어서 큰 무리가 없다. 4. 리눅스를 부팅했는데도 화면에 GUI가 열리지 않을 때가 있다. 그렇게 되면 검은 화면에 리눅스 로그인 프롬프트가 화면에 뜨게 된다. 많은 리눅스 유저가 여기서 패닉이 되는 경우가 ..
예전에 private subnet에 있는 호스트에 접근하기 위한 방법으로 bastion 서버를 사용하도록 설정했는데, 아무리 생각해도 서버접근용으로 서버를 둔다는 부분이 마음이 들지 않았다. 그래서, AWS Systems Manager의 Session Manager를 사용하도록 설정을 변경하였다. 1. 현재 웹서비스를 기동하기 위한 가장 간단한 방법인 Elastic BeansTalk을 사용하고 있다. 2. EC2가 SSM에 접근할 수 있도록 ROLE을 생성해 주고, 2-1 아래의 role은 aws-elasticbeanstalk-ec2-role 기본 role에 AmazonSSMManagedInstanceCore를 추가한 롤이다. 2-2 이런 이유는 EC2가 Beanstalk의 리소스를 사용하는 권한 + S..
1. 이 포스트는 스프링 부트 3에서의 보안 설정에 관한 내용으로 세부적인 것보다는 전반적인 것을 설명한다. 2. 이 포스트를 적는 이유는 스프링 보안이 세부적으로 들어가면 상당히 복잡해 보이는데 실제로는 그렇지 않다. 3. 세부적인 내용을 설명하는 포스트는 많지만 개괄을 제대로 설명하는 글이 없어서 적어본다. 4. 스프링 보안의 가장 기본은 FilterChainProxy와 DelegatingFilterProxy이다. 4. 보안 처리 요청은 실제 DelegatingFilterProxy는 등록된 FilterChainProxy을 사용하여 실제 보안 처리를 수행하게 된다. 아래의 delegate가 Filter를 구현한 FilterChainProxy를 저장하는데 이 proxy를 통해서 FilterChain내의 ..
1. H2는 스프링 부트에서 기본적으로 지원하는 메모리 기반 데이터베이스이다. nodejs의 sqlite와 유사한데 데이터 파일이 로컬에 생성되지는 않는다. 2. 스프링 부트에서 h2를 사용은 간단하다. 예전에는 그냥 pom.xml에 의존성만 추가하면 사실 동작하였다. 하지만 최근의 스프링 부트에서는 그렇게 하면 웹으로 데이터를 볼 수가 없다. 3. 스프링 부트 3.0.1을 기준으로 3-1 최근 버전의 Spring Security는 기본적으로 보안의 이유로 iframe을 지원하지 않는다. 그래서 추가적인 설정이 필요하다. 3-2 우선 일반적으로 하듯 아래처럼 application.yml에 아래처럼 spring h2 설정한다. logging: level: org.springframework.security..
1. kvm은 리눅스 커널에 포함된 type1 hypervisor이다. 그래서 qemu를 통하지 않고 바로 설치해서 쓰는 게 성능에 좋다. 1.0 bridged network를 구성하기가 쉽지 않아서 웬만하면 virtualbox를 사용하는 것을 권장한다. 물론 성능 차이는 느껴진다. 1.0.1 브리지 인터페이스를 만들어주고 가상 네트워크 인터페이스를 매핑해야 한다. 1.0.2 문제는 브리지 인터페이스가 호스트와 동일한 네트워크에 물려 있어야 하는데 별도의 설정이 필요하다. vagrant-libvirt and Bridged Networking – Kevin C. Coram Once I had a way to install virtual machines on my Ubuntu home lab server, ..
'어떻게 자바 클래스를 생성하는 것이 좋은방법일까'에 대한 내용이다. WS는 사용해 볼 기회가 거의 없어 그렇게 경험과 지식이 많지 않음을 이해하기 바란다. 1. 가장 최신 버전의 스프링 부트를 사용한다.현재 3.0.1이 최신이다. 스프링 부트 web service starter에는 spring ws가 포함되어 있는데 JAVA WS 구현이 포함되어 있다 .그래서 최신버전의 경우는 jakarta로 시작하는 ws 패키지를 볼 수 있다. Spring boot 2.6까지는 jaxb 모듈이 jakarta 표준을 따르지 않고 예전 버전을 사용하기 때문에 jaxb 2.3.1버전을 사용하여 javax.xml.bind 같이 javax로 시작하는 패키지를 포함해야 한다. 2. 다시 말하면 스프링에서 사용하는 jakarta..
자바와 같은 static 타입 시스템은 개발할 때 편의성이 높지만 메시지를 주고 받는 것에 있어서는 불편한 점이 많다. 모든 메시지의 타입이 미리 지정이 되어 있어야 컴파일 오류가 생기지 않기 때문이다. nodejs로 개발한 것과 비교하면 차원이 다른 불편함이다. 아래는 자바스크립트(타입스크립트)로 작성된 예약정보를 가지고 오는 구문이다. fetchBooking이 서비스 이름이고 내부적으로는 _fetchBooking을 실행하여 동작한다. request에 들어갈 데이터를 만드는 부분을 보면 _setFetchBooking인데 아주 단순하다. 그냥 자바스크립트 객체를 자유롭게 만들면 된다. 그리고 만들어진 데이터를 _fetchBooking에서 보듯 함수에 넣어 보내면 된다. 더 황당한 부분은 client.ad..
Web Service는 xml이라는 것 때문에 쉽지가 않다. 그리고 자바의 JAXB라이브러리가 XML를 마샬링 할 때 발생하는 오류와 그로 인한 영향 때문에 처음에 세팅하는 것이 굉장히 까다롭다. SOAP Header가 있는 경우는 스프링을 아주 잘하지 않는 이상 며칠을 고생할 수도 있다. 클라이언트 개발은 서버로 보내지는 구문이 정상적인지 확인하는 것이 가장 중요하기 때문에 개발은 아래처럼 하면 된다. 1. 어떤 것이 실행되는 검증된 Request구문을 찾는다. 이것은 서비스를 제공하는 곳에서 같이 제공하는 것이 일반적이다. 2. 현재 자바에서 어떻게 xml로 변환되어 보내지고 있는지를 확인한다. 3. 되는 구문과 안되는 구문의 차이점을 찾아내어 자바에서 보내는 xml 구문을 수정하면서 디버깅 한다. ..
- 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