Annotaion 처리부 구현 (값 주입, Trim)
Back-end/Java, Kotlin2021. 4. 27. 23:26Annotaion 처리부 구현 (값 주입, Trim)

[Object].getClass() : 해당 클래스의 인스턴스를 만들 때 필요한 정보를 리턴한다. .getClass() 와 .class는 비슷한 역할을 하는 것으로 보이는데, 두 개의 차이는 전자는 RunTime에 결정되고 후자는 CompileTime 에 결정된다고 한다. 아래는 구현부이다 ! 리펙터링이 필요하지만.. 오늘은 다메다메.. 값 주입 @Retention(RetentionPolicy.RUNTIME) public @interface InjectionNumber { int data() default -1; } public class Target { @InjectionNumber(data = 1234) int a; int b = 123000; String c; } public class Main {..

newlecture: spring MVC 1
Back-end/Spring Boot, JPA2021. 4. 26. 22:45newlecture: spring MVC 1

아래 주소로 옮겼어요 ! newlecture: spring MVC 1/4 (velog.io) newlecture: spring MVC 1/4 https://youtu.be/JM1PX5xFw-g우선 뉴렉쳐쌤.. 항상 감사합니다 !Tomcat에서 진행되었던 Servlet, Mybatis 설정등이 Spring으로 옮겨졌다.사용자로부터 받는 요청을 DIspatcherServlet이 중간에서 교통정리를 한다 velog.io

newlecture: spring AOP (ft.빵또아)
Back-end/Spring Boot, JPA2021. 4. 24. 22:32newlecture: spring AOP (ft.빵또아)

www.youtube.com/watch?v=y2JkXjOocZ4&list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T&index=19 항상 감사합니다 뉴렉쳐 쌤 !! AOP는 마치 빵또아와 같다. 개발을 하다보면 사용자를 위한 주 업무 로직 이외에, 개발자와 운영자를 위한 로직이 같이 생긴다!!! 뚜둥 ! ㅃ빵또앟ㅎ !! 각 주 업무 로직마다 로그, 보안, 트랜잭션 처리를 해야 하는데, 각 로직마다 호출했던 저 일들을 AOP가 관리를 해준다. 앞 뒤 관련 처리를 하나의 장소 안에서, 주 업무 로직을 호출하는 방식으로 처리하기 때문에 해당 로직들은 모두 로그, 보안, 트랜잭션 처리를 하는 것처럼 보인다. 이모습이 마치 빵또아를 보는 것과 비슷하다. 구체적으로는 proxy를 통해서 호출할 ..

newlecture: spring DI (IoC)
Back-end/Spring Boot, JPA2021. 4. 23. 00:32newlecture: spring DI (IoC)

www.youtube.com/watch?v=XtXHIDnzS9c&list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T 항상 감사합니다 뉴렉쳐쌤.. ^^ Java SE를 기반으로 하고 Java EE 에서 Spring 으로 사용하는 것으로 바뀌었다. ClassA a = new ClassA(); a.doSomething(); 위와 같은 코드는 B1, B2등의 클래스가 생겼을때 관계가 바뀔 때 마다 코드를 수정해야 한다.. 즉 유연하지 못하다. 예를 들면 아래와 같이 바꾸어야 한다. ClassB1 b1 = new ClassB1(); b1.doSomething(): ClassB2 b2 = new ClassB2(); b2.doSomething(): 이런 것은 Interface로 해결할 수 있다. ..

Reflection : 그누므 리플렉션이 모야 !!  (ft. 애노떼이숀, 쩨네릭)
Back-end/Java, Kotlin2021. 4. 8. 21:26Reflection : 그누므 리플렉션이 모야 !! (ft. 애노떼이숀, 쩨네릭)

주위에서 하두 리플렉션 얘기를 많이 들어서 이참에 한번 보기로 햇다. 5초식 리플렉션을 이용한 리팩토링 완성ㅎ - 자바로 PC방 프로그램만들기 (opentutorials.org) 5초식 리플렉션을 이용한 리팩토링 완성ㅎ - 자바로 PC방 프로그램만들기 ㅎㅎ 이것도 곧 올리겠습니다. 리플렉션을 어떻게 설명할까하다가.. 지쳐가지고 중간에 업로딩을 안했었거든요. ㅠㅠ 제작에 꼭 필요한 부분은 아니지만, 리팩토링하다가 재밌어서 올려봅니 opentutorials.org (참고 !! - 감사합니다 ㅎㅎ) 한 클래스가 다른 클래스의 정보를 열람할 수 있는 것을 말한다. 이게 가능한 이유는 컴파일 후에 바이트코드가 static영역에 저장되는데 클래스 이름을 안다면 이 영역을 조사하여 알아낼 수 있다는 것이다. pack..

스프링 활용 JPA 강의 내용 기록
Back-end/Spring Boot, JPA2021. 3. 29. 22:46스프링 활용 JPA 강의 내용 기록

파일을 받으면 압출을 풀어서 build.gradle 을 임포트한다. Lombok 설치 및 테스트 1. (Plugins) 마켓플레이스 Lombok 설치 2. Annotaion Processors 에서 Enable Annotation Processing 클릭 spring-boot-devtools 파일 수정후 저장시 restart 캐시를 지워서 thymeleaf 파일이 수정되었을 시에 반영되도록 함 Build - Recompile 누르면 (이때 서버 재기동안해도 됨) 브라우저를 새로고침할경우 자동반영된다! @Repository : entity를 찾아주는 역할 (dao라 생각하면 된다) em을 이용한 데이터 변경은 Transactional을 타야한다. 로그 보기! 만일 위 파라미터를 보고 싶으면 좀 더 직관적으..

Back-end/Java, Kotlin2021. 3. 29. 21:15[디자인 패턴] Observer

public interface BroadcastStations { List subscriberList = new ArrayList(); default void register(FamilyHouse fm) { subscriberList.add(fm); String msg = String.format("[%s] : %s님이 구독하였습니다.\n" , this.getClass().getSimpleName() , fm.getClass().getSimpleName()); out.println(msg); } } class Netflix implements BroadcastStations { } class Watcha implements BroadcastStations { } 해당 interface를 상속받아서 Net..

[디자인 패턴] Strategy  (ft. 오바와치)
Back-end/Java, Kotlin2021. 3. 27. 13:19[디자인 패턴] Strategy (ft. 오바와치)

회사에서 !! 갓사수의 Strategy 패턴을 보고 feel을 받은 나는 오버워치의 에코 영웅을 대상으로 전략 패턴을 작성해 보았다. 오버워치의 4번째 옴닉 영웅인 에코는 자신을 상대 영웅으로 복사하여 전투에 임할 수 있다. public interface Echo { public void attack(); public OverwarchHeros getSymbol(); } 에코 인터페이스는 공격과 심볼을 표시할 수 있다. public enum OverwarchHeros { H01("Soldier76"), H02("Reinhardt"), H03("Tracer"); private String name; OverwarchHeros(String name) { this.name = name; } public Str..

스프링 배치 getting start
Back-end/기타 (BE)2021. 3. 25. 01:51스프링 배치 getting start

www.youtube.com/watch?v=i8YRTpy0pgM 해당 동영상 덕택에.. 무사히 따라할 수 있었다. spring.io/guides/gs/batch-processing/ Creating a Batch Service this guide is designed to get you productive as quickly as possible and using the latest Spring project releases and techniques as recommended by the Spring team spring.io www.youtube.com/watch?v=1XEX-u12i0A 나중에 요것도 해보자!!

스프링 intro 강의 복습 차원 정리, ★ 단축키
Back-end/Spring Boot, JPA2021. 3. 19. 01:17스프링 intro 강의 복습 차원 정리, ★ 단축키

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 (김영한) ★ 유용한 단축키 ! https://velog.io/@progress0407/갓IntelliJ-IDEA-단축키 갓IntelliJ IDEA ☆ 단축키 ★ 인텔리제이는.. 정말 sexy하다.. 마치 this 이탤릭체처럼안녕 ! 여러분 philz아조씨야\~\~~자 지금부터 오늘은 ! 갓텔리제이의 단축키를 설명하려고해\~~짜잔! 흥칫뽕 !! velog.io 이곳으로 이주했다 !! /** 한담 엔터 치면 초록색 + @파라미터들 나옴 개념 정리 @ResponseBody 정적컨텐츠를 제외하고 html 만들어서 넘기거나 api(일반적으로 객체를 뜻함)로 데이터를 ..

Back-end/Java, Kotlin2021. 3. 14. 23:53json인듯 아닌듯 한 데이터를 jsonParsing하기

여러 개의 파일을 읽어 들여서 json인듯 아닌듯 한 파일을 읽어서 json 데이터로 가공한 뒤에 json으로 읽어서 특정 조건에 맞는 데이터를 추출한 다음에 엑셀 장표에 옮기면 된다. package jsonParser; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FilenameFilter; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json..

외부에서 다운받은 jar 추가하기
Back-end/Java, Kotlin2021. 3. 14. 21:08외부에서 다운받은 jar 추가하기

module path에 추가하면.. 왠지 인식을 못한다. classpath 누른 다음 Add External JARs... 를 하자

image