반응형 전체 글158 [개발상식] 정규표현식이란(with python) 정규표현식이란 문자열을 처리하는 방법중 하나로 특정한 조건의 문자를 검색하거나 추출, 치환 하는데 사용됩니다. 클라이언트단에서 validation을 하기위해 사용하기 하지만 무수히 많은 문자열에서 주민등록번호, email 형식의 포맷팅을 뽑아야할때 사용합니다. 기본 메타 문자 기호 설명 . 모든 문자 | or [] 구성원중 하나와 일치 ^ []안에 사용된경우 제외(위치지정자와 같음) - 범위 정의 \ 다음에 오는 문자를 이스케이프 수량자 기호 설명 * 앞의 문자를 0개 이상 탐욕적으로 찾기 *? *를 lazy 수량자로 찾기 + 하나이상 반복 +? +를 lazy 수량자로 찾기 ? 앞의 문자를 0개나 1개 찾기 {n} 정확히 n번 일치하는 경우 찾기 {n,m} n번에서 m번 일치하는 경우 찾기 위치 관련(\.. 2021. 8. 16. [golang] go언어의 의존성 주입(di)과 제어의 역전(ioc) 이번게시글에서는 go 언어에서의 제어의 역전과 의존성 주입에 대해 정리합니다. 구현방식은 아래 게시글의 첫번째 방법을 사용하였습니다. https://frozenpond.tistory.com/123 [golang] go언어를 객체지향처럼 사용하는방법 golang은 객체지향 언어가 아닙니다. import만 하면 어디서든 변수, 메서드에 함부로 접근할수 있습니다. 개인적으로 뭔가 불안하고 어색하고 불편합니다. 객체지향처럼 만들어봤습니다.(현재 저희 frozenpond.tistory.com 1. 의존성 주입이란 dependency injection이라고 부르는 의존성 주입은 하나의 모듈에서 의존관계를 가지는 모듈을 내부에서 생성하는것이 아니라, 외부에서 주입해주는 방식을 말합니다. 결합도를 낮추기위해 내부에서는.. 2021. 8. 15. [golang] go언어 예외처리 방법 golang은 예외처리방법이 조금은 특이합니다. 제가 접한 언어들은 모두 try catch(c#, java, javascript)나 try except(python) 같은 형태로 예외를 잡았지만, golang은 try catch가 없으며, error라는 인터페이스를 이용하여 예외처리를 하는게 컨벤션입니다. 이번게시글에서 정리해보겠습니다. 예외처리란 프로세스는 예외가 발생하면 콜스택에 예외가 쌓이게 되고 결국 프로세스가 뻗어 되어버립니다. 예외처리를 왜하는지 모른다면 아래게시글을 참고해주세요 c#으로 되어있지만 try catch의 사용이유를 직접 확인할수 있는 게시글입니다. https://frozenpond.tistory.com/21 [c#] Try Catch 사용법 및 예제 try catch에 대해 어디.. 2021. 8. 15. [JavaScript] 자바스크립트의 콜백이란 자바스크립트에서는 콜백을 많이 사용합니다. 콜백을 많이 사용하다보니 람다식을 통한 익명함수도 많이 사용합니다. 왜 많이 사용하는지 알아보고 사용법을 정리 해봅니다. 콜백이란? 콜백이란 피호출자가 호출자의 메서드를 실행해주는 것을 말하며 보통 비동기작업의 끝에 실행됩니다 js는 싱글스레드이므로 콜백함수가 이벤트루프를 통해 실행되게 됩니다. js 콜백구현 function printHello() { console.log("hello") } console.log("start") setTimeout(printHello, 1000) console.log("finish") setTimeout은 지정된 시간 이후에 콜백메서드를 실행시켜주는 js의 내장 함수입니다. 첫번째 아규먼트에는 콜백메서드를, 두번째 매개변수에는 .. 2021. 8. 15. [golang] golang echo framework와 layered architecture를 활용한 백엔드 api 서버 구축하기 이번에 golang으로 백엔드 api 서버를 구축하게 되어 관련내용 및 느낀점을 정리합니다. 1. 프레임워크 선택하기 여러 프레임워크를 살짝 맛본결과 echo가 좋다고 판단하여 echo를 선택하게 되었습니다. 2. why echo?? 2021년 8월 기준 golang 웹 프레임워크 순위는 아래와 같습니다.(github star 수 기준) (https://github.com/mingrammer/go-web-framework-stars) Project Name Star Fork Open Issue Description Last Commit gin 50305 5692 415 Gin is a HTTP web framework written in Go (Golang). It features a Martini-li.. 2021. 7. 14. [kubernetes] 쿠버네티스 cr과 crd란?(쿠버네티스 확장) 1. cr이란 쿠버네티스에서 애플리케이션을 개발하다보면 추가적인 기능이 필요할 수 있습니다. 쿠버네티스에서는 오브젝트를 직접 정의해 사용할수 있으며 소스코드를 따로 수정하지 않고도 API를 확장해 사용할 수 있는 인터페이스를 제공하고 있습니다. custom resource(cr)를 이용하여 쿠버네티스를 확장할 수 있습니다. 2. cr 사용예제 apiVersion: "extension.example.com/v1" kind: Hello metadata: name: hello-sample size: 3 위의 yaml파일을 이용해 kubernetes api server에 생성해달라고 요청해봅니다. $ kubectl apply -f mycr.yaml # error: unable to recognize "mycr... 2021. 7. 14. [kubernetes] 쿠버네티스 인증, 인가(rbac) 1. 쿠버네티스 인증이란? 쿠버네티스 사용자가 맞는지 확인하는 작업입니다. 쿠버네티스 마스터노드에는 api서버가 있으며 보통 쿠버네티스 클라이언트인 kubectl을 이용하여 요청을 보냅니다. 이는 .kube/config파일에 인증작업이 되어있어서 가능합니다. 그러나 직접 쿠버네티스 api를 통해 클러스터의 리소스들을 관리하고싶다면 쿠버네티스의 인증방식을 알아야 합니다. 특히 operator등을 pod으로 띄워서 어플리케이션으로 코드로 내 클러스터를 관리, 운영 하고싶다면 쿠버네티스 api서버의 인증방식을 알아야합니다. 2. 토큰을 이용하여 http request를 날려 401에러와 403에러 확인 (1). 토큰확인하기 아래의 명령어를 통해 default serviceaccount의 token을 확인할수 .. 2021. 7. 14. [kubernetes] 쿠버네티스(kubernetes) cronjob 이란 1. cronjob이란 리눅스 crontab(작업 예약 스케줄러) 쿠버네티스 버전입니다. 백업, 소나큐브 분석, 이메일 전송 등 정기적이고 반복적인 작업을 하는데 쓰입니다. 2. 사용법 (1). mycj.yaml apiVersion: batch/v1 kind: CronJob metadata: name: time-limited-cronjob spec: jobTemplate: metadata: name: my-time-limited-job spec: activeDeadlineSeconds: 150 # 150초만 실행하고 끝내는 예제 template: spec: containers: - args: - /bin/sh - -c - date; echo Hello CronJob image: busybox name: .. 2021. 7. 14. [kubernetes] 쿠버네티스(kubernetes) service(NodePort)란 1. NodePort란 지난 게시글에서 service(clusterIP)에 대해 확인해봤습니다. ClusterIP를 통해서 어떤 노드(서버)에 있더라도 pod과 pod끼리 통신을 시킬수 있었습니다. 즉 api서버와 db서버를 통신시킬수 있게됐었습니다. 그러나 clusterIP의 특성상 하나의 쿠버네티스 클러스터 안에서만 통신이 가능하다는 단점이 있었습니다. 이제 pod을 외부에 공개시킬 순서입니다. 2. deployment를 생성하여 pod를 생성 apiVersion: apps/v1 kind: Deployment metadata: name: mydeploy spec: replicas: 2 selector: matchLabels: app: myHelloWorld template: metadata: labe.. 2021. 7. 14. 이전 1 ··· 7 8 9 10 11 12 13 ··· 18 다음 반응형