본문 바로가기 메뉴 바로가기

야훔의 저렴한 개발

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

야훔의 저렴한 개발

검색하기 폼
  • 분류 전체보기 (131)
    • Diary (4)
    • 컴퓨터 일반 (4)
    • Dev (99)
      • Development (4)
      • HTML&CSS (10)
      • Javascript (5)
      • TypeScript (13)
      • Java (12)
      • Python (13)
      • Docker (2)
      • Vue.js (18)
      • React (1)
      • 어플리케이션 (2)
      • 프로그래밍 잘하기 (17)
      • Node.js (2)
    • Goods (3)
    • IT관련 (20)
      • 정보처리기사 (14)
  • 방명록

Dev/Java (12)
JDK 1.8 + Eclipse 설치하기

Java를 처음 시작하는 사람은 JDK를 어떻게 설치하는지 그리고 그 방법도 개발자들 마다 천차만별이고, JDK 버전도 뭘 받아야하는지 종류도 너무 다양해서 너무 혼란스러운 것 같다. 그래서 Java를 처음 개발하는 사람들을 위한 JDK 와 Eclipse를 설치하는 것을 오늘 잠깐 이야기해보겠다. 일단 구글에서 JDK Download라고 검색해보자. 1. JDK Download 위 처럼 검색결과가 등장하거든 제일 위에 있는 Oracle로 가는 링크를 클릭하자. 지금은 JDK 12버전까지 릴리즈 되어있지만 우리는 "Java SE 8u221"를 설치할거다. 최신버전이 좋은게 아니냐는 사람들이 있겠지만 오라클이 마이크로 선즈를 인수하면서 JDK의 무료라이센스를 변경하는 바람에 8버전 이후 부터는 제약사항이 라..

Dev/Java 2019. 9. 1. 22:37
외부 jar 파일 dependency 하기

가끔 프로젝트를 진행하다보면 외부 jar 파일을 제공받아 프로젝트에 반영해야하는 일이 종종(?) 생긴다. 내 이번 프로젝트에서도 이와 같은 이슈가 있어서 제공 받은 jar 파일을 어떻게 반영할지 몰라서 좀 당황했다.(아니, 난 그냥 lib 디렉토리에 jar 파일 넣고 build path를 맞춰주면 알아서 들어갈줄 알았지...) 일단 내가 검색을 좀 해봤더니 pom.xml 파일에 dependency로 추가해주면 된다는 사실을 알고 pom.xml 파일에 아래와 같이 jar 파일을 추가해줬다. 일단 보안 때문에 일부 정보는 Blur 처리로 가렸다. dependency에 위와 같이 적용하면 되는데 groupId, artifactId 는 jar 제공처에 물어보고 적용하면 된다. 버전정보는 뭐 상관은 없지만 달라고..

Dev/Java 2019. 2. 28. 09:47
Spring Security @PreAuthorize, @PostAuthorize 를 사용하는 신박한 전처리 후처리 기법

요즘은 처음에 시작했던 시리즈는 만들지 않고 짧은 코딩들이나 팁을 계속 올리고 있는데 이것은 시리즈를 만들기 위해 잠깐 숨고르기를 하고 있는 중이기 때문이라고 믿어주길 바란다는 서문을 미리 깔고.... 요즘 지난번 포스팅에서 언급했듯 프로젝트를 진행하면서 Spring boot로 Restful APIs 서버를 개발하고 있는 중인데 이 Restful APIs의 가장 치명적인 단점은 보안모델을 만들기가 매우 까다롭다는 것이다. 아무렇게나 대충 만들면 스니핑 툴을 이용한 Javascript 변조를 이용해 해킹이 가능할 수도 있고 쿠키를 이용하면 그건 그것대로 문제가 된다. 툴키디급 해커들의 좋은 놀이터를 만들어주게 된다는 거다. 그래서 조금(?) 공부를 한 친구들은 OAuth2나 Spring Security를 ..

Dev/Java 2018. 1. 18. 11:57
Spring Security @Secured, @PreAuthorize, @PostAuthorize Annotation이 동작하지 않을 때

요즘 장학도사라는 사이트를 만들고 있다. 이 사이트 광고를 좀 하자면 국내의 장학재단들이 있고 장학재단들이 갖고 있는 장학금의 종류가 무려 2천여개던가? 그렇단다. 그래서 "(주) 꿈꾸는 세상" 대표랑 둘이서 등록금때문에 힘들어서 학업을 포기하려고 하는 학생들이나 생활이 힘들어 학업을 더이상 진행할 수 없는 학생들을 위해서 꿍짝꿍짝하면서 만들고 있다. 사실 몇년 전에 한번 만들었는데 지금 기술과 노하우와 여러가지 기능들을 더해 조금 더 좋은 서비스를 하기위해 올 2월 중순에 오픈할 예정으로 새로 만드는 중이다. 이 사이트를 만들던 도중 Spring Security를 적용해 인증처리를 하려고 하는데 문제가 발생했다. @Secured 어노테이션과 @PreAuthorize, @PostAuthorize 어노테이..

Dev/Java 2018. 1. 17. 16:43
Spring Boot MongoDB와 Redis 설정하기

안녕하신가 여러분. 요즘 회사일도 바쁘고 개인적으로 공부하는 것과 진행하는 프로젝트들에 치여서 포스팅이 뜸했는데 오늘 아주 짧게 포스팅할 주제가 있어 돌아왔다. Spring boot가 좋은 점은 그냥 Maven이나 Gradle 설정에 원하는 라이브러리를 Dependency 해주고 application.properties 파일에 설정만 하면 바로 원하는 코드를 작성할 수 있으니 간편함의 끝이라고 할 수 있는데, 이번에 개인적으로 작업하는 프로젝트에서 MongoDB와 Redis를 사용하는 것이 좋겠다고 판단이 들었고 이를 셋팅하는 작업을 진행했다. 일단 이 포스팅은 아래의 조건이 충족한 상태에서 진행하면 되겠다. MongoDB 서버가 이미 설치되어 있을 것MongoDB의 Auth 설정이 true로 설정되어 ..

Dev/Java 2017. 12. 29. 15:39
Spring boot로 Web프로젝트 시작하기 #7. JPA-Hibernate 셋팅(2편)

자, 지난시간 JPA를 위해 DB도 만들고 셋팅도 하고 Table도 만들고 이것저것 했다. 이제 Repository와 Service 를 만들어서 user 테이블의 정보를 가져오는 API를 만드는 것이 이번 포스팅의 목적이다. 자, 우리가 순차적으로 작업을 진행할 필요가 있는데 무엇을 먼저 작업하면 좋을지 하는 거다. 우리는 user테이블에서 데이터를 가져와서 API를 이용해 클라이언트에게 전달할 건데 가장 필요한게 무엇일까? 대부분의 개발자들이 먼저 하는 작업이 무엇이냐하면 Controller먼저 만든다. 일단 요청을 해야 뭔가를 얻어올 수 있다고 생각해서다. 하지만 뭔가를 얻어온다는 말에 속에 간과하고 있는게 한가지 있다. 그것이 바로 "뭔가" 라고 하는 단어다. "뭔가"를 얻어오려면 그 "뭔가"를 담..

Dev/Java 2017. 12. 7. 18:31
Spring boot로 Web프로젝트 시작하기 #6. JPA-Hibernate 셋팅(1편)

이제 프로젝트를 진행하기 위해 수행하는 작업중에서 절반 정도 마쳤다. 이제 Backend 프로그래밍에서 가장 중요한 DB에서 데이터를 긁어오는 작업이 필요한 시점에 왔다. 기존에 DB에서 데이터를 가져오기 위해서 가장 많이 사용한 라이브러리로는 Mybatis일텐데 이번에는 좀 특별(?)히 JPA를 사용해보도록 하겠다. 왜 JPA를 사용하느냐 한다면 몇가지 이유가 있는데 spring-boot-starter-data-jpa 라이브러리를 프로젝트에 추가하면 JPA를 바로 사용할 수 있기 때문이기도 하고 귀찮은 설정작업을 그냥 Properties 파일에 속성을 조금(?) 추가하면 바로 사용이 가능하고 Mybatis를 이용하려면 꽤 많은 수고를 들여야하기도 하지만 Query Mapper를 손으로 일일이 작업해줘야..

Dev/Java 2017. 12. 5. 16:16
Spring boot로 Web프로젝트 시작하기 #5. ResponseEntity

지난시간 Swagger를 셋팅하고 난 뒤 이제 Controller를 개발하는데 집중을 하려고 생각을 하니 HTTP 스펙에 맞춰서 메시지 응답하는 환경이 필요해졌다. 왜 필요하냐고 질문하는 분들을 위해 잠깐 설명하는 시간 가져보자. 우리는 왜 Restful APIs를 만드는 것일까? Ajax 통신을 통해 데이터를 주고 받기 위해서 만든다고 하면 80점 짜리 답변이다. Restful APIs를 만드는 가장 큰 이유는 Client Side를 정형화된 플랫폼이 아닌 모바일, PC, 어플리케이션 등 플렛폼에 제약을 두지 않는 것을 목표로 했기 때문이다. 이게 무슨 소리인지 조금 더 쉽게 설명하자면 2010년 이전만 해도 Server Side에서 데이터를 전달해주는 Client 프로그램의 대상이 명확했다. PC 브..

Dev/Java 2017. 12. 4. 19:06
Spring boot로 Web프로젝트 시작하기 #4. Swagger 적용하기

지난번에 했던건 그저 API 호출을 하면 Hello,World를 뱉어내는 아주 단순한 API를 만들어냈다. 사실 어떤 웹서비스를 만들고 그 서비스를 이용하기 위해서는 꽤 많은 양의 API들이 필요하고 그 API를 정리하는데에 시간을 소모하게 된다. 내가 만약 아주 단순한 서비스를 만든다고 가정했을 때(아직 OAuth를 배우진 않았으니까 OAuth가 없다고 가정하고) 일반적으로 예상할 수 있는 API의 종류는 아래와 같을 것이다. 이메일 중복확인회원가입로그인개인정보 수정패스워드 수정(개인정보 수정에 포함 가능)회원 탈퇴파일 업로드파일 다운로드(다운로드 관련 기능이 별도로 필요하다면)글 쓰기글 수정하기글 삭제하기글 목록 가져오기글 읽기 이 정도 기능이면 아주아주 단순한 게시판 하나 달랑있는 사이트를 만들어 ..

Dev/Java 2017. 12. 1. 14:43
Spring boot로 Web프로젝트 시작하기 #3. Restful APIs 만들기

지난시간엔 Spring Boot로 Web 모듈이 탑재된 프로젝트를 만들었다. 이 프로젝트를 만들어 놓고 pom.xml 파일을 열어보자. 아참, 본인의 특별한 능력으로 Gradle로 만든 친구들은 build.gradle 파일을 열어보면 될 것이다. 이 포스팅은 Maven 기반으로 프로젝트를 이끌어 갈 것이라는 것만 알아두면 좋겠다. pom.xml 파일을 열어본 뒤 가장 먼저 해야할 일은 Spring boot의 버전을 바꿔주는 것이다. STS에서 프로젝트를 만들게 되면 Stable 버전으로 1.5.8을 기본셋팅해주는데 이걸 1.5.6 으로 변경해주는 것이 처음 할 일이다. 나중 일이지만 JPA 셋팅을 하고 QueryDSL을 셋팅해서 DB에서 데이터를 들고 올때 EntityManager 객체를 통해서 가져오게..

Dev/Java 2017. 11. 24. 12:16
이전 1 2 다음
이전 다음
최근에 올라온 글
  • 보안과 관련하여
  • 으허 프로젝트의 늪에서 살아 돌아온..
  • Koa + MySQL + Passport-jwt ⋯
  • Koa + MySQL + Passport-jwt ⋯
최근에 달린 댓글
  • 다시한번 꼼꼼히 읽어보고 찾아냈어요 파이프 추가를 빼먹⋯
  • 안녕하세요!! 너무너무 감사하게 잘 배우고 있습니다. ⋯
  • 덕분에 store에 대한 개념을 잡을 수 있었습니다. ⋯
  • ㅎㅎ 덕력이 그렇게 많은 것 같지 않다능

Blog is powered by Tistory / Designed by Tistory

티스토리툴바