OAuth 2.0 마스터 요약
OAuth 란? 서로 다른 두 집단이 정보와 리소스를 안전하고 신뢰할 수 있는 방법으로 공유할 수 있게 해주는 프로토콜이다.
OAuth 란? 서로 다른 두 집단이 정보와 리소스를 안전하고 신뢰할 수 있는 방법으로 공유할 수 있게 해주는 프로토콜이다.
ALTER TABLE 테이블명 ADD (컬럼명 데이터타입(값)); 주석(Comment) 조회/수정/삭제 테이블에 주석 추가 COMMENT ON TABLE 테이블명 IS '주석내용' 컬럼에 주석 추가 COMMENT ON COLUMN 테이블명.컬럼명 IS '주석내용' 모든 ...
인덱스 컬럼 선정 가이드
옵티마이저는 가장 효율적인 방법으로 SQL을 수행할 최적의 처리 경로를 생성해주는 DBMS의 핵심 엔진이다.
SELECT A.계좌번호, B.고객번호, B.고객명, C.적립금, ( ... -- 스칼라 서브쿼리 ) FROM 계좌 A INNER JOIN ( ...
현업에서 sql 튜닝을 위해 문제 쿼리들을 살펴보게 되면 대부분 인덱스와 조인 문제가 대부분 발생한다. 인덱스의 경우는 WHERE 조건 컬럼에 인덱스가 걸려있지 않는 문제가 있고, 조인의 경우 조인 순서에 따라 문제가 발생하는 경우가 많다.
오라클 접속 시에 ORA-28001: the password has expired 에러가 발생할 경우가 있다. 오라클의 경우 기본적으로 비밀번호 만료기간이 180일로 설정되어있다. 이를 해결하는 방법을 알아보도록 하겠다.
Note 해당 포스팅은 GitLab CI/CD 구축에 대해서만 다루고 있습니다. GitLab 설치 및 설정, Docker Engine 설치 관련 내용은 다루지 않습니다.
Scouter 구성
최근에 Oracle에서 Java 유료화를 발표하면서 사내에서 OpenJDK로 개발환경을 변경하는 작업을 진행하고 있습니다. 현재 사내 개발서버에서는 다양한 애플리케이션이 가동 중인데 다행히도 모든 애플리케이션이 Java 10을 지원해 주고 있었습니다. 그 중에서 Jenkins를 J...
해당 글은 Blue Ocean - Dashboard 글을 요약 정리할 글입니다.
해당 글은 Blue Ocean - Activity View 를 정리 및 요약한 글입니다.
해당 글은 jenkins guide tour 를 요약 및 정리한 글입니다.
해당글은 Gloval Variables Reference 글을 요약 정리한 글입니다.
현재 저희 팀에서는 수동적인 배포 프로세스를 통해서 서비스를 배포 해오고 있었습니다. 수동적인 배포 프로세스로 인해서 개발자의 생산성이 저하되고, 간혹 실수가 발생하여 안정적으로 서비스를 제공하는데 있어 어려움이 있다고 판단되어 자동배포 프로세스를 구축을 진행하고 있습니다. 사내에...
해당 글은 데브옵스 2.0 툴킷 부록의 내용인 도커 플로우를 실습하고 정리한 글입니다.
ATDD(Acceptance Test Driven Development)란?
1. EPUB이란?
이번에 사내 타팀에서 서비스를 런칭하게 되었는데 일정이 빠듯하여 저희팀이 지원을 해주게 되었습니다. 지원을 하면서 부하/스트레스 테스트와 모의해킹 부분을 지원해 줄 수 있도록 저희 팀장님께서 저에게 요청을 하셨습니다. 모의해킹을 하면서 개발적으로 도움이 많이 될 것이라고 팀장님께서...
OWASP ZAP(OWASP ZED ATTACK PROXY PROJECT) 이란?
JMeter 란?
현재 HTTP/2 스펙을 지원하는 브라우저들의 HTTP/2 프로토콜 이용 조건으로 TLS을 전제하고 있기때문에 SSL 인증서가 필요합니다. 공인인증기관(CA)로 부터 인증을 받는것이 제일 좋겠지만, 개인 혹은 테스트 용도로 사용하는 것이라면 비용이 발생하므로 부담이 될 수 있습니다.
Haproxy는 L4, L7 과 같은 하드웨어 로드밸런서를 대체하기 위한 오픈소스 소프트에어로 이름처럼 Reverse Proxy 를 기반으로 로드밸런싱을 하기에 매우 강력하고 또 가벼운 어플리케이션입니다. HA (High Availability) 라는 이름처럼 고가용성을 위하여 설...
2018년 한해동안 백엔드 프로그래머로서 성장하기 위해 앞으로 해야 할 것들을 정리하기로 하였습니다. 해당 글은 2018년 웹 개발자가 되기 위한 로드맵와 Things Java Programmers Should Learn in 2018을 참고하여 작성을 하였으며, 관심을 가지고 있...
1. SSH(Secure Shell)이란?
1. SSH 공개키 등록하기
1. SSH 공개키 만들기
하둡(Hadoop)
1. 빅데이터의 3대 요소(3V)
1. 하둡이란?
1. Hadoop의 핵심 개념
1. 하둡과 아파치 스파크의 역할은 다르다.
프로젝트를 구축하면서 우리는 Maven, Gradle과 같은 라이브러리 의존성 관리 툴을 사용하고 있습니다. 필자의 경우는 필요한 라이브러를 추가 할때 Maven Repository 에서 의존성 코드를 복사해서 붙여 넣는 방식으로 사용해 왔습니다. 지금 다룰 인텔리제이의 기능은 I...
이직한 회사에서 새로운 프로젝트를 맡아서 개발은 진행하고 있다. 이직한 회사의 현재 상황은 .Net기반의 시스템을 Java/Spring 기반으로 넘어가는 단계이기 때문에 아직까지 코드 관리를 할 수 있는 체계가 전혀 잡혀 있지 않았다. 따라서 코드관리에 대해 알아보다가 StyleC...
금일은 비긴메이트와 서울창업허브에서 주관하여 무료로 진행해 주는 STARTUP DEVELOPER 세미나에 참석하였습니다. 사내에서 JDK10을 사용 중이지만 사실 Java8 기능들만 사용하고 있고 Java9, 10에서 추가된 기능들을 사용하고 있지않는 상황에서 Java9 모듈프로그...
시스템에서 코드성 데이터의 경우 DB로 관리하는 경우가 대부분이지만, 자바 소스코드에서 Enum으로 정의하고 해당 Enum을 HTTP API 호출을 통해 조회해야 하는 요건이 생겼습니다. 클래스명에 규칙을 정해서 사용하는 방법과 Custom Annotation을 명시하여 클래스의 ...
미국 수출 통상법에 따라 사용할 수 있는 키 길이 등에 제한이 걸려 있기 때문에 JAVA의 기본 정책으로 AES-128 암호화 방식까지만 사용이 가능합니다. 하지만 최근에 JCE policy changes in Java SE 8u151, 8u152 and 8u162의 내용과 같이 ...
이 글은 유지보수 가능한 코딩의 기술 자바편을 요약 및 정리하여 작성한 내용임을 밝힙니다. 필자가 작성하는 내용은 책의 내용을 그대로 사용하여 작성한 부분도 많지만 인용하여 작성한 부분도 있기 때문에 보다 정확하고 자세한 내용을 위해 해당 책을 구매하여 보시는 것을 추천드립니...
이 글은 유지보수 가능한 코딩의 기술 자바편을 요약 및 정리하여 작성한 내용임을 밝힙니다. 필자가 작성하는 내용은 책의 내용을 그대로 사용하여 작성한 부분도 많지만 인용하여 작성한 부분도 있기 때문에 보다 정확하고 자세한 내용을 위해 해당 책을 구매하여 보시는 것을 추천드립니...
1.람다식이란?
해당 글은 developerFarm 개발자 블로그의 농장객체지향 생활체조를 참고하여 정리한 글 입니다.
해당 글은 developerFarm 개발자 블로그의 농장객체지향 생활체조를 참고하여 정리한 글 입니다.
해당 글은 developerFarm 개발자 블로그의 농장객체지향 생활체조를 참고하여 정리한 글 입니다.
해당 글은 developerFarm 개발자 블로그의 농장객체지향 생활체조를 참고하여 정리한 글 입니다.
해당 글은 developerFarm 개발자 블로그의 농장객체지향 생활체조를 참고하여 정리한 글 입니다.
해당 글은 developerFarm 개발자 블로그의 농장객체지향 생활체조를 참고하여 정리한 글 입니다.
해당 글은 developerFarm 개발자 블로그의 농장객체지향 생활체조를 참고하여 정리한 글 입니다.
해당 글은 developerFarm 개발자 블로그의 농장객체지향 생활체조를 참고하여 정리한 글 입니다.
평소에 어떻게 하면 효과적으로 OOP를 학습할 수 있을까 에 대해 고민을 하고 있던 중 코드스퀘어 블로그의 효과적으로 TDD, 리팩토링, OOP를 연습하는 방법은? 을 보게 되었다.
이직을 위해 면접을 진행 중 Java 버전 별로 전부 사용해 보았는데, 각 버전별 차이점에 대해 설명해 보아라. 라는 면접 질문을 받았었다. 여러가지 자바 버전을 실제로 사용해 보았지만 자바8의 람다, 스트림과 같은 큰 변화만 대답했을 뿐 6,7 버전의 변화들에 대해 대답하지 못하...
지역변수는 개발자가 별도로 초기화 하지 않으면 쓰레기 값을 갖게 되는데 반해 클래스변수와 객체변수는 왜 자동으로 초기화해주는지 알아보자.
인스턴스 초기화
제네릭
자바 프로그램이 어떻게 구동되는지 이해하기 위해선 JVM(Java Virtual Machine)의 역할을 하는것이 필수적이다.
근래에 가장 핫한 용어 가운데 빅데이터가 있다. 빅데이터를 프로그램적으로 다룰 수 있는 방법이 필요해 졌다. 그 방법의 중심에는 멀티코어를 활용한 분산 처리, 즉 병렬화 기술이 필요하다.
객제지향이 언어가 나오기까지 프로그래밍의 발전사를 보면 개발자를 보다 편하고 이롭게 하기 위한 과정임을 알 수있다. 기계어에서 부터, 어셈블리어, C, C++, JAVA 로 발전해 오기까지의 과정을 보면 row레벨의 기계가 아닌 high 레벨의 인간을 배려하기 위한 과정이었다.
Java에서 특정 문자열을 다른 문자열로 변환/치환하기 위해 사용하는 함수 String str = "abcdefg"; System.out.println(str.replace("abc.", @)); System.out.println(str.replaceAll("abc.", @))...
String 클래스는 잘못 사용하면 메모리에 많은 영향을 끼치기 때문에 String 클래스에 대해 알아보도록 하겠습니다. 자바기반의 프로그래밍에서 문자열을 만드는 클래스는 String, StringBuffer, StringBuilder가 가장 많이 사용된다. StringBuffer...
Spring 프레임워크 공부 중에 아무리 찾아보아도 잘 이해되지 않는 부분이 있었다. POJO 방식… 그동안 구글링을 통해 많이 검색해 보았는데 저한테는 잘 와닿지 않는 개념정리 뿐이였는데 백기선님의 쉡게따라하는 자바웹개발을 보고 POJO방식이 무엇인지 쉽게 알게 되었다. POJ...
CharSequence는 인터페이스 이다. 다시 말하면, 클래스가 아니기 때문에 이 인스턴스로 객체를 생성할 수 없다. 이 인터페이스를 구현한 클래스로는 CharBuffer, String, StirngBuffer, StringBuilder가 있으며, StringBuffer나 Sti...
지역변수(Local Variable) 함수내에서만 접근할 수 있는 변수를 의미한다. var scope = 'global'; // 전역변수 function fnScope(){ var scope = 'local'; // 지역변수 scope = 'local'; ...
유효범위는(Scope)는 변수의 수명을 의미한다. 유효범위 대상 자바스크립트는 함수에 대한 유효범위만 을 제공한다. for(var i = 0; i < 1; i++){ var name = 'coding everybody'; } console.log(name); /...
익명함수를 이용한 모듈화 (function(){ var MYAPP = {} MYAPP.calculator = { 'left' : null, 'right' : null } MYAPP.coordinate = { '...
데이터 타입 기본타입 숫자(number) 문자열(String) 불린값(boolean) undefined null 참조타입 객체(Object) ...
replace javascript에서 replace() Method는 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환합니다. 그 패턴은 문자열이나 정규식(RegExp)이 될 수 있으며, 교체 문자열은 문자열이나 모든 매치에 대해서 호출된 함수일 수 있습니...
동작 그만 Ctrl + C 실행중인 명령을 강제로 중단한다. 일시 정지 Ctrl + Z 명령을 일시적으로 정지한다. 일시 정지 상태에서 다른 명령을 내릴 수 있다. 파일 삭제 rm [option] [파일명 또는 디렉토리명] option -r : 하위 디렉토리를 포함한 파...
2018 Open Cloud Engine 행사
금일은 비긴메이트와 서울창업허브에서 주관하여 무료로 진행해 주는 STARTUP DEVELOPER 세미나에 참석하였습니다. 사내에서 JDK10을 사용 중이지만 사실 Java8 기능들만 사용하고 있고 Java9, 10에서 추가된 기능들을 사용하고 있지않는 상황에서 Java9 모듈프로그...
이번에 회사 팀장님과 책임님의 권유로 코드 스피츠라는 강의를 듣게 되었습니다. Hika님께서 진행하시는 강의이고, 벌써 76번째 강의라고 하네요.
오라클에서 주최하여 진행하고 있는 Oracle Developer Meetup을 다녀왔습니다. 같은 날에 스프링캠프를 진행하기 때문인지 금일 방문하신 분들이 지난번보다는 적었지만, 좋은 발표주제와 발표자 분들 덕분에 유익한 시간이였습니다.
2017년 11월 26일 KSUG(Korea Spring User Group) 세미나를 참석하게 되었다. 원래는 티켓팅이 늦어서 참석을 못할 줄 알았는데, 운이 좋게도 티켓을 양도 받아서 참석 할 수 있었다. 금일 세미나의 시간표는 아래와 같다.
해당 포스팅은 인프런에 등록된 백기선님의 스프링 프레임워크 핵심 기술 강의를 요약한 자료 입니다. 개인 스터디를 위해 강의를 간략하게 요약하여 작성할 예정이며, 저작권에 위반된다면 해당 포스팅을 즉시 비공개로 전환하도록 하겠습니다.
해당 포스팅은 인프런에 등록된 백기선님의 스프링 프레임워크 핵심 기술 강의를 요약한 자료 입니다. 개인 스터디를 위해 강의를 간략하게 요약하여 작성할 예정이며, 저작권에 위반된다면 해당 포스팅을 즉시 비공개로 전환하도록 하겠습니다.
1. 스프링부트 관리자란?
하나의 Tomcat에 context가 두개 이상 적재되어 있고, log4j나 logback과 같은 로깅 프레임워크를 사용하고 있다면 아래와 같은 에러가 발생한다.
pom.xml과 web.xml에 다음과 같이 설정해주면 환경(개발, 테스트, 운영)에 따라 세팅값을 차등적용할 수 있도록 파일 경로를 명시할 수 있다.
web.xml에 다음과 같이 설정해주면 환경(개발, 테스트, 운영)에 따라 세팅값을 차등적용할 수 있도록 파일 경로를 명시할 수 있다.
spring에서 dbcp를 설정하다보면 destroy-method 속성을 흔치않게 확인 할 수 있다. destroy-method 속성이 무엇인지에 대해 알아보도록 하겠다.
메이븐은 자바 개발자가 자주 사용하는 빌드 툴1중 하나입니다. 메이븐이라는 빌드툴을 사용하여 소스코드로 부터 개포 가능한 산출물(artifact)을 빌드(build)한다. Maven, Ant, Gradle등이 있다. ↩
메뉴관리 화면에서 사용자 편리성의 위해 스프링에서 RequestMapping 어노테이션을 통해 등록한 url을 조회할 수 있는 기능을 만들기 위해 예제를 만들어 보았다.
The code of method _jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) is exceeding the 65535 bytes limit 위의 오류는 JVM의...
현재 운영 중인 시스템에서 아래와 같은 오류가 발생하여 운영 중인 사이트가 먹통이 되는 현상이 발생하였다. 아래의 오류를 보면 커넥션 풀에서 커넥션을 빌려오는 동작이 타임 아웃되었다는 것이다.
백엔드 개발을 하면서 간단하게 화면을 구성해야하는 일이 있을 경우가 종종 발생합니다. 기존에 하던 방식처럼 Server-Side-Rendering, jQuery, AJax를 사용하여 구성할까 라는 고민을 하던 중 미루고 미루어 두었던 Vue.js 학습하여 도입하기로 결정하였습니다....