1. XXS 방지 스크립트 공격 방지처리를 위해 textarea 값을 변경 저장해준다. 기존 포폴의 경우, textarea 가 메일 전송단에 있는데 이부분 설정을 위해, 메일 전송 버튼을 누른 경우 보안처리를 해준다. 2. JUnit 테스트 코드 작성하기 메일 전송부분의 테스트 코드를 작성했다. 3단계와 연장선상에 있는 부분이지만 유지, 보수단으로 고려해서 4단계에 작성했다. 결과적으로 테스트가 모두 완료되면, 다음과 같이 설정한대로 메일이 전송됨을 알 수 있다. + 에러 해결하기 테스트 실행시 메일은 잘 전송되는데, 원래 코드의 Controller단 메서드를 실행하는 과정에서 실패문구가 떴다. 내용을 보니 NullPointer 발생이다. 아무래도 기존 메서드 내 파라미터 값을 받는 부분(파라미터 값 중..
0. 메일을 보내보자! 웹페이지 방문시 많이 사용되는 서비스인 Contact us 와 같은 페이지 구성의 포폴 추가를 위해 메일 기능을 추가했다. 많은 시행착오가 있었어서 다시 정리하면서 기억해둬야 겠다. 1. thymeleaf 를 이용한 mail 전송처리하기 mail 전송처리하기를 하면서 정말 많은 에러가 있었는데, 문제의 원인을 다른 곳에서 찾고 있었던 것이 많은 시간을 소비하게 만들었다. 발생했던 에러에 대해서는 아래 구분선 이하에 작성해두었다. 여기서는 기본적인 mail 전송 처리에 대해 알아보자! 1-1. 의존성 추가 세팅 환경이 gradle인 관계로 mail 관련 라이브러리 추가를 위해 .gradle에 아래 코드와 같이 의존성을 추가했다. starter-mail : 스프링에서 제공하는 자바 메..
0. 의존성 라이브러리 Gradle은 의존관계에 있는 라이브러리를 끌어오는데, 1단계에서 구축된 스프링부트 라이브러리는 크게 3가지 종류이다. 1. spring-boot-starter-web 2. spring-boot-starter-thymeleaf 3. spring-boot-starter(공통) spring-boot-starter-logging > logback, slf4j 별도의 테스트 라이브러리는 spring-boot-starter-test 인데 junit, mockito, assertj, spring-test 가 있다. 이와 관련해서는 별도로 다시 정리할 예정이다. 1. Main Page 만들기(View 단) 경로의 src > main > resources > static > index.html ..
0. 개발환경 설정사유 기존에 이클립스, Maven 환경에서 웹페이지 만들기는 해본 경험이 있는데 현재 많이 개발자들이 사용하는 추세라는 Gradle과 IntelliJ를 사용해서 웹페이지 구축을 해보고 싶어서 선정했다. 1. Spring intializr 로 Gradle 프로젝트 빌드하기 Spring intializr에서 Gradle 프로젝트를 만든다. 언어를 선택하고 버전은 SNAPSHOT이 없는 버전 중 최신버전으로 선택해준다. 여기서 SNAPSHOT은 실험 단계의 버전이므로 패스. (Maven 환경의 pom.xml과 같이 Gradle 환경에서는 build.gradle 환경파일로 관리) MetaData는 알아서 설정하면 되는데 회사 도메인 경우 group에서 com.example.web 이런식으로 설..
| 얄팍한 코딩사전 | 형상관리 툴 비교 Git, SVN, CVS | CVS, SVN, VSS 장단점 비교, 차이점, 사용 후 느낀점 | 형상관리 툴 종류와 비교 코드가 변경되어 중간중간 저장해 놓을 필요가 있다 소프트웨어 프로젝트를 통째로 저장해 놓을 수 있는 버전별 백업이 필요 Git 은 버전 관리를 위한 소프트웨어 GitHub은 Git으로 저장된 파일드링 저장되는 공간을 제공하는 서비스 git init git add -A git commit -m git logs git reset --hard 3r8d0 git branch "브랜치명" git merge 형상관리 시스템 Helix Core, CVS, Mercurial, Subversion, Bazzar 왜 Git인가? VSS - Microsoft 사 ..
| 얄팍한 코딩사전 디버깅 소프트웨어 발생문제 원인 잡기, 개발중인 상태 최초 기계에 벌레가 들어가서 문제가 일어났을 때에서 유래 + System.out.println(); 또는 console.log(); 로 찍어보면서 단계별로 진행상황에 따른 디버그를 찾아낸다. 컴파일, 컴파일러, 컴파일언어 java 파일에서 컴파일 과정을 거치면 .class 파일이 생성 JVM 설치된 기계에서 동작할 수 있도록 언어로 번역 C, C+, JAVA 등 인터프리터 언어, 스크립트 언어 실행할 때마다 번역을 하게 된다 즉, 실행속도가 느림 컴파일 수정이 따로 필요 없지만, 프로그래머의 언어가 그대로 배포. 코드 노출이 쉬움 JS, 파이썬, 루비 등 빌드 코드, 라이브러리, 이미지 등을 배포시 압축해서 크기를 줄이거나 난독화하..
수업일정: 1/6 ~ 6/15 사실 국비 수업을 지원하기까지에 많은 고민이 있었다. 가장 큰 건 회사에서 국비 수료생에 대한 부정적 의견이 있다는 것! 근데 다녀보니까 어떤 부분을 회사에서 우려하는지 알 것 같다. 국비 수업내용은 바로 취직을 위한 것으로 실무적 내용의 코드를 알려주고 학생들이 따라서 코드를 치고 배우기에 바쁜데, 그 과정에서 맹목적으로 코드만을 따라 치다보면 생각을 안하게 된다. 즉 주입식 교육에서 끝날 수 있다는 것이다. 하지만 개인 재량으로 관련 내용을 찾아보면서 공부도 하고 이 코드를 왜 이런식으로 짤까, 다른 방식으로 나 혼자 작성해보고 한다면 국비 수업에 참여하는 것 자체는 부정적으로 보기 어려울 것 같다. 나 역시 어느정도 조금 배웠다 싶을 때 이런 것 저런 것 혼자 더 찾으..
수업일정: 5/9 ~ 5/30 백엔드 개발자가 궁금해서 여러 채용공고를 찾아보면서 가장 많이 눈에 띈 것은 바로 API 개발 경험 여부가 있냐는 것이었다. 나는 API 개발에 대해 경험한 바가 없어서 꼭 경험하고 싶었고 현직자 조언도 얻고 싶다는 생각에 해당 수업에 참여하게 되었다! 역시 모라도 배우고 움직여야 지식이 쌓이는 것 같다. 다음에 API 공부를 시작하게 되더라도 이번 경험이 큰 도움이 될 것 같다:) Django 에서 인증키 발급 관련해서 one-to-one 유저 설정 방식에 막혔지만 이걸 다시 해보고 해결해야 겠다. 1. Python 기초 파이썬을 독학하고 있었는데 과제가 주어져서 더 빠른 시간 내에 기초를 다룰 수 있었다. 과제 풀 때는 크게 고려를 안하고 문제 풀기만을 생각하고 있었는데..
- 웹페이지만들기
- filezila
- IT 5분 잡학사전
- 노개북
- 정보처리기사
- jdbc
- SQLD
- intellij
- JIRA
- 호스팅영역
- gradle build
- git연동
- AWS
- ubuntu
- EC2
- 노마드코더
- 배포
- gradle
- 정보처리기사 필기
- LifecycleException
- spring
- 정보처리기사 실기
- putty
- 개발도서
- 북클럽
- 실용주의프로그래머
- java
- 오늘의코딩
- 기술블로그
- 독서후기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |