SPRING 17

강의 5

SQL인젝션공격이란?? ->sql의 조각을 입력하는것 where id = 'aaa' and pass = 'bbb' 입력이 있는데 aaa에 aaa'-- 를 쓰면 where id = 'aaa' -- 'and.... 오라클에서는 --가 주석처리이기 때문에 사실 pass워드부분은 생략이 된 것이므로 id만 입력해도 로그인이 가능해진다... 자바스크립트는 엔진이 3개가 존재한다(dom엔진 , 랜더링엔진 , 해석기) ->그래서 필요한게 style태그와 script태그 statement와 expression의 차이 (문 과 식) 실행하는것 - > expression :식 선언해놓는것 - > statement : 문 호이스팅이 일어나는 이유는 문들을 먼저 선언하는것을 처리하기 때문이다. 연산자는 실행될때 처리하기 때문..

SPRING/강의 2021.06.22

강의 4

스프링이 다른 프레임워크와 다른점은 기능이 아니라 OOP설계를 위한 프레임워크다 OOP설계 ->컨텍스트 -> ApplicationContext 스프링코어 위에 여러개를 얹어서 개발하는 시스템(마이바티스던 MVC던..) ->굉장히 유연하다는 장점이 있지만 설정이 복잡하다는 단점이 있다 -> 그래서 발전된것이 스프링 부트이다. 스프링에서 제일 유명했던 책은 스프링 인 액션이다 스프링은 간소하게 어플리케이션을 만들자는 취지로 만들어졌는데 여러가지를 지원하다보니 복잡해지고 힘들어진것 ->하지만 우리나라는 전자정부프레임워크를 채택해서 어쩔수없다.. 면접문제1번은 스프링썼을때 장점은? 의존성주입에 대해 설명해보세요 ->new라는 코드가 있으면 개방과 폐쇄의 원칙을 반대하기때문에 어떻게던 외부에서 객체생성을 해서 넣..

SPRING/강의 2021.06.22

강의3

개발을 하기위해서 알아야하는 용어중 하나 Context context란? 경계선or공간이라고 생각하면 된다. 파른곳에서 접근하지못하도록 ->보관하기만 하는 목적으로 하면 컨테이너라고한다 혹은 팩토리 -> 콘텍스트라는 이름이 되면 관리의 개념이 더 들어간다. 클래스파일을 jvm의 클래스로더라는 아이가 jvm에서 사용할 수 있게 해준다. 모든 객체가 java.lang.Object를 상속받는 이유 ->3가지의 기능이 있기 때문 1.운영체제랑 통신하는 메서드가 있어서 객체를 만들어준다 (라이프사이클과 관련된 메서드가 있다) 2. Equals와 Hashcode가 있다. (컬렉션에서 검색에 가장기본이 되는게 Equals나 HashCode를 기반으로 검색하기때문에 제네릭에 기본형이 못들어가는것) 3. 스프링에서 Be..

SPRING/강의 2021.06.21

강의2

의존성주입을 왜 추구하는지? 클래스와 객체의 차이? 명사->엔티티/dto/vo 역활로 구분 -> controller / service/ repository 다형성의 목적은? ->실체를 모르게하는것(다형성의 원칙이다, 실체는모르고 스펙만아는것) ->바꿔치기 용이하게끔 한다. 다형성은 타입기반언어에서만 나온다. 작은규모의 프로그램을 만들떈 타입이없는애들이 더 빠르게 개발가능하지만 규모가 커지면 치명적인 약점이 된다. OOP의 5대원칙 -solid (개방과 폐쇄의 원칙) -> ibm키보드같다 ->좋은코드는 변경을할 필요는 없지만 확장에는 열려있어야한다 annotaion사용과 xml/javaConfig사용 둘중 무엇을 해야하나 선택기준(DI를 위해서) ->Annotation의 최대 약점=소스코드가 없으면 걸 수..

SPRING/강의 2021.06.21

강의 1

스프링개발자는 로드존슨 로드존슨이 c++ 개발자엿다 더 작고 빠르게 개발하기위해 만든프레임워크가 스프링이다.(EJB가 복잡하니까 복잡한게싫어서) 플랫폼 : 없으면 아무것도 못하는거 - 외부에서 인정해줘야함 프레임워크 : 없으면 불편하긴하지만 만들수잇음 라이브러리 : 기능에 충실한거(구조신경안씀, 설계신경안씀) 기능에 포커스를 둠 (구조와 설계를 반영하는것이 프레임워크) 스프링프레임워크가 살아남은 이유 - 스프링은 특정 계층에대해 신경쓰지 않고(스프링은 웹만 목적으로 만든것이 아닌다 ) 그냥 자바에서 OOP를 도와주는 아이다. 스프링프레임워크는 다른프레임워크들을 배척하지않는다(adaptor로 연결) 스프링에 root-context // servlet-contex 설정파일이 두개가 있는 이유? -> 마이바티..

SPRING/강의 2021.06.21

테스트코드 작성

TDD (Test Driven Develop) :테스트코드부터 작성하는 개발방식 ​ Unit Test(단위테스트) : TDD의 첫번째 단계인 기능단위의 테스트 코드를 작성하는 것. (그냥 테스트코드를 작성하는 그 자체를 의미함.) ​ -단위테스트를 하는 이유 1. 개발초기에 문제발견 2. 리팩토링이나 업그레이드때 기존기능을 확인가능 3. 기능에대한 불확실성 감소 4. 실제 문서제공(테스트문서제공) 5. 확인때 서버를 계속껏다켯다 안해도 됨(시간절약) 6. print를 통해 인간이 눈으로 확인할 필요가 없음 (자동으로 체크해주니까) ​ 1. 테스트코드 작성해보기 package com.jojoIdu.book.springboot; import org.springframework.boot.SpringApplic..

intro (환경설정)

1.개발환경 -IDE: intelliJ -쓰는 이유 : 강력한 추천기능/ 다양한 리팩토링, 디버깅/ 깃이 자유도가높음 / 검색속도가 빠름 / 빠른 업데이트 ​ 인텔리제이에는 워크스페이스같은 개념이 없다( 프로젝트와 모듈의 개념만 있을뿐..) ​ buildscript{ ext{ //build.gradle에서 사용하는 전역변수를 설정한다. springBootVersion = '2.1.7.RELEASE' //springBootVersion을 생성. } repositories{ mavenCentral() jcenter() } dependencies{ classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } } ..