목록분류 전체보기 (231)
코딩 기록들
시작하기에 앞서, 나의 영어 베이스- 토익 900- 2년전 오픽 IM2 (아래에서 이야기하겠지만, 너무 빨리말해도 점수 잘 안주는것같기도함. 이당시에는 랩하고 나왔었음)- 영어회화 : 단어나 문법 많이 틀리지만, 외국인 친구들과 소통은 가능(+ 외우는거 싫어해서 토익스피킹은 쳐다도 안봄, 영어드라마 이런것도 안봄. 팝송은 좋아함) 2년전 따뒀던 오픽성적이 만료되었다고 카톡이 와서 급하게 시험을 신청한다는것이, 9월 특정 기간동안 성적발표를 이틀만에 해주는 시험날짜가 있길래 무작정 신청해버렸다.월요일 오후에 시험 신청했고, 4일후인 금요일 아침에 시험을 보러가게 된 것 ......시험장: * 강서CBT *로 골랐다! 여기가 유리문으로 좌석들 분리되어있어서 헤드셋끼면 다른사람들 목소리도 잘 안들리고, 자리..

UNION vs UNION ALL-> union all 은 중복을 허용함-> union = union all + distinct + orderby GROUP BY- 집계함수 결과는 NULL값 가진 행 제외하고 수행함- GROUP BY 절에서는 ALIAS 사용불가능- GROUP BY 절 보다 WHERE절이 먼저 수행됨 그룹함수 ( 집계함수 VS 분석함수 )* 집계함수- 여러 행, 테이블 전체 행으로부터 그룹별로 집계하여 결과 반환(그룹별 1개의 행을 반환) EX) ROLL UP, CUBE, GROUPINGROLLUPGROUP BY ROLLUP(A, B)- 맨 처음 명시한 컬럼인 A에 대해서만 소그룹 합계를 보여줌 - 소그룹 간의 합계를 계산한다. - GROUP BY로 묶은 각각의 소그룹 합계와 ..

- Open-source javascript framework- SPA(Single Page Application) 개발 프레임워크 => 하나의 페이지에서 모든걸 컨트롤 함SPA vs MPASPA - WebApp이 하나의 페이지로만 구성된 것- 화면의 요청이 있을 때 마다(URL) 바뀌는 컴포넌트(=data box, div) 만 갱신- single page application -> 페이지는 1개 -> 페이지는 그대로 있고, 그 안의 데이터만 바꿔주는것MPA - Web Application (WebApp) 이 여러 개의 페이지로 구성된 것. - 화면의 요청이 있을 때 마다(URL) 새로운 페이지를 응답 + 페이지를 갱신 할 때마다 불필요한 Data-Load가 발생 React 핵심요소 : ..
ECMAScript 2015부터 Lexical Scope로 변경됨 Lexical Scope : 블록내부를 {} 를 사용해 지정- Hoisting 이 더이상 발생하지 않음- let(변수) / const(상수) 로 구분해 지원함 String문자열과 관련된 유용한 함수 추가됨- String.startsWith(“”) : 문자열의 시작점에서 주어진 문자를 찾으면 true, 그렇지 않으면 false를 반환.- String.endsWith(“”) : 문자열의 끝에서 주어진 문자를 찾으면 true, 그렇지 않으면 false를 반환.- String.includes(“”) : 문자열의 어느 곳이든 주어진 문자를 찾으면 true, 그렇지 않으면 false를 반환.- String.indexOf(“”) : 문자열에서 주어진..

Spring security JSTL 사용하기 jsp에 이걸 써줘야 jstl 쓸수있음 여기서 빨간네모 부분) 아래와 같이 principal 통해서 인증정보 꺼내올수 있도록 변경 '인가' 와 관련된 세팅: 로그인을 하지않아도 접근가능한 url & 로그인 해야만 접근가능한 url 나누기 * 인가 처리를 할 때 authentication이 필요한지 아닌지에 따라 *1) static 자원이다 = 무조건 ignoring 에 추가하기 (1)2) 모두가 접근할 수 잇는 페이지라면 : authentication이 필요하다 -> authorizehttpreqquest에 넣기 (2) 스프링시큐리티가 다루는것 : 인증 / 인가 화면단에서는(잘 안쓰지만)jstl을 이용해서 권한제어를 할..

security 가 필요한 이유- 취약성 : 악의적 의도를 가지고 원치 않는 작업을 수행하는데 이용할 수 있는 약점- 가장많은 피해사례가 보고된 목록 : OWASP Top Ten - https://owasp.org/www-project-top-ten/, (굉장히 critical 한 것들 위주) : SANS Top 25 - https://www.sans.org/top25-software-errors/ (-> 시큐어코딩에서 가장 많이 참고함) : 전자정부 프레임워크에서의 시큐어코딩 가이드 : SANS Top25참고한 한글버전 - 개발자가 반드시 대처방법 알고있어야할 목록 : 인증취약성, 세션고정, XSS (교차 사이트 스크립팅), CSRF (사이트간 요청 위조), Injection (주입..

Pagination 브라우저에 노출되어야 하는 목록의 양이 매우 많아 모두 보여줄 수 없을 때 데이터를 블록 단위로 나누어 노출시키는 방법 Pagination 원리 1. 필요 데이터 - 조회할 페이지 번호 - 게시글의 총 개수 - 한 목록에 노출할 게시글의 수 2. 조회시작 게시글 번호 구하기 - 조회할 페이지 번호 * 한 목록에 노출할 게시글의 수 + 1 3. 조회 끝 게시글 번호 구하기 - (조회할 페이지 번호 + 1) * 한 목록에 노출할 게시글의 수 ex)게시글의 총 개수 : 62개, 한 페이지에 노출할 게시글 개수: 10개 -> 총 페이지 수 : 7페이지 (0~6) *첫번째 페이지는 0부터 시작한다* * 0번페이지, 즉 첫번째 페이지의 1) 조회시작 게시글번호 구해보기 - 조회할 페이지 번호 *..

@Responsebody의 역할 : 객체 -> JSON으로 변경 1) 비 AJAX ->페이지 2) AJAX -> JSON --> 두 경우의 처리를 동시에 @Responsebody가 할 수 없다 -> 해결방법 : 예외가 발생한 URL이 어디인가? -> Request라는 객체가 필요함 객체를 json으로 바꿔주는 라이브러리 https://mvnrepository.com/artifact/com.google.code.gson/gson -> pom.xml에 추가 AOP - 원래있던 코드에 실행전, 실행후 시점에 특정 코드를 실행시키는것 - 공통코드를 원래코드로 넣어주어 동작되게 함 -> AOP는 interceptor와 다른 것 - 파라미터가 무엇이든, 반환타입이 무엇이든 관계없이 알아서 처리해줌 * 위빙 - co..