본문 바로가기

분류 전체보기

(56)
인코딩, Charset, base64, 아스키 용어 정리 필수 지식 ✔ 컴퓨터는 문자를 읽을 수 없다 -> 01010110 등과 같은 이진법 숫자를 읽을 수 있다 ( 0과 1 데이터는 이진데이터, binary data 라 불림, 모든 data는 바이너리 데이터) -> 따라서 우리가 컴퓨터를 가운데 두고 문자를 주고 받을 때에는 문자를 이진법 숫자에 매칭시켜서 컴퓨터한테 줘야한다. 1. 인코딩 (encoding) 아주 넓게 얘기하면 데이터를 변환하는 것이다. 좁게 얘기하면사람이 읽을 수 있는 데이터를 컴퓨터가 읽을 수 있는 부호로 전환해주는 것이다. (각 분야마다 정확한 뜻은 다르고 변환한다는 뜻은 같다.)🤷‍♀️ 2. 디코딩 (decoding) 디코딩은 인코딩의 반대 개념이다. 3. Charset charset은 인코딩 규칙(프로토콜)이다, 어떤 이진수 숫자가..
멀티쓰레드 Test code 작성 및 동기화 방법 동시성 공부 중, 테스트코드를 작성하면서 새로 사용한 java 라이브러리 정리✨ !! 1. 멀티쓰레드를 구현해주는 ExecutorService code -> ExecutorService executorService = Executors.newFixedThreadPool(int Threads); (FixedThreadPool은 고정된 개수를 가진 쓰레드풀이다) 2. 다른 스래드에서 수행중인 작업을 완료될때까지 대기하도록 도와주는 CountDownLatch CountDownLatch latch = new CountDownLatch(threadCount); 사용 예제 @Test public void 동시_80개의_요청() throws InterruptedException { int threadCount = 8..
도커, 간단한 명령어 정리 중 도커는 응용프로그램을 컨테이너 단위로 쉽게 관리하기 위해 사용된다. 도커는 리눅스 기반으로 돌아가기 때문에, 맥os 또는 윈도우 유저는 가상환경에 리눅스를 구축하여 그 위에서 도커를 실행시킬 수 있다 (홈페이지에서 자기 os에 맞는 프로그램 설치하면 간단히 사용가능). 도커 공식홈페이지에서 developers 의 docs 에서 다운로드 버튼 후 윈도우용 도커를 받아서 설치 후, cmd에 명령어를 통해 도커를 사용 할수 있다 도커 명령어 (cmd) docker images -> 도커 설치 확인 및 깔려있는 image 확인✨ docker pull httpd -> acahce 웹서버 설치(도커 허브에서 httpd는 apache 웹서버를 의미) docker run [OPTIONS] IMAGE [COMMAND] ..
jwt 토큰 정의 및 구조 (간단히) 사용 이유 : jwt를 암호화하여 비밀을 제공 할 수도 있지만, 핵심은 서명된 토큰이 중점이다. 구조: header.payload.signature (xxxxxx.yyyyyy.zzzzzz) 값은 base64 인코딩되어있음 ex) header -> { "alg" : HS256, "typ": "JWT"} 와 같은 데이터가 base64 인코딩 header는 서명 알고리즘이 들어감 payload는 등록된 클래임, 개인 클래임 등의 값으로 이루어짐 등록된 클래임(필수는 아님) : iss(발행자), exp(만료 시간), sub(주제), aud(청중) 등 기타 개인클래임 : 당사자간에 정보를 공유하기 위한 데이터 (유저네임 등) signature 는 위에 header, payload와 내 secret key를 암호화..
프록시 팩토리 복습 중~ 프록시 팩토리- 스프링에서 동적프록시(JDK 동적프록시, CGLIB)을 통합해서 편리하게 사용하게끔 제공해준 템플릿✨ 인터페이스가 있으면 JDK 동적프록시 사용, 구체클래스면 CGLIB을 사용하여 동적 프록시 생성을 함, 설정 가능 인터페이스, 클래스에 따라 프록시 팩토리에서 adviceInvocationHandler( JDK 동적프록시), adviceMethodInterceptor(CGLIB)를 사용하여 advcie를 호출함 advice 생성 방법 👀 - MethodInterceptor(aopalliance 패키지)을 implments 하여 부가 로직을 작성하고 invaction.proceed()로 프록시 대상이 될 실제 객체 로직을 호출하면 된다. proxyFactory 생성방법 👀 - proxyFa..
CSS 기초 정리 선택자 자손선택자 .class1 .class2 {} < 클래스1 안에있는 클래스2 선택 다중선택자 .class#id {} < 해당클래스, 해당 id 다 가진 요소만 선택 전체 선택자 * {} < 전체 선택 그룹 선택자 .class1, .class2 {} 여러 클래스 동시에 선택 가상 클래스 선택자--------------------------------------------------------- first-child .box p:first-child {} 3fr 1fr 1fr viewPort breakPoint mobile 0 ~ 767px Tablet 768px ~ 1023px PC 1024px ~ 1439px PC Large 1440px ~
git 명령어 정리중 git 명령어 정리~~ git + 명령어 + 옵션으로 이루어짐 git config --global core.editor "code --wait" < - vs코드로 파일열게되면서 파일 닫기 전까진 command consoloe에 입력 불가능 git config --global -e < 현재 설정 정보를 볼 수 있음 git config --global user.name "choi" < 유저 네임 설정 git config --global user.email "choi@naver.com" < 유저 이메일 설정 git config user.name < 현재 네임 git config user.email< 현재 이메일 git config --global core.autocrlf true < 윈도우는 true, mac..
221122 메모장 오전에는 비대면 사업자인증서 발급서비스 테스트를 요청 받아 테스트 진행을 하였다. 결제까지 실제로 진행을 하였고 198000원은 내일 환불 받을 예정이다.. 몇 가지 문제들이 보였는데, 모바일 신분증 확인에서 이미지가 깨진다거나, 웹이 어떤 특정 구간 크기일 때 버튼이 안눌린다거나, 기본적으로 작은화면 일때 글자가 배열이 많이 깨지는 것 같다. 궁금한건 우리 연구본부에서 만든 웹이 아니여서, 이게 어느팀에서 만든건지 잘 모르겠다. 우리 회사가 만든건지 외부업체에 맡긴건지 조차 말이다. 점심에 커피를마시면서 사전과제,코테 얘기가 나왔고 얘기 중에 동시성 문제가 나와서 트랜잭션에 대해서 조금 더 공부하고자 인프런 강의를 다시 찾아들을예정이다. @Transactional 이 어디까지 해주는지가 잘 기억이 나지..

728x90
반응형