본문 바로가기

분류 전체보기113

React 에서 WebSocket 활용하기 (feat. Typescript) React에서 Websocket 연결 및 간단 사용방법에 대해서 정리합니다. 서버단 코드는 따로 없습니다. 서버는 있다고 가정합니다. ^^: React + Typescript 환경의 프론트 엔드 코드만 있어요. (웹 소켓 서버 구축은 검색해보면 많이 나와요...Pass) 01. CRA로 프로젝트 생성하기 create-react-app ws-example --typescript 위 같은 커맨드로 React 프로젝트를 생성합니다. 02. Package 구조 └─src │ App.css │ App.tsx │ index.tsx │ ├─components │ Chatting.tsx │ TextInputBox.tsx │ └─websocket WebSocketProvider.tsx 필요없는거 날리고 간단하게 위와 같.. 2020. 9. 16.
React 에서 Canvas 활용하기 (feat. Typescript) React를 활용해서 canvas를 그림판처럼 활용해보는 예제입니다. 01. CRA를 이용해 프로젝트 생성 create-react-app canvas-example --typescript --typescript를 붙여서 React + Typescript 트프로젝트를 생성합니다. 02. canvas element 추가 import React, { useRef } from 'react'; import './App.css'; interface CanvasProps { width: number; height: number; } function App({ width, height }: CanvasProps) { const canvasRef = useRef(null); return ( ); } App.default.. 2020. 9. 11.
[Kotlin] Springboot + WebSocket 사용법 Kotlin + Springboot 환경에서 WebSocket(웹소켓)을 사용하기 위한 방법을 기술합니다. 간단한 채팅앱을 만들어 보며 WebSocket 설정과 사용법을 알아보겠습니다. (백엔드. 즉, Kotlin + Springboot + Gradle 환경 구성에 대한 내용만을 다루었습니다.) 01. 모듈 생성/다운로드 https://start.spring.io/를 통해 Springboot를 위한 모듈을 생성해봅니다. 위와 같이 설정 체크 해주고 GENERATE 클릭 해서 zip파일을 다운 받습니다. 다운받은 zip파일 압축 해제 하고, IDE에서 해당 프로젝트를 추가해봅시다. 그리고 build.gradle.kt 파일을 열어보면 아래와 같습니다. plugins { id("org.springframewo.. 2020. 6. 7.
[Kotlin] Springboot + Redis 사용법 Redis는 메모리 DB로 일반적인 DB(disk를 사용)보다 속도가 빠릅니다. 그렇기 때문에 대량의 데이터를 다루는 서비스에서 캐시 서버로서 많이 사용됩니다. 해당 글에서는 코틀린을 사용해 Springboot + Redis 연동 및 간단한 사용방법을 정리합니다. 01. Dependency 추가 build.gradle.kt 파일을 열어 아래와 같이 Redis 사용을 위한 lib를 추가해줍시다. ...(중략) repositories { mavenCentral() } dependencies { implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-s.. 2020. 4. 26.
[Kotlin] Springboot + Mybatis 사용법 ORM 기술인 JPA를 사용해서 DB 데이터 조작, 조회를 하면 편하지만 때론 SQL만으로 쿼리를 짜서 조회할 상황도 있을 것이라 생각됩니다. MySQP + JPA 셋팅 방법은 여기 있습니다. https://basketdeveloper.tistory.com/74 [Kotlin] Spring boot에서 MySQL + JPA 사용법 지난번 Springboot + gradle 설정(https://basketdeveloper.tistory.com/73)에 이어 Spring boot에서 DB(Mysql) 간단 연동법과 JPA를 사용하는 방법을 정리해봅니다. 01. build.gradle.kt 에 Dependency 추가 impo.. basketdeveloper.tistory.com 이번에는 Kotlin +Spr.. 2020. 3. 28.
[독서]소프트웨어 장인 개발자 필독서라 불리는 "소프트웨어 장인"을 읽고 요약/정리 해봅니다. 중소기업 개발 프로세스와 애자일 첫 회사를 중소SI기업에서 시작했었다. 프로젝트를 수주하면, 고객이 원하는 장소로 파견을 가게 되었고, 전통적인 개발방법론인 Waterfall 방식으로 개발프로세스를 시작했다. 간단히 아래의 절차를 밟은 것 같은 기억이 있다. 요구 분석 : 기획자가 담당한다. 회사 다니면서 기획자랑은 일상적인 대화는 나눈적이 없다. 하지만 개발을 시작하게되면 가장 많이 소통하게 되는 직원이었다. 화면 설계 : 역시 기획자가 담당했었다. DB 설계 : 화면설계서를 기반으로 개발자가 수행한다. 퍼블리싱 작업 : 개발자가 DB 설계를 할 때, 퍼블리셔가 수행한다. 개발 : 화면설계서를 보면서 퍼블리싱 산출물에 데이터를 입히.. 2020. 3. 1.
[Kotlin] Springboot에서 MySQL + JPA 사용법 지난번 Springboot + gradle 설정(https://basketdeveloper.tistory.com/73)에 이어 Spring boot에서 DB(Mysql) 간단 연동법과 JPA를 사용하는 방법을 정리해봅니다. 01. build.gradle.kt 에 Dependency 추가 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.springframework.boot.gradle.tasks.run.BootRun plugins { id("org.springframework.boot") version "2.2.4.RELEASE" id("io.spring.dependency-management") version "1.0.9.RELEASE.. 2020. 2. 23.
[Kotlin] Springboot + Gradle 시작하기 최근 회사에서 Kotlin으로 개발을 하게 되어 새로운 언어를 공부해야 됬는데요... 코틀린(Kotlin)은 이전까지 안드로이드 개발. 즉, 앱개발 할 때 사용되는 언어라 생각했습니다. 2017년 구글에서 안드로이드 개발언어로 코틀린을 정식으로 채택하고, 앱 개발 관련 공식문서들도 코틀린을 예제로 작성되는 등을 미뤄볼 때, 모바일 앱 개발자는 무조건 해야겠구나 생각했습니다. 하지만!!! 요즘은 Kotlin으로 서버 개발을 하는 회사도 있다고 하네요. Kotlin도 Java와 같이 JVM에서 돌아가기 때문에 Java랑 완벽히 호환이 되고, 최근 Typescript 같은 인기 많은 언어처럼 Null Safety, 함수형과 같은 특징을 가지고 있어 서버개발에 채택되는 경우가 점점 많아지는 추세라고 합니다. 기.. 2020. 2. 22.
React 메뉴 활성/비활성 상태 관리하기 대부분의 웹사이트는 현재 표시하는 메뉴가 어떤 메뉴인지 사용자에게 알려줍니다. 색깔을 다르게 표시한다던가 해서 말이죠. 이번에는 React로 Menu에 대한 상태 관리 방법을 간단하게 정리해봅니다. 상태관리 도구는 Redux를 사용합니다. 아래 예제는 타입스크립트를 사용했습니다. 01. index.ts / App.ts // index.ts import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; import store from "./store/configureStore"; ReactDOM.render( , document.getElementById('root')); // App.ts import React f.. 2020. 2. 5.
2019 Log 2018 Log에 이어 올해도 회고록을 작성해본다. 2019년은 시간이 빠르게 흘러간 것 같은 느낌이든다. 시간이 빨리 흘러갔다는 것은 그만큼 변화가 없고, 새로운 경험도 없었다는 것의 반증이다... 뇌속에 새롭고 신선한 뭔가가 저장되지 않았다. 이토록 슬플수가...ㅜㅜ "회사출근 - 퇴근 - 가끔 집공부 - 잠 - 주말데이트 or 스벅 공부" 루틴이 반복된 것 같은데, 크게 기억에 남는 일이 없었던것 같다. 2020년에는 더 행복한 삶을 사는 개발자가 되기 위해 올 한해의 개발회고를 해보도록 하자. 토이 프로젝트(팻 프로젝트) 크게 3가지의 토이 프로젝트를 기획하고 개발했다.(고 쓰고 싶지만 개발중단됬다고 보는게 맞겠네유) 첫 토이 프로젝트로 NBA 선수검색 서비스를 만들어보고자 했다. 평소 NBA를 .. 2020. 1. 3.
React 이미지파일 미리보기 이번에는 React 프로젝트에서 이미지 파일 미리보기 기능을 정리합니다. 음.. 좀더 상세히 말하면 웹사이트에서 이미지 파일을 업로드 하기전에! 웹사이트 상에 이미지를 출력하여 미리보기 하는 기능입니다. 간단한 예제를 만들며 정리하겠습니다. 01. 화면 UI 만들기 화면 UI는 아래와 같이 만들어 보겠습니다. 간단하게 이미지 미리보기영역과 input(type file)박스입니다. 코드는 아래와 같습니다. import React from 'react'; function App() { return ( ); } export default App; 02. State 추가하기 이미지는 미리보기 할때는 에 들어갈 base64 인코딩 값이 필요합니다. 또 file의 상태도 필요할겁니다.(결국 업로드는 file을 하는.. 2019. 12. 24.
Nodejs 파일 읽어 Promise 다루는 방법 어느날 로그파일을 읽어 json으로 가져와야 하는 과제(?)가 주어졌습니다. 또한 로그 파일이 생각보다 큰 경우도 존재합니다. fs모듈의 readFile과 같은건 파일 전체를 메모리에 올려버리기 때문에 메모리 사용량이 엄청 늘어납니다.(대용량 비추) 음.. Nodejs의 fs와 event-stream이라는 stream을 쉽게 사용할수 있도록 도와주는 라이브러리를 이용해서 특정 파일을 읽어서, 객체화하는 방법을 정리합니다. 순서는 아래와 같습니다. 파일 스트립으로 읽기 chunk 단위로 수행하고자하는 작업 수행 stream을 promise로 변경 async await로 promise를 제어 01. 파일 스트림으로 읽기 const fs = require('fs'); const es = require('eve.. 2019. 11. 28.