본문 바로가기
반응형

전체 글89

[JAVA] JVM Memory 강의를 듣다가 정리를 하는게 좋다고 생각해서! JVM Memory는 무엇인가에 대해 글을 쓴다라리 JVM 이란? 자바 가상 머신으로 자바 바이트 코드를 실행할 수 있는 주체! CPU나 운영체제의 종류와 무관하게 실행이 가능함! JVM의 구성 Class Loader Execution Engine Grabage Collector Runtime Data Area Class Loader 변환된 Byte code(.class) 파일을 JVM 내로 class를 로드하고 Link작업을 통해 배치 등 일련의 작업을 한다! 또 런타임시 class를 load 한다! Execution Engine class loader를 통해 JVM 내부로 넘어와 Runtime Data Area (JVM 메모리)에 배치된 Byte code.. 2022. 2. 18.
[Design Pattern] Strategy Pattern 아~ 디자인 패턴 너모 많자나... 언제 끝나는지 아시는분~~~?? Strategy Pattern? 전략 패턴이란 실행 중에 알고리즘을 선택할 수 있게 하는 행위 소프트웨어 디자인 패턴이다. 특정한 계열의 알고리즘들을 정의하고 각 알고리즘을 캡슐화하며 이 알고리즘을 해당 계열 안에서 상호 교체가 가능하게 만든다! 아주그냥 이름처럼 전략적으로 사용하는 거군! [사용이유] 구현된 알고리즘은 다르지만 동일한 목적을 지닌 클래스들이 존재할 때 사용한다! 확장이 용이하게! [구조] Strategy(전략) 전략을 이용하기 위한 인터페이스(API)를 결정합니다. ConcreteStrategy(구체적인 전략) Strategy를 실제로 구현하는 역할 Context(문맥) Strategy의 인터페이스(API)를 호출해서 .. 2022. 2. 5.
[OS] 멀티 프로그램, 프로세싱 운영체제를 공부하면서 여러가지 개념을 다시 공부하는 시간을 갖고있따! 멀티 프로세싱(Multi-processing) 다수의 프로세서가 협력적으로 일을 처리하는 것을 의미한다. 프로세서와 프로세스 차이를 조심하자! 프로세서: CPU나 하드웨어를 의미. 프로세스: 실제 메로리에 적재되어 프로세서에 의해 실행되고 있는 프로그램. 보통 하나의 프로세서(CPU)가 하나의 작업을 맡지만 멀티 프로세싱은 다수의 프로세서가 다수의 프로세스를 함께 처리하는 것을 의미한다. 멀티 프로그래밍 하나의 프로세서가 하나의 프로세스를 수행하는 동안 다른 프로세스에 접근할 수 있도록 하는 방법을 의미한다. 간단히 말하면 여러 프로그램을 메모리에 동시에 올려서 수행하는 것 이다. 멀티 태스킹과 멀티 스레딩은 아직 다루지 않았습니다! .. 2022. 2. 1.
[OS] 메모리 영역 운영체제 관련 제대로 배워본적이없어서 설날이고 시간도 많으니까 운영체제 관련해서 공부를 시작! 남에게 알려줄 수 있는 정도로 열심히 공부해보자! 메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드 되어야 한다! 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요함! 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 4개정도이다! 1. 코드(code) 영역 2. 데이터(data) 영역 3. 스택(stack) 영역 4. 힙(heap) 영역 코드(code) 영역 메모리의 코드(code) 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트 영역이라고도 부른다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 된다. 데이터(data) 영역 메모리의 데이터(da.. 2022. 2. 1.
[Swagger] 스웩! 췤! swagger를 도입해서 프론트분과 협업하여 프로젝트를 하려고 공부하다가 블로그로 정리! Swagger Swagger는 Rest API를 설계, 빌드, 문서화 및 사용하는 데 도움이되는 OpenAPI 사양을 중심으로 구축 된 오픈 소스 도구 세트이다! [사용 이유] - 테스트 할 수 있는 UI를 제공한다. 문서 화면에서 API를 바로 테스트 가능! [사용 방법] build.gradle에 의존성 추가! compile 'io.springfox:springfox-swagger2:2.9.2' compile 'io.springfox:springfox-swagger-ui:2.9.2' SwaggerConfig 작성 @Configuration @EnableSwagger2 public class SwaggerConfig.. 2022. 1. 29.
[Spring] @RestController @Controller 차이가뭐야?? 새롭게 스터디를 시작하면서 오랜만 공부를 시작했는데 Swagger 적용하다가 엇? 계속 오류가 나지뭐야 오마나 아주 기본적인거를 까묵었네 뭐해 이바보야~ 문제 발생! Swagger로 실행하는데 콘솔에 이런 에러가 나옴! 그래서 엇 머지머지 나는 그냥 swagger를 실행 하려고했는데 라고 생각하고 읽어보니 list 이름의 view가 없단다... 아니아니 그냥 swagger만 실행해달라구!!!!!!! 2022-01-29 20:40:47.553 ERROR 14824 --- [nio-8080-exec-8] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] t.. 2022. 1. 29.
이번 달 마지막을 보내며... 안녕.. 11월 이번연도 이제 한달 남았구나... 나름 열심히 공부하려고 한거같아서 만족한다! 너무 혼자 스트레스 받지말고 묵묵히 하다보면 성장할꺼니까 걱정하지말고! 이번주는 회사에서 Mitre한다고 저녁 출근해서 새벽퇴근으로 정신이 없다... 미국시간에 맞춰서 한다고 출근시간을 잡았는데 미국으로 보내달라!!! 수석님들 Mitre 준비하신다고 고생하신다 ㅠㅠ 옆에서 열심히 따라 배우고 뭔가 도와드리고싶은데 연구원 나부랭이는 응원말고 해드릴께 없다니~~!!! 공격 방어 직접 확인하는게 참 재밌었다! 몸은 피곤하지만 컴퓨터에 더 흥미를 갖게 된 시간이여서 회사에 참 감사하다! 이런 경험도 하게 해주고! 최고야! 열심히 배우고 성장해서 회사에 꼭 보탬이 되는 인재가 되고싶다. 그러면 블로그도 열심히하고 공부도 열심히 하라고~.. 2021. 11. 30.
[Spring] Hidden Method 회사 발표 준비.... 1.Hidden Method? 브라우저에 따라서 PUT, PATCH, DELETE 방식을 지원하지 않는 경우가 발생할 수 있습니다. 대부분의 많은 브라우저가 GET, POST 방식만 지원하기 때문에 REST방식을 제대로 사용하려면 브라우저가 지원하지 않는 상황에 대해서 고려해야만 합니다. 대부분의 해결책을 브라우저에서 POST 방식으로 전송하고, 추가적인 정보를 이용해서 PUT, PATCH, DELETE와 같은 정보를 같이 전송하는 것입니다. 이를 Overloaded POST 라고 합니다. [💬간단한 예시] 태그를 이용해서 데이터를 전송하는 경우에는 POST 방식으로 전송하되, "method" 라는 추가적인 정보를 이용합니다. 보통 과 같은 형태로 사용해서 GET/POST 방식만을.. 2021. 11. 23.
[Redis] Redis란? 회사에서 발표 준비 했던거... 레디스 관련 정리!! Redis "Remote Dictionary System"의 약자로 메모리 기반의 Key-Value Stroe 입니다. List, Hash, Set, Sorted Set, List 같은 여러 형식의 자료구조를 지원합니다. NoSql DBMS로 분류 되기도 하고, memcahed와 같은 In memory 솔루션으로 분리 되기도 합니다. 쓰기 성능 증대를 위한 클라이언트 측 샤딩(Sharding)을 지원합니다. 메모리에 상주하면서 RDBMS의 캐시 솔루션으로 주로 사용되며 Instagram, Line, StackOverflow, Blizzard 등 여러 소셜 서비스에서 사용하는 검증 된 오픈소스 솔루션 입니다. 데이터 읽기 성능 개선을 위해 데이타베이스와.. 2021. 11. 18.
반응형