본문 바로가기

전체 글

(18)
영어 공부 1일차 정리 * 문법 패턴I'm + 명사 [ 형용사 ] : 나 ~ 해I'm not + 명사 [ 형용사 ] : 나 ~ 하지 않아 * 정의 - 나의 정보 또는 상태 및 처항 상황을 상대에게 전달 * 작문I'm a queen card - 나는 퀸카야 I'm confused about my situation because the government has declared martial law today. - 나는 내 상황이 혼란 스러워 왜냐하면 정부가 오늘 계엄령을 공표 했거든 .I'm avoiding the police because I'm a North Korean spy. - 나는 경찰을 피하고 있어 , 왜냐하면 나는 북한 스파이 거든sorry, I'm kidding. - 미안 장난이야  * 단어avoid : 회피하다..
[Docker] Dockerfile 정의 && 내용 설명 Dockerfile은 도커 이미지를 만드는데 사용되는 텍스트 기반 문서이다. buildx 도커 파일과 같이 이미지를 빌드 한다면도커 컨테이너에서 해당 이미지가 실행 될때 dockerfile을 실행 하게 된다  * 로제타 설치 및 라이센스 동의softwareupdate —install-rosetta —agree-to-license  * 도커 이미지 빌드docker buildx build --platform linux/amd64,linux/arm64 \    -t stver8935/nexus3-multiarch:latest \    --push ./Dockerfile  실행할 명령, 복사할 파일, 시작명령 등에 대한 이미지빌더에 대한 지침을 제공 FROM : 빌드가 확장 할 기본 이미지를 지정 ( 지정하지..
개발 시작부터 SI 4년차 까지의 회고 - 2 계속 해서 학원을 다니기 시작했는데 여러 사람과 어울려서 이야기 하고 생각도 듣고, 또 코드 짜는것이 너무너무 재밌었다.  논리적인 구현을 하다가 시스템적인 오류가 날때 구글링 통해서 stackoverflow에서 자료를 찾고, 적용하고.. 지금 와서 생각하면이 부분이 진짜 중요하고, 실수를 많이 범하는 부분 인듯하다.물론 개발에 있어서, 논리적인 구멍 없이 잘 동작하게끔 만드는고 마감 기한 내 완성 하는것이 1순위 이지만왜 그 오류가 났는지, 구글링 해서 나온 답변 혹은 코드가 왜 그 문제를 해결 하는지가 정말 정말 중요하다고 생각한다. ( 자기가 개발하는 시스템에 대한 이해도를 높일 수 있다고 생각하기에.. 나중에 없어져 버릴 미네랄 지식들이 쌓이는 것을 방지하기 위해 ..) 그렇게 학원을 재밌게 다니..
개발 시작부터 SI 4년차 까지의 회고 - 1 올해로 4년차 개발,, 정확히는 3년 8개월 동안에 있었던 경험들을 적고 다시 회고해 보려고 한다.  그때 그 상황에서 나는 어떤 생각 이었는지 , 어떤 마음 가짐이었고 어떻게 대응 했는지..  그리고 어떤 부분이 잘못 되었고 앞으로 어떻게 개선 하는 좋겠는지 등에 대한 내용이다. 정말 발전하고 싶다는 마음에..  처음 1-2년 동안 학교를 다니는둥 마는둥 하면서 다니다가 사회에 나와보니 너무 할것이 없었다.전공 지식은 전무 했고, 여기 저기 공장에 들어가 일을 하며, 살다보니안했던 공부에 대한 욕심이 생겼던것 부터가 시작 이었는지 모르겠다. 나는 일을 다니면서 방통 대학교에 편입을 했고,  일을 하면서 공부를 시작 하려고 했다.하지만 지금와서 생각해 보면 .. 한가지에 몰두 하는것이 나았을 텐데 하고 ..
volatile이란? Volatile 이란 c++ , Java, Kotlin에서 메모리 가시성을 위한 키워드 이다 . ( 다른 언어는 안써봐서 잘 모르겠다 .. ) 멀티 스레드 환경에서 특정 공유 메모리 리소스에 접근하여 해당 값을 사용할떄 각 스레드는 해당값을 cpu 캐시 메모리에 저장하여 사용 한다.  스레드 A에서 공유 메모리에 접근하여 해당값을 0에서 1로 변경 했을때  해당값을 A 스레드의 cpu 캐시 메모리상에서 변경된 것이지 메인 메모리에 적용이 된것이 아니기때문에 B스레드는 여전이 0이라는 값을 읽게 된다.  이렇게 A에서 변경한 공유 메모리 값을 B에서 언제 확인 할지 모르는 문제를 "가시성" 문제라고 한다. 해당 문제를 해결하기 위해서 공유 메모리 변수 앞에 volatile이라는 키워드를 붙여 사용하게 되는..
폭포수 모델 (water fall) 개발 방법론 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지 보수 단계로 이루어 지는 개방 방법론이며선행된 단계가 완료 되어야 다음단계로 넘어가는 순차적 개발 방법론을 말함. 각 단계는 윗단계로 거슬러 올라 갈 수 없으므로 각 단계는 명확히 한 후 다음단계로 넘어야가 함( 실제 업무에서는 거슬러올라 가는 경우도 있음 ) 또한 각 단계에서 나와야 할 산출물 들이 있지만 필요에 따라 생략 될 수도 있다,   이하 빨간색으로 작성된 부분은 개인적인 생각이 들어간 부분이라 아니라고 생각 되는 부분이 있으시면 감사하겠습니다. 1. 요구사항 분석 (Requirement Analysis)클라이언트와 협의를 통해 시스템에 필요한 기능들을 문서화 하는것을 말함해당 단계에서 나오는 산출물은 아래와 같음. * 요구사항 명세서..
[Algorithm] AES 암호화 알고리즘 AES ( Advanced Encryption Standard )- 대칭키 암호화 알고리즘으로 128 bit , 192 bit , 256 bit 길이의 키를 지원 한다.- 128 bit의 고정 블록 길이- round는 키 길이에 따라 결정 되면 키 길이에 따른 round수는 아래와 같다.  round 수 (N)AES-12810AES-19212AES-25614 * 암호화 방식- SubBytes ,ShiftRows, MixColumns, AddRoundKey의 과정을 통해 암호화를 하게 된다.SubBytess-box를 사용하여 각 바이트를 치환ShiftRows행단위로 byte이동MixColumns각 결의 값을 혼합하여 변환AddRoundKey라운드 키와 블록 데이터를 xor 연산하여 결합      참고 - ..
MSA ( MicroService Architecture ) 란? 1. MSA 란?기존의 모놀리식 아키텍쳐의 한계점을 개선하기 위해 SOA( Service Oriented Architecture )의 방법을 발전 시켜, 서비스간 결합도를 느슨하게 함으로써 확장성 및 유지보수을 개선한 아키텍쳐 패턴 입니다. MSA의 구성 요소는 아래 이미지와 같이* Api Gateway    MicroService 에 대해서 라우팅을 해주는 역할을 하며 외부 사용자가 최종적으로 접근하는 endPoint 역할을 하며 추가적으로 인증,인가, 로드 밸런싱 역할을 제공 할 수 있는 서비스 입니다. * Config Server    각 서비스에 대한 설정을 중앙집중식 구성으로 관리하고 공통 설정을 사용 할 수 있도록 해주며 각 서비스의 런타임 시 설정을 변경 할 수 있도록 도와주는 서비스 입니다..