[시스템 디자인] 08. 분산 이메일 서비스
시스템 디자인 시리즈의 글입니다.
READ ↗MOONGCHI ARCHIVE
프로그래밍 관련 포스트들
293 POSTSBROWSE THE ARCHIVE
시스템 디자인 시리즈의 글입니다.
READ ↗소프트웨어 설계 트레이드오프 시리즈의 글입니다.
READ ↗소프트웨어 설계 트레이드오프 시리즈의 글입니다.
READ ↗ONNX 시리즈의 글입니다.
READ ↗ONNX 시리즈의 글입니다.
READ ↗ONNX 시리즈의 글입니다.
READ ↗ONNX 시리즈의 글입니다.
READ ↗1단계: GPU 설정
READ ↗KServe 시리즈의 글입니다.
READ ↗KServe 시리즈의 글입니다.
READ ↗KServe 시리즈의 글입니다.
READ ↗1. pdb란?
READ ↗시스템 디자인 시리즈의 글입니다.
READ ↗시스템 디자인 시리즈의 글입니다.
READ ↗시스템 디자인 시리즈의 글입니다.
READ ↗시스템 디자인 시리즈의 글입니다.
READ ↗시스템 디자인 시리즈의 글입니다.
READ ↗시스템 디자인 시리즈의 글입니다.
READ ↗시스템 디자인 시리즈의 글입니다.
READ ↗시스템 디자인 시리즈의 글입니다.
READ ↗```pythonclass KafkaConsumer: def init(self, loop: asyncio.AbstractEventLoop, group_id: str): self.stop_event = asyncio.Event() for sig in (signal.SIGTERM, signal.SIGINT): loop.add_signal_handler(sig, self.stop_event.set)
READ ↗MCP란?
READ ↗AWS inferentia 타입 인스턴스에 서빙하기 위해서는 neuron SDK를 사용하여 모델을 한번 컴파일 해야한다
READ ↗점점 더 LLM 어플리케이션 개발 역시 점점 더 쉬워지고있습니다. 어떤 도구들이 어떤방식으로 편의성을 제공하고있는지 알아보고 이후에는 어떤 흐름으로 나아갈지 한번 고민해봅시다!
READ ↗LangGraph 시리즈의 글입니다.
READ ↗Docker Compose를 사용하면서 자주 찾게 되는 명령어를 상황별로 정리했다.
READ ↗인증서 생성
READ ↗Ollama와 vLLM은 둘 다 LLM(대형 언어 모델)을 로컬 또는 서버 환경에서 실행하기 위한 도구이지만, 사용 목적과 최적화 방향이 다릅니다. 아래에서 주요 차이점을 비교해 보겠습니다....
READ ↗LLM 서빙 최적화 자료를 보다 보면 FlashAttention, PagedAttention, Continuous Batching 같은 용어가 계속 나온다. 처음에는 전부 GPU를 빠르게 쓰기 위한 비슷한 기법처럼 보였는데, 다시...
READ ↗LLM이 빠르고 효율적으로 inference 하기 위해 어떤 테크닉들이 사용되는지 아래 블로그를 통해 정리해보았다 https://developer.nvidia.com/blog/mastering-llm-techniques-inference-optimization/
READ ↗ONNX 시리즈의 글입니다.
READ ↗https://velog.io/@jk01019/cv2.imencode
READ ↗소프트웨어 테스트 시리즈의 글입니다.
READ ↗소프트웨어 테스트 시리즈의 글입니다.
READ ↗소프트웨어 테스트 시리즈의 글입니다.
READ ↗CPU throttling 방지
READ ↗소프트웨어 테스트 시리즈의 글입니다.
READ ↗소프트웨어 테스트 시리즈의 글입니다.
READ ↗소프트웨어 테스트 시리즈의 글입니다.
READ ↗소프트웨어 테스트 시리즈의 글입니다.
READ ↗requests.exceptions.SSLError: HTTPSConnectionPool(host='www.naver.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')))...
READ ↗소프트웨어 테스트 시리즈의 글입니다.
READ ↗소프트웨어 테스트 시리즈의 글입니다.
READ ↗3.1 멀티모달 RAG 개요
READ ↗컨테이너 이미지를 줄여야겠다고 생각했을 때 가장 먼저 떠오른 방법은 alpine으로 base image를 바꾸는 것이었다. 그런데 직접 줄여보니 base image만 바꾸는 것으로는 부족했다.
READ ↗LangGraph 시리즈의 글입니다.
READ ↗파이썬 동시성 프로그래밍 concurrent: existing, happening, or done at the same time.
READ ↗ONNX 시리즈의 글입니다.
READ ↗poetry로 프로젝트 의존성/버전관리해보자
READ ↗DPR등 전통적으로 사용되어오던 retriever 방식이 아닌, LLM을 retriever로 사용하는 방식들도 많이 시도되고있음. 어떤 시도들이 있는지 알아보자
READ ↗gpu 사양을 물고있는 instance에서 gpu를 사용하려면 여러방법이있는데 우선은 아래와 같다
READ ↗Core
READ ↗LLM의 대표적인 문제로 지적되는 hallucination 과 logical inconsistency 를 해결하는 방법에 대해 알아보자~
READ ↗ONNX 시리즈의 글입니다.
READ ↗https://cli.vuejs.org/guide/mode-and-env.html#modes기본적으로 이녀석을 참고.
READ ↗ONNX 시리즈의 글입니다.
READ ↗ONNX 시리즈의 글입니다.
READ ↗mlflow에서도 대세에 발맞춰 LLM을 쉽게 평가할 수있는 기능을 추가했다.
READ ↗PyTriton이란?
READ ↗실험 1. 모델을 8bit로 로딩
READ ↗root@update-stock-quote-recent-1708916220-base-template-3147334780:/usr/src/app# ps -efUID PID PPID C STIME TTY TIME CMDroot 1 0 0 11:58 ? 00:00:00 /var/run/argo/argoexec emissary --loglevel info --log-format text -- python...
READ ↗fastapi에서 request, response logging하기위한 가장 major한 2가지 방법 소개
READ ↗aioboto3로 S3 파일을 다운로드하면 무조건 빠를 줄 알았는데, 실제로 써보니 단일 파일에서는 크게 이득이 없었다. 다시 생각해보면 자연스런 결과였다.
READ ↗python으로 AES_GCM 형식으로 암호화하는 방법에 대해 알아보자
READ ↗async fixtures
READ ↗암호 기술을 개별 알고리즘보다 “어떤 문제를 해결하는 블록인가”로 공부해보자
READ ↗테스트에 필요한 라이브러리
READ ↗pytest에 대한 기본 설정들을 해주는 파일들에 대해 알아보자
READ ↗prerequisite
READ ↗💡 ML model을 ‘잘’ 서빙하기 위해 어떤 최적화 전략들이 있는지, 그리고 어떤 프레임워크들이 어떤 전략을 사용하는지 알아보자
READ ↗k8s에서 db비밀번호 등 감춰야할 환경변수를 사용해야하는경우에는 secret을 생성하여 import하여 쓰게된다 이러한 secret을 생성하는 방법에는 여러가지가 있는데 하나씩 살펴보자
READ ↗완료된 pod들이 completed, 혹은 error 상태로 남아있는데 더이상 볼일이 없어서 한번에 청소하고싶을때가있다. 그럴때는 아래의 명령어를 입력해주면 된다.
READ ↗AWS Storage gateway에 대해 알아보자
READ ↗argo workflow 에서는 workflowtemplate 이라는 개념이 있어서, 워크플로우상 공통되는부분은 템플릿화하여 공용으로 가져다 쓰게 구성할 수 있다. 이걸 활용하는 방법을 자세히 알아보자
READ ↗webhook event source service에 ingress 를 걸어줘야 dns통해서 편하게 웹훅 호출이 가능하다. ingress랑 어떻게 연결하는지 알아보자.
READ ↗GitHub Actions의 github context에는 워크플로를 실행시킨 이벤트, 저장소, ref, 실행 번호 등의 정보가 들어 있다. 전체 값은 toJSON(github)로 변환해 로그에서 확인할 수 있지만, github.token같은...
READ ↗단 두줄의 추가로 가능
READ ↗💡 aws sqs, kafka, aws sns, file, redis, webhook등 특정 이벤트소스로부터 이벤트가 발생했다면 거기서 메세지를 가져오고싶은게 인지상정. 이벤트소스가 aws sqs인 상황을 예시로, 어떤식으로 가져와서...
READ ↗아무래도 이벤트 소스로 가장 많이 사용될 녀석이 webhook 이지 않을까 싶다 웹훅을 걸어놓으면 어디서든 http request한번 날리면 쉽게 workflow를 실행할수있으므로..
READ ↗💡 Argo events에 대한 개략적인 내용을 알아보자
READ ↗💡 Argo Workflow에서 다양한 형태의 workflow를 작성하는 방법을 알아보자
READ ↗💡 Argo Workflow에대해 araboza
READ ↗💡 프론트에 vue app 만 단독으로 띄울경우 nginx를 사용해 띄워줘야함
READ ↗💡 ref 를 통해 DOM에 이름을 다는 방법을 알아보자!
READ ↗💡 OSX에서 이미 최신버전으로 node를 설치한 경우, 이를 삭제하고 이전 특정 버전으로 설치하는 방법을 알아보자.
READ ↗chat gpt느님이 아래와 같이 알려주셧고.. 매우잘된다
READ ↗💡 k8s내의 nginx를 reload하는방법을 알아보자
READ ↗💡 ingress에서 connection timeout 설정을 어떻게할지알아보자
READ ↗지난 시리즈에 이어.. deploy까지 성공했다
READ ↗수동으로 도커빌드를 하고있어서 코드와 도커이미지와의 싱크도 안맞고..귀찮음도 없앨겸 요즘핫하다는 깃헙액션으로 CI를 하려고 시도함..
READ ↗💡 기존에는 parcel사용하서 번들링하고 vue@cli 는 익히기 번잡스럽다고 생각되어서; 사용하지 않았었는데, vue@cli 사용도 알고보면 쉽다. 알아보자 (아래 설정은 히스토리모드 (url에 # 안들어가는) 버전임)
READ ↗결국 리액트에까지 손을 대게되었다.. (어디까지가는가 나의 프론트엔드 기술스택) 어쨌든, springboot + react 를 한 프로젝트에서 사용하는 세팅방법을 알아보자
READ ↗사용자가 웹 DOM 요소들과 상호작용하는것을 이벤트라고함 리액트에서 이벤트를 사용하는방법에 대해 알아보자
READ ↗컴포넌트는 사용자가 보는 화면을 구성하는 구성요소이다.컴포넌트들은 데이터가 주어졌을때 이를 맞추어 UI를 만들어주고, 화면에서 나타날때, 사라질때, 변화가 일어날때 주어진 작업들을 처리할 수 있고,임의 메서드를 만들어...
READ ↗Python에서 proxy 설정하여 http request 날리기
READ ↗삽질후에 설치성공
READ ↗💡 Let’s Encrypt 무료 인증서는 무료답게 3개월마다 인증서를 갱신해줘야한다^^갱신하는방법을 알아보자
READ ↗도커(Docker)와 쿠버네티스(Kubernetes) 3줄정리
READ ↗아래와 같이 nginx에 특정 /path으로 인입되면 localhost:{특정포트} 로 proxy 되도록하는 설정을 많이 사용하게된다. 그런데 이 설정을 사용했더니 swagger 가 정상적으로 뜨지 않는 현상이 발생...
READ ↗A컴포넌트의 버튼을 눌러 B 컴포넌트(모달)의 이벤트를 호출하는 코드를 짰는데, 버튼누를때마다 B컴포넌트의 이벤트가 2번씩 (어쩔때는 4번씩 ㅡㅡ) 호출되는 현상이 있었다.
READ ↗일단 나는 docker로 8080 포트를 사용하는 springboot 앱을 띄운상황. (참고로 springboot app은 내장 tomcat을 was로 사용하여 뜬다) 이때 웹서버를 nginx로 사용한다고 하면, dns 나...
READ ↗코틀린 코딩을 위한 기본개념을 익혀보는 장
READ ↗셀에서 코틀린 스터디를 시작했다..
READ ↗이 장에서는 Default Method가 무엇인지, 어떻게 활용하는지 알아본다.
READ ↗1분간격인 크론잡 배치를 하루정도 suspend = true 로 해놓고 꺼놧었는데, 이후 다시 suspend = false로 변경해도 크론잡이 정상적으로 실행이 안되는 현상이 나타남.
READ ↗MvcResult를 원하는 객체로 바꾸기
READ ↗Java 8에서 새로운 날짜, 시간 라이브러리 제공 이유 사람이나 기계가 이해할 수 있는 날짜, 시간 표현 방법 시간의 양 정의하기 날짜 조작, 포매팅, 파싱...
READ ↗모든 자바개발자들이 겪고있는 NullPointerException 에러.. 자바8에서는 이를 해결하기위해 Optional이라는 새로운 선택지를 들고왔다. 어떻게 널포인트익셉션지옥에서 벗어날수있을지 알아보자.
READ ↗도메인 전용 언어 (Domain-Specific Language)
READ ↗“컬렉션 API가 없었다면 자바 개발자의 삶은 많이 외로웠을 것이다”
READ ↗병렬스트림으로 데이터를 병렬처리하는방법을 알아보자!
READ ↗최종연산 collect 를 통해 다양한 방식으로 데이터를 수집하는 연산을 수행할 수 있다. 다양한 collect 활용 방식을 알아보자.
READ ↗다양한 스트림 활용 방법에 대해 알아보자
READ ↗우리는 자바를 사용할때 컬렉션(Collection)으로 데이터를 그룹하하고 처리할 수 있다. 컬렉션으로 질의문(query)을 통해 원하는 데이터를 걸러낼수없을까? 엄청 커다란 컬렉션을 효율적으로 처리하려면 어떻게할수있을까?자바에서는 이와 같은 고민에서...
READ ↗람다 표현식에 대해 알아보자
READ ↗java8부터 지원하는 메서드를 코드에 파라미터로 전달하는 방법에 대해 알아보자
READ ↗Vue UI Library 뭐뭐있는지 알아보자
READ ↗Flask + Vue 개발환경을 구축해보자.참고로 기본적인 와꾸는 java에서 parcel+vue+springboot 세팅하는거랑 비슷해서 겹치는 설명은 다 뺐음. parcel+vue+springboot 환경설정하기
READ ↗Vue에서 컴포넌트간에 데이터를 와리가리하고싶으면 어떻게해야할까?
READ ↗java 8부터 자바에 큰 변화들이 있어왔다. 무슨 변화들이 왜, 어떻게 일어났고 우리는 이걸 어떻게 활용해야하는지 알아보자!
READ ↗java 버전이 안맞아서 mvn plugin 동작이 안해서 실패하는경우
READ ↗테스트코드와 연계되어 api 문서를 작성해주는 Spring Rest Docs를 적용하는법을 알아보자.
READ ↗코드를 작성하다보면, 외부API를 호출하는 메서드를 숱하게 작성하게된다. MockWebServer를 사용하여 이러한 메서드의 테스트코드를 쉽게 작성할수 있는 방법을 알아보자.
READ ↗vuex란?? 모든 컴포넌트가 공통으로 접근할 수 있는 전역변수를 만들어놓는것..
READ ↗Vue에서 테이블 데이터 Excel Export 하기
READ ↗여러 자식 컴포넌트로 구성된 뷰 컴포넌트를 router push하면 부모컴포넌트만 로드되고 자식컴포넌트는 그대로일때가있다. 그럴때는 아래와 같이 router-view를 설정해주면 된다.
READ ↗vue bootstrap에는 b-pagination 이라는 페이징을 도와주는 컴포넌트가 있다. 페이징 이동 버튼이라는게 못할건 아니지만 내가 구현하려면 매우 귀찮은데 이 컴포넌트 하나 쓰면 매우 쉽게 해결...
READ ↗목 객체 사용법을 알아보자
READ ↗테스트는 단지 ‘설계’의 일부에 불과하다. 좋은 단위테스트로 어떻게 리팩토링할 수 있을지 배워보자.
READ ↗에러냐 아니냐의 경계가 되는 조건을 경계조건이라고 한다.(ex. a 나누기 b의 경계조건은 b>0 )
READ ↗좋은 테스트의 조건에 대해 알아보자
READ ↗vue에서 외부 라이브러리 import하기
READ ↗테스트코드를 잘 조직하고 구조화할 수 있는 JUnit 기능을 알아보자
READ ↗junit 단언에 대해 파보자.
READ ↗TEST 개발할 때, AAA와 GWT의 차이를 알아보자
READ ↗상태값들을 enum을 통해서 관리하려고하는데 enum 사용의 국룰이 뭔지 명확치 않아 찾아보고 거기서 기본적인 내용만 정제해서 활용해보았다. 활용할때는 java enum을 검색했을때 나오는 아래 블로그들 내용을...
READ ↗springboot build 속도 향상시키는법
READ ↗MAC(OSX)에서 psycopg2 설치시 에러나는 경우
READ ↗특정 키워드를 포함하는 pod들 로그 전부 파일로 떨구는 쉘스크립트. 쉘스크립트 잘 못쓰는데 야매로 필요한 명령어만 찾아서 짜놓으니까 쓸데가 많아서 블로그에 저장해놓음.
READ ↗스트림 병렬화는 주의해서 사용해야한다
READ ↗시퀀스 리턴시 최고의 리턴 타입은?원소 시퀀스를 반환하는 API를 개발할 일이 생겼다면? 어떤타입을 반환하는 방법이 최선일까? 당연히 컬렉션으로 반환하는것이 최선이다. 왜냐면 스트림으로 처리하기를 원하는 사용자와...
READ ↗스트림은 함수형 프로그래밍에 기초한 패러다임이다. 따라서 그냥 가져다 쓴다는 생각보다는, 이 패러다임 자체를 이해해야한다. (함수형 프로그래밍의 개념에 대해서는 차후 다시 정리. 간단히 말해서는 순수한...
READ ↗java8부터 추가된 Stream API 에 대해 알아보자
READ ↗이번 아이템은 java stream을 잘 사용하는 방법에 대한 내용이다. cf. JAVA Stream API란? 참고.
READ ↗pod를 특정 nod에 한정해서 올리기
READ ↗자주쓰는 쿠버네티스 커맨드 모음
READ ↗Object이 기본 toString 메서드는 보통 클래스_이름@16진수 해시코드 를 반환함. 그러나 toString 일반규약에 따르면 간결하면서도 사람이 읽기 쉬운 형태의 유익한 정보를 반환해야한다. 또한 모든 하위...
READ ↗equals를 재정의한 클래스 모두에서 hashCode도 재정의해야함. 그렇지않으면 hashCode 일반규약을 어기게되어 HashMap이나 HashSet 의 원소로 사용할때 문제가될수있음.
READ ↗Vue 개발하면서 참고한 사이트
READ ↗Parcel + Vue + Springboot 세팅 관련 내용들을 정리해보자
READ ↗pip install {패키지명}해당 패키지 다운
READ ↗npm webpack 설치 중 에러가 날 때 해결방법.
READ ↗논문준비로 전처리하면서 유용했던 기능 시리즈1. stack overflow에 치면 바로 나오는 기능이긴 한데 차후에도 종종 써먹을거같아서 정리해놓는다.
READ ↗논문준비로 전처리하면서 유용했던 기능 시리즈2. stack overflow에 치면 바로 나오는 기능이긴 한데 차후에도 종종 써먹을거같아서 정리해놓는다.
READ ↗!! 주의) kubernetes 환경에서 helm chart로 airflow 깔았을때 설정입니다.
READ ↗메서드와 생성자 대부분은 입력 매개변수의 값이 특정 조건을 만족하길 바람. (ex. 인덱스값은 음수여서는 안됨. 객체 참조는 null이 아니어야함. 등 ) 이러한 제약은 반드시 문서화해야하며...
READ ↗재정의 하지 않는 경우 각 instance가 본질적으로 고유할때. (ex. Thread, Enum..) 논리적 동치성(logical equality)를 검사할 일이 없을때. 상위 클래스에서 재정의한 equals가 하위 클래스에도 딱...
READ ↗brew로 설치한 zookeeper, kafka 에러OSX에서 Homebrew로 설치한 zookeeper, kafka 가 계속 정상적으로 올라오지 않고 에러가났다.
READ ↗발단어느날부터 설치한 하둡의 namenode가 제대로 뜨질 않았다.
READ ↗pip install jupyterpip으로 jupyternotebook 정상 설치 후$ jupyternotebook실행했는데
READ ↗싱글톤패턴은 개인적으로 생각하기에는 개발자가 개발하면서 가장 많이 사용하게되고 가장 기본적인 디자인패턴인것같다. 싱글톤패턴에 대해 알아보자.
READ ↗docker build이미지를 빌드한다
READ ↗앞에서 배운 상속의 목적은 코드 재사용이 아니다. 상속은 타입계층을 구조화하기 위해 사용해야한다. 상속을 통해 타입 계층을 구조화하여 다형성을 구현하는 방법에 대해 알아보자.
READ ↗상속 : 부모클래스와 자식클래스를 연결해서 부모 클래스의 코드를 재사용. is-a 관계. 의존성이 컴파일 타임에 해결됨. 정적인 관계. 합성 : 전체를 표현하는 객체가 부분을 표현하는...
READ ↗유연한 설계
READ ↗잘 설계된 객체지향 어플리케이션은 작고 응집도높은 객체들로 구성된다. 때문에 객체들간 협력은 필수적이다. 협력하기 위해서는 객체끼리 서로 어떤 기능인지 알고있어야한다. 이런 다른 객체에 대한 지식은...
READ ↗불필요한 정보를 제거하고 현재의 문제 해결에 필요한 핵심만 남기는 작업을 추사오하라고 한다. 큰 문제를 해결 가능한 작은 문제로 나누는 작업을 분해라고 한다.
READ ↗객체지향 애플리케이션의 가장 중요한 재료는 객체들이 주고받는 메시지이다. 즉 추상화한 뒤 public method로 공개하여 협력을 위해 서로 호출하는 기능들이 주인공이라는 뜻이다.
READ ↗책임을 할당할때는 두가지 원칙을 따라야함 데이터보다 행동을 먼저 결정 협력이라는 문맥 안에서 책임을 결정
READ ↗Lombok의 @Data가 @Builder가 어떤 코드를 알아서 선언해주는지 알아보자
READ ↗수학이나 전산학에서 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미한다. 그렇다면 IT업계에서 이야기하는 멱등은 구체적으로 어떤것이 있을까? 가장 대표적인 예로 HTTP 메소드가 있다....
READ ↗spinnaker 란?넷플릭스에서 개발하여 오픈 소스화한 멀티 클라우드를 지원하는 CD(Continuous Delivery) Platform. 구글 클라우드, 아마존, 마이크로소프트등 대부분의 메이져 클라우드 지원 Kubernetes 나, OpenStack 과 같은...
READ ↗Helm 이란? Kubernetes 의 Package Managing Tool Python의 pip, Node.js 의 npm 과 비슷한 역할 어플리케이션을 패키징하여 Kubernetes Cluster 에 배포할 수 있도록 도와줌....
READ ↗에어비앤비에서 개발한 워크플로우 스케줄링, 모니터링 플랫폼 현재 아파치의 탑레벨 프로젝트
READ ↗sshd 에 기본포트가 잘못잡혀서..ssh 외부ip 이렇게쳤을대 자꾸 22포트가 아닌 다른포트가 잡혀서 고생을했다.\ssh로 외부접속할때 접속시도하는 기본포트 설정은 아래에있다
READ ↗우리가 k8s 환경에 배포할때 작성하는 kubernetes resource 템플릿파일.yaml 을 작성하는 방법에 대해 알아보자.
READ ↗분석해야하는 데이터에서 date index가 day of year로 되어있어서 난감하던차에.. date로 변경이 쉽게 될까 고민했는데 찾아보니 무척 쉽게 변경가능했다.
READ ↗객체지향 설계의 핵심은 역할, 책임, 협력이다. 그 중에서 가장 중요한것은 책임이다. 채임을 어떻게 할당하냐에 따라 객체지향 어플리케이션 전체의 품질을 좌우한다. 훌륭한 설계란 합리적인 비용...
READ ↗JVM 설치java 다운로드 후, 환경변수에 JAVA_HOME 추가
READ ↗Ubuntu linux 에서 port forwarding하기
READ ↗객체지향패러다임의 관점에서의 핵심은 역할(role), 책임(responsibility), 협력(collaboration)이다. 객체지향의 본질은 협력하는 객체들의 공동체를 창조하는것 이다. 객체지향 설계의 핵심은 협력을 구성하기 위해 적절한 객체를 찾고 적절한 책임을...
READ ↗내용 추가 예정
READ ↗소프트웨어 분야에서 객체와 설계에 대해 알아보자
READ ↗ubuntu linux에서 ssh port를 변경해보자
READ ↗window에 PostgreSQL 과 PostGIS 설치해보자
READ ↗Servlet은 JVM기반에서 웹 개발을 하기 위한 명세이자 API 이다. 자바를 실행하려면 JRE(Java Runtime Environment)가 필요한 것 처럼 서블릿을 실행하려면 web application container(WAS)가 필요하다. 서블릿은...
READ ↗OAuth 2.0은 다양한 플랫폼 환경에서 권한 부여를 위한 산업 표준 프로토콜. 제3의 앱이 자원의 소유자인 서비스이용자를 대신하여 서비스를 요청할 수 있도록 자원 접근 권한을...
READ ↗JPA(Java Persistence API)란 자바 객체와 데이터베이스 테이블간의 매핑을 처리하는 ORM(Object Relational Mapping) 기술의 표준. ORM은 특정 언어에 종속적인 개념이 아니라 객체와 RDBMS를 매핑시키는 개념....
READ ↗Generic type이란 데이터 타입을 아직 명시하지 않은 상태. class 안에서 사용하는 데이터 타입을 미리 정의하지 않고 class를 instance화 하는 시점에서 데이터타입을 지정해주는 방식. ex....
READ ↗DispatcherServlet이란 서버로 들어오는 모든 요청을 제일 앞에서 처리하는 Front Controller 역할. 브라우저로부터 요청이 들어오면 가장 먼저 가로채서 handler mapping, hanlder adapter를 수행하는 Dispatcher Servlet에...
READ ↗WEB과 WAS가 무엇인지, 차이점은 무엇인지 알아보자
READ ↗보통 DS(Datat Structure)가 얼마나 효율적인지 판단할때 사용하는 Runtime Analysis 방법 중, 가장 많이 사용되는것이 Time complexity(시간복잡도) 척도이다. 가장 기본이 되는 연산인 Elementary Operation이 몇...
READ ↗동기(sync), 비동기(unsync), 블락(block), 논블락(non-block)의 개념에 대해 알아보고,예시를 통해 구체적으로 이해해보자.
READ ↗Strategy Pattern 은 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다. 같은 문제를 해결하는 여러 방식(알고리즘)이 클래스별로 캡슐화 되어있고 이들을 필요할 때 교체할 수...
READ ↗Junit을 사용해 Springboot에서 기본적인 테스트코드를 작성해보자.
READ ↗@SpringBootApplication 어노테이션에 대해 알아보자.
READ ↗spring에서는 비동기처리시 @async annotation으로 쉽게 구현할수있다. java에서 thread로 구현하는것과 어떻게 다른지 알아보자.
READ ↗Rest API uniform interfaceUniform Interface(일관된 인터페이스)란, Resource(URI)에 대한 요청을 통일되고, 한정적으로 수행하는 아키텍처 스타일을 의미합니다. 이것은 요청을 하는 Client가 플랫폼(Android, Ios, Jsp 등) 에...
READ ↗spark 실행시 python 버전에러날때
READ ↗프록시패턴은 실제 기능을 수행하는 객체Real Object 대신 가상의 객체Proxy Object를 사용해 로직의 흐름을 제어하는 디자인 패턴이다. 이때 Proxy Object는 Real Object의 결과값을 조작하거나 변경하면...
READ ↗@PathVariable 보안 / 특수문자@PathVariable에 특수문자를 포함해야하는경우와, @PathVariable로 XSS 시도를 막을수있는 방법에 대해 알아보자
READ ↗출판사가 주제를 출판하면 구독자 그것을 구독하는 패턴
READ ↗OAuth2 인증방식에도 다양한 보안취약점이 존재한다. 어떤 보안취약점들이 있는지, 그리고 이를 방지할수있는 방법은 무엇인지 알아보자.
READ ↗OAuth 1.0 과 OAuth 2.0 의 차이에 대해서 알아보자.
READ ↗Mybatis $과 # 차이
READ ↗이전의 상태를 기억하고, 필요할때 그 기억을 되살려 이전의 상태로 돌릴수 있는 디자인패턴을 메멘토 패턴이라고 한다.
READ ↗람다아키텍처(lambda Architecture)에 대해 알아보자.
READ ↗대용량 스트리밍 데이터 처리 중요성이 대두되면서 메세지플랫폼 역할이 커졌다. 그중에서 최근 가장 많이 화두에 오르는 Kafka와 RabbitMQ를 비교해보자.
READ ↗Kafka의 기본개념과 속성들을 알아보자
READ ↗JVM(Java Virtual Machine)의 메모리 구조를 알아보자.
READ ↗Optional 은 존재할수도 있지만 안할수도있는 객체. 즉 null이 될 수도 있는 객체를 감싸는 Wrapper class이다. 기존 nullable 객체들의 경우 런타임에 NPE(NullPointerException) 예외를 발생시키거나 NPE...
READ ↗Java에서는 데이터를 저장하는 기본적인 자료구조들을 한 곳에 모아 관리하고 편하게 사용하기 위해 Java Collection Framework를 제공한다. 다음은 JCF의 상속 구조이며 사용 용도에 따라 List,...
READ ↗필드주입(Field Injection), setter 주입(setter Injection), 생성자주입(Constructor Inject)에 대해 알아보고 장단점을 비교해보자.
READ ↗Greedy Algorithm (Kruskal, Prim, Dajikstra)이 무엇인지 알아보고 차이가 무엇인지 비교해보자
READ ↗gradle에는 다음과 같은 다양한 의존성 옵션들이 존재한다. implementation api compileOnly runtimeOnly annotationProcessor각각 어떤 특성을 가지는지 알아보자.
READ ↗GC (Garbage Collection)이 메모리를 정리하는 과정을 알아보자.
READ ↗database에서 사용되는 index에 대해서 알아보자.
READ ↗DAO(Data Access Object), DTO(Data Transfer Object), VO(Value Object), BO(Business Object) 간에 어떤 차이가 있는지 알아보자.
READ ↗crontab 명령어crontab -e 크론탭 파일 수정, 또는 기 크론탭 파일이 없으면 신규 생성 crontab -l 크론탭에 기입된 크론 잡들 리스트 확인 crontab -r 크론탭...
READ ↗Bridge Pattern (브릿지 패턴) 이란, 구현부에서 추상층을 분리하여 각자 독립적으로 변형 및 확장이 가능하도록 하는 디자인 패턴이다. 즉 기능과 구현에 대해 별도 클래스로 구현하는...
READ ↗window azure사이트에 API 디자인지침이 잘정리되어있다.. API 디자인 지침
READ ↗보통 application을 설계하고 구현하면 서비스영역은 Service(Interface)와 ServiceImple(구현class)로 분리된다. 이유는 다음과 같다. ,
READ ↗MAVEN에서 gradle로 대세가 바뀌는 이유메이븐 대신 그레이들을 사용하는 이유는?
READ ↗Dependency Injection(DI : 의존성주입)을 사용하는 이유?
READ ↗Restful API란?Restful API에 대해 알아보자
READ ↗kafka란?linkedin에서 개발된 분산 메세징 시스템.
READ ↗AOP(관점지향프로그래밍)이란?AOP(Aspect Oreiented Programming : 관점지향 프로그래밍) 이란 무엇인가
READ ↗java의 String vs StringBuffer vs Stringbuilder 차이는 무엇일까?
READ ↗Spring Annotation 모음Spring Annotation 설명 모음
READ ↗MyBatis란?구 iBatis의 진화형. 개발자가 지정한 SQL, 저장프로시저, 고급 매핑을 지원하는 Framework.
READ ↗@MybatisTest 에서 bind 실패시mybatis 테스트코드 작성시 @MybatisTest 어노테이션을 붙였는데도 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 라고 뜨며 에러가 날때.
READ ↗MVC패턴과 스프링MVCMVC패턴과 스프링MVC패턴을 알아보자.
READ ↗mutex와 semaphore 차이점mutex와 semaphore는 동기화(syncronize)기법으로 동일 메모리 영역(자원)에 서로 다른 스레드가동시 접근할때 어떤것을 우선할지 접근 스레드의 실행 순서를 지정하는 방법이다. 두 동기화기법이 어떤 차이가...
READ ↗kafka 와 기존 메세징 시스템과의 차이점 대용량의 실시간 로그처리에 특화되어 기존 범용 메세징 시스템 대비 TPS 우수. 단, 범용 메세징 시스템에서 제공하는 다양한 기능...
READ ↗hikari CP로 MariaDB 사용하려면?
READ ↗connection pool 이란?connection을 미리 만들어서 모아놓고 재활용하는것. 동시접속자들이 연결할 수 있는 connection을 하나로 모아놓고 관리하는 개념. 미리 생성하기때문에 데이터베이스에 부하를 줄이고 유동적으로 연결을 관리할...
READ ↗CentOS Grafana 실행/종료하기sudo service grafana-server startsudo service grafana-server stop위 명령어로 실행/종료하면 된다.
READ ↗gradle build could not find tools.jar. please check that ~ 이런식으로 나오는 에러
READ ↗서블릿의 filter와 spring의 interceptor는 어떠한 URI를 호출했을 때 해당 요청의 컨트롤러가 처리 되기 전 또는 후에 작업을 하기 위해 사용된다. 그러나 Spring mvc lifecycle...
READ ↗springboot annotation @Component와 @Bean 차이
READ ↗Spring batch 배치서비스 개발Spring batch로 배치서비스를 개발해보자
READ ↗kibana로 elasitcsearch에 import한 데이터 시각화하기
READ ↗grafana로 influxDB에 넣은 데이터들을 시각화할 수 있다.
READ ↗ELK(Log stash + Elastic Search + Kibana) 이해하기
READ ↗ELK(elasticsearch + kibana) 에 csv 데이터 넣기.찾아보니 kibana 내에 있는 File Data Visualizer 라는 기능으로 매우 쉽게 구현이 가능하다.influxDB + grafana의 경우에는 telegraf를 이용하거나...
READ ↗DevToolsActivePort file doesn’t exist 에러를 해결해보자.selenium.common.exceptions.WebDriverException: Message: unknown error: DevToolsActivePort file doesn't exist
READ ↗CentOS7에 ELK(logstash + elastaic search + kibana)를 설치해보자
READ ↗selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary 에러가 나는 경우
READ ↗Spring FrameworkSpring은 객체관리를 해주는 빈 컨테이너 프레임워크다. 컨테이너 프레임워크? 무엇을 의미하는지 무척 모호하지만 말 그대로, 많은 양의 화물을 관리하는 컨테이너를 생각해보면 이해가 쉽다. 화물선에...
READ ↗Framework 개요 Framework가 무엇이고 Framework 사용시의 장점이 무엇인지 알아보자.
READ ↗의존성 주입 (DI : Dependency Injection)
READ ↗windows환경에서 telegraf 설치하고 사용해보자
READ ↗Spring xml 설정Spring xml 설정에 대해 알아보자
READ ↗Spring Container Loading 순서를 알아보자
READ ↗CentOS7 고정아이피로 바꾸기
READ ↗window환경에서 kafak 구축하기
READ ↗window서버에서 D드라이브가 갑자기 사라진 경우
READ ↗MAVEN 이란? Apache에서 개발한 자바 프로젝트의 빌드 자동화 도구
READ ↗context란 무엇인가
READ ↗vscode 설치하기
READ ↗user snippet이란스니펫이란 재사용 가능한 소스 코드를 의미한다.즉, 자주 쓰는 코드를 저장해두고, 필요할 때마다 별칭을 통해 불러올 수 있다.
READ ↗twitter developershttps://developer.twitter.com/en트위터 개발자센터다. twitter id가 있다면 로그인하면 된다.
READ ↗객체지향 SOLID 다섯가지 원칙을 나름대로 정리해보려고 한다. 공부하면서 느낀건데 단순 설명보다는 역시 예제코드가 있어야 이해가 빠르게 되더라. 이에 각 원칙 별 설명과 예제코드를 첨부한다....
READ ↗R Studio 사용하면서 생길수있는 문제 및 해결방법 모음
READ ↗python 프로그램 exe 로 말기
READ ↗stdout과 log (logger.log)를 저장하는방법이 다르다. 몰랐는데 stdout은 그냥 리다이렉트해도되지만logger.log는 콘솔 출력내용을 파일로 떨구는 처리를 해줘야한다.
READ ↗linux user가 사용하는 환경변수 및 단축키 등을 profile을 수정하여 적용할 수 있다.
READ ↗java 7 Connection reset Error
READ ↗기본클래스 을(를) 찾거나 로드할 수 없습니다
READ ↗influxDB를 window에 다운받고 설치해본다.
READ ↗influxDB를 CentOS에 다운받고 설치해본다.
READ ↗Grafana를 Window/CentOS에 다운받고 설치해본다
READ ↗디자인 패턴 개요
READ ↗CentOS 7버전에 python 3.6버전 설치하기
READ ↗Anaconda + Pycham으로 python 개발환경 구성하기
READ ↗Anaconda 설치 후 prompt 실행시 오류
READ ↗ANACONDA 기본 명령어 모음
READ ↗문제점 및 에러메세지Cent os에서 방화벽이 막혀있지 않은데 yum이 실행이 안되는경우 [Errno 12] Timeout on http://10.6.12.28/centos-openstack-ocata/repodata/repomd.xml: 등의 에러 발생
READ ↗window NT 서버 원격접속이 안될경우mstsc로 서버 원격접속 시도시 error : 인증 오류가 발생했습니다. 요청한 함수가 지원되지 않습니다. 원격 컴퓨터 : {IP}
READ ↗svn commit 에러Svn commit 시도 시 아래와 같은 에러 메시지가 뜸 svn: E200007: CHECKOUT can only be performed on a version resource
READ ↗Path param : {url}/users/123 형태Not found시, 404 error를 내려주길 원할때
READ ↗Local에서 Debug 모드로 서버 실행 시 ‘Unable to install breakpoint ~’ 에러 발생
READ ↗Jeus 배포시 에러
READ ↗JEUS 클러스터 설정/배포방법
READ ↗R / R Studio 다운로드 방법
READ ↗