개발&코딩👨💻 썸네일형 리스트형 GitLab CI/CD 소개 및 Runner 알아보기 GitLab CI/CD 소개 및 GitLab Runner 알아보기 GitLab CI/CD 소개 CI/CD 개념 지속적 소프트웨어 개발 방법을 사용하면 반복적인 코드 변경사항을 지속적으로 빌드, 테스트 및 배포할 수 있습니다. 이 반복적인 프로세스는 버그가 있거나 실패한 이전 버전을 기반으로 새 코드를 개발할 가능성을 줄이는 데 도움이 됩니다. 이 방법을 사용하면 새 코드 개발부터 배포까지 사람의 개입을 줄이거나 전혀 개입하지 않으려고 노력합니다. 지속적 통합(Continuous Integration, CI) GitLab의 Git 저장소에 코드가 저장된 애플리케이션을 생각해 보십시오. 개발자는 매일, 하루에 여러 번 코드 변경사항을 푸시합니다. 리포지토리에 푸시할 때마다 스크립트 세트를 생성하여 애플리케이.. 더보기 Spring 6.0, Spring Boot 3.0 이전 버전과 달라지는 것들 스프링 5.x 버전과 Spring Boot 2.x 버전을 대부분의 현업 개발자 분들은 사용하고 있으실 텐데 최근 스프링 공식 홈페이지에서 Spring 6.0, Spring Boot 3.0 버전에 대한 설명이 올라왔다. 스프링은 늘 앞에 버전이 바뀌면 꽤 많은 것들이 변경되어왔다. 새로운 기능이 추가되거나 이전에 취약한 기능들이 스펙 아웃이 되었거나 이번엔 어떻게한 부분이 변경되는지 한번 같이 알아가 보자 Spring 5.x -> 6.0 달라지는 점 Java 17기반으로 변경 일부 Java EE API 지원 종료 XML이 점차적으로 Spring에서는 사라지게 될 것 RPC 지원 종료 새로운 AOT 엔진 도입 (밑에 설명 추가) @Inject 같은 JSR에서 지원하던 어노테이션들이 jakarta.annota.. 더보기 github VuePress로 30분만에 끝내는 개발 블로그 만들기 개요 Vue 기반의 SSG, Static Site Generator(정적 사이트 생성기) 기술 블로그 생성 개인 기술블로그(https://choiseungwon.github.io/about-me/) vuepress 정적 사이트 generator, 기술 문서를 편리하게 작성할 수 있다. 기본 테마 제공 pre-render vue, vue-router, webpack 으로 구현 vuepress 사이트 셋팅 리포짓토리 #셋팅 vuepress 설치 npm install -D vuepress 디렉토리 셋팅 ├─ docs │ ├─ README.md │ └─ .vuepress │ └─ config.js └─ package.json package.json 런 스트립트 추가 { "scripts": { "docs:dev".. 더보기 스프링 배치 Spring Batch 정리 및 간단한 기능 구현 Batch(배치) 어플리케이션이란? 배치(Batch)는 일괄처리란 뜻을 갖고 있습니다. 만약 매일 전 날의 데이터를 집계 해야한다고 가정해보겠습니다. 이 집계 과정을 어디서 수행하면 좋을까요? 웹 어플리케이션 밖에 모른다면 Tomcat + Spring MVC를 떠올리실것 같습니다. 하지만 이렇게 큰 데이터를 읽고, 가공하고, 저장한다면 해당 서버는 순식간에 CPU, I/O 등의 자원을 다 써버려서 다른 Request 처리를 못하게 됩니다. 그리고 이 집계 기능은 하루에 1번 수행됩니다. 이를 위해 API를 구성하는 것은 너무 낭비가 아닐까요? 여기서 추가로 데이터가 너무 많아서 처리중에 실패가 나면 어떻게 될까요? 5만번째에서 실패했다면, 5만 1번째부터 다시 실행할 수 있다면 얼마나 좋을까요? 또 이런.. 더보기 Spring Boot Swagger로 API 문서 자동화 설정 개요 REST API를 만들 때 문서화를 잘하는 것은 중요하다. 더우기 API를 변경할 때마다 레퍼런스 문서에 똑같이 명시해주어야한다. 이것을 수작업으로 반영하는 것은 매우 지루한 일이므로, 이것을 자동화하는 것은 필수다. Swagger를 통해 spirng api 문서 자동화를 할 수 있다. Swagger 설정 의존성 추가 compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2' compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2' 자바 설정 package com.ioil.comethru.config; import org.springframe.. 더보기 IntelliJ cannot resolve symbol 에러 해결 에러 잘되던 프로젝트에서 갑자기 Cannot resolve symbol.. 이라는 java 소스를 찾을 수 없다는 에러가 나왔다. 파일도 정상적으로 있는데, 인텔리제이에서 import가 제대로 안되서 build 에러가 난다. cannot resolve symbol import ... 문제 해결 IntelliJ 최신 버전 업데이트 인텔리제이를 최신버전으로 업데이트하니 해결되었다. 더보기 미티어(Meteor.js) 알아보기 미티어 란? 미티어의 특징 미티어는 브라우저 / 서버 / 데이터베이스에 이르기까지 자바스크립트로 구성된 풀스텍 플랫폼으로 커맨드라인 한 줄만으로 빠르게 개발 환경을 구성할수 있는 풀스텍 자바스크립트 플랫폼이다. 미티어의 특징을 살펴 보면 아래와 같다. 빠른 개발환경 구성 : 미티어는 커맨드라인에서 입력하는 한 줄의 프로젝트 생성 명령 만으로 브라우저/서버/데이터베이스 까지 개발 환경 구성이 한번에 끝난다. 내장된 몽고디비(www.mongodb.com)는 JSON(JavaScript Object Notation, www.json.org)을 저장하는 데이터베이스로 요즘 주목 받고 있는 NoSQL 데이터베이스 중 하나이다. 실시간 데이터 동기화 발행/구독(publish/subscribe)이라는 구조로 브라우저.. 더보기 Handlebars.js 알아보기 Handlebars.js 란? http://handlebarsjs.com/ Handlebars provides the power necessary to let you build semantic templates effectively with no frustration. Handlebars is largely compatible with Mustache templates. In most cases it is possible to swap out Mustache with Handlebars and continue using your current templates. Handlebars는 사용자가 좌절감없이 효과적으로 시맨틱한 templates을 만들 수 있도록하는 데 필요한 기능을 제공합니다. Handleb.. 더보기 이전 1 2 3 다음