반응형

개발 40

OS 메모리 관리

Paging 기법 논리적 주소 (Logical address) 물리적 주소 (Physical address) 주소 바인딩 (Address binding) page table frame 문제점 메모리 단편화 (Memory fragmentation) - 내부 단편화 (발생) - 외부 단편화 (미발생) Segmentation 기법 code, data, heap, stack 단위 segment 정의 segment table 문제점 메모리 단편화 (Memory fragmentation) - 내부 단편화 (미발생) - 외부 단편화 (발생) Paging Segmentation page 일정한 크기의 단위로 나누어 할당 segmentation code, data, heap, stack 등 기능(의미) 단위로 물리 메모..

개발 2023.06.15

Generics / Variance

Generics 메서드, 컬렉션, 클래스에 컴파일 시의 타입체크(compile-time type check)를 해주는 기능 - 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다 - 컴파일러는 지네릭 타입을 이용해 소스파일을 체크하고 필요한 곳에 형변환을 넣어준다. 그리고 지네릭 타입을 제거한다 - JDK.15부터 지네릭이 도입되어 하위 호환성을 위해 타입 제거 제한 1. Static 멤버에 타입 변수(ex. T)를 사용할 수 없다 - 모든 객체에 대해 동일하게 동작해야하는 static 멤버에 타입변수 사용 불가 - 타입변수는 인스턴스변수로 간주 public class Box { static T item; static int compare(T t1, T t..

개발 2023.06.04

큰 단위의 설계만이 설계가 아니다.

https://shoark7.github.io/programming/algorithm/tower-of-hanoi '하노이의 탑' 이해하기 '하노이의 탑' 문제를 이해하고 문제 해결을 위한 핵심 통찰을 살핀 뒤 코드로 작성합니다. 이후 탑의 개수에 따른 총 이동 횟수를 구하는 일반항까지 수학적으로 유도합니다. shoark7.github.io 위 블로그의 글을보고 많은 것을 느꼈다. 크게 느낀점 하나를 적고자 한다. 설계라는 단위가 클래스 더 나아가 큰 아키텍쳐 설계만이 설계가 아니라 느꼈다. 메소드 단위의 설계도 중요하다 라는 것이다. 알고리즘 테스트 뿐만 아니라 실무에서 클래스 단위의 설계 밑에 메소드 단위의 설계에도 더 신경써야할것!

개발 2021.09.04

pfx 파일을 pem파일로 변환시키자

프로젝트 막바지 ssl을 고객사에서 전달해 줬는데 IIS용으로 전달해 주었다. 압축을 풀어보니 crt 파일과 pfx 파일이 있다... 안에 데이터가 바이너리 형식인 것으로 보아 cert와 key를 묶어 하나의 바이너리 파일로 만든것 같다. pfx는 처음 보는 확장자여서 pem으로 변환시켜 Nginx 에 적용시켜 주었다. openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem 위 명령어로 cert 파일을 뽑아낸다 가 뜨는 경우 암호를 입력해주자 openssl pkcs12 -in filename.pfx -nocerts -out key.pem 위 명령어로 key 파일을 뽑아낸다. 기존 암호와 함께 새로 뽑아내는 key의 암호를 설정한다. listen 4..

개발 2021.07.26
반응형