분류 전체보기
-
Spring boot - API 서버 만들기 ( ft. Kotlin ) - ( 1 )Spring/Spring Boot 2021. 8. 30. 11:07
코틀린을 사용하여 API 를 만드는 방법을 처음부터 하나하나 따져 기록 해놓으려고 한다. 이유는 막상 구축하려고했을때 중간중간 기억이 안나거나 헷갈리는 부분들이 존재 하기 때문에 처음부터 차근차근 기록하려고한다. 환경은 intellij 로 할것이고 jdk 설치나 이런건 생략 한다. Initializr 를 최대한 활용한다. 필요한 라이브러리들을 선택해준다. 화면에 표시된것 이외에 필요한게 있다면 더 선택해주면 된다. 이프로젝트는 단순 샘플용이고 JPA 기반에 단순한 기능들만 일단 만들것이기 때문에 별도로 다른것들은 선택하지 않았다. 선택하고나면 새로운 창으로 띄울것인지 물어볼것이고 프로젝트가 열리면 기본적으로 intellij 에서 gradle 프로젝트 세팅을 짧게 진행한다. 처음 해줘야 할것은 일단 환경 ..
-
시스템 성능 테스트 하기! ( feat. Locust )Devops 2021. 8. 5. 16:49
https://locust.io/ Locust - A modern load testing framework Example code A fundamental feature of Locust is that you describe all your test in Python code. No need for clunky UIs or bloated XML, just plain code. Select example Simple With HTML parsing Nested TaskSets locust.io 오늘은 성능 테스트 툴에 대해서 정리 하려고 한다. 일단 성능에 대해서 전문가라고 할수 없고 부족한게 많기 때문에 그렇구나하고 참고하는 수준으로 정리 할 예정이다. 기존에 사용해본 툴은 처음에는 jmeter 그리고 ..
-
이메일 서버 만들기 ( feat. Aws SES )Devops 2021. 7. 26. 12:34
간단하게 AWS 를 이용하에 메일 서비스 환경을 만드는방법을 기록 하고자 한다. 일단 AWS 에서 ses 라고 겁색하면 안나올것이다. 아래와 같이 풀네임을 찾아봐야 한다. (https://aws.amazon.com/ko/ses/) 일단 aws 계정으로 로그인후 aws ses 시작하기를 누르면 콘솔 화면으로 접급이 가능하다. 여기서 메뉴를 확인할수 있는데 처음에 세팅해야하는곳은 Domains 라는 메뉴이다. 해당 메뉴로 가서 일단 도메인을 인증 받아야 사용이 가능하다 현재 도메인이 사용중인게 있다면 해당부분에 tistory.com 처럼 도메인을 입력해주고 검증 버튼을 눌러주면 유효한 도메인일 경우 별 문제 없이 진행된다. 그다음은 메일 인증이 필요하다 이 메일은 실제로 사용자에게 메일을 보낼때 어떤 메일로..
-
코틀린 vs JavaKotlin 2021. 7. 12. 12:14
세상은 넓고 언어는 많다 ! 필요에 의해서 많은 언어들을 사용하게 된다. 학교 다닐때만해도 언어하나로 먹고 산다는 이야기를 많이 들었던거 같다. 학교를 졸업하고 벌써 10년차 개발자가 된 나로써는 그때 그런말한 사람들이 이해가 가질 않는다. 최초 일을 시작하면서 자바를 사용했고 중간중간 모든 스타트업회사들이 그렇듯 이가 없으면 잇몸으로 한다는 정신으로 C++ 도 사용하고 했다. 지금 생각하면 정말 위험할 정도의 퀄리티의 프로그램을 내손으로 그렇게 만들었고 웹프로그래머가 되면서 JSP 와 함께 JS 를 전문가 수준은 아니여도 서버랜더링 서비스 정도는 구축할수 있게 되었다. ( 다 스프링 덕분이 아닌가 싶다. ) 지금은 그래서 우여곡절끝에 java ,js, php , python 정도 사용할수 있다 수준정도..
-
Kafka manager(CMAK) 설치Devops/Kafka 2021. 6. 25. 18:29
간단하게 cmak 를 설치하는 방법을 적어 놓는다... 최근에 자주 사용할일이 있었는데 자꾸 까먹는다 ㅠㅠ 크게 특이하거나 어려운것이 없기 때문에 쉽게 할수있다. 추가적으로 AWS EC2 기반에서 설치 하였는데 1core 급 인스턴스를 사용하면 극악(?) 의 빌드 속도를 확인 가능하다. 심지어 이유는 정확히 못밝혔으나 빌드가 안된다 ;;; 개인적으로 성공한건 2core 4GB 스펙의 인스턴스에서 성공하여 현재 설치시에는 저 기준 밑으로는 사용하지 않으려고 한다. 생각보다 스칼라 빌드가 하드한 작업인거 같다. 설치 를 위한 설치 파일 다운로드 wget https://github.com/yahoo/CMAK/archive/3.0.0.5.tar.gz 압축 해제 tar -xzvf CMAK-1.3.3.23.tar...
-
Kotlin Coroutine 사용하기Kotlin 2021. 5. 13. 14:26
코루틴은 범용적인 개념이다. 코루틴와 같이 코씨(?) 라서 뭔가 코틀린에서 파생된것처럼 보이겠지만 전혀 무관한다. 코틀린에서 코루틴을 사용하기 위해선 일단 아래와같이 라이브러리를 세팅부터 해줘야한다. 별다른 설정이 필요없이 추가만 해주면 사용하는데 무리가 없어 보인다. 사용하기 위한 설정 kts 기반으로 만든 gradle 설정 파일을 사용중이라 아래와 같이 표현했지만 , 환경에 맞게 사용하면 될거같다. maven 사용시에도 크게 사용에 무리는 없어 보인다. 설정시 자신이 사용중인 코틀린버전과 맞추주는 것이 중요하다. implementation( "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3") 참조 : github.com/Kotlin/kotlinx.coro..
-
MongoDB ( vs Mysql )NoSql/MongoDB 2021. 4. 8. 15:08
특징 MongDB 는 일반적인 Document 기반의 Nosql 이다. Nosql 을 쓰는 이유는 간단하게는 아래와 같다. - 유연성 -확장성 -고성능 -고가용성 이전에 couchbase 를 사용해봤을때 느낀것이지만 Nosql 에서 뭔가 디테일하고 빡빡한 기능들을 사용한다면 여러가지를 고려했을때 기존 RDBMS 를 사용하는것만큼의 리소스가 소모 된다고 생각한다. 여기서 리소스는 개발기간, 유지보수, 단순 성능등 여러가지를 종합한것을 말한다 비교 기능 비교 mysql 은 데이터베이스를 새로 만들고 그다음 테이블을 생성할때 컬럼과 타입을 명시해 줘야 한다. 하지만 Document 기반인 MongDB 경우 데이터베이스를 새로 만들어주고 collection 을 생성 해주면 사용 준비가 마무리 된다. - mysq..
-
Kafka Docker-compose ( feat. single node ) 만들기Devops/Kafka 2021. 3. 19. 16:56
회사에서 급하게 메세지큐를 써야 하는 상황이 되어서 급하게 빠르게 구축하기 위해 머리를 굴리기 시작하였다. 1. 빠르게 구축 2. 돈이 적게 들게 3. 일단 가볍게 기준을 저렇게 잡은 이유는 별개 아니라 일단 당장 테스트하고 구축해서 써야 하는 조짐(?)이 보였고 당장 수익이 나는 구조가 아니다보니 비용에 민감할수 밖에 없었고 트래픽이 당장 크게 있을거 같진 않았기 때문에 저렇게 목표를 삼고 시작하였다. 어떻게 보면 rabbitMQ 사용해도 무방한 상황이지만 여러가지 비교를 해보고 앞으로를 생각했을때 (비교글 : ellune.tistory.com/29?category=769027 ) 카프카를 써야될거 같다는 팀원들 이야기가 나오기도 하면서 고민이 시작됬다 1) 컨셉 - 도커 일단, 요즘엔 너무나도 당연하..