전체 글 777

[ Node.js ] 비동기 프로그래밍 동작 구조

Node.js란? ~ javascript 코드가 callback 패턴을 사용한다.async & await 사용법 function 앞에 async를 붙여주고 비동기 처리르 위한 부분에 await를 붙여준다. await은 내 메소드의 실행을 일시중지 시킨다. promise의 값이 사용가능 할 때까지. 주의할 점 await가 붙은 비동기 처리 함수는 반드시 Promise를 반환해야 한다. https://to2.kr/bVA async 함수는 promise를 리턴하고, 모든 await 함수는 일반적으로 promise가 된다. https://to2.kr/bVB 비동기 함수가 저절로 wait하지 않는다. 반드시 await해야 한다. 하지 않는다면 예상한 값 대신에 promise 객체를 받게 될 것이다.

IT 유용한 정보 2021.01.04

[ java ] 자바에서 SHA256으로 hashing 하는 방법

// SHA-256으로 해싱하는 메소드 public static String sha256(String msg) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance("SHA-256"); md.update(msg.getBytes()); return bytesToHex(md.digest()); } // 바이트를 헥스값으로 변환한다 public static String bytesToHex(byte[] bytes) { StringBuilder builder = new StringBuilder(); for (byte b: bytes) { builder.append(String.format("%02x", b)); } return..

Java 2020.12.30

git merge, branch 병합 참고

feature/study branch를 아직 삭제하지는 않음. itlab에서 branch를 생성하면 git bash에서 확인이 되지 않고, gitbash에서 생성하고 gitlab에서 확인했더니 확인 되지 않음.결론 : gitbash에도 branch를 생성하고, gitlab에서도 생성하고 commit 후 push를 해보니 정상 작동. 추가 테스트를 통해서 어떻게 만들어지는건지 정확하게 파악해보기. git bash에서 작업하기 feature/study branch를 develop으로 병합(Merge) Merge commit은 기본(다량의 commit 그대로)이 아닌 1개의 commit으로 묶어서 feature/study branch를 삭제 feature/signup branch 생성(develop을 따르는)..

IT 유용한 정보 2020.12.29

[ java ] Spring Boot, 용도별 ExceptionController를 1개로 병합(파일 생성)

용도별 ExceptionController를 1개로 병합(파일 생성) 용도별 ExceptionController 3개(ExceptionJsonMessageController, ExceptionParameterMissingController, ExceptionRequestMethodController)의 기능 중복으로 ExceptionController를 1개로 최소화. 중복되는 코드는 Utils에 구현. @RestControllerAdvice public class ExceptionController { JsonObject jsonResult = new JsonObject(); @ExceptionHandler(MissingServletRequestParameterException.class) protec..

IT 유용한 정보 2020.12.28

[ java ] TDD, JUnit 5 사용법 기초 2 및 오류 해결 방법

@BeforeClass 테스트 클래스 시작 시 한번만 수행생성자 테스트 케이스 시작 전 호출 (@Before/@After 이외에도 생성자도 호출이 되는 걸 인지하자)@Before 테스트 케이스 시작 전 호출 테스트 값/상태 준비@Test 테스트 케이스 @After 테스트 케이스 종료 후 호출 테스트 후 정리@AfterClass 모든 테스트 케이스 완료 후, 테스트 클래스 종료 전 수행 핵심 메소드 assertEquals : 두개의 객체가 같은지 확인 assertTrue/assertFalse : Boolean 결과값 확인 assertNotNull : 객체가 Null이 아닌지 확인 assertArrayEquals : 두 배열의 값이 같은지 확인 JUnit 5 = JUnit Platform + JUnit Ju..

JUnit 5 2020.12.26

[ java ] TDD를 위한 JUnit 5 사용법 기초 1

assertThat, is 메서드 사용시 필요한 import import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; 위의 import 외의 것으로 실험해본 결과 노란색 줄로 경고가 뜨거나 실행이 되지 않음. assertThat 사용 예시 package com.sbs.khr.test.domain; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; import org.junit.jupiter.api.Test; class MyFirstJUnitJupiterTestsTest..

JUnit 5 2020.12.26

[ java ] TDD; 테스트 주도 개발 간단한 설명, JUnit

TDD ( Test Driven Development) 테스트 주도 개발 목표 주도 개발 사용자 중심 개발 인터페이스 중심 개발 TDD 사용 이유 ( 올바르게 작동하는 깔끔한 코드를 작성하기 위함 ) 목표 달성 올바르게 작동하는 코드 작성 깔끔한 코드 작성 How to 올바르게 작동하는 코드를 만든다. 깔끔하게 작동하는 코드로 Refactoring 한다. 작동하는 것은 그대로 두고 내부 구현, 코드만 바꾸는 것을 의미한다. 올바르게 작동한다는 것을 보장할 수 있는 Test Code가 필요하다. Test Code를 언제 작성할까? Test First : Test Code를 제일 먼저 작성하자는 것이 '테스트 주도 개발'의 주요 핵심이다. 간단한 3가지 과정을 거쳐서 실행된다. TDD 사이클이..

Java 2020.12.26

자바에서 XSS 대응 방법 ( naver/lucy xss filter 라이브러리 사용법)

pom.xml에 dependency 추가 com.navercorp.lucy lucy-xss-servlet 2.0.0 lucy-xss-servlet-filter-rule.xml 파일 추가 xml 파일 위치 : src/main/resources 폴더 하위에파일명 : lucy-xss-servlet-filter-rule.xml xssPreventerDefender com.navercorp.lucy.security.xss.servletfilter.defender.XssPreventerDefender xssSaxFilterDefender com.navercorp.lucy.security.xss.servletfilter.defender.XssSaxFilterDefender lucy-xss-sax.xml false x..

IT 유용한 정보 2020.12.25

Git - ( local / remote ) branch 사용법 정리

Git 명령어 Fetch -> 리모트 저장소에 있는 모든 데이터를 로컬로 가져옴. Git branch [브랜치명] => 새로운 브랜치 생성 Git checkout [브랜치명] => 브랜치 checkout(다른 브랜치로 이동) Git commit => ———> 한줄로 git checkout -b newData Git local branch 생성 , branch 이동 생성 : git branch [브랜치명] 생성 후 이동 : git checkout -b feature-01 Git remote branch 생성 git push origin feature-01 branch local remote 연동 git branch --set-upstream-to origin/feature-01 Git branch 삭제하기..

GIT, github, gitlab 2020.12.25

인터셉터(interceptor)란?

interceptor란? 특정 URI로 요청시 Controller로 가는 요청을 가로채는 역할을 한다. interceptor와 JSP Filter의 차이? 공통점 둘 다 Controller로 들어가는 요청을 가로채 특정 작업을 하기 위한 용도로 사용된다. 차이점 케어할 수 있는 영역(범위)가 다르다. Filter는 같은 웹 어플리케이션 내에서만 접근이 가능하며, interceptor의 경우 스프링에서 관리되기 때문에 스프링내의 모든 객체에 접근이 접근이 가능하다. JSP Filter의 경우 주로 한글처리에 이용되고 interceptor의 경우 로그인 처리에 이용이 된다. interceptor는 왜 로그인 처리에 이용되는가? 만약 인터셉터를 이용하지 않고, 로그인 처리를 한다면, 게시물 작성, 수정, 삭제..

IT 유용한 정보 2020.12.23

listener란?

# 리스너란? (listener) - 리스너는 단어의 뜻으로 보자면 (소리를)듣는 사람, 청취자이다. 프로그래밍에서의 리스너는 무언가 소리를 듣는 사람을 뜻하기 보다는 ``` 특정 이벤트(특정한 사건)가 발생하기를 '귀 기울여' 기다리다가 실행되는 Component(메서드나 함수)를 말한다. 리스너는 이벤트가 발생함과 동시에 특정 행동을(메서드나 함수를 실행)하는데, 이것을 이벤트 핸들링이라고 한다. 따라서 리스너를 이벤트 핸들러라고 부르기도 한다. ```

IT 유용한 정보 2020.12.23
728x90
반응형
LIST