본문 바로가기
반응형

분류 전체보기157

[golang] 고루틴(go routine)이란 이번 게시글에서는 고루틴에 대해 정리합니다. 1. 고루틴이란 고루틴은 동시에 여러 로직을 병렬적으로 진행시키고 싶을때 사용합니다. 일반적인 프로그래밍 언어에서 사용하는 스레드(그린스레드)들은 생성하는데 1MB가 필요하고, 커널레벨 스레드와 연결되어 운영체제한테 스레드를 위임해 스케줄링 받아 돌아가는 방식이지만 고루틴은 2KB만 필요하며 커널에서 직접 스케줄링 받지 않고 고 스케줄러가 직접 스케줄링해주므로 훨씬 가볍고 빠릅니다. 사용법은 메서드 앞에 go 라는 키워드만 붙여주면 됩니다. 2. 예제 package main import ( "fmt" "runtime" "time" ) func main() { // 현재 main문을 실행시키는 고루틴인 1이 출력됩니다. fmt.Println("Goroutines.. 2021. 11. 15.
[golang] golang defer 사용법 및 예제(golang의 catch는 defer안에서) 이번 게시글에서는 golang의 defer에 대해 정리하겠습니다. defer는 사용하여 패닉을 복구, lock unlock, 스트림닫기, 채널닫기, context 종료 등 여러곳에서 사용됩니다. defer의 사용법과 defer를 활용해 panic을 제어하는 예제입니다. 1. 지연실행 defer는 지연실행을 요청하는 키워드입니다. 스코프가 끝난 이후 defer키워드가 붙은 메서드를 실행합니다. package main import ( "fmt" ) func main() { defer func() { fmt.Println("스코프가 끝난이후 실행") }() fmt.Println("메인스코프 종료") } $ go run main.go 메인스코프 종료 스코프가 끝난이후 실행 2. lock package main .. 2021. 11. 15.
[kubernetes] operator-sdk를 사용하여 쿠버네티스 오퍼레이터 구축하기 (operator sdk 예제) operator-sdk는 operator 개발 플로우를 제공하는 프레임워크로 해당 게시글은 operator의 개념에 대해 먼저 숙지해야 합니다. [kubernetes] 쿠버네티스 오퍼레이터란(kubernetes operator) 이번 게시글에서는 쿠버네티스 오퍼레이터에 대해 정리합니다. 게시글을 읽기전 쿠버네티스 아키텍쳐와 동작원리, cr, crd, 게시글을 읽어보시면 이해가 더 수월할 것 같습니다. [kubernetes] 쿠버네 frozenpond.tistory.com operator-sdk란 operator 개발 플로우를 제공하는 프레임워크입니다. 간단한 kubernetes operator를 구축해보는 예제입니다. 1. 목표 apiVersion: mygroup.example.com/v1 kind: H.. 2021. 11. 5.
[kubernetes] 쿠버네티스 오퍼레이터란(kubernetes operator) 이번 게시글에서는 쿠버네티스 오퍼레이터에 대해 정리합니다. 게시글을 읽기전 쿠버네티스 아키텍쳐와 동작원리, cr, crd, 게시글을 읽어보시면 이해가 더 수월할 것 같습니다. [kubernetes] 쿠버네티스(kubernetes) 아키텍쳐 및 동작원리 1. 쿠버네티스란 단일 서버에서 컨테이너를 사용한다면 쿠버네티스를 사용하지 않아도되겠지만 서버가 10대로 늘어나게 된다면 어떤 서버에 어떤 컨테이너를 생성해야할지 서버마다 들어가서 frozenpond.tistory.com [kubernetes] 쿠버네티스 cr과 crd란?(쿠버네티스 확장) 1. cr이란 쿠버네티스에서 애플리케이션을 개발하다보면 추가적인 기능이 필요할 수 있습니다. 쿠버네티스에서는 오브젝트를 직접 정의해 사용할수 있으며 소스코드를 따로 수정.. 2021. 11. 2.
[vue] vuex pathify를 사용한 dialog(모달창, 팝업창) 만들기 이번게시글에서는 vuex-pathify를 사용하여 dialog 창 만드는 방법을 정리합니다. 소스코드는 https://github.com/jaeho310/vue-study (vuex-dialog 브랜치)에서 확인 가능합니다. 이전 게시글에서 내용이 추가된 예제입니다. [vue] vuex-pathify를 사용한 메뉴바 구성하기(vuex-pathify 사용법) vuex-pathify란 vue를 사용하다보면 컴포넌트간 데이터 교환을 해야하는 경우가 많습니다. 부모자식간의 통신의 경우 props emit을 활용하면 되지만 고조할아버지와 손자가 통신하는경우 props를 사용 frozenpond.tistory.com 결과화면 1. CustomDialog.vue 파일 생성 confirm alert ok yes no .. 2021. 11. 2.
[vue] 스프링(spring)에서 vue router 사용법 spring과 vue 프로젝트를 연동한 후 vue router의 위치를 브라우저의 검색창에 입력하면 404 에러를 떨어뜨려줍니다. (spring컨트롤러는 요청한 url 에 대한 정보가 없습니다) modelAndView가 떠오릅니다. controller에 modelAndView를 사용해서 html을 떨어뜨리려고보니 spa 프레임 워크인 vue는 빌드된 html이 하나뿐입니다. 아래의 방법으로 해결 합니다. 1. vue.config.js // vue.config.js const path = require("path"); module.exports = { outputDir: path.resolve(__dirname, "../src/main/resources/static"), indexPath: path.res.. 2021. 11. 2.
[vue] vue와 spring 연동하는법(vue 배포방법) vue를 배포할때는 크게 두가지 방법을 사용합니다. nginx, appach, IIS 등 웹서버에 빌드된 html파일을 넣는다 was에 붙여서 배포한다 aws s3 aws cloudfront 첫번째 방법과 두번째 방법을 정리합니다. 1. nginx, appach, IIS 등 웹서버에 연동하는 방법 저는 nginx를 사용하였습니다. (1). dockerfile 작성 FROM node as build-stage WORKDIR /app COPY . . RUN yarn install -g RUN yarn run build # # production stage FROM nginx:stable-alpine as production-stage COPY ./nginx/nginx.conf /etc/nginx/conf.d.. 2021. 11. 2.
[vue] vuex pathify를 사용한 메뉴바 구성하기(vuex pathify 사용법) vuex-pathify란 vue를 사용하다보면 컴포넌트간 데이터 교환을 해야하는 경우가 많습니다. 부모자식간의 통신의 경우 props emit을 활용하면 되지만 손자가 고조할아버지나 삼촌 사촌 등과 통신하는경우 props를 사용할 수는 없습니다.(vue 라이프사이클 이슈 포함: 부모 mount 이전에 자식들은 모두 create와 mount가 진행되어버립니다) 그럴때 사용하는것이 vuex입니다. 모든 데이터 통신을 한 곳에서(중앙 집중식) 관리할 수 있습니다. (캡틴판교님의 vuex) Vuex 시작하기 1 - Vuex와 State Vue 중급으로 레벨업 하기. 상태 관리란 무엇인가? Vuex를 이용한 상태 관리. state 소개 joshua1988.github.io 그러나 vuex의 사용법을 숙지하고나면 .. 2021. 10. 27.
[vue] vue 프로젝트에 jest 연동, 사용하기 vue프로젝트에 jest를 연동 예제입니다. 정리가 잘됐다고 느낀 캡틴판교님의 글 Cracking Vue.js(https://joshua1988.github.io/vue-camp/testing/jest-testing.html)를 참고하여 적용하던중 만난 에러들 입니다. 1. 프로젝트 생성 $ vue create jest-tutorial vue-cli를 통해 프로젝트를 생성합니다. 저는 vue2로 만들었습니다. 2. HelloWorld.vue 에 변수 추가 HelloWorld.vue 파일에 abc라는 변수를 추가합니다. 3. helloWorld.spec.js(helloWorld.test.js 추가 test('HelloWorld Test', () => { expect(true).toBe(true); }); .. 2021. 10. 26.
반응형