전체 글 18

PlantUML 을 이용하여 다이어그램을 쉽게 그리자 - 소개 및 설치

시퀀스 다이어그램 프로젝트 분석을 위한 교육자료를 만드는 업무를 받게 되었습니다. 교육자료를 만들기 위해 사내 문서들을 뒤적뒤적 하다 보니 시퀀스 다이어그램으로 표현되는 부분이 가시성이 가장 좋았습니다. 여기서 시퀀스 다이어그램은 UML 다이어그램의 한 종류 입니다. UML 다이어그램 ( Unified Modeling Language ) 통합 모델링 언어 시스템을 모델로 표현해주는 대표적인 모델링 언어 UML 다이어그램 종류 구조 다이어그램 클래스 다이어그램 객체 다이어그램 복합체 구조 다이어그램 배치 다이어그램 컴포넌트 다이어그램 패키지 다이어그램 행위 다이어그램 활동 다이어그램 상태 머신 다이어그램 유스케이스 다이어그램 상호작용 다이어그램 커뮤니케이션 다이어그램 시퀀스 다이어그램 여러 종류의 다이어그..

Tech 2022.12.20

개인정보와 쿠키, 수집 동의 서비스

제1장. 강화되고 있는 개인정보보호 2010년대 대형쇼핑몰/은행사발 개인정보 유출사고들이 일어나면서부터 지금까지 개인 정보 보호 법은 계속 발전에 발전을 거듭하고 있고, 온라인 시장에서도 개인정보보호에 대한 이슈를 해결하기 위해 다양한 노력들을 벌여오고 있다. 먼저, 대표적인 민감정보였던 주민등록번호가 회원정보 입력란에서 삭제되었고, 모든 등록정보들은 수집 목적에 따라 분류되어 회원가입 대상자들에게 안내되고 있으며, 단발성으로 개인정보가 꼭 필요한 경우 (택배 배송등의 사유) 필요한 경우에만 쓰일 수 있도록 개별 입력으로 관리되고 있다. 또한 서비스 운영에 꼭 필요한 정보가 없을 경우 네이버, 카카오 등 sns 로그인 기능을 넣어 개인정보관리에 대한 문제를 최소화하기도 한다. 위에 언급한 내용처럼 이름 ..

Tech 2022.12.16

SpringBoot - 어플리케이션 로딩이 완료된 시점에 호출되는 함수

개요 웹서버를 개발하다 보면, 귀찮은 일중 하나가 테스트 페이지를 띄우는 일입니다. http://localhost:8080/test 이 url을 웹페이지로 띄우려면 크롬에서 즐겨찾기 해 놓으면 되지만, 포트 번호 혹은 페이지 주소가 자주 바뀌면, 일일이 즐겨찾기하기에는 귀찮아지죠. 그래서, 프로그램이 실행될때, 콘솔 로그에 이동 링크가 제공 되도록 만들어보겠습니다. 추가로, SpringBoot에서 어플리케이션 로딩이 완료된 후에 호출되는 함수들(ApplicationRunner, CommandLineRunner, @EventListener(ApplicationReadyEvent.class))에 이동 링크를 적용해보겠습니다. 웹서버 구성 SpringBoot를 이용하여 간단한 웹 서버를 구성하겠습니다. Int..

Tech 2022.12.15

Jenkins Declarative pipeline 입문하기

Jenkins 소개 Jenkins는 소프트웨어 구축, 테스트, 전달 및 배포와 관련된 모든 종류의 작업을 자동화하는데 사용할 수 있는 오픈 소스 자동화 서버로 jenkins외에 bamboo, JetBrains TeamCity, buddy 등이 있으나, 다른 건 비용이 비싸고 도입하기 어려운 반면, 막강한 기능임에도 무료인 jenkins가 가장 많이 사용되고 있고 우리도 jenkins를 쓰고 있다. Jenkins 장점 무료! 사용자가 많아서 정보가 많다. 사용하기 쉽다. 많은 플러그인 (Pipeline도 플러그인임) Jenkins Pipeline 필요성과 장점 https://www.jenkins.io/doc/book/pipeline/를 보면 아래와 같이 언급하고 있다. Jenkins is, fundamen..

Tech 2022.10.19

[Bitbucket-형상관리] Fork 부터 PR(Pull Request) 까지 한 큐에 정리!!!

저희는 CI/CD (Continuous Integration/Continuous Delivery) 방법으로 DevOps 솔루션인 Atlassian 의 제품을 사용하고 있는데요. 이번 블로그에서는 Atlassian 제품인 Bitbucket 으로 소스 레파지토리 "Fork 부터 Pull Request 하는 법 (feat. Sourcetree)" 에 대하여, 알아보겠습니다. 참고로, Jira 에 Bitbucket 을 연결하여 사용하면, Jira에서 발행된 각 이슈 별 Branch 나 Commit, Pull Request 정보 등을 손쉽게 확인 할 수 있어 형상관리에 유용해요 :) 그러면 바로 Go Go ~!!!! 1. 레파지토리 Fork 하기 1) 작업할 소스가 있는 Bitbucket 내 원격 저장소로 이동!..

Tech 2022.10.14

디자인 해보자. 잘. 벤치마킹으로 시작하기

지금 우린 디자이너에게 UI/UX 라는 단어가 디폴트값이 되버린 세상에 살고 있다. 수많은 디자이너 직군이 있지만 유저의 편의성을 배제한 직군은 없다고 본다. 물론 예전부터 '디자인 = 사용자를 위해' 개념은 적용되고 있지만, 지금은 더욱 세분화 되고 고차원적으로 발전이 됐다. 그에 따라 대중의 디자인 수준도 매우 높게 올라갔다. 예전 처럼의 그저 예쁜 디자인은 소위 '먹히지 않는' 시대가 도래한 것이다. (한참 전에..) 그래서 우린 고차원적의 예쁘고 잘난 플랫폼을 완성 시켜야만 대중에게 어필 할 수 있다. 그럼 어떻해야 예쁘고 잘난 플랫폼을 완성시키지? 백번 듣는거 보단 한번 보는게 낫다고 우리는 예쁘고 잘난 성공한 플랫폼을 보러 여정을 떠나야한다. 그리고 이들이 어떻게 성공했는지 장,단점을 찾아 우..

카테고리 없음 2022.10.11

Springdoc-openapi를 활용한 Spring Boot 기반 API의 문서 자동화

1. Springdoc-openapi 프론트엔드와 백엔드의 업무 분리가 명확해지고, REST Api에 의한 서비스 또는 시스템 간의 연계가 증가함에 따라, 자연스레 원활한 협업을 위해 API에 대한 정보의 가공/수정/전파의 중요성이 커지게 되었다. 과거 다양한 필요성들이 여러 도구를 만들어 내었듯, 이러한 작업을 보다 쉽고 편리하며 명확하게 하기 위한 여러 시도들이 하나둘 나타나고, 그러한 흐름의 과정에서 Swagger(2011)가 발표되었다. 이후 Swagger는 여러 우여곡절을 거쳐서 2015년 MS, IBM, Google 등이 공동 창립한 OpenAPI Initiative으로 넘어가 2017년에 발표된 OpenAPI Specification 3.0.0의 모태가 되었다. Springdoc-openap..

Tech 2022.09.19

빅데이터 분석 Trino(구 Presto)로 해결하자.

빅데이터 분석 플랫폼의 종류 현재 SQL ON Hadoop 인메모리 병렬분산처리 플랫폼들의 춘추전국 시대입니다. 가장 대표적인 플랫폼으로 Spark가 있고 cloudera에서 구현한 impala, Facebook에서 개발한 Presto 등 여러 쿼리 엔진으로 사용할 수 있는 오픈소스들이 난무하고 있습니다. 이중에서 Trino(구 Presto)라는 빅데이터용 쿼리엔진을 소개하고자 합니다. Trino? Trino는 Facebook에서 만든 Presto를 리브렌딩한 쿼리 엔진입니다. SQL On Hadoop 의 한 종류로 짧은 지연 시간의 임시 데이터 분석에 최적화된 오픈 소스 분산 SQL 쿼리 엔진입니다. Presto는 복잡한 쿼리, 집계, 조인, 윈도우 함수 등 ANSI SQL 표준을 지원합니다. Pres..

Tech 2022.08.25

Javascript를 이용하여 JS 파일 동적 로딩

개요 고객사의 홈페이지에 javascript 파일을 로딩할 일이 생겼습니다. 단순하게 script 태그를 이용하여, 해당 페이지에 삽입하였고, 스크립트 내부 함수를 호출하는 간단한 구조로 작성되었습니다. Head에 스크립트를 삽입하고, body에서 내부 함수를 호출하는 간단한 구조였습니다. 문제점 발생 고객사에서 스크립트에 대한 안정성에 문제가 있다는 통보를 받았습니다. 홈페이지 특성상, 외부 접속이 자유롭지 않은 상황에서 스크립트 로딩 지연이 생길 수 있고, 해당 증상으로 홈페이지가 정상적으로 제공되지 않을 수 있으니, 대책을 마련해달라고 했습니다. 주요 내용은, 스크립트 로딩 대기 시간이 15초가 발생하면, 홈페이지가 15초 동안 아무 동작도 하지 않는 문제가 있다는 것이었습니다. 해결방안 모색 처음..

Tech 2022.07.29

[APP 개발] Easing Functions (애니메이션 효과)

Easing functions은 parameter의 변화률을 명시합니다. 현실에 존재하는 물체들은 갑자기 움직이거나 멈추지 않습니다. 그리고 일정한 속력으로 움직이는 일도 거의 없습니다. 예를 들어, 우리가 서랍을 열때 처음에는 빠르게 열지만 거의 다 뺐을때는 천천히 빼게 됩니다. 공을 공중에서 바닥으로 떨어뜨렸을때 중력으로 인하여 속력이 조금씩 더 빨라지고 바닥에 닿았을때는 바운스를 하게됩니다. 이런 자연스러운 움직임을 easing function을 통해 표현할 수 있습니다. Easing Function 종류 위의 그림은 보편적으로 많이 사용되는 easing function을 보여주고 있습니다. 전반적으로 대략 30개 정도의 easing function들이 사용되고 있습니다. 이번에 제작된 어디가개의 ..

Tech 2022.07.26