분류 전체보기

Web

Validation(유효성 검사) 백-프론트 통합 검증 모듈 구현 (Spring-React)

유효성 검사는 어디서 해야 할까, 백엔드? 프론트엔드? 프론트에서만 유효성 검사를 하면, 개발자 도구(Postman과 같은) 로 요청 시 검사 되지 않는다. 백엔드에서만 유효성 검사를 하면, 엔드유저들의 오입력을 미리 쳐내지 못하고 전부 서버로 콜 하기 때문에 부하 문제와 연결된다. 정답은 둘 다 해야 한다. 프론트는 프론트대로 자바스크립트를 사용해서 아래와 같이 유효성 검증을 한다. function check(email,password) { var emailCheck = '[a-z0-9]+@[a-z]+\.[a-z]{2,3}'; if(emailCheck.test(email)){ alert('이메일 형식이 올바르지 않습니다.'); } if(password.length < 8) { alart('비밀번호는 8..

Book Review

웹 개발자를 위한 대규모 서비스를 지탱하는 기술(읽는중)

1장 단어 정리 - 회선 : 데이터를 전송하기 위한 통로 - Mbps : 회선(대역폭)의 사용량 단위 - 스케일 아웃(scale-out) : 저가의 하드웨어를 늘려 부하를 분산하는 방법 - 스케일 업(scale-up) : 하드웨어의 성능을 높여 처리능력을 끌어올리는 방법 - 미들 웨어 : 서로 다른 애플리케이션이 서로 통신하는 데 사용되는 소프트웨어 요약 - 대규모 웹 서비스는 높은 트래픽과 데이터량에 대처하기 위해 확장성, 부하분산, 효율적 운용에 대해 고려해야한다. 2장 단어 정리 - 라우터 : 네트워크 사이를 연결해주는 장치 (ref https://i5i5.tistory.com/455) - 병목현상 (bottleneck) : 병의 목 부분처럼 갑자기 좁아지는 것을 비유하여 나타낸 말. (교통 정체 ..

Java/Standard

break 와 continue의 차이

결론부터 말하자면, break문은 break; 를 적어준 곳에서 해당 조건문 블록과 그 밖의 반복문 자체를 탈출한다. continue문은 해당 조건문 블록을 탈출하여 아래 명령문은 실행하지 않고, 다음 반복문 실행절차를 수행한다. 아래에서 좀 더 자세히 반복문을 탈출하는 break 문과 조건문을 탈출하는 continue 문에 대해 알아보자. break 와 continue 를 이용하면 개발자가 본인 임의로 반복문의 실행 흐름을 제어할 수 있다. break문 switch~ case 문에서 break문은 case의 실행문 수행 후 바로 해당 switch 블록을 빠져나가는 역할을 했다. 반복문에서도 마찬가지로 해당 블록을 빠져나하는 역할을 하며, break가 속한 반복문을 탈출한다. 다음 예시를 보자. 반복문은..

Java/Standard

BufferedReader의 readLine() 은 왜 throws Exception 해주어야할까?

위와같이 main 에 throws Exception 해주지 않거나 try-catch 로 예외처리 하지 않으면 readLine() 메서드에 에러가 나는 이유가 갑자기 궁금해져 집요하게 파보았다. 사실 이런건 왜 발생하는가 보다 발생했을때 어디서 어떻게 처리할까 를 중점으로 고민하는것이 좋지만 어쩔수 없는 성격상 피치 못하게 파헤쳐 보게 되었다..ㅎㅎ 일단 IOException은 checkedException 이기 때문에 반드시 예외처리를 해야한다. readLine() 을 까보았다. 일단 리턴타입이 boolean 이다. synchronized(lock) 은 쉽게 동시에 호출되는것을 막아주는 메서드인데, lock을 걸고 한번에 한 사용자만 readLine 메서드에 접근해서 InputStreamReader가 열..

Java/Standard

Scanner.nextInt() / nextLine() 오류 : 두가지 해결방법

다음은 Scanner 프로그램을 구현하다 발견한 오류이다. 두가지 해결 방법을 찾았다. 오류 코드 예시: 오류 원인 : Scanner.nextInt() 메소드가 사용자가 입력한 enter(개행문자) 를 제거하지 않기 때문이다. 사용자는 콘솔창에 숫자입력 후 enter를 누르는데, 이때 nextInt() 가 숫자는 입력받고, 개행문자는 제거하지않은 채 그대로 남겨둔다. 남겨진 개행문자가 다음 scan.nextLine() 의 입력으로 처리되어 곧바로 개행되고, 위와같이 출력된다. 오류 해결 방법 : 해결방법 1 - scan.nextInt 후 scan.nextLine() 하기 전, scan.nextLine() 을 한번 더 작성하여 개행문자 제거 해결방법 2 - scan.nextLine() 로 읽어들인 후 In..

Java/Standard

반복문 : while 과 do~while

while while문은 for문과 같은 반복문이지만 구성요소의 배치가 다르다. while문은 비교적 형태는 간단하다. 형식은 다음과 같다. 변수 선언및 초기화; while ( 조건식 ) { 실행문 ; } for문에서 했던 0부터 100까지 출력하는 동일한 반복문을 while문으로 작성해보았다. while문은 위와같이 반복 수행할 변수를 while 문 위에 선언하고 초기화한다. 그리고 while문 괄호 안에는 조건식만 존재한다. 증감식과 실행문은 블록안에 작성한다. 실행 흐름은 다음과 같다. while 문의 실행흐름은 for 문과 거의 비슷하다. 1 에서 변수를 i 를 선언하고, 0으로 초기화했다. i = 0 인 상태로 while문에 진입한다. 2 에서 i 가 조건식 i

hyeindev
'분류 전체보기' 카테고리의 글 목록