Kanboo PMS ERDCloud Kanboo PMS에 대한 ERDCloud Entity 설계도 입니다. https://github.com/Juwon-Yun/kanboo_site GitHub - Juwon-Yun/kanboo_site: kanboo PMS kanboo PMS. Contribute to Juwon-Yun/kanboo_site development by creating an account on GitHub. github.com Etc/ErdCloud 2022.01.13
LolApp Utils Figma LoL 주제를 가지고 Figma를 구현하였습니다. https://github.com/Juwon-Yun/Th_Boot_Mybatis GitHub - Juwon-Yun/Th_Boot_Mybatis Contribute to Juwon-Yun/Th_Boot_Mybatis development by creating an account on GitHub. github.com Etc/Figma 2022.01.13
KanBoo PMS View 설계 Figma 프로젝트 팀원들과 회의하며 요구사항을 View 마다 정리하였습니다. https://github.com/Juwon-Yun/http-kanboo.site GitHub - Juwon-Yun/http-kanboo.site: PMS Project(vue.js, Spring Boot, JPA) PMS Project(vue.js, Spring Boot, JPA). Contribute to Juwon-Yun/http-kanboo.site development by creating an account on GitHub. github.com Etc/Figma 2022.01.13
Spring AOP의 구동 원리와 Proxy와의 관계 지난 포스팅에서는 Filter, Interceptor, AOP 간의 차이점을 알아보았습니다. 이번 포스팅은 JVM 런타임 동안 Spring이 무엇을 하는지 , 어떤 동작을 하고 무슨 준비를 하는지, Weaving과 Proxy의 역할, SOLID의 원칙 중 어떤 것이 적용되는지 알아보겠습니다. 첫째로 Weaving이 무엇인지 알아보겠습니다. Weaving Advice를 핵심 로직에 적용하는것을 의미하며 3가지 방식이 존재합니다. Compile-time Weaving Load-time에 대한 절차가 없어서 성능 하락 없이 구성이 가능합니다. Lombok과 같은 Compile Weaving 시 간섭하는 Plugin들과 충돌이 발생합니다. Class Load-time Weaving Application Cont.. Backend/Spring 2022.01.13
git action, docker로 자동배포, Dbeaver 띄우기, DevOps의 철학 git action과 heroku로 내가 git push 했을 때 자동으로 앱 빌드, 배포를 할 수 있다. https://www.youtube.com/watch?v=YMdwYPCyxRk&list=LL&index=5&t=1s github + jenkins + docker 로 자동 배포 구축, 구현하기 https://www.youtube.com/watch?v=ZM9sU3nqCMM&list=LL&index=2 docker에 대해 알아보자 https://www.youtube.com/watch?v=mECbDs9nPnM&list=LL&index=1&t=807s docker로 DBeaver 띄우기 https://www.youtube.com/watch?v=NxmlF2AqhBU&list=LL&index=3 흔히 말하는 .. Etc/일기장 2022.01.13
JVM( Java Virtual Machine )을 알아보자! 이번 포스팅에서는 JVM 이란? JVM 용어 정리 JVM의 흐름 JVM의 구조를 알아보겠습니다. JVM ( Java Virtual Machine : 자바 가상 머신 ) 이란? 우선 JVM의 탄생과정을 살펴보면 자바가 공개되기 전에는 모든 컴퓨터 프로그램들은 특정 운영체제에 맞게 작성되었기 때문에 새로운 운영체제가 생길 때마다 새로운 운영체제에 맞는 새로운 프로그램을 만들어야 했습니다. JVM이 탄생한 이후로는 어떤 운영체제에서든지 실행할 수 있고 운영체제에 상관없이 독립적으로 관리할 수 있습니다. 또한 자동으로 가비지 컬렉터를 이용하여 메모리를 관리할 수 있는 강력한 장점이자 JVM의 특징입니다. 용어 정리 Java Source : Source code인 확장자. java로 사람이 작성한 또는 사람이 이.. Backend/Java 2022.01.12
AOP, Filter, Interceptor의 정의와 차이점 (3) - AOP편 AOP ( 관점 지향 프로그래밍 : Aspect Oriented Programming) 란? AOP는 Ioc / DI, 서비스 추상화와 더불어 스프링의 3대 기반 기술 중 하나입니다. AOP는 스프링 기술 중에 가장 이해하기 힘든 난해한 용어와 개념을 가진 기술로 유명합니다. AOP를 이해하려면 OOP를 보조하거나 대체하려는 AOP라는 개념 뒤에 감춰진 필연적인 등장 배경과 스프링이 AOP 기술을 도입한 이유, AOP 도입을 통해 얻는 장점이 무엇인지에 대한 충분한 이해가 필요합니다. AOP는 OOP ( 객체 지향 프로그래밍 : Object Oriented Programming )을 보완하는 확정적인 개념 ( OOP를 대신하는 개념이 아닌, OOP를 더욱 빛나게 혹은 더욱 OOP 답게 사용할 수 있도록 .. Backend/Spring 2022.01.11
AOP, Filter, Interceptor의 정의와 차이점 (2) - Interceptor 편 앞선 포스트에서는 Filter에 대해 알아보았고 이번 포스팅에서는 Interceptor를 알아보겠습니다. Interceptor ( 인터셉터 : 낚아채다 ) Spring에서의 Interceptor 역할은 Client로부터 들어오는 요청( HttpRequest )을 Controller의 Handler로 도달하기 전에 가로채거나 , Controller로 부터 보내는 응답( HttpResponse )을 가로채는 역할을 합니다. HandlerInterceptor에서 가로채어 원하는 추가적인 로직을 수행한 후에 Controller의 Handler로 보낼 수 있도록 하는 Module입니다. ( Handler : Client가 요청한 url에 따라 실행되어야 할 Method ) 아래의 그림은 Dispather Serv.. Backend/Spring 2022.01.11
AOP, Filter, Interceptor의 정의와 차이점 (1) - Filter 편 AOP, Filter, Interceptor의 설명에 앞서 공통 프로세스에 대해 기본 흐름을 알아야 한다. 프런트엔드 개발 도중에는 공통적으로 처리해야 할 업무들이 많습니다. 로그인, 페이지 혹은 SPA 컴포넌트 간의 권한, XSS( Cross site script ) 보안, 로그, 인코딩 등 많은 공통 프로세스가 있다. 공통 프로세스를 관련된 페이지( 컴포넌트 )마다 작성해야 한다면 중복 코드가 많아지게 되고 Project( 혹은 SPA )의 단위가 커질수록 서버에 부하가 커지며, 소스의 유지 및 보수도 어려워지게 된다. 개발자인 우리는 클린 코드를 지향하며 좋은 코드를 작성해야 합니다! 따라서 공통 프로세스는 따로 관리하는 방법이 좋은 방법 중 하나이다. 이러한 프로그램의 공통 프로세스를 흐름의 시작.. Backend/Spring 2022.01.10
Spring( 봄 ) ?? 스프링의 원리와 기초 Spring Framwork Java Platform을 위한 오픈소스 애플리케이션 프레임워크로서 스프링( Spring ) 이라고 불린다. Open Source : 소프트웨어 혹은 하드웨어의 제작자의 권리를 지키면서 원시 코드를 누구나 열람할 수 있도록 한 소프트웨어로서 오픈 소스 라이센스에 준하는 모든 통칭을 말한다. Framework : 개발자를 위한 설계 기본의 뼈대, 구조, 환경을 말한다. ( 문제 영역을 해결한 재사용, 확장 가능한 라이브러리 ) Spring은 JAVA 기반의 Framwork이고 자바는 객체 지향 언어다. (개발자인 우리는 좋은 객체 지향 프로그래밍이란 무엇인지 알아야한다.) SOLID - 좋은 객체 지향 설계의 5가지 원칙 SRP : 단일 책임 원칙 ( Single Respons.. Backend/Spring 2022.01.10