전체 글 149

2022년 개발 결산 feat. 네이버 클라우드 플랫폼

2022 년에는 프로젝트 5개의 프로젝트를 자바와 스프링을 활용하여 api 서버를 구축 해보았다 1. 중고거래 프로젝트인 아거 프로젝트 2. 학교 졸업 작품으로 황금두더지 3. 멋쟁이 사자에서 진행한 팀프로젝트 zzandi 4. kdt 해커톤에 참여하여 진행한 멍타주 5. 기술 면접을 대비하기 위한 devwiki 프로젝트 이중에서 5번째 프로젝트를 운영하면서 버그 수정과 기능 추가를 하고 있다. 2명의 프론트 팀원분들과 2명의 백엔드 팀원으로 구성이 되어있어 it취준생들이라면 가장 중요한 기술면접에서 자신의 의견을 정확하게 전달하기 위해 녹음을 해보고 자신이 한 질문을 들어보고 부족한 부분을 채워나가는 스터디 사이트 이다. https://devwiki.co.kr 사이트를 운영하는부분에서 가장 큰도움이 되..

카테고리 없음 2022.12.24

Nginx proxy manager 설치, letsencrypt ssl 발급 받기

Nginx proxy manager란? Nginx를 명령어를 사용하여서 설정을 하는 것이 아니라 깔쌈한 ui를 통해 손쉽게 설정을 할수 있고, letsencrypt을 활용하여 손쉽게 ssl인증서를 발급 받을수 있습니다. https://nginxproxymanager.com/ Nginx Proxy Manager Docker container and built in Web Application for managing Nginx proxy hosts with a simple, powerful interface, providing free SSL support via Let's Encrypt nginxproxymanager.com 설치 환경 네이버 클라우드 [MICRO] 1vCPU, 1GB Mem [g1] Ce..

AWS 2022.12.01

스프링 마이크로 코딩 공작소(1)

모놀리식 아키텍처 vs 마이크로 서비스 아키텍처 모놀리식 아키텍처 애플리케이션이 배포 가능한 하나의 산출물로 생성이 된다. 모놀리식 아키텍처의 장점은 구축 및 배포가 쉽다. 하지만 애플리케이션의 크기와 복잡성이 증가하면 모놀리식으로 관리를 하는것은 어렵다. 하나의 변경으로 다른 부분까지 영향을 준다면 사용자가 서비스를 다시 접하는 시간이 길어질것이다. 단점으로 몇가지가 더있다. 느린 개발 속도 – 대규모 모놀리식 애플리케이션에서는 개발이 더욱 복잡해지고 속도가 느려집니다. 확장성 – 개별 컴포넌트를 확장할 수 없습니다. 안정성 – 모듈에 오류가 있으면 애플리케이션 전체의 가용성에 영향을 줄 수 있습니다. 기술 채택의 장벽 – 프레임워크 또는 언어를 변경하면 애플리케이션 전체에 영향을 미치므로 변경 시 비..

도서 2022.11.06

8/24일 배운것들

8/24 [Linux] Local Pc에서 리눅스 서버 간에 파일 전송 wget사용 파일 호스팅에서 파일을 올려준다. https://i.imgur.com/mTveuJv.png wget {이미지 링크} 파일 이름 수정 mv {원본 파일} {수정할 이름} site2.com/like.png 입력 filezilla를 사용해보기 FileZilla 원하는 파일을 따블클릭시 쉽게 전송이 된다. FTP란 응용계층에서 사용되는 프로토콜이다. File Transfer Protocol 컴퓨터 사이의 파일 전송을 위한 프로토콜이다. TFTP 이것도 역시 파일 전송을 위한 프로토콜이다. 하지만 FTP보다 단순한 방식으로 전송을 하여 데이터 손실이 있을수 있다. 왜 손실이 있는지 검색을 해보니 UDP프로토콜을 사용해서 이다. U..

오늘 배운것들 2022.08.24

리눅스와 스프링 공부

8/23 [Linux] RPM은 CentOS및 Fedora와 같은 Linux의 Red Hat 기반 배포판을위한 패키지 관리자 도구 인 Redhat Package Manager의 약자입니다. yum및rpm명령 줄 유틸리티를 사용하여 CentOS에 RPM 패키지를 설치할 수 있습니다. rpm -qa | fgrep nginx ⇒ rpm -qa는 설치된 패키지중 and nginx로 시작하는것들을 출려해줘 wget vs curl wget 과 curl 은 둘 다 웹 서버로부터 컨텐츠를 가져오는 Linux 커맨드입니다. wget 과 curl 은 거의 유사하지만 조금 다른 부분이 있습니다. curl : curl은 다양한 프로토콜을 지원한다. wget : wget은 HTTP, FTP만 지원을 한다. 버츄얼 박스에서 si..

오늘 배운것들 2022.08.23

[spring] 스프링 부트에서 Email 보내기 구현

스프링에서 손쉽게 메일을 보내주는설정값을 implementation group: 'org.springframework.boot', name: 'spring-boot-starter-mail', version: '2.6.3'implementation group: 'org.springframework.boot', name: 'spring-boot-starter-mail', version: '2.6.3' build.grable에 한줄 추가해준다. 그다음 application.yml파일에 서 설정값을 넣어준다. spring: mail: host: smtp.gmail.com port: 587 username: {구글 아이디} password: {앱 비밀번호} properties: mail: smtp: auth: t..

Spring Boot 2022.08.08

[에러]H2에서 User 테이블 생성시 에러 해결법

@Entity @Getter @Setter @NoArgsConstructor public class User extends BaseEntity{ 이와 같이 User클래스를 h2에 테이블을 만들려고 할떄 o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDLcreate table user 이와 같은 에러가 나타난다. 구글링을 해보니 user라는 이름이 h2에서 예약어 일수 있다고 한다. @Entity @Getter @Setter @Table(name = "\"User\"") @NoArgsConstructor public class User extends..

Spring Boot 2022.08.06

[Tomcat] Intellij에 Tomcat 연동하기

개발환경 intellij Ultimate 2022.01 JDK(11) 대학생이라면 무료로 인텔리제이 울티메이트버전을 사용할수 있습니다. https://www.jetbrains.com/community/education/#students Free Educational Licenses - Community Support Learn or teach how to code with best-of-industry tools from JetBrains. Free Educational Licenses for JetBrains' tools. www.jetbrains.com 웹 개발을 시작하기전 인텔리제이에 톰켓을 연동하는 방법을 포스팅하려고 합니다. 먼저 톰켓을 JDK버전에 맞게 다운로드 해줍니다. https://tom..

카테고리 없음 2022.07.03

[DDD] DIP란??

만약 내가 상품서비스를 만든다고 했을때 1,2,3 과 같은 로직이 필요할것이다. 정보를 조회하기 위해서 JPA에 의존을 하고 결제를 하기 위해서 PG 결제에 의존을 하고 주문완료후 이메일 발송을 위해서 이메일 발송 서비스에 의존을 할것이다. 과연 이와 같은 구조가 옳바른 구조일까?? 만약 JPA가 아닌 QueryDSL로 조회 로직을 바꾼다면 orderService까지 코드를 수정해야하는 경우가 생긴다. 그럼 어떤 식으로 설계를 해야 orderService는 안바꾸고 low레벨만 수정을 해도 로직에는 문제가 없을까?? 그 답은 "인터페이스"에 있다. 위 그림과 같이 orderService가 조회로직 인터페이스를 바라보는 거는 상관이 없다 왜냐하면 같은 도메인 레이어 이기때문이다. 인터페이스를 두면서 의존성..

윈도우 10에서 Gatsby 프로젝트 생성 및 실행

1. Node Js 설치하기 https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org LTS버전으로 설치해줍니다. 2.gatsby-cli로 프로젝트 생성 npm install -g gatsby-cli 3.gatsby-cli로 프로젝트 생성 원하는 작업 폴더 생성 ex> c\working cd c:\working mkdir gatsby_projects cd gatsby_projects gatsby new 설치가 완료 되면 다음과 같은 화면이 보인다. 작업 폴더에서 cmd .으로 cmd창을 열고 cd my-blog-2022-06-27들어간후 code .엔터 또는..

카테고리 없음 2022.06.27