일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 브릿지 메소드
- throwable
- yield
- annotation processor
- 제네릭 타입
- 자바스터디
- 프리미티브 타입
- junit 5
- auto.create.topics.enable
- System.err
- 합병 정렬
- Study Halle
- 함수형 인터페이스
- 스파르타코딩클럽
- 바운디드 타입
- 로컬 클래스
- Switch Expressions
- raw 타입
- github api
- System.out
- 정렬
- 익명 클래스
- 접근지시자
- 람다식
- 제네릭 와일드 카드
- 자바할래
- System.in
- docker
- 상속
- 항해99
- Today
- Total
목록분류 전체보기 (253)
코딩하는 털보
나의 항해 블로그에 계정 회원가입/로그인/로그아웃 기능을 추가하려고 한다. JWT를 사용해서 인증하는 것을 해보고싶긴하지만, 일단 세션 방식의 인증과 시간이 남는다면 소셜 로그인 기능까지만 추가할 예정이다. 회원 가입 계정 클래스 만들기 @Entity @Getter @NoArgsConstructor public class Account extends Timestamped{ @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column(nullable = false) private String username; @Column(nullable = false) private String password; @Column(nullable ..
새로운 과제를 받았다 과제에 대한 요구사항을 기획자로부터 받았다고 생각하고 분석해보자. Requirement POJO 계정 도메인 모델 추가 {nickname, password}, 회원가입 기능 구현 댓글 도메인 모델 추가 {article, writer, content}, CRUD Spring login, authentication 레이어 별 단위 테스트 작성 Open api kakao 소셜 로그인 HTML 회원가입 페이지, 로그인 페이지 작성 API Contoller/Service/Repository Controller : Http 요청을 받거나 돌려주는 역할 Service : 사용자 요구사항을 처리하기 위한 비즈니스 로직 Repository : 데이터베이스에 접근하여 조회나 변경 등 데이터 자원을 처..
Spring Security CSRF 방어 설정으로 인해 Postman이 변경 요청을 할 때 403 status만 받아왔다. Postman에 CSRF 토큰을 집어넣는 방법이 있을 수도 있지만 나는 그냥 Profile 별로 다른 보안 설정을 사용하려고 한다. @Configuration @Profile("dev") public class DevWebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().anyRequest().permitAll().and() .csrf().disable() .fo..
오늘은 어제 공부한 내용을 토대로 스프링 부트에서 CSRF 공격을 막을 수 있도록 적용해보자. CSRF 참고 : https://ko.wikipedia.org/wiki/%EC%82%AC%EC%9D%B4%ED%8A%B8_%EA%B0%84_%EC%9A%94%EC%B2%AD_%EC%9C%84%EC%A1%B0 어제 JWT 토큰을 저장하는 방식중 쿠키 방식을 사용하면 CSRF 공격에는 노출되는 대신에 XSS 공격으로 인해 토큰이 탈취되는 것을 막을 수 있다고 했다. 쿠키에 저장하면서도 CSRF 공격을 막을 수 있도록 하는 방안은 Cookie Referer Check , 그리고 Csrf Token 사용을 통해 방지 할 수 있다. Cookie Referer Check Request의 헤더에는 요청에 대한 도메인 정보가..
오늘은 스프링 부트에서 XSS, CSRF 공격을 막을 수 있도록 조치해보려고 한다. 참고 : http://homoefficio.github.io/2016/11/21/Spring%EC%97%90%EC%84%9C-JSON%EC%97%90-XSS-%EB%B0%A9%EC%A7%80-%EC%B2%98%EB%A6%AC-%ED%95%98%EA%B8%B0/ https://jojoldu.tistory.com/470 XSS XSS(Cross-Site Scripting) 공격은 권한이 없는 사용자가 웹 사이트에 스크립트를 강제로 삽입하는 공격 기법이다. 참고 : https://noirstar.tistory.com/266 Persistent XSS 공격자가 웹 애플리케이션에서 XSS 취약점이 있는 곳을 파악하고 악성스크립트를..
이번주 마무리 이번 WIL의 키워드 Spring : DI, IoC, Bean 배운것 Git, Spring, Docker, Junit DI(Dependency Injection)/IoC(Inversion of Control) DI와 IoC는 Spring 개발의 핵심적인 특징이다. 이 둘은 Spring에 국한된 용어가 아니다. Spring은 객체지향을 위해 만들어진 프레임워크이며 객체지향을 위해 사용되는 로직이 DI와 IoC이다. DI https://rockintuna.tistory.com/153 DI는 사용과 제작을 분리하는 강력한 메커니즘 중 하나이다. 객체를 필요로하는 클래스 내에서 직접 객체를 생성하면 특정 클래스에 의존하게 되어 유연성이 떨어진다. 그리고 유지보수도 어렵다. 그렇다고 setter같은..
sailinglog에 단위 테스트를 만들어야 한다! 사실 이미 늦었다. 클린 코드에서 봤던 TDD 방법론에는 실제 코드를 작성하기 전에 테스트를 먼저 작성해야 한다. 테슽 FIRST 원리에서 T(Timely)에 어긋나기도 한다. https://rockintuna.tistory.com/150?category=886434 하지만 당연히 없는 것 보다는 낫지 않을까! 일단 두들겨 보자. JUnit5으로 테스트하기 https://rockintuna.tistory.com/56 JUnit은 자바 프로그래밍 언어용 단위 테스트 프레임워크이며, 자바 TDD(테스트 주도 개발)의 핵심적인 역할을 한다. 일단 테스트를 작성하고 실행하기 전에 해야할 일들이 있었다. (junit을 사용하려면 해야하는 작업은 아니고 그냥 개인..
새로운 게시글 포스팅 어플리케이션을 개발했다. 오늘의 이슈 http://rtonepage.shop/ 예전에 flask 앱을 실행시켜놨던 클라우드서버라서 80->5000 포트 포워딩이 설정되어 있었다. 덕분에 iptables 포트 설정을 확인하고 포트 포워딩을 해제하는 방법을 배워간다. 확인 sudo iptables -t nat -L 해제 sudo iptables -t nat -D PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000 (해제는 설정했을때의 옵션에서 -A를 -D로만 바꿔서 했다.) 자 드디어 jar로 말아서 aws에 올려 실행했다. (Executable jar!) 무난하게 잘 돌아가는것 처럼 보였으나! 왠걸 데이터의 시간이 이상했다..
오늘은 Spring 3주차 강의 듣고나서 남는 시간에 어제 보다만 git 강의를 마저 봤다. 지옥 git이 새로운 강의로 대체된 것을 이제 알아서 새로운 강의로 갈아탔다. 참고 : https://opentutorials.org/course/3841, https://opentutorials.org/course/3842 Git Backup 용어 정리 지역 저장소 : 내 pc에서 작업하거나 버전을 생성하는 영역 원격 저장소 : 지역 저장소를 업로드해서 같은 상태를 유지하는 영역 push : 지역 저장소의 버전을 원격 저장소로 업로드하여 같은 상태로 만들기 clone : 원격 저장소로부터 버전을 복사하여 지역 저장소 생성 pull : 원격 저장소로부터 버전을 불러와서 같은 상태로 만들기 git hosting :..
오늘은 다음 협업에서 Git을 제대로 사용해보고자 생활코딩의 지옥 Git,그리고 생코에 최근에 올라와서 보고싶었던 Docker 입문 수업을 보면서 정리를 해본다. 참고 : https://www.youtube.com/watch?v=hFJZwOfme6w&list=PLuHgQVnccGMA8iwZwrGyNXCGy2LAAsTXk&index=1, https://www.youtube.com/watch?v=EbTJtanJUfE&list=PLuHgQVnccGMDeMJsGq2O-55Ymtx0IdKWf&index=3 오늘은 버전 관리 / branch 정리하고 다음엔 외부 저장소 관리 방법을 정리하면 좋을 것 같다. Git 버전 관리하기 저장소 만들기(init) / 파일 버전관리 등록하기(add) [/Users/ijeong-..