-
React 버전 업데이트 방법
Next.js 프로젝트에서 React 버전을 업데이트하는 방법은 다음과 같은 단계를 포함합니다. 이 과정은 패키지 관리자로 npm이나 yarn을 사용할 수 있으며, 여기서는 두 가지 방법 모두 설명하겠습니다. 1. 현재 React 버전 확인 먼저 현재 프로젝트에서 사용 중인 React와 React DOM의 버전을 확인해야 합니다. package.json 파일을 열어 dependencies 섹션에서 react와 react-dom의 버전을 확인할 수 있습니다. 2. 최신 React…
-
CDEFI Project (CEX & DEX)
Project on Bridging the Gap Between Centralized and Decentralized Exchanges We’re currently working on a project that aims to blur the lines between centralized and decentralized exchanges. The features include: Diving Deeper Into The Project’s Elements: Quote to Ponder:“Innovation is taking two things that exist and putting them together in a new way.” – Tom…
-
파이썬 서버 셋업하기(Python Server Setup) feat. CentOS7, Anaconda2, Supervisor, Nginx
파이썬 서버를 간단하게 셋팅하는 방법을 공유합니다. 데이터 분석용 모듈을 다수 포함하고 있는 Anaconda2 버전의 파이썬을 사용하였고, 프로세스 관리를 위해 Supervisor를 사용 하였습니다. 그리고 웹서버로 Nginx를 사용하였습니다. 본 셋팅은 가장 기초적인 상태의 셋팅이지만, 향후 다양하게 운영할 수 있는 여지를 포함하고 있기 때문에 소규모의 상용 서비스에도 활용이 가능합니다. Build new VM AWS 기준으로 EC2 Market Place에서 CentOS…
-
cron scheduling format (cron 표현법) for spring @Schedule
@Scheduled(cron = “0 0 0 0 0 0″) 위와 같은 방식으로 사용할 때 cron 표현법을 사용한다. 6개의 표현과 띄어쓰기로 이루어진 표현 – “0 0 0 0 0 0” 순서대로 설명해보자. 첫째 : 초를 표현한다. * – 매초, */5 – 5초마다, 0 – 0초에 둘째 : 분을 표현한다. * – 매분, */5 – 5분마다, 0 –…
-
Tips for Class Connection Representation using PlantUML
Distinguishing connecting representation. Extension <|– Composition *– Aggregation o– Normaly developers used to 3 types of line such as Extension, Composition and Aggregation for representing connectivity of classes. For detail, let me explain each ones. Extension is most simple. If you extend class using some interface or some abstract class then use Extension line that…
-
AWS S3 를 활용한 데이터 파일 관리 with Java Source Code
Spring Configuration File @Configuration @EnableContextResourceLoader @EnableContextCredentials( accessKey = “”, secretKey = “”, instanceProfile = true) @EnableContextRegion(region = “us-east-1”) public class AWSConfig { } Upload using InputStream TransferManager tm = new TransferManager(amazonS3); ObjectMetadata metadata = new ObjectMetadata(); byte[] contentBytes = IOUtils.toByteArray(inputStream); Long contentLength = Long.valueOf(contentBytes.length); metadata.setContentLength(contentLength); Upload upload = transferManager.upload(bucketName, filename, new ByteArrayInputStream(contentBytes), metadata); return…
-
Java Spring DDD (Domain Driven Design) 설계 방법론 (2) – Project Packaging
프로젝트를 페키징 하는 것은 향후 유지보수화 소수 가독성을 위해 잘 고려될 필요가 있다. 각 레이어별 기능을 정의하는데 Package 단위로 정의하게될 가능성이 높기 때문이다. 일반적으로 스프링 프레임워크를 사용해 자바 프로젝트의 프로젝트 패키지를 설계할 때, 도메인 레이어의 핵심 비즈니스 로직을 포함하는 domain, 핵심 서비스 기능을 구현하는 application, domain과 application 패키지의 백업 기능을 구현하는 infrastructure, API 등 핵심…
-
파사드(facade) – 디자인패턴 이야기 (Story of design patterns)
드워프의 금광 캐기 금광을 캐기 위해선 3가지 일을 해야한다. 먼저 금광 터널을 뚫어야 하며, 금을 캐야하고 마지막으로 금을 날라야 한다. 이 세가지 작업을 드워프 혼자서 하려면 3단계 업무가 필요하다 굴파기 금캐기 나르기 하지만 드워프 1명이서는 하루에 한가지 작업만 할 수 있는데, 하루 일과는 이렇다. 일어나기 광산으로 이동 일하기 집에가기 잠자기 파사드는 드워프들의 고용주이며,…
-
왓슨API, 노드로 구현하기 (Implement Watson API by Node.js)
왓슨API는 다양한 기능의 API를 지원하는데, 개인적으로 유사 API 중 가장 뛰어나다고 생각하는 것이 자연어 프로세싱 관련 API 이다. 특이하게 왓슨에서는 자연어 처리를 위한 API중 AlchemyAPI 라는 것이 있는데, 해당 기능은 IBM에서 AlchemyAPI를 인수하면서 이름을 그대로 사용했기 때문이다. 텍스트 데이터 분석을 위해 AlchemyAPI를 사용하는 방법 중에, 호감도 분석(Sentiment Analysis)과 감정 분석(Emotion Analysis)은 쉽게 사용 가능하다. 입력…
-
Spring Data’s Page Object Converting using Collector (feat. Java8)
Java8 에서 stream Collection 타입을 활용해 리스트 내부 오브젝트를 바꾸는 코드를 효율적으로 작성할 수 있다. 스프링 데이터에 쓰이는 Page 오브젝트는 List Wrapper 클래스중에 하나이다. 이 클래스도 마찬가지로 stream map 함수를 사용하는 것처럼 쉽게 사용하기 위해 커스텀 Collector 클래스를 하나 작성해 보았다. 기존에 5줄 정도 사용하던 java6 용 코드를 한줄에 넣을 수 있게 되었다. 최종 활용코드는 다음과…