전체 글 (20) 썸네일형 리스트형 Deprecated된 WebSecurityConfigurerAdapter 없이 CustomSecurityConfig 구현하기 In Spring Security 5.7.0-M2 we deprecated the WebSecurityConfigurerAdapter, as we encourage users to move towards a component-based security configuration. 스프링시큐리티 5.7.0버전 이후로 WebSecurityConfigurerAdapter가 Deprecated되었습니다 참고하시라고 소스코드 올려봅니다. 참고로 예제소스는 남가람북스 구멍가게코딩단의 코드로배우는 웹 스프링부트 프로젝트 입니다. AS-IS 소스 @Configuration @Log4j2 @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = tru.. 전자정부프레임워크 프론트엔드 리액트에 관한 소식입니다. 백엔드로는 스프링부트, 프론트엔드로는 리액트가 나왔습니다. 참고로 스프링부트는 최근 beta버전으로 나온 egov 4.0에서부터 추가되었습니다. 이번에 log4j2이슈로 인하여 2.16.0으로 업데이트 되었습니다. log4j2업데이트는 전체적인 버전에서 업데이트가 이뤄졌습니다. (공식홈페이지) 이번에 나온 소스들은 참고로 JDK 버전은 여전히 1.8에 maven 3.8.1버전 입니다. 리액트 버전은 Hooks 이후버전으로 보입니다. API Server를 호출할때는 Fetch API로 Promise기반으로 사용하는것처럼 보입니다. https://github.com/eGovFramework/egovframe-template-simple-react/blob/main/src/context/eg.. 2021년 12월 9일 Apache Log4j에 대한 취약점이 발견되었다고 하네요. log4j zero day 공격에 관한 취약점 이슈입니다. 2.0부터 2.14.1버전까지 해당하고 취약점 레벨은 심각한수준이라고 하네요 -> Level of the vulnerability: Serious (Critical) 관련된 페이지들입니다. https://dataportal.kr/51 ->번역 https://www.cyberkendra.com/2021/12/worst-log4j-rce-zeroday-dropped-on.html ->원문 https://www.lunasec.io/docs/blog/log4j-zero-day/ 현재까지는 2.14.1 버전까지 취약점이 발견된상태고 2.15버전에는 영향이 없다고 합니다. 2.15.0버전 링크입니다. https://logging.apache.or.. Spring 각 영역에 따른 개발 전 준비 * 각 영역에 따른 개발의 준비 본격적인 개발에 들어가기 전에 미리 각 영역에 필요한 준비물 등을 준비해두는것이 좋다. 영역 준비 설명 데이터 베이스 관련 관련 스키마, 계정의 생성 개발에 사용할 스키마를 정의하고, 개발에 필요한 사용자 계정 등을 생성한다. 테이블 설계와 생성 실제 작업할 테이블을 설계하고 각 테이블의 관계를 ERD 등을 사용해서 그려둔다. 더미 데이터의 추가 테스트를 위한 가상의 의미 없는 더미데이터를 추가해서 개발 시 결과를 확인할 때 사용한다. 스프링 MVC 관련 패키지 구조 결정 개발에 사용할 패키지 이름이나 코드 규칙 등을 미리 지정한다. 개발 역할 분담 팀원들 간의 개발 역할을 어떻게 할 것인지를 결정한다. 이때 수평적 혹은 수직적인 분할을 하게 된다. 테스트 방법의 .. 스프링 MVC에서 주로 사용하는 어노테이션의 종류 스프링 MVC에서 주로 사용하는 어노테이션의 종류 스프링 MVC에서는 컨트롤러가 상속 등의 전통적인 기법을 사용하지 않는 대신에 어노테이션으로 많은 일을 처리한다. 주로 많이 사용하는 어노테이션은 다음과 같다. @어노테이션 설명 사용 @Controller 스프링 MVC의 컨트롤러 객체임을 명시하는 어노테이션 클래스 @RequestMapping 특정 URI에 매칭되는 클래스나 메소드임을 명시하는 어노테이션 클래스, 메서드 @RequestParam 요청(request)에서 특정한 파라미터의 값을 찾아낼 때 사용하는 어노테이션 없다면 파라미터에 이름을 기준으로 리플렉션하여 찾아낸다. 파라미터 @RequestHeader 요청(request)에서 특정 HTTP헤더 정보를 추출할 때 사용 파라미터 @Path.. 제어의역전(IoC)/ 의존성(의존관계) 주입(DI) 제어의역전(IoC)/ 의존관계 주입(DI) IoC/DI는 스프링의 핵심개발 원칙이다. 스프링의 3대 기술인 AOP,PSA도 IoC/DI에 바탕을 두고있다. 왜 두 개의 오브젝트를 분리해서 만들고 인터페이스를 두고 느슨하게 연결한 뒤 실제 사용할 대상은 DI를 통해 외부에서 지정하나? 이렇게 DI방식으로 하는것이 new 키워드로 생성해서 사용하는 강한 결합을 쓰는 방법보다 나은가? 간단한 답변은 '유연한 확장이 가능하게 위해서' 이다. DI는 개방 폐쇄 원칙(OCP)이라는 객체지향 설계원칙으로 설명된다. 유연한 확장은 OCP의 '확장에는 열려있다(개방)'에 해당하고, '변경에는 닫혀있다(폐쇄)에도 해당한다. 폐쇄 관점에서의 장점은 '재사용이 가능하다' 로 볼 수 있다. A -> B라는 의존관계를 갖.. <context : annotation-config> vs <context : component-scan> 유사하지만 차이점은 존재한다. 둘 다 application-context에 정의해서 사용한다. 이미 등록된 bean에 대해서만 Annotation을 활성화 시킨다. 어딘가에 bean을 등록하면 @Autowired와 @Qualifier Annotation을 해석해서 가져다 쓰겠다는 의미다. @Autowired 와 @Qualifier Annotation 이 두가지만 해결할 수 있다. 사용하려면 xml에 bean을 반드시 선언해주어야 한다. bean등록 여부와 상관없이 사용이 가능하다. 스프링이 알아서 bean을 스캔하고 Annotation을 해석하고 활성화 시킨다. base-pakage="" 안의 클래스들을 스캔하고 빈 인스턴스를 생성 한 뒤에 아래와 같은 어노테이션이.. 자바스크립트 리터럴 식별자 익명함수 화살표 표기법 AJAX JSON 리터럴(literal) ? 리터럴이란 값을 프로그램 안에서 직접 지정한다는 의미이다. 리터럴은 값을 만드는 방법이다. 자바스크립트는 유저가 제공하는 리터럴값을 받아서 데이터를 만든다. 함수 리터럴 ? 프로토 타입 ? new ? 저도 개인적으로 궁금한 부분이었지만 궁금한 분들도 계신것 같아서 올려봅니다. https://medium.com/@bluesh55/javascript-prototype-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-f8e67c286b67 [Javascript ] 프로토타입 이해하기 자바스크립트는 프로토타입 기반 언어라고 불립니다. 자바스크립트 개발을 하면 빠질 수 없는 것이 프로토타입인데요. 프로토타입이 거의 자바스크립트 그 자체이기때문에 이해하는 것이.. 이전 1 2 3 다음