k8s에서 github actions runner의 구성을 이용하여, CI를 구성하고 있는데, 여기서 지원하는 것이 1개의 repository만 가능하다는 것을 모르고 있었다. 결국 CI를 구성하기 위해서는 각 Repository별로 github actions runner를 셋팅해야 하는 것 Repository Runners Organization Runners Enterprise Runners RunnerDeployments 하지만 지원되는 것을 보니, repository, enterprise, organization 등을 또 지원해주는 것 같다. 만들어놓은 manifest는 다음과 같다. apiVersion: actions.summerwind.dev/v1alpha1 kind: RunnerDeploym..
코틀린의 시퀀스 코틀린 시퀀스는 List나 set과 같은 컬렉션이랑 비슷한 개념이지만, 필요할 때마다 값을 하나씩 계산하는 지연(lazy) 처리를 합니다. 시퀀스 특징 요구되는 연산을 최소한으로 수행한다. 무한정 될 수 없다. 메모리 사용이 효율적이다. val seq = sequence { yield(1) yield(2) yield(3) } fun main() { for (num in seq) { println(num) } } sequence 함수는 짧은 DSL(Domain-Specific Language, 도메인 전용 언어)코드이다. 인자는 수신객체 지정 람다 함수이다. (suspend SequenceScope.() -> Unit) 람다 내부에서 수신 객체인 this는 SequenceScope를 가리킨..
Corutine을 배워야 하는 이유 RxJava나 Reactor같은 JVM 라이브러리가 많이 있지만 Corutine을 배워야 하는 이유는 무엇인가? corutine은 1963년 처음 제시되었다. 실제로 corutine이란 개념이 실제 협업에서 사용될 수 있도록 구현하기 까지 수십 년이 거렸다고 한다. Kotlin corutine 은 모든 플랫폼(JVM,js,iOS) 넘나들며 사용할 수 있다. 무엇보다 코틀린 코루틴을 도입할 때 기존 코드 구조를 광범위하게 뜯어 고칠 필요가 없다. 기존에 이런 비동기 Thread를 다루기 위하여, Thread를 직접 생성하거나, RxJava를 공부해서 적용하거나, 콜백 함수를 쓰는등 여러 방법을 이용해서 구현해 왔다. 각각 언어마다 사용하기 위해 배워야 하는 점, 장/단점..
Github Pull Request나 Issue등에 image 첨부파일을 넣는 것은 보안상에 좋지 않다는 것을 알게 되었다. 아래 두개의 링크를 참조했을 떄 정리해보자면 다음과 같다. 개요 GitHub의 Issue 및 Pull requests에 첨부한 이미지는 웹에 업로드되고 공개 URL이 할당됩니다. 이 URL은 외부에 공개되어 있으며 리포지토리가 Private이더라도 누구나 자유롭게 액세스할 수 있습니다. 이 때문에 당사에서는 Issue나 Pull requests에의 이미지 업로드는 룰로서 금지되고 있습니다만, 이번 제가 룰을 올바르게 이해하지 않고 이미지를 업로드 해 버렸기 때문에, 그 삭제 대응으로서 실시한 것 를 정리한다는 것이 이번 기사의 취지입니다. 비공개 리포지토리의 issue나 풀..
Trans + action 원자성(Atomicity) 완전하게 수행 완료되지 않으면 전혀 수행되지 않아야 한다. 연산은 Commit, Rollback을 이용해 적용 또는 취소로 한꺼번에 완료되어야 한다. 중간 하나의 오류가 발생되더라도 취소가 되어야 한다. 일관성 (Consistency) 시스템의 고정 요소는 트랜잭션 수행 전후에 같아야 한다. 트랜잭션 결과는 일관성을 유지해야한다. 격리성 (Isolation) 트랙잭션 실행시 다른 트랜잭션의 간섭을 받지 않도록 하는 것. 영속성 (Durability) 트랜잭션의 완료 결과가 데이터베이스에 영구히 기억된다. 트랜잭션의 연산 Commit 연산 : 트랜잭션 실행이 성공적으로 종료되었음을 선언한다. Rollback 연산 : 트랜잭션 실행이 실..
이번 회사로 이직 후 서버쪽 개발 업무 중 REST API 개발이 나의 main job이 되었다. 회사에서 생산하는 기기 및 App에게 효율적으로 정보를 제공해 줄 수 있는 서버쪽 프로그래밍인 셈이다. 회사에서 생산하는 기기역시 안에 내장된 OS는 안드로이드로 되어있기 때문에 가능한 일이다. 처음 RESTFul 에 대해서 대략적이게 알고 있었지만, 실무에서는 사용하지 않았기 때문에 달랐다. 또, mean stack이나 이런 스터디로 맛뵈기 했었다고 대례 이렇겠지 짐작했었지만 역시 실무와는 달랏다. 따라서 그에 따른 내용을 한번 정리해보려고 한다. 1. REST API란 무엇인가. REST는 ROA를 따르는 웹 서비스 디자인 표준이다. ROA : Resource Oriented Architecture 출처..
HTTP status codes HTTP defines a bunch of meaningful status codes that can be returned from your API. These can be leveraged to help the API consumers route their responses accordingly. I've curated a short list of the ones that you definitely should be using: 200 OK - Response to a successful GET, PUT, PATCH or DELETE. Can also be used for a POST that doesn't result in a creation. 201 Created -..
MethodScopeSemantics GET collection Retrieve all resources in a collection GET resource Retrieve a single resource HEAD collection Retrieve all resources in a collection (header only) HEAD resource Retrieve a single resource (header only) POST collection Create a new resource in a collection PUT resource Update a resource PATCH resource Update a resource DELETE resource Delete a resource OPTIONS..
통계보기 전용뷰어 보기 출처 : http://www.iamcorean.net/22 [REST ①] RESTful 웹서비스에 대해 알아보자! RESTful 웹서비스 작성자 : 김문규 최초 작성일 : 2008. 4. 2 인터넷 업계는 OpenAPI의 열풍이 불고 있다. 너도나도 OpenAPI를 공개하... www.iamcorean.net RESTful 웹서비스 작성자 : 김문규 최초 작성일 : 2008. 4. 2 인터넷 업계는 OpenAPI의 열풍이 불고 있다. 너도나도 OpenAPI를 공개하고 있고 사용자들에게 다양한 방식의 사용을 기대하고 있다. 최근 이 OpenAPI와 함께 거론되는 기술을 당연 REST이다. 구글, 아마존, 네이버 모두가 OpenAPI를 REST 방식으로 지원한다. (물론 기존의 SO..
https://www.youtube.com/watch?v=IJ3W6xEx8Oo
- Total
- Today
- Yesterday
- mybatis Merge
- JSTL
- java 설정
- 전자정부프레임워크 tiles
- jstl 커스텀 태그
- MyBatis 팁
- java 특정문자 갯수구하기
- 코루틴
- spring property
- jstl foreach
- Database#transaction
- JSP 세션
- github image 첨부시 주의할점
- java 압축 풀기
- java 폴더구조 구하기
- Kotlin
- java calendar
- POE Excel 만들기
- coroutine
- POI EXCEL
- jstl split
- spring ExcelView
- java 설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |