2021의 게시물 표시

Spring Boot에 Swagger 붙이기

이미지
 안녕하십니까. 이번 포스팅에서는 Spring Boot에 Swagger API를 붙이는 방법에 대하여 알아 보려고 합니다. gradle 설정 gradle을 사용하실 경우 아래의 한줄을 build.gradle의 dependency에 추가해 줍니다. implementation 'io.springfox:springfox-swagger2:3.0.0' implementation 'io.springfox:springfox-swagger-ui:3.0.0'   Maven 설정 Maven을 사용하실 경우 아래의 설정을 추가하시면 됩니다. <dependency > <groupId > io.springfox </groupId > <artifactId > springfox-swagger2 </artifactId > <version > 3.0.0 </version > </dependency > <dependency > <groupId > io.springfox </groupId > <artifactId > springfox-swagger-ui </artifactId > <version > 3.0.0 </version > </dependency >   설정 파일 추가 gradle, maven을 통하여 코드를 불러오셨으면, 이에 따라 swagger 설정을 해야합니다. 다음과 같이 파일을 하나 생성하며 @Bean으로 등록해 주시면 됩니다. 코드는 간단하게 모든 api에 대하여 스웨거를 빌드한다는 내용 입니다. @Configuration @EnableSwagger2 public class SwaggerConfig {   @Bean public Docket swaggerApi ( ) { retur

전문연구요원 지원 방법

이미지
 안녕하십니까. 이전 포스팅에서 전문연구요원의 편입 절차 에 대하여 다룬적이 있습니다. 이번 포스팅에서는 편입하기 이전에 전문연구요원 업체에 지원하는 과정 및 여러 팁에 대하여 다루어보려고 합니다.  1. 전문연구요원 지원 요건 일단 첫째로 전문연구요원 지원 요건에 대하여 알아보도록 합시다.  석사 학위를 취득한 사람 이 전문연구요원에  편입 이 될 수 있습니다. 이는 말 그대로 전문연구요원 편입 요건입니다.  1.1 대학원 졸업 날짜  위의 편입 요건 중 중요한점 하나는 대학원 졸업 날짜 입니다 .예를 들어서 석사 과정 졸업 이후 졸업장이 8/25일에 나온다고 합시다. 그러면 8월 25일날 편입 신청을 하고 1주일 이내에 편입이 완료되게 됩니다. 그러면 대략적으로 9월부터 전문연구요원 날짜를 카운팅 하게 됩니다. 대학원 졸업 논문 이후로 시간이 날 수 있는데요. 미리 업체에 들어가서 업무를 실행하더라도 복무일은 계산하지 않게 됩니다.  1.2 관련 전공 유무 가끔 전문연구요원 편입에 걸림돌이 될 수 있는게 관련 전공 유무 입니다. 예를 들어서 나는 컴공 졸업하였고 컴공 업체에 편입하였다면 전혀 문제가 없습니다. 더 디테일하게 들어가서 이미지 처리를 전공하였고, 이미지 처리 전문연구요원에 편입하게 되었다면 금상첨화입니다. 하지만 모두가 좋은 전공을 통해서 좋은 전문연구요원 업체에 편입을 할 수 있지 않은것이 현실입니다. 당장 군대 처리가 급선무이기에 전공과 약간 삐끗한 업체에 편입이 될 가능성이 충분하고 누구는 그러한 고통을 겪게 되는데요. 이러한 경우에는 편입이 거절 당할 수 있습니다. 이럴경우 지원자가 할 수 있는 것은 두가지입니다. 1. 가능한 다른 업체 알아보기.  2. 내가 그 자리에 적합한 이유를 병무청에 호소. 위의 두가지 방법중 1은 말할것도 없고, 2는 어려운 방법이지만 가능성이 없는 이야기는 아닙니다. 실제로 이전의 경험을 살려서 잘 된 케이스가 있다고는 들은적이 있습니다.  2. 전문연구요원 업체 알아보기 전문연구요원 업체에 지원하기 위해

Apache Kafka 사용기

이미지
 안녕하십니까. 이번 포스팅에서는 제가 사용하였던 아파치 카프카 에 대하여 간략하게 리뷰하려고 합니다.  Apache Kafka 아파치 카프카란? 아파치 카프카란 오픈소스 기반 확장 가능한 분산 스트리밍 플랫폼 입니다. 이에 대하여 각각 살펴봅시다. 아래에서의 모든 예시는 광고 노출 데이터로 가정하겠습니다.  확장 가능 분산 수평 확장이 가능하다는 말은 kafka에 트래픽이 몰리면 이를 위해 클러스터에 리소스를 더 투입할 수 있다는 말입니다. 스트리밍 pub sub 구조 스트리밍이라는 말은 데이터가 흐름과 같이 오면 이를 받아서 처리한다는 것과 비슷합니다. 예를 들어서 자료구조의 Queue를 생각하시면 편합니다. 이와 같은 구조를 펍 섭 구조라고 합니다. 데이터를 계속 넣어주는 부분을 publish 이라고 합니다. 이를 받아서 처리하는 부분을 subscribe 라고 합니다. pub sub은 디자인 패턴 중 하나로써 중간 플랫폼을 카프카가 담당을 하게되고, pub sub 부분은 개발자가 직접 디자인 해야 합니다.  Producer : 카프카에 데이터를 넣어주는 역할을 합니다. 예를 들어서 광고 노출이 직접 노출되는 클라이언트 코드에서 노출 데이터를 Producing하여 카프카에 전송 합니다.  Consumer : 카프카에 있는 데이터를 받아서 처리하는 역할을 합니다. 예를 들어서 광고 노출 데이터를 받아서 과금을 하는 등의 처리를 할 수 있습니다.  Partition Group Topic 카프카의 이해를 쉽게하기 위해서 다음과 같이 도식화 하였습니다. 카프카의 파티션 도식화 Message : 카프카 데이터의 가장 작은 단위 입니다. 예를 들어서 광고 노출 데이터라고 할 시에 노출 데이터 한건으로 볼 수 있습니다. Topic : 데이터의 그룹 중 가장 큰 단위 입니다. 예를 들어서 광고 노출 Topic으로 볼 수 있습니다. Partition : 토픽을 나누는 단위 입니다. 예를 들어서 광고 노출 토픽을 파티션 10개로 나눌 수 있습니다. 각 파티션은 카프카 컨슈

티맥스 입사 후 팁

이미지
 안녕하십니까.  개인적으로 많은 분이 티맥스에 붙으시고 연락 주시는 분이 정말 많은데요. 궁금하신 것들을 모아서 포스팅 하려고 합니다. 1인실 관련 정말로 1인실을 쓰는지 문의가 있는데요. 정말로 1인실 쓰는게 맞습니다. 1인실이 무한정 있는건 아니라 자리가 없으면 2인실에 들어갈 수 있습니다. 하지만 처음에 1인실에 들어가지 못하였다고 하더라도 점차적으로 1인실로 바꿀 기회는 언제라도 있습니다.  1인실이라는게 사장실처럼 완전히 다른사람들과 분리된건 아닙니다. 6인실에 큰 벽을 세워서 1인실로 만든거라 에어컨을 잘못 틀면 누군 추울수도 있는 구조입니다. 1인실  업무 분위기 업무 분위기는 꼰대가 적고 수평적인 편입니다. 이게 그럴수 밖에 없는게 1인, 2인실 이다 보니 온전히 자기 업무에 집중할 수 있는 시간이 많기 때문입니다. 사택 관련 내용 연구원인 경우 사택 관련해서 문의 주신 분이 좀 있습니다.  티맥스 사택은 티맥스 건물 근처에 있는 아파트에 자리를 줍니다. (예 : 트리폴리스)  트리폴리스가 평수가 많이 넓은 편으로 알고 있는데, 방 하나에 두명이서 살게 됩니다. 사람이 비어있으면 그사이에 혼자 거주할 수도 있습니다.  회사 근처라 시간도 절약되고 그외 몇몇 비용에 대하여 회사에서 지불해주는 부분도 있습니다.  처음 입사하시게 되면 아마 인사팀에서 사택 들어갈거냐고 물어보는데요. 만약 고민되고 당장 급한게 아니면 나중에 결정하셔도 됩니다. 입사후에 회사 내부 사이트에서 신청이 가능합니다.  식비 관련 티맥스 식비에 대하여 질문도 많습니다. 티맥스 식비는 거주하는 회사의 건물에 따라 다릅니다. 일단 공통적으로는 아침 천원, 점심 3천원, 저녁 7천원을 받을 수 있습니다. 저녁은 야근을 해야되는 점은 있습니다. 주말에는 8천원을 두번 제공해줍니다.  티맥스 미금 본사의 경우는 구내식당을 사용하게 되는데, 할인 금액을 제외하고 2천원, 3천원, 0원을 추가로 지불해야합니다. 티맥스 오리 근무지의 경우는 구내식당이 없고 페이코 연동되는 밥집에 가서 그만

logstash 도커 이미지 사용하기

이미지
안녕하십니까. 현재 저는 현업으로 엘라스틱 서치를 사용하고 있습니다.  엘라스틱 서치를 테스트 하는 도중 테스트 디비의 데이터를 indexing할 필요성이 생기게 되었는데요. 직접 DB 쿼리를 통해서 데이터를 조회하여 데이터를 입력하기에는 번거로움이 많습니다. 그래서 logstash를 사용하기로 결정 하였습니다.  logstash를 로컬에 설치하기도 또한 귀찮은 점이 있기도 하여서 도커를 통해서 사용을 하였고 이번에는 간략하게 사용 방법을 리뷰 해보려고 합니다.  Logstash Docker Image 다운로드 logstash 이미지는 엘라스틱 서치 공식 홈페이지에서 찾을 수 있습니다. https://www.docker.elastic.co/r/logstash  자신의 컴퓨터와 맞춰서 실행하시면 되고, 또한 ES 버전도 잘 맞아야 합니다.  저같은 경우는 ES 버전 6.6.0을 사용하였고, logstash는 최신 버전을 사용하였습니다. 이후 아래와 같은 오류를 보게 되었는데요, ES 공식 페이지의 글 에서는 ES의 버전을 올리라고 하였습니다. [ERROR] 2021-07-26 05:09:18.379 [[.monitoring-logstash]>worker0] elasticsearchmonitoring - Encountered a retryable error (will retry with exponential backoff) {:code=>400, :url=>"http://192.168.153.77:9200/_monitoring/bulk?system_id=logstash&system_api_version=7&interval=1s", :content_length=>1369}  가능하면 최신 ES를 사용하는게 좋을 듯 합니다. CONFIG 설정 이후에는 컨피그를 설정해주어야 합니다. 공식 페이지는 여기서 확인하실 수 있습니다. default ip는 elasticsearch 라는 domain으로 되어 있어서 접근이

2020년도 전문연구요원 신규 편입 후기

이미지
안녕하십니까. 현재 티맥스 그룹사인 티맥스 AI에서 전문연구요원을 진행하고 있는 개발자 입니다. 지난 2020년 11월 1일자 기준으로 티맥스 AI에 석사 전문연구요원 신규 편입이 되었습니다. 이에 대하여 간단하게 포스팅을 남기려고 합니다. 지원 요건 지원 요건은 대학원 석사를 졸업하고, 편입 하려고 하는 회사에 재직중에 있어야 합니다. 신검 기준 1,2,3급 현역 은 티오가 배정되어 있는 회사에 입사를 하거나, 아니면 중소기업이어서 중소기업티오를 공유하는 총괄배정 회사로 입사를 해야 합니다.  신검 기준 4급 보충역 이면서 석사 전문연구요원을 하실 분들은 티오 문제는 없고 전문연구요원 업체로 등록되어 있는 회사로 입사를 하셔야 합니다. 단순하게 현역 배정 제한인 회사는 입사가 가능하며(대기업) 그냥 배정 제한인 회사는 보충역이라고 하여도 전문연구요원 진행이 안됩니다. 입사 난이도 전문연을 하려면 석사 졸업요건도 있지만, 회사에 취업이 되어야 합니다. IT 컴공 기준, 타 전공보다는 갈 수 있는 선택지는 많습니다. 그렇지만 전문연구요원이라는 자리가 군대를 대신하는 자리이기도 하고, 석사라는 고학력을 요구하다 보니 좋은 회사(네이버 등)에서의 자리를 차지하는것은 현실적으로 매우 어려운 점이 있습니다. 모두가 가고 싶은 기업들은 자리가 한정되어 있다 보니, 경쟁률이 치열 합니다. 군대가 아니었다면 좋은 회사 갔을 분들도 군대로 인하여 중소기업 가게되는 경우가 대부분 입니다.  편입 절차 편입 절차는 회사 인사팀에서 잘 가이드해주시겠지만, 중소기업 위주다 보니 부족한 회사들도 있을듯 합니다.  1.       전문연구요원 편입신청서 2.       성실복무 약정근로조건 이행서약서 3.       성적증명서 4.       학위수료 증명서 5.       주요업무수행확인서 저는 위의 5개의 서류를 회사 인사팀에 제출하였습니다. 성적 증명서가 회사에서 필요한건지 전문연구요원에서 필요한건지는 모르겠습니다. 서류 제출한 순으로 전문연구요원 일자가 시작하게 되니 가능한 회사