수료하고 쓰는 SW 마에스트로 13기 합격 후기 수료하고 쓰는 SW 마에스트로 13기 합격 후기 및 연수 과정 중 알게된 내용 일부가 들어있습니다. 합격 후기 전에 SW 마에스트로에 대해 잠깐 짚고 넘어가겠습니다. - SW 마에스트로 과정은 창의도전형 SW인재 육성으로 SW산업의 미래를 선도하는 정부지원 사업입니다. 창의·도전형 프로젝트 기획·개발과 SW분야 최고 전문가들의 집중 멘토링 및 심화교육을 통해 최고급 인재로 성장할 수 있습니다. SW 마에스트로 과정은 다음과 같이 진행됩니다. 13기 기준 4월 초에 합격자를 발표합니다. 4-5월 멘토링, 특강, 그 외 디자인 씽킹 교육 등의 다양한 예비과정을 통해 많은 연수생들과 멘토님들을 만나볼 수 있는 기회를 갖게 됩니다. 이를 통해 마음이 맞는 연수생들과 팀의 기술이나 방향성을 이끌어주실 수 있는 담.. solved.ac 스트릭 450일 스트릭 2번을 아이템으로 채우고 450일을 채웠다. 근데 요즘 바쁘기도 하고 그래서 너무 브론즈 문제들로만 채우는거 같아 실력향상에 도움이 되지 않는 것 같고 그냥 멈추려고 한다. 기록으로 남겨놓기, 스트릭 등수 55등 [Spring boot] configurationprocessor JSONException 에러 로컬에서 잘 돌아가는데도 불구하고 서버에 올렸을 때 Source -> Build -> Deploy 과정이 전부 성공했음에도 불구하고 접속이 되지않아 로그를 열어 스텍 트레이스를 확인하였다. 확인 결과 java.lang.IllegalStateException: Failed to introspect Class from ClassLoader 에러가 발생하였다. 발생한 에러로는 JSONException을 찾을 수 없다는 에러였다. org.json을 임포트 한게 하니라 스프링프레임워크 컨피규레이션 프로세서에 있는 Json을 import해서 에러를 뱉는 것이었다. 해당 에러에 대한 원인은 다음과 같았다. java.lang.NoClassDefFoundError: org/springframework/boot/confi.. Spring boot - Jasypt를 사용한 프로퍼티 암호화하기 github Repository를 private상태로 두기만 하면 상관이 없지만 가끔씩 public 상태를 두어야 할 때와 Repository에서 CI/CD를 연동해 어플리케이션을 배포해야할 때 중요한 정보들을 Repository에 올려야 하기 때문에 꼭 알아두어야 합니다. 1. Jaspyt란? Jaspyt의 공식문서에는 다음과 같이 설명이 되어 있습니다. "Jasypt is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography .. OS - 멀티 프로세스 vs 멀티 스레드 멀티 프로세스와 멀티 스레드는 시스템의 컴퓨팅 성능을 높이는 데 사용되는 처리방식 멀티 프로세스 두 개 이상의 여러개의 프로세서(CPU)가 협력적으로 하나의 작업(Task)을 동시에 처리하는 것입니다. (병렬 처리) 각 프로세스 간 메모리 구분이 필요하거나 독립된 주소 공간을 가져야 할 경우 사용합니다. 장점 독립된 구조로 안전성 높음. 여러 자식 프로세스 중 하나에 문제가 생겨도 다른 프로세스에 영향을 주지 않아, 작업속도가 느려지는 손해 정도는 생기고 정지되는 문제는 발생하지 않아서 안정적인 운영이 가능. 여러 개의 프로세스가 처리되어야 할 때 동일한 데이터를 사용하고, 이러한 데이터를 하나의 디스크에 두고 모든 프로세서가 이를 공유하면 비용적으로 저렴함. 문제점 독립된 메모리 영역이기 때문에 작업량.. OS - 프로세스와 스레드의 차이(Process vs Thread) 개발자 단골 면접 질문으로 신입때 거의 나오는 수준이라고 하는 프로세스(Process와 스레드(Thread)의 차이를 간단하게 알아보겠습니다. 먼저, 프로세스와 스레드를 알기전 프로그램을 짚고 넘어가겠습니다. 프로그램(Program)이란 저장 장치(보조기억장치)에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태의 파일을 말합니다. 보조기억장치(ex:SSD, HDD)라는 대용량의 파일들을 저장할 수 있는 공간에서 실행되지 않고 가만히 있음. 프로세스(Process)란 운영체제로부터 자원을 할당받아 메모리 공간에 올라간 실행중인 프로그램 프로그램들은 CPU가 실행할 수 없기 때문에 프로그램을 실행하기 위한 메모리 공간을 할당 받는데 이것을 프로세스라고 합니다. 실행 과정 저장장치에 정적인 상태의 파.. Redis - 키 제거 정책 2 본 글은 Redis - 키 제거 정책 1 글에서 이어집니다. https://redis.io/docs/manual/eviction/ Key eviction Overview of Redis key eviction policies (LRU, LFU, etc.) redis.io 1. 대략적인 LRU 알고리즘 Redis LRU 알고리즘은 정확한 구현이 아닙니다. 이는 레디스가 제거 대상(과거에 가장 멀리 접근했던 접근권을 최적의 대상)으로 선정할 수 없다는 것을 의미한다. 대신 적은 수의 키를 샘플링하고 샘플링된 키 중 가장 오래된 키를 제거함으로써 LRU 알고리즘의 근사치를 실행하려고 시도합니다. 그러나 레디스 3.0 이후 알고리즘이 개선되어 제거를 위한 좋은 후보를 얻을 수 있게 되었습니다. 이를 통해 알고리.. Redis - 키 제거 정책 1 https://redis.io/docs/manual/eviction/ Key eviction Overview of Redis key eviction policies (LRU, LFU, etc.) redis.io 요약 : Redis를 캐시 메모리로 사용하는 경우 새 데이터를 추가할 때 이전 데이터를 자동으로 제거하도록 하는 것이 편리합니다. Redis(Remote Dictionary Server)는 Memcached 시스템의 기본 동작입니다. 1. 최대 메모리 구성 지시문 Redis는 데이터 세트에 지정된 양의 메모리를 사용하도록 구성할 수 있습니다. redis.conf 파일을 사용하거나 나중에 실행 시 CONFIG SET 명령을 사용하여 구성 지시어를 설정할 수 있습니다. redis.conf 파일 예시 .. Memcached - 기본 개념 1. Memcached란? Memcached는 고성능의 분산 메모리 캐시 시스템입니다. 데이터베이스 부하를 완화하여 동적 웹 응용 프로그램의 속도를 높이는 데 사용하도록 만들어졌습니다. Redis와 Memcached 둘 다 사용하기 쉽고, 고성능을 자랑합니다. Memcached는 간단하고 일반적으로 사용 되도록 설계되었으므로 애플리케이션 개발에 사용하기에 쉬우면서 강력합니다. Redis는 애플리케이션 요구 사항을 충족할 수 있는 다양한 데이터 구조를 가지고 개발되었습니다. 각 엔진들이 제공하는 기능과 필요한 상황을 고려하여 선택합니다. (Memcached와 redis는 같은 원리이며 Memcached는 단순하게 key-value 타입기반이지만 Redis는 string, set, sorted set, ha.. 이전 1 2 다음