본문 바로가기

분류 전체보기202

Validation, Data binding Validation -> 유효성 검증 사용자, 혹은 서버의 요청을 받는 서버에 관련하여 . 잘못된 내용이 있는지 확인한다. 데이터 검증 . 데이터 하나하나를 확인. 필수 데이터의 존재 유무, 문자열 길이, 값의 범위 , email , 신용카드같은 형식에 따른 데이터 비지니스 검증 . 결재 잔액은 충분한가? db의 데이터까지 조회, 검증 . -> 반드시 분리되는 개념이진 않음 . Spring 의 Validation Java Bean Validation -> javabean은 데이터를 쉽게 넣었다 뺴는 단순 구조의 class. 개별 데이터를 검증하기 . name , age , email등의 변수가 있는 user class . public class MemberCreationReqeust { @NotBlank.. 2023. 12. 26.
기초 2장 -> 객체 지향 6장. 클래스란? 객체를 정의한 것. 객체는 실제로 존재하는 것. class- > 인스턴스화 인스턴스(객체). 각 객체의 string color(내부에 있는 변수) or void power() (내부 메서드) 이들을 멤버라고 한다. TVCLASS tv = new TV(); TV.CHANNEL = 7; TV.CHANNELDOWN() //내부 메서드 사용 SOUT(간단하게표현) (TV.CHANNEL); 변수 인스턴스변수 -> 각 인스턴스마다 개별적인 저장공간, 생성후 Variables.iv로 접근 가능 class 변수 (static) -> 같은 class의 모든 인스턴스가 공유. class loading시(가장 먼저 생성). 지역변수 -> 지역 블럭을 벗어나면 소멸 . Method main도 class로, .. 2023. 12. 26.
기초 1장 (두번 다시 복습할 시간이 없을 것 같아, 마지막으로 복습을 진행한다) 1 변수 문자 char , 숫자 정수는 byte long, int short. 실수는 float, double. 논리 boolean 그중 기본형은 boolean,char,bye,short,int,long,float,double. -> 실제 값을 저장한다 system이나 string과 같은 나머지들은 참조형으로써, 객체의 주소를 저장한다. int score; score =100; // int score = 100; STring str = new String("abc") ; -> string은 참조형 명명규칙 -> 협업시 주의 . 1. 대소문자 구분, 2. 예약된언어 true등 사용 불가 3.숫자 시작 710 불가능 4. _와 $만 명명.. 2023. 12. 26.
AOP 관점 지향. 특정 함수 호출 전, 후에 공통적인 처리를 위한 것. 특정 타이밍에서만 원하는 작업을 넣어주고 싶을때 사용한다. 즉. 공통적이지만 모든 곳에 공통적이지 않은 logging->특정 부분에 상세 로깅하고 싶을때. Transaction -> 내부적으로 aop 기법을 사용해서 , 시작과 끝 지점 처리. 인증 -> 특정 영역 사용을 위한 인증. 주로 LOGGING(시간재기나 등등)LOCK,인증 등에서 사용한다. AOP사용의 단점? 코드 분석을 어렵게 하는 단점이 있고, 보수적으로 사용하는 것은 어떨까 제안 . Aspect -> 특정 관심사를 모듈화 한것. Advice- > 실제 적용 기능. 로깅, 트랜잭션등의 기능 join point-> 프로젝트의 진행중, AOP를 넣어줄 수 있는 포인트. POINT.. 2023. 12. 25.
JAVA- spring, spring boot/ BEAN 객체 지향적 프로그래밍의 장점? -> 비즈니스의 모습을 그대로 표현할 수 있는 장점이 매력적 C++도 마찬가지. JAVA는 JVM(가상머신)위에서 작동하기 때문에, 여러곳에서 즉시 사용될 수 있다. SPRING은 , 주로 JAVA를 생각하지만, 코틀린과 같은 언어로도 개발할 수 있다. 스프링은, 자바가 한글이라고 치면, 책을 구성하는 틀이라고 생각할 수 있으며. 사용하지 못하는 경우도 분명히 존재할 수 있다. 즉 , Frame work이다. 그 중, 동일한 코드를 계속 찍어낼 필요가 있을까? 우리가 제공하면 안될까? -> spring boot. +장점 . 웹 어플리케이션이 내장되어있다 (TomCAT) Spring의 핵심 기술 동작원리를 알아야, 응용이 가능하다. 이 또한 모든 과목과 같다. 1. data.. 2023. 12. 25.
기본 마인드셋 1. 코딩은 수학이다. 답이 명확하며, 애매하게 하는것을 안다고 얘기해서는 안된다. 모른다고 하자 . 2. 프로젝트에선, 내가 담당하지 않은 부분도 설명할 수 있어야 한다 . 3. 질문에대한 답을 얻을때, github, reference 사이트, 전문 개발자 등의 블로그를 활용하자. /네이버 블로그는 최대한 사용하지 말자. 2023. 12. 25.
JAVA - 실제 사용에서 헷갈렸던 부분. java에선 , ==를 비교할때 객체 가 참조하는 주소를 비교한다 (포인터 개념을 생각하자) int a = 5, b= 5일시, a==b는 true로 나오나 String str1 = new String("Hello"); String str2 = new String("Hello"); // == 연산자는 참조를 비교하므로 fal 'se를 반환 System.out.println(str1 == str2); // false 이와 같이, 객체의 값이 다름에도 서로 다른 객체의 주소를 비교하기 때문에, false를 return할 수 있다 . 그래서 str1.equals(str2)라는 함수로 상호간의 값의 비교를 수행하는 경우가 잦다. - 자바빈 (JavaBean) 이란? 자바로 작성된 클래스(class)들을 일반적으로.. 2023. 12. 25.
코딩테스트 2 -> 문자열 부터 백준 2675 : B라는 문자열의 [I번째]를 * 3하면 저절로 해당 숫자가 3배로 PRINT되어 나옴 . 즉 INT와 문자열의 곱셈이 가능함에 유의하자. 백준 2908 : 숫자를 아예 뒤집는법 \ num1, num2 = input().split() num1 = int(num1[::-1]) -> 특정 내용은 없으며, 뒤에서부터 처음까지 뒤집는 의미가 존재한다 X[::-1]을 기억하자 백준 1157 index 함수의 사용법 . a라는 list에서 a.index(3) 중복이 없는 문자열 생성법 word = input().lower() word_list = list(set(word)) #중복제거 특정 LIST에서, 일정한 조건 EX) MAX값을 가지는 INDEX의 수가 2개 이상일때 를 표현하는 법 if an.. 2023. 12. 25.
깃 활용 -1 기초 깃 실제 사용에 대한 내용을 정리하고자 하고, 1 페이지에는 스스로 깃을 사용하면서 얻었던 팁을 사용하도록 하겠다. 1. git init -> 내가 초기화를 해서 시작하겠다 (이니시) 2. 추가할 내용( 주로 git add . )or git add build.gradle 2-2 . git status로 , 현재 올릴 상태를 본다. 3- git commit -m "firs tjihuuk" 주의! 웨더리아 프로젝트중 alt+S로 나에게 저장하지 않고 강제로 푸시하다가 안되어서 merge도 해보고 이것저것 해보다가 로컬 파일 그대로 저장된 경험이 있었다. 반드시 나에게도 저장하고 하기! 4. git remote add origin 링크. 4-1 현재 git remote -v로 어디에 되었나 확인하기 5. gi.. 2023. 12. 25.
테스트 로그인 회원가입 프로젝트때 test를 하지 않고 만들어서 끝난후 오류 찾으려니 힘들었던걸 기억하자 . 짧은 단위로 테스트를 해주는 것이 굉장히 유리하다. class 들어간 후 -> 우클릭, 생성 . @ExtendWith(MockitoExtension.class) -> servicetest의 시작에 추가되는 어노테이션 @MOCK? 나무위키 출처 모의 객체(Mock Object)란 주로 객체 지향 프로그래밍으로 개발한 프로그램을 테스트할 경우 테스트를 수행할 모듈과 연결되는 외부의 다른 서비스나 모듈들을 실제 사용하는 모듈을 사용하지 않고 실제의 모듈을 "흉내"내는 "가짜" 모듈을 작성하여 테스트의 효용성을 높이는 데 사용하는 객체이다. DB없이 어떻게 DB를 테스트할것이냐에 대한 답의 의미 . mock은 .. 2023. 12. 25.