Skip to content

Instantly share code, notes, and snippets.

@lhy880518
lhy880518 / myTomcat.md
Last active April 14, 2019 00:35
톰캣은 무엇인가?

Java Technology Platforms

  • 자바를 특정 환경에서 실행하기 위한 기술

Java Micro Edition(JME)

  • 모바일 환경에서 실행하기 위해 특화된 기술

Java Standard Edition(JSE)

  • 가장 널리 쓰이는 자바 API집합체

Java EnterPrise Edition(JEE)

  • 자바를 이용한 서버측 개발 플랫폼
  • 구성요소
  • Servlet : 클라이언트가 보내는 HTTP 요청을 처리하는 서버측 자바 프로그램이며, Servlet 엔진이 있어야 합니다.
@lhy880518
lhy880518 / lambdaIssue.md
Created April 15, 2019 00:01
Aws Lambda 소스관리 이슈 해결

Lambda사용관련 소스관리 이슈

현황

  1. 현재 Lambda를 바라보는 인스턴스는 로드밸런서 처리를 위해서 두개씩 띄워져 있다.
  2. 둘다 하나의 Lambda를 바라보기에 배포처리에 안정성을 확보하지 못한다.

해결제시

  1. 로드밸런서 수정
  • gateway, lambda를 각각 하나 더 만든다
  • lambda를 바라보는 인스턴스에 존재하는 웹서버인 nginx에서 각기 다른 gateway를 바라보게 수정한다.
@lhy880518
lhy880518 / difStr.md
Last active April 16, 2019 15:08
String, StringBuilder, StringBuffer

My Case

우리는 문자열을 쓴다. 문자열 변수로는 String을 99퍼센트 정도 써왔던거 같다. 그렇게 아무생각없이 써대니까 기본을 모르는것이다. 쓰더라도 알고쓰는 습관을 가지자.

String vs StringBuffer

StringBuilder는 JDK 1.5에서 추가되었다. 따라서 String 과 StringBuffer를 먼저 비교하도록 해보자

  • String은 immutable 클래스이다.
  • 클래스가 가지고 있는값은 오직 생성자에 의해서만 생성될 수 있다.
@lhy880518
lhy880518 / whatIndex.md
Last active March 24, 2021 14:42
What is Index???

정의

  • 인덱스(영어: index)는 데이터베이스 분야에 있어서 테이블에 대한 동작의 속도를 높여주는 자료 구조를 일컫는다. 인덱스는 테이블 내의 1개의 컬럼, 혹은 여러 개의 컬럼을 이용하여 생성될 수 있다. 고속의 검색 동작뿐만 아니라 레코드 접근과 관련 효율적인 순서 매김 동작에 대한 기초를 제공한다. 인덱스를 저장하는 데 필요한 디스크 공간은 보통 테이블을 저장하는 데 필요한 디스크 공간보다 작다. (왜냐하면 보통 인덱스는 키-필드만 갖고 있고, 테이블의 다른 세부 항목들은 갖고 있지 않기 때문이다.) 관계형 데이터베이스에서는 인덱스는 테이블 부분에 대한 하나의 사본이다.

역할

  • 데이터를 조회할 때 빠르게 접근하도록 도와주는것
  • 튜닝시에 가장 큰 효과를 볼 수 있는 부분도 인덱스이다.

인덱스의 개념

인덱스의 개념

  • 위의 예시는 폭포수 모델이라는 단어를 찾을때 원래 첫번째 페이지 부터 찾아야 하는데(FULL SCAN) 책 맨 뒷부분의 찾아보기 페이지를 사용해서 찾으면
@lhy880518
lhy880518 / SpringBeaninit.md
Created April 30, 2019 09:41
Spring Bean의 라이프 사이클과 초기화 메소드는 뭐가 있을까??

초기화 메서드

초기화 메서드는 빈 Object가 생성되고 DI작업까지 마친다음 실행되는 메서드 이다. 기본적으로 Object의 초기화작업은 생성자에서 진행하지만 DI를 통해 빈이 주입된 후에 초기화할 작업이 있으면 초기화 메서드를 이용해서 초기화를 진행하면 된다.

InitializingBean

@Service
public class LifeCycleTest implements InitializingBean {
@lhy880518
lhy880518 / backupChina.md
Created May 1, 2019 03:51
중국 데이터 베이스 복구 내역

개요

중국 DB업데이트 실수

해결방법

  • 과거 시점의 DB를 local에 엎어서 맞는 데이터를 찾아보자(공짜)
    • aliyun 접속 → RDS → Backup and Recovery → 원하는 날짜의 DOWNLOAD 클릭 → tar파일 받아서 풀면 해당 시간의 데이터들이 존재한다.
    • .ibd, .frm파일만 존재한다. 해당 파일을 로컬에 엎어보자
    • local에 mysql 설치
  • workbench를 통해서 local Db접속
@lhy880518
lhy880518 / website.md
Last active May 12, 2019 14:55
WebSite가 어떻게 보여지는지 아시는대로 설명해보세요
  • 면접질문에 이게 나왔다. 아는대로 이야기 했지만 아쉽다는 느낌을 지울 수가 없었다. 복기하자..

웹의 동작 방식

  1. 브라우저는 DNS 서버로 가서 웹사이트가 있는 서버의 진짜 주소를 찾습니다 (여러분이 상점의 주소를 찾습니다).
  2. 그 다음 브라우저는 서버에게 웹사이트의 사본을 클라이언트에게 보내달라는 HTTP 요청 메세지를 서버로 전송합니다.(상점으로 가서 상품을 주문합니다.) 이 메세지, 그리고 클라이언트와 서버 사이에 전송된 모든 데이터는 TCP/IP 연결을 통해서 전송됩니다.
  3. 이 메세지를 받은 서버는 클라이언트의 요청을 승인하고, "200 OK" 메세지를 클라이언트에게 전송합니다. "200 OK"는 "물론이죠. 당신은 웹 사이트를 볼 수 있어요! 여기 있어요" 라는 의미입니다. 그 다음 서버는 웹사이트의 파일들을 데이터 패킷이라 불리는 작은 일련의 덩어리들로 브라우저에 전송하기 시작합니다.(상점은 여러분이 주문한 상품을 전달하고, 여러분은 그것을 집으로 가져갑니다.)
  4. 브라우저는 이 작은 덩어리들을 완전한 웹 사이트로 조립하고, 당신에게 보여줍니다. (상품이 당신의 문에 도착합니다. — 새 것이죠, 멋져요!)

브라우저의 필요성

  1. 브라우저 실행
@lhy880518
lhy880518 / dnsServer.md
Last active May 8, 2019 10:01
DNS서버는 어떻게 동작하는걸까

DNS서버는 어떻게 동작하는걸까?

DNS서버 IP를 확인하자.

  • 윈도우의 경우 ipconfig /all 명령을 사용하고, mac의경우 그냥 시스템환경 설정가서 DNS 서버 라는 항목을 보면 확인이 가능하다.

어떻게 동작하는걸까?

Netmanias 2011 12 12-DNS_Basic

  1. 브라우저에 www.naver.com을 입력합니다. 그러면 제 PC에 설정되어져 있는 DNS서버(Local DNS)에게 IP주소를 물어봅니다.
  2. Local DNS에는 www.naver.com에 대한 주소가 있을 수도 없을 수도 있습니다. 만약 있다면 Local DNS가 바로 PC에 IP주소를 주고 끝납니다.
@lhy880518
lhy880518 / springsecurity.md
Created May 19, 2019 23:42
Spring Security의 기본

개요

웹 보안의 3요소

  1. 인증 : 애플리케이션의 작업을 수행할 수 있는 주체. 현재 접속중인 사용자가 누구인지 확인하는 과정
  2. 권한 인가 : 인증된 주체가 애플리케이션의 동작을 수행 할 수 있도록 허락되었는지 증명하는 과정. 현재 사용자가 특정 URL에 접속할 권한이 있는지 검사하는 과정
  3. UI처리 : 권한이 없는 사용자가 접근할 경우의 에러 화면 등을 보여주는 과정

스프링 시큐리티

  • 개발자가 직접 처리하던 보안 과정을 스프링 프레임워크에서 제공하는 스프링 시큐리티를 사용하여 사용권한 관리, 비밀번호 암호화, 회원가입 처리, 로그인, 로그아웃 등의 웹 보안 관련 기능 개발을 쉽게 처리 할 수 있음.
@lhy880518
lhy880518 / schedule.md
Last active May 23, 2019 23:43
추가 예정 사항