it + it dev java spring 스프링부트 개발환경 구성하기 (1) OpenJDK 17 설치📢 2024년 2월 기준으로 포스팅 내용을 업데이트하였습니다. 이번 포스팅에서 Spring Boot를 이용하여 간단한 게시판 프로젝트를 만들어 보려고 한다. 개발에 필요한 프로그램 설치부터 게시판, 로그인 기능 구현까지 차근차근 단계별 세팅을 진행할 생각이다. 최종 목표는 스프링 부트 개발환경을 이해하고, Rest API 형식으로 게시판 API를 설계하고, 스프링 시큐리티를 사용하여 로그인을 구현하는 것이다. 포스팅 순서는 아래와 같다.OpenJDK 17 설치 (현재 포스팅)STS 4 설치스프링부트 프로젝트 생성메이븐 Local Repository 설정DB 설계와 REST API 설계mybatis 연동과 게시판 목록 조회페이징 (Mybatis에서 Pageable) 동적 정렬처리 시작 전 준비사항이번 포스.. wono | discuss | tweet + it dev nestjs github action [AWS] Github Action으로 EC2에 Nestjs 자동 배포기존에 AWS EC2에 Nest 프로젝트를 하나 띄워놨었다. 기존 방식은 저장소를 클론해서 pull을 받고 npm run build로 빌드하는 식. 이런 방식이면 배포 브랜치에 커밋이 추가 될 때마다 해당 EC2 인스턴스에 접속해서 pull을 받고 다시 배포를 해야되는 상황이 생겨 불편함이 야기 될 게 뻔했다. 그래서 CI/CD에 대해서 조사를 하던 중에 github action을 사용해서 간단하게 자동 배포 파이프라인을 구축했다. 방식은 다음과 같은데 내가 로컬 컴퓨터에서 깃허브의 레포지토리로 push를 했을 때 github action이 실행되고 github action에서 EC2에 ssh 접속을 해서 작성해둔 스크립트로 pull을 받고 서버를 다시 재가동하는 방식이다. 일단 당연히 EC2(ubunt.. wono | discuss | tweet + it dev linux ubuntu log clean Free up disk space on Ubuntu - clean log, cache, archive packages/apt archives, orphaned packages, old kernel and remove the trashFree up disk space on Ubuntu - clean log, cache, archive packages/apt archives, orphaned packages, old kernel and remove the trash - clean.sh wono | discuss | tweet + it dev nestjs NestJS 파헤치기1 - 기본 개념 및 설치NestJS는 뭐야? 라고 물으면 NestJS는 효율적이고 확장가능한 Node.js 기반 서버사이드 애플리케이션 구축을 위한 프레임워크 정도로 설명할 수 있을 것 같다. Node.js 기반으로 javascript v8 engine에서 구동하는 웹 프레임워크로 wono | discuss | tweet + it dev oci [Oracle Cloud] 단돈 0원! Oracle Cloud로 무료 서버 구축하기AWS 프리티어의 공포백엔드 개발자로 사이드 프로젝트를 해본 경험이 있다면, 프리티어를 통해 AWS 클라우드를 사용해 본 경험이 한 번쯤은 있을 것이다. AWS에서는 1년 동안 EC2, RDS, S3 등 핵심 제품에 대해 무료 제공을 지원한다. 프리 티어를 사용한다면, 큰 추가 지출 없이 가벼운 서비스를 클라우드 환경에서 운영할 수 있다.그러나 프리티어는 1년이 지난 후부터 자동으로 비용이 지불되며, 프리티어 기간 동안에도 무료가 아닌 서비스를 이용하거나 계정 또는 서버에 접근하기 위한 정보들을 탈취당하는 경우 과금이 청구될 수 있다. (AWS 과금 괴담은 많은 개발자들을 두려움에 떨게 하는 이야기이다.)과금 괴담만이 아니더라도 프리티어 기간이 종료되고 나면 지불 비용이 은근히 쎄다. EC2, RDS만을.. wono | discuss | tweet + it dev oci 오라클 클라우드 프리티어(4) - 무료 VPS 사용안녕하세요 포스팅 글은 오라클 클라우드 프리티어 연재글로써 이번 글에서는 보안 룰셋 설정과 Linux OS의 Firewall 설정, 서버간 route 허용, Oracle Cloud 사용량 확인에 관한 내용을 확인해보도록 하겠습니다. • 오라클 클라우드 프리티어 연재 첫번째 글 오라클 클라우드 프리티어(1) - 무료 VPS 사용 오라클 클라우드 프리티어 연재 글 중 처음 글로 오라클 클라우드의 개요 및 가입에 대한 내용을 wono | discuss | tweet + it dev kotlin coroutine 코루틴(Coroutine)에 대하여안녕하세요. Checkout Engineering 팀 안세희입니다. 코루틴에 대해 많이 들어 봤지만 원론적인 의미에서 코루틴을 이해하기는 어렵다고 생각합니다. 언어 수준에서 다양한 라이브러리가 코루틴을 사용할 수 있게 제공하기에 항상 깊은 고려가 필요하진 않지만, 코루틴에 대한 개념을 정확히 알고 있어야 활용도 가능하기에 해당 주제로 글을 작성하고자 합니다. 코루틴(Coroutine) 이란? 코틀린을 통해 코루틴을 처음 접하시는 분들이 많기에 코루틴이 코틀린 언어에 종속적인 기술이라고 생각하는 분들이 많습니다. 그러나 코루틴은 1958년 코루틴 용어가 만들어지고 난 후 어셈블리 프로그램에서부터 적용되었던 개념입니다. C#, Javascript, Python, Go와 같은 고급 프로그래밍 언어에서도 지원하.. wono | comment (1) | tweet + it algorithm bst lol Binary Search TreeA binary search tree is a data structure that quickly allows us to maintain a sorted list of numbers. Also, you will find working examples of Binary Search Tree in C, C++, Java, and Python. wono | discuss | tweet + it dev db pk full What to do if the auto-increment value reaches its limit? wono | discuss | tweet + it dev spring thread hell 스프링 대용량 트래픽 처리#0. 대용량 트래픽 처리의 필요성 * 웹 서비스를 다루는데 있어 트래픽을 처리하는 구조를 설계하고 적용하는 것은 개발자의 필수 역량이다. 특히 서비스의 규모가 커질 수록 개발자가 의도한 대로 프로그램이 작동하지 않는 경우가 발생한다. 아무리 뛰어난 성능을 가진 서버라고 해도 모든 트래픽을 감당할 수는 없으므로 서비스의 안정적인 구동과 만족도 높은 고객 경험을 제공하기 wono | discuss | tweet + it dev nextjs typescript [Next.js] TypeScriptNext.js 프로젝트에 TypeScript를 적용하는 방법에 대해서 알아봅시다. wono | discuss | tweet + it cloud aws ecs eks fargate ECS vs EKS vs Fargate | 한눈에 비교하는 AWS 컨테이너 서비스AWS의 ECS, EKS, Fargate를 비교하며 우리 조직에 맞는 컨테이너 서비스가 무엇인지 알려드립니다. wono | discuss | tweet + it dev vertx api [Vert.x] RESTful API (1) - Routing 구현 wono | discuss | tweet + it dev golang orm ent Indexes | entMultiple Fields wono | discuss | tweet + it dev golang ent orm GitHub - OhMinsSup/velog-golang-server: 🙏🏻 velog-server clone to Golang🙏🏻 velog-server clone to Golang. Contribute to OhMinsSup/velog-golang-server development by creating an account on GitHub. wono | discuss | tweet + it dev golang orm [Golang으로 백엔드 개발하기] 2. ORM 선정개수는 많지만 쓸만한건 하나 wono | discuss | tweet + it ref blog flutter aws s3 [Flutter] 클라이언트의 이미지 처리 전략 두가지 feat. AWS amplify, re-sizing이미지는 복잡한 정보를 간단하고 직관적으로 전달하며 시각적 몰입이 텍스트와 미디어에 비해 좋다는 장점이 있습니다. 또한 터치인터페이스로 작동되는 모바일에서는 이미지를 적극적으로 사용하고 있죠. 하지만 이미지는 텍스트보다 용량이 커서 전송이 상대적으로 오래걸리기때문에 좋은 사용자 경험을 위해 이미지 최적화는 필수적으로 진행되어야합니다. 이번에는 제가 이미지 최적화를 했던 방법에 대해 정리해보도록 하겠습니다. ✓ 이미지 저장을 위해 S3를 사용하는 이유 보통 서버의 메인 데이터베이스로 MySql과 같은 관계형 데이터베이스(RDB)를 사용하기때문에 모든 데이터를 이곳에 저장해야한다고 생각할 수 있습니다. 하지만 이미지 저장에 대해 구글링을 해보면 대부분 외부 서버, 그중에서도 클라우드에 저장할 것을 권장.. wono | discuss | tweet + it cloud aws be cache redis Redis 서버 구축은 이렇게 - BESPIN Tech Blog인메모리 DB의 필요성 성능 개선을 위한 방법 중 하나로 인메모리 DB를 많이 사용합니다. 전체 서비스 흐름에서 데이터 입출력이 차지하는 비중을 생각해보면, 인메모리 DB의 필요성은 더욱 커질 수밖에 없습니다. 인메모리 DB는 데이터를 디스크 대신 메모리에 저장함으로써 I/O 성능을 수십 배에서 수백 배까지 끌어올립니다. 다만 메모리 특성상 데이터의 영구성이 보장되지 않기 때문에 필요에 따라 적절한 백업 시스템을 ... Read more wono | discuss | tweet + it dev vertx eclipse Vert.x is a tool-kit for building reactive applications on the JVMVert.x is a tool-kit for building reactive applications on the JVM - eclipse-vertx/vert.x wono | discuss | tweet + it dev kotlin lang Kotlin 문법 한장 wono | discuss | tweetNext
+ it dev java spring 스프링부트 개발환경 구성하기 (1) OpenJDK 17 설치📢 2024년 2월 기준으로 포스팅 내용을 업데이트하였습니다. 이번 포스팅에서 Spring Boot를 이용하여 간단한 게시판 프로젝트를 만들어 보려고 한다. 개발에 필요한 프로그램 설치부터 게시판, 로그인 기능 구현까지 차근차근 단계별 세팅을 진행할 생각이다. 최종 목표는 스프링 부트 개발환경을 이해하고, Rest API 형식으로 게시판 API를 설계하고, 스프링 시큐리티를 사용하여 로그인을 구현하는 것이다. 포스팅 순서는 아래와 같다.OpenJDK 17 설치 (현재 포스팅)STS 4 설치스프링부트 프로젝트 생성메이븐 Local Repository 설정DB 설계와 REST API 설계mybatis 연동과 게시판 목록 조회페이징 (Mybatis에서 Pageable) 동적 정렬처리 시작 전 준비사항이번 포스.. wono | discuss | tweet
+ it dev nestjs github action [AWS] Github Action으로 EC2에 Nestjs 자동 배포기존에 AWS EC2에 Nest 프로젝트를 하나 띄워놨었다. 기존 방식은 저장소를 클론해서 pull을 받고 npm run build로 빌드하는 식. 이런 방식이면 배포 브랜치에 커밋이 추가 될 때마다 해당 EC2 인스턴스에 접속해서 pull을 받고 다시 배포를 해야되는 상황이 생겨 불편함이 야기 될 게 뻔했다. 그래서 CI/CD에 대해서 조사를 하던 중에 github action을 사용해서 간단하게 자동 배포 파이프라인을 구축했다. 방식은 다음과 같은데 내가 로컬 컴퓨터에서 깃허브의 레포지토리로 push를 했을 때 github action이 실행되고 github action에서 EC2에 ssh 접속을 해서 작성해둔 스크립트로 pull을 받고 서버를 다시 재가동하는 방식이다. 일단 당연히 EC2(ubunt.. wono | discuss | tweet
+ it dev linux ubuntu log clean Free up disk space on Ubuntu - clean log, cache, archive packages/apt archives, orphaned packages, old kernel and remove the trashFree up disk space on Ubuntu - clean log, cache, archive packages/apt archives, orphaned packages, old kernel and remove the trash - clean.sh wono | discuss | tweet
+ it dev nestjs NestJS 파헤치기1 - 기본 개념 및 설치NestJS는 뭐야? 라고 물으면 NestJS는 효율적이고 확장가능한 Node.js 기반 서버사이드 애플리케이션 구축을 위한 프레임워크 정도로 설명할 수 있을 것 같다. Node.js 기반으로 javascript v8 engine에서 구동하는 웹 프레임워크로 wono | discuss | tweet
+ it dev oci [Oracle Cloud] 단돈 0원! Oracle Cloud로 무료 서버 구축하기AWS 프리티어의 공포백엔드 개발자로 사이드 프로젝트를 해본 경험이 있다면, 프리티어를 통해 AWS 클라우드를 사용해 본 경험이 한 번쯤은 있을 것이다. AWS에서는 1년 동안 EC2, RDS, S3 등 핵심 제품에 대해 무료 제공을 지원한다. 프리 티어를 사용한다면, 큰 추가 지출 없이 가벼운 서비스를 클라우드 환경에서 운영할 수 있다.그러나 프리티어는 1년이 지난 후부터 자동으로 비용이 지불되며, 프리티어 기간 동안에도 무료가 아닌 서비스를 이용하거나 계정 또는 서버에 접근하기 위한 정보들을 탈취당하는 경우 과금이 청구될 수 있다. (AWS 과금 괴담은 많은 개발자들을 두려움에 떨게 하는 이야기이다.)과금 괴담만이 아니더라도 프리티어 기간이 종료되고 나면 지불 비용이 은근히 쎄다. EC2, RDS만을.. wono | discuss | tweet
+ it dev oci 오라클 클라우드 프리티어(4) - 무료 VPS 사용안녕하세요 포스팅 글은 오라클 클라우드 프리티어 연재글로써 이번 글에서는 보안 룰셋 설정과 Linux OS의 Firewall 설정, 서버간 route 허용, Oracle Cloud 사용량 확인에 관한 내용을 확인해보도록 하겠습니다. • 오라클 클라우드 프리티어 연재 첫번째 글 오라클 클라우드 프리티어(1) - 무료 VPS 사용 오라클 클라우드 프리티어 연재 글 중 처음 글로 오라클 클라우드의 개요 및 가입에 대한 내용을 wono | discuss | tweet
+ it dev kotlin coroutine 코루틴(Coroutine)에 대하여안녕하세요. Checkout Engineering 팀 안세희입니다. 코루틴에 대해 많이 들어 봤지만 원론적인 의미에서 코루틴을 이해하기는 어렵다고 생각합니다. 언어 수준에서 다양한 라이브러리가 코루틴을 사용할 수 있게 제공하기에 항상 깊은 고려가 필요하진 않지만, 코루틴에 대한 개념을 정확히 알고 있어야 활용도 가능하기에 해당 주제로 글을 작성하고자 합니다. 코루틴(Coroutine) 이란? 코틀린을 통해 코루틴을 처음 접하시는 분들이 많기에 코루틴이 코틀린 언어에 종속적인 기술이라고 생각하는 분들이 많습니다. 그러나 코루틴은 1958년 코루틴 용어가 만들어지고 난 후 어셈블리 프로그램에서부터 적용되었던 개념입니다. C#, Javascript, Python, Go와 같은 고급 프로그래밍 언어에서도 지원하.. wono | comment (1) | tweet
+ it algorithm bst lol Binary Search TreeA binary search tree is a data structure that quickly allows us to maintain a sorted list of numbers. Also, you will find working examples of Binary Search Tree in C, C++, Java, and Python. wono | discuss | tweet
+ it dev spring thread hell 스프링 대용량 트래픽 처리#0. 대용량 트래픽 처리의 필요성 * 웹 서비스를 다루는데 있어 트래픽을 처리하는 구조를 설계하고 적용하는 것은 개발자의 필수 역량이다. 특히 서비스의 규모가 커질 수록 개발자가 의도한 대로 프로그램이 작동하지 않는 경우가 발생한다. 아무리 뛰어난 성능을 가진 서버라고 해도 모든 트래픽을 감당할 수는 없으므로 서비스의 안정적인 구동과 만족도 높은 고객 경험을 제공하기 wono | discuss | tweet
+ it dev nextjs typescript [Next.js] TypeScriptNext.js 프로젝트에 TypeScript를 적용하는 방법에 대해서 알아봅시다. wono | discuss | tweet
+ it cloud aws ecs eks fargate ECS vs EKS vs Fargate | 한눈에 비교하는 AWS 컨테이너 서비스AWS의 ECS, EKS, Fargate를 비교하며 우리 조직에 맞는 컨테이너 서비스가 무엇인지 알려드립니다. wono | discuss | tweet
+ it dev golang ent orm GitHub - OhMinsSup/velog-golang-server: 🙏🏻 velog-server clone to Golang🙏🏻 velog-server clone to Golang. Contribute to OhMinsSup/velog-golang-server development by creating an account on GitHub. wono | discuss | tweet
+ it ref blog flutter aws s3 [Flutter] 클라이언트의 이미지 처리 전략 두가지 feat. AWS amplify, re-sizing이미지는 복잡한 정보를 간단하고 직관적으로 전달하며 시각적 몰입이 텍스트와 미디어에 비해 좋다는 장점이 있습니다. 또한 터치인터페이스로 작동되는 모바일에서는 이미지를 적극적으로 사용하고 있죠. 하지만 이미지는 텍스트보다 용량이 커서 전송이 상대적으로 오래걸리기때문에 좋은 사용자 경험을 위해 이미지 최적화는 필수적으로 진행되어야합니다. 이번에는 제가 이미지 최적화를 했던 방법에 대해 정리해보도록 하겠습니다. ✓ 이미지 저장을 위해 S3를 사용하는 이유 보통 서버의 메인 데이터베이스로 MySql과 같은 관계형 데이터베이스(RDB)를 사용하기때문에 모든 데이터를 이곳에 저장해야한다고 생각할 수 있습니다. 하지만 이미지 저장에 대해 구글링을 해보면 대부분 외부 서버, 그중에서도 클라우드에 저장할 것을 권장.. wono | discuss | tweet
+ it cloud aws be cache redis Redis 서버 구축은 이렇게 - BESPIN Tech Blog인메모리 DB의 필요성 성능 개선을 위한 방법 중 하나로 인메모리 DB를 많이 사용합니다. 전체 서비스 흐름에서 데이터 입출력이 차지하는 비중을 생각해보면, 인메모리 DB의 필요성은 더욱 커질 수밖에 없습니다. 인메모리 DB는 데이터를 디스크 대신 메모리에 저장함으로써 I/O 성능을 수십 배에서 수백 배까지 끌어올립니다. 다만 메모리 특성상 데이터의 영구성이 보장되지 않기 때문에 필요에 따라 적절한 백업 시스템을 ... Read more wono | discuss | tweet
+ it dev vertx eclipse Vert.x is a tool-kit for building reactive applications on the JVMVert.x is a tool-kit for building reactive applications on the JVM - eclipse-vertx/vert.x wono | discuss | tweet