추상적인 형태로의 변형은 자동형변환구체적인 형태로의 변형은 수동형변환칼 칼a = new 무기()\\오버라이드부모클래스에서 받은 메소드 재정의
상속시 class 안에 생성자 안만들면 자동으로 부모 클래스 생성자를 호출한다.class class_child extends class_parent {/\* class_name(){ super(); }\*/ 이 부분을 안만들어도 super(); 를 통해 c
@getter@setter@ConstructorArgs를 이용해 기본 생성자와 게터세터를 따로 만들지 않아도 된다.
구현 테스트 배포 단계에서테스트 구현 배포 단계가 좋다!프로그램을 테스트하는 프로그램을 짠다juint을 쓴다TDD는 구현보다 테스트를 먼저 한다. 단 수동이 아닌 자동화된 테스트케이스를 만들어서 그것으로 테스트를 한다.TDD 3단계RED : 실패하는 테스트케이스를 만든
GITHUB FLOWGITHUB) 이슈 할당, 이슈 1(enhancement)본인에게 할당된 일 찾기혹은 미할당된 일을 본인 스스로 할당혹인 본인 스스로 이슈 생성main) git pull origin main로컬의 main 브랜치 최신화main) git checkou
INDEX 는 처음부터 걸지마라!데이터가 적으면 어차피 비슷하다.JPA DDL AUTO 자동으로 인덱스 걸림\#SLOW_QUERY로 2초 이상 쿼리 로깅해서 그때부터 인덱싱 시작
AddThis를 이용해서 SNS 공유 기능 (현재 안됨)로그인 후 광고 관리 -> 새 매체 -> 매체 등록 매체 고유 값 (URL) -> 광고 단위 등록 (하단 배너 1 등) -> 스크립트 sdk 발급 -> 프론트 화면에 코드 복붙매체별 보고서로 광고 성과 확인 가능u
검색엔진 최적화내부 요소 최적화html태그 컨텐츠 사이트 정보를 안려주는 메타 태그외부 요소 최적화내 사이트를 다른 사이트에서 언급하는것을 백링크라고 한다백링크가 많으면 네이버 웹마스터 도구의 간단 체크게어 사이트가 얼마나 검색 친화적인지 진단 받을수 있다.결과가 이렇
홍길동은 의사이면서 사람이다.자바는 다중상속이 안된다.똑같은 형태 메소드가 두개 이상 존재할 가능성이 생기기 때문이고, 그걸 해결한느 것은 귀찮음
자바 필드는 무조건 private으로 설정게터 세터 만든다. 인텔리제이 우클릭 generator 에서 게터세터 또는 롬복 설치해서 필드 위에 @Getter@Setter붙여주면 된다@AllArgsConstructor로 생성자도 가능
자바 스트림맵은 일대일 변환맵전에 11개면 맵후에도 11개 맵은 단순한거밖애 못함collect(,,,) 스트림은 데이터를 변환하는 공장 사용하기는 불편함사용하는건 콜렉트 필터 맵 콜렉트 이 순서로 간다
인터페이스인터페이스에는 추상메서드만 들어갈 수 있다.다중 상속하려면 하나는 무조건 인터페이스로 바꿔야하고 Public abstract 가 메서드 앞에 생략되어있다.부모가 물려준 추상메서드는 자식클래스에서 오버라이딩 해서 제대로 구현해 줘야함기존에는 하고싶을때만 오버라이
html 빈칸에다 채우고 싶으면 모델을 써라calc21.html
int null 허용 XInteger null 허용
제너릭T 빈칸이라고 생각해라어떤 클래스는 미완성일때가 좋은거다~어떤 오브젝트가 들어올지 모를때 넣을때는 좋은데 뺄때 형변환 해야하는 Object대신 나옴
Wiki 20231114Spring web스프링 이니셜라이져로 하는법3.1.5 안정 버전Optimize Imports on flyGradle build -intellij로 세팅 그 밑에것도File encoding UTF-8 세팅 Build project automati
div와 form 폼을 편지지 버튼은 편지의 발송버튼주소 따로 지정하지 않으면 현재 url에 ?만 바뀐다.둘다 동일하게 작동함onsubmit="submitWriteForm(this); return false; 여기는 폼발송시 실행되는 함수 + 현재는 실행안되게 폼에서
프로젝트 세팅 Optimize Imports on fly Gradle build -intellij로 세팅 그 밑에것도 File encoding UTF-8 세팅 Build project automatically 체크 Application.properties 파일 .ym
@Component 단 한번만 생성되고 그 이후에는 재사용되는 객체 컨트롤러가 각각 객체를 만들지 않고 한번 등록하고 등록된걸 공유해서 쓴다. = 공유 객체 공유객체가 빈 입니다. 즉 @component 붙인 클래스의 객체 => 빈 빈은 스프링이 관리하는 객체! A
20231115div를 폼으로 바꾸면 폼을 편지지 버튼은 편지의 발송버튼폼안에 버튼 폼은 현재 받는이가 없다발송하면 어디로 가냐?주소창에 ? 추가된다자기가 자기한테 보냄 버튼 타입 서브밋 인풋타입 서브밋 똑같은 거임발송자가 없어서 스스로에게 보내진다폼 온서브밋 리턴 폴
객체 리모컨 창고인 컨텍스트가 있다.컴포넌트 붙은거는 뉴를 하지않아도 객체가 등록이된다. 필요할때마다 공유한다.사전등록 컴포넌트 리포지터리 서비스컴피규레이션 붙은 클래스에 @Bean등록스프링에 공유객체를 넣어두는 곳이 있다.쓰레드에서 서블릿 객체가 만들어짐수명 스프링
20231116 오후 심화url에 한글 넣고싶으면url인코드를 해줘야한다.근데 메소드 마다 저짓을 할수는 없다rq를 통해서 삭제할때 confirm함수를 통해서 확인한다 느낌표 탭 html컨트롤유 html파일보기업로드중..상단 레이아웃 적용 .. 잘 모르겟음 다시 보셈업
20231117 final은 변수가 생성될때 초기화안하면 초기화 못한다 final int a; a=1; 안된다.. 자바는 final붙은 코드를 더 높은 수준으로 인식한다 @AutoWired, RequiredArgsConstructor 재정리 final은 즉 의존성
리턴 쪽 타임리프 라이브러리 없으면 home.html파일 못불러온다..
초창기 웹사이트초창기 웹은 단순 정보 제공용 웹사이트임초창기 웹은 웹을 프로그램이라고 취급하지도 않았음웹 브라우저의 장점웹 브라우저는 htp를 준수하기 때문에 웹 브라우저를 주요 프로그램으로 쓰려고 함웹 개발이 갖는 장점은 개발 대비 웹 개발이 갖는 장점은 개발이 쉽고
20231116 프록시 객체 직접요청하거나 프록시 요청하거나 요청자는 잘 모른다. 다대다 매칭에서, 각각의 쌍이 서로 다이렉트로 통신해도 되고, 매칭매니저(대리자, 프록시)를 통해도 고객 입장에서는 아무 차이도 없다. 요청이 100번있었다면, HttpServeletR
20231120 https://opentutorials.org/course/3883 관계형 데이터 모델링 관계형 데이터 모델링 - 생활코딩 https://opentutorials.org/course/3405 WEB2 - OAuth 2.0 WEB2 - OAuth 2.0
HttpSession.setAttribute가 model.addAttribute HttpServletRequest.setAttribute == Model.addAttribute
20231121 오후build.gradle에 스프링 시큐리티 관련 추가스프링시큐리티 디폴트 설정이 되있다.모든 페이지에 대해서 인증이 필요하다application.yml파일에 name password 설정해주면 콘솔에서 비번 굳이 복붇 안해와도된다/.필터 체인 안걸어주
layout적용시 오류 뜨는거느낌표 탭 html기본생성src/main/resources/static 폴더가 정적 콘텐츠(이미지 파일, CSS 파일, JS 파일)를 저장하는 폴더들이다. 참고로 고객이 사용중에 업로드하는 이미지는 정적 콘첸츠가 아니다.쿠키 만들고 Http
스프링부트(REST API)스벨트는 타임리프 대체세션 -> jwtnpm -> 자바로 치면 그레들 같은거npm 23 11 22, p 13191, 3강, 프로젝트 root 폴더의 하위 폴더인 frontapp 폴더에 스벨트킷 프로젝트 생성GIT스벨트 - https:
@RequsetMapping("/article")article로 시작하는 도메인을 매핑해준다.삭제는 @DeleteMapping 도잇다TTLTimeToLive메세지 뒤에 얼마동안 살수있는지 테스트는 컨트롤러 테스트만 해라 앵간하면기본 구성history.back() 하면
스프링 부트는 기존 스프링 프레임워크(Spring Framework)에 톰캣 서버를 내장하고 여러 편의 기능들을 추가한것..
ORM(object relational mapping)을 이용하면 자바 문법만으로도 데이터베이스를 다룰 수 있다. 즉, ORM을 이용하면 개발자가 쿼리를 직접 작성하지 않아도 데이터베이스의 데이터를 처리할 수 있다.동일한 데이터를 생성하는 두가지 방법, sql과 ORM
스프링 3.2.0이 나왔다.AntPathRequestMatcher h2관련 버그가 해결됨스프링 시큐리티 적용된 상태에서 h2 적용하려면 csrf토큰 관련 코드가 필요하다.현재 application.yml CSRDB이렇게 계층을 쌓아왔다.현재 리포지터리만 잘 갈아끼우면
20231128long int notnullLong Integer보다 낫다@SuperBuilder부모와 자식 둘다 빌더 쓰려면 ..? 잘모르겠다상속하기위해 상위엔티티 정의 하려면 @MappedSuperClass를 붙여줘야한다.
wikinode.js는 왜 빠른가?threads: virutal: enabled : true스프링 3.2.0 버그빌드를 Intellij세팅이 아니라 그래들로 맞춰준다그래도 안되면 build project automatically끈다
스프링 시큐리티 도입하자마자 모든 페이지에대해서 인증을 필요로함SecurityFilterChain을 만들면 디폴트 설정꺼진다.메서드 안에서 아무것도 안하니 디폴트 설정을 끄는 효과하지만 csrf체크는 한다.csrf끄는방법 세가지post보내는 폼안에 csrf토큰을 넣어서
Spring Boot Devtools 로컬서버가 변경된 클래스를 리로딩하지 않는 문제 때문에 이 문제를 해결하려면 Spring Boot Devtools를 설치해야 한다. 서버 재시작 없이도 클래스 변경시 서버가 자동으로 재기동 된다. Spring Boot Devto
운영체제 안에 도커라는 공간을 만든다도커안에 무수히 많은 운영체제를 만들수 있다.운영체제 안에 운영체제를 독립적으로 운용할수있다도커 안에서 실행중인 운영체제를 컨테이너라고 부름컨테이너는 이미지가 있어야한다.메모장같은 프로그램을 여러개 띄울수 있듯이도커도 이미지가 있으면