웹훅 개요 웹훅이란 웹앱에서 발생하는 특정 이벤트를 커스텀 콜백으로 변환 해주는 방법이다. 쉽게 말해 데이터가 변경되었을 때 실시간으로 알림을 받을 수 있는 기능이다. HTTP 기반의 웹 특징과 훅(Hook) 기능을 합친 용어이다. API API는 클라이언트가 요청을 한다. 필요한 데이터를 특정한 API로 호출하고 응답을 받게 된다. 행위의 주체가 클라이언트가 데이터를 당겨온다. PULL 웹훅 웹훅은 클라이언트가 데이터를 요청하지 않아도, 필요할 때 알아서 데이터를 준다. 미리 이벤트를 지정해두고, 해당 이벤트가 발생되면 나에게 데이터를 보내줘라는 의미이다. 행위의 주체가 웹훅이 데이터를 밀어 준다. PUSH 웹훅을 통해 Gitlab과 Jenkins 사이의 파이프라인 구성도 가능하다. 정리 API 폴링은..
개발 방법과 내부 기능에 따라 다양한 유형의 애플리케이션(앱)이 있다. 개발에 필요한 기본적인 웹 서비스의 종류와 차이점을 알아보자. 1. 모바일 웹(Moblie Web) 개념 모바일 화면에 맞게 구성한 웹 특징 단순히 웹 페이지를 모바일 화면에 맞게 줄인 형태 개발(웹 페이지) 실행(웹 브라우저) 장점 유비보수 용이 브라우저 접근 미설치 스토어 심사 불필요 단점 네이티브 엑세스 불가 2. 웹 앱(Web App) 개념 모바일 웹처럼 보이지만 구동방식이 앱처럼 보이게 한 앱 특징 겉모습, 구동방식을 네이티브 앱처럼 구성 개발(웹 페이지) 실행(웹 브라우저) 장점 비용, 시간 절감 스토어 심사 불필요 단점 네이티브 엑세스 불가 3. 하이브리드 앱(Hybrid App) 개념 컨텐츠 영역은 웹 앱으로 개발하고,..
지난 포스팅에 brew로 Java를 설치하는 방법에서 Java LTS 버전을 언급한 적이 있다. [프로그래밍/Etc] - [Etc] Mac Java 설치 및 관리 with Brew [Etc] Mac Java 설치 및 관리 with Brew Mac에서의 Java 설치 및 여러 가지 Java버전을 관리하는 방법을 알아보자. Java 설치의 일반적인 방법은 직접 다운로드하는 방법이 있지만, Mac에서는 Brew를 통해 손쉽게 설치가 가능하다. Java 외의 모 reference-m1.tistory.com 오래된 시스템을 보면 개발, 스테이징, 운영서버 등이 버전이 다른 경우가 있다. 고도화 작업뿐만 아니라 모든 프로젝트가 착수되기 전에 각 버전에 맞는 선정 작업이 필요하다. 이번에는 Spring Framewo..
Quartz Quartz는 미리 결정된 시간 또는 예약된 시간에 작업을 예약하고 실행하는데 사용할 수 있는데 오픈 소스 라이브러리이다. 간단한 interval , Cront 표현식을 사용하여 작업할 수 있다. 장점 in-Memory, JDBC 방식 제공 스케줄러 간 클러스터링 시스템 Fail-over(Random 방식의 로드 분산처리) 기본 플러그인 제공(ShutdownHookPlugin, LoggingHistoryPlugin) 단점 완벽한 로드 분산처리 불가(Random 방식) GUI 환경 미지원 스케줄러 실행에 대한 히스토리 보관 미지원 fixed delay 미지원 Quartz Maven Dependency org.quartz-scheduler quartz 2.3.2 Quartz Gradle Depe..
Thread를 통해 Service를 호출하려고 하면 @Autowired null 관련 에러가 발생한다. Thread 클래스가 Bean으로 등록된 클래스가 아니어서 IOC Container를 통해 자동 주입되지 않는다. @Autowired는 Bean으로 등록된 클래스에서만 사용 가능하다. 이럴 때는 Bean을 수동으로 주입하면 해결 가능하다. ApplicationContextProvider import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.spri..
Thread는 자원과 안정성 문제가 항상 따라다닌다. Thread가 많다면 대기 중인 상태가 되어, 메모리 사용량이 많아지면서 JVM 가비지 콜렉터에 영향을 주게 된다. 이러한 문제를 해결하기 위해 Thread Pool 관리가 필요하고, Java에서는 java.util.concurrent.* 패키지에서 Thread Pool을 제공하고 있다. ExecutorService 생성자 newFixedThreadPool : 지정된 숫자만큼 고정된 Thread를 유지한다. Thread가 작업이 종료되었으면 Thread 다시 생성하여 주어진 개수를 맞춘다. /** * Creates a thread pool that reuses a fixed number of threads * operating off a shared ..
Mac으로 문서작업을 하다 보면, Window에서 파일명이 자소 분리된다. 이에 관하여 빠르고 간단하게 Mac 한글파일명 자소 분리 해결법을 알아보자. 문제점 - 표준 정규화 인코딩 차이 Mac - NFD(조합형) Window - NFC(완성형) 1. convmv 설치 brew install convmv # 사용법 convmv -f utf8 -t utf8 --nfc --notest convmv 설치 후 위 명령어로 지정된 파일만 해결이 된다. 파인터에서 우클릭 형태로 쉽고 빠르게 작업하실 분은 아래 설명하는 Automator를 생성하자. 2. Automator 생성 Automator 실행 -> 새로운 문서 -> 빠른 동작 -> 왼쪽 검색창("셸") -> 오른쪽으로 드래그 -> 빨간색 영역 수정 # App..
AWS MFA(Multi-Factor Authentication) AWS MFA는 사용자 계정 정보 외에 보안을 한층 더 강화할 수 있는 수단이다. 간단히 말하면 은행에서 보안 강화를 위해 OTP(One Time Password)를 사용하는 것과 동일하다. 이러한 보안 요소를 통해 AWS 계정 설정 및 리소스에 대한 보안을 높일 수 있어, 클라우드 보안에서 필수적 사항이다. 특히 루트 계정 일 경우에는 필수 적이며, 그 외 IAM 일반 계정에게도 권고하고 있는 사항이다. AWS MFA 권한 설정 루트 계정은 권한 지정이 필요없지만, IAM 계정은 MFA 관리에 대한 권한 설정이 필요하다. 아래와 같이 IAM 계정에 정책을 연결해도 권한 부여가 가능하다. https://docs.aws.amazon.com/..
[프로그래밍/AWS] - [AWS] AWS S3 파일 업로드 [AWS] AWS S3 파일 업로드 오늘 포스팅 내용은 AWS S3 파일 업로드에 대해 정리해보자. Bucket 생성 및 권한(정책) 수정 AWS 콘솔에서 S3 메뉴에서 버킷 생성을 하고 권한 탭에서 버킷 정책을 수정해야 한다. 버킷 정책은 정책 reference-m1.tistory.com 지난 포스팅에 AWS S3 업로드에 대해 알아보았다. 이번에는 추가적으로 S3 PreSignedURL에 대해 설명하고자 한다. AWS 환경을 구축하고 개발을 하면서 아래에 해당하는 경우에는 preSignedURL이 필수적이다. preSignedURL이 필요한 경우 S3 서버 블록 암호화 설정을 하였을 때 10MB 이상의 파일을 업로드, 다운로드(API Gat..
Mac에서의 Java 설치 및 여러 가지 Java버전을 관리하는 방법을 알아보자. Java 설치의 일반적인 방법은 직접 다운로드하는 방법이 있지만, Mac에서는 Brew를 통해 손쉽게 설치가 가능하다. Java 외의 모든 프로그램을 Brew로 설치하면 관리가 쉬워진다. https://brew.sh/index_ko Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 1. Java 설치 # Homebrew 설치 및 업데이트 brew update # adoptopenjdk/openjdk 추가 brew tap adoptopenjdk/openjdk # jdk 찾기 brew search jdk # 특정 버전 설치 brew install --cask..
- 회고
- 이직
- 소프트웨어공학
- Maven
- sort algorithm
- Tomcat
- 오라클 내장 함수
- 성능분석
- 리눅스 명령어
- 오라클
- Linux 명령어
- 제주도 3박4일 일정
- javascript
- spring
- Java
- 경력관리
- 프로그래머스
- 정렬 알고리즘
- 자바
- 자바스크립트
- 제주도 여행
- 개발환경
- Collection
- Eclipse
- 프로그래머
- 리액트 16
- effective java
- 리액트
- React
- SQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |