zzang9ha의 등록된 링크

키자드에 등록된 총 1357개의 포스트를 확인하실 수 있습니다.

Naver Blog

[JSP] - JSTL 커스텀태그 라이브러리(Custom Tag Library Descriptor)

JSTL 커스텀태그 라이브러리 TLD(Custom Tag Library Descriptor)JSP 페이지에서 EL(Expression Language)을 사용할때, Java 메서드를 사용하고 싶을 때즉 사용자가 정의한 Java의 함수를 사용하고자 할 때 커스텀태그 라이브러리를 사용하면 된다.JSTL(Jsp Standard Tag Library 표준 태그 라이브러리)를 이용하면 대부분 해결이 되지만, 업무시스템에서 자주 사용되는 함수들, 반복되는 공통적인 기능들을 공통으로 구현해놓은 Util 클래스들이 있다.따라서 JSP에서 EL을 이용해 사용자가 지정한 Java의 메소드를 커스텀태그 라이브러리를 통해 사용해보자.간단하게 Java의 메소드에서는 두 수를 더하는 Plus 함수를 구현하고, JSP에서.......

Naver Blog

[Java/자바] - 향상된 예외처리(try-with-resources) 자원 해제

향상된 예외 처리(Try-with-resources)기존에 작성했던 예외처리에 대해서는 아래를 참고해주세요.자바 - 예외처리(Exception)이번에 정리할 내용은 Java에서 향상된 예외 처리(Try-with-resources) 입니다.try - with - resources 는자바7 에서 추가된 구문입니다. try()에 자원 객체를 전달하면, try() 코드 블럭이 끝난 뒤 자동으로 자원을 해제(close)해주는 기능입니다.즉, finally 블록이나 모든 catch 부분에 자원 해제를 처리해주지 않아도 되므로 편리합니다.보통 입출력(IO Resource) 부분에서 자원을 할당받아 사용하는데요, 이 때 사용한 자원을 정상적으로 해제(Close)해주지 않고만약 다른곳에서 이 자원을 사용한다.......

Naver Blog

[SW Expert Academy] - (D2)1974. 스도쿠 검증

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Psz16AYEDFAUq&categoryId=AV5Psz16AYEDFAUq&categoryType=CODE코드풀이문제에서 확인해야 할 곳은 3가지이다.위와 같이 9X9 격자판에서 가로와 세로, 3X3의 그리드 격자를 따져봐야 한다.각각 판단할때 boolean flag[] 라는 1차원 배열을 활용해서 체크를 했다.1 2 3 4 5 6 7 8 9가로가 위와같이 있을때, 각 값에 -1(배열은 0부터 시작하므로)에 해당하는 flag[] 배열의 요소가 true인 경우와 false인 경우로 나눠서 풀었다.기본값은 false이므로, 초기에는 false이고 9개씩 숫자를 반복하면서 해당 요소를 인덱스로.......

Naver Blog

[Akka] 공부하기 & 이해하기

Akka란?Akka는 병행(Concurrent) 및 분산 처리를 위한 오픈 소스 툴킷으로, JVM 상의 동시성과 분산 애플리케이션을 단순화 한다. Akka는 Java와 Scala 모두 작성이 가능하다. Scala로 작성이 되었지만, Java의 동시성 패키지를 사용하기에 결국 Java의 Thread나 Task를 사용하는 것과 마찬가지이다.또한 Akka는 액터(Actor) 라는 모델을 사용하는데, 액터 모델의 특징은 다음과 같다. 액터는 상태를 공유하지 않는다. 액터들 간의 통신은 메시지 전달을 통해서 이루어진다.(이벤트 기반 모델) 액터간의 통신은 비동기로 이루어진다. 각 액터는 전달받은 메시지를 큐에 보관하며, 메시지를 순차적으로 처리한다. 액터.......

Naver Blog

[SW Expert Academy] - (D1)2019. 더블더블(Stream)

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QDEX6AqwDFAUq&categoryId=AV5QDEX6AqwDFAUq&categoryType=CODE코드풀이주어진 n+1까지 2씩 곱해서 배열에 저장하고, forEach 를 통해 출력한다.(순회)

Naver Blog

[Git/깃] - 브랜치(Branch)

Git branch이번 시간에서는 깃에서 브랜치를 생성, 삭제, 조회, push(origin - upstream) 등을 알아보겠습니다. ※ origin - 로컬 저장소, upstream - 원격 저장소 라고 보시면 됩니다.모든 버전 관리 시스템에서는 브랜치(branch)를 지원합니다. 브랜치는, 개발을 할 때 독립적으로 개발을 가능하게 해주는 기능입니다.Git의 브랜치는 매우 가볍고, 새로운 브랜치를 생성하고 이동하기가 엄청 간단합니다.즉 브랜치란? "같은 폴더 다른 세상" 이라고 보시면 됩니다.$ git branch --list 브랜치 목록 조회위 명령어를 통해 현재 작업소에 존재하는 브랜치들의 목록을 확인할 수 있습니다.$ git branch <.......

Naver Blog

[신림 삼겹살맛집] - 미나리생삼겹 3호점

관악 신림 - 미나리생삼겹 3호점이번에 친구들과 함께 고기집에 다녀왔습니다.요즘 전국적으로 비가 엄청와서 날씨도 좋지않고..비도 오고 날씨도 꿉꿉한날엔 고기를 먹어줍시다.저희가 방문한 곳은 미나리생삼겹 3호점 입니다 !미나리생삼겹 3호점 위치서울특별시 관악구 심림로59길 15-10매일 15:00 ~ 03:00 연중 무휴 02-884-9292미나리생삼겹폰트가 뭔가 귀엽고 아기자기합니다 ㅋㅋ미나리생삼겹 3호점 분위기가게 입구에 들어왔을때 사진입니다.자세히 보면 사진 중앙에 장소가 하나 더 있습니다!테이블도 많고 넓어서 회식장소에도 딱일듯해요 !저녁시간보다 좀 더 일찍와서 그런지 사람이 많지는 않았.......

Naver Blog

[Maven/메이븐] - Maven 라이프사이클(LifeCycle)

메이븐 라이프사이클(LifeCycle)메이븐에는 라이프사이클(LifeCycle)이 존재한다.라이프사이클(LifeCycle)이란 미리 정해진 빌드순서로, 메이븐은 프레임워크이기 때문에 작업 방식이 정해져있고, 빌드 순서가 정해져있는데 이를 라이프사이클(LifeCycle) 이라고 한다.이전에 작성했던 compile, test, package, install 등이 모두 메이븐의 빌드 라이프사이클에 속하는 단계이다.메이븐 프로젝트의 컴파일(mvn compile) , 테스트(mvn test) , 패키징(mvn package) 등의 과정이다.메이븐은 clean, build, site 의 세 라이프사이클을 제공한다.각 라이프사이클은 순서를 갖는 단계(Phase)로 구성된다. 또한, 단계별 실행되는 플러그.......

Naver Blog

[SW Expert Academy] - (D1)1933. 간단한 N의 약수(Stream)

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PhcWaAKIDFAUq&categoryId=AV5PhcWaAKIDFAUq&categoryType=CODE코드풀이rangeClose(1, N) - 1 ~ N까지filter(i -> (N%i == 0) - N%i == 0인경우(i가 N의 약수인경우)forEach() - 약수인 i 출력.

Naver Blog

[구디 모각코] 여섯번째 스터디 후기

벌써 모각코를 여섯번 진행했습니다~3주만에 하는거라서 후기 남기는거도 깜빡하고 있었네욤..최근에 한분 나가시고, 바쁘신분들도 계시고 해서 3명이서 했습니다. !!각자 스터디를 하는거지만, 집에서 하는거보다는 집중도 잘되기에 효율은 더 좋은 것 같습니다.모각코에서 자바공부만 하려고 했지만, 최근에는 오픈소스 활동이 더 급해져서, Git 공부만 했네요.아직 git이 익숙하지 않고 헷갈리지만, 확실히 많이 배웠고 익힌 것 같습니다.확실히 공부에서 가장 중요한게 직접 해보는 실습인 것 같습니다.3주전 git 강의 영상을 보고 실습하면서 이해했다고 생각했지만, 실제로 적용해야할 오픈소스에 따라해보며 실습해보니 금방.......

Naver Blog

[Git] - 브랜치(branch) 이름 변경하기

git - 브랜치(branch) 이름 변경Git에서 브랜치(branch)의 이름을 변경해보겠습니다.feature 로 이름을 만들어야 했으나, 실수로 featuer로 브랜치를 생성했습니다.사실 딱히 변경할 필요는 없지만, 그래도 뭔가 보기에 불편합니다.featuer/64_jdbc_interface -> feature/64_jdbc_interface 로 변경을 하겠습니다.또한 기존의 브랜치명을 삭제하고, 새로운 브랜치명을 푸시하고, upstream에 재설정까지 해보겠습니다. 먼저 변경하려는 branch 로 이동합니다. 해당 branch에서 다음 명령어를 통해 branch의 이름을 변경해줍니다. <새 이름>의 로컬 branch를 푸시하고, upstream branch를 재설정합니다........

Naver Blog

[Git/Github] fork한 깃허브 로컬 저장소를 원본 저장소와 동기화하기(싱크 맞추기)

GitHub - fork한 로컬 저장소와 원격 저장소의 동기화하기오픈소스를 활용하다 보면 해당 오픈소스를 fork(내 로컬 저장소로 저장) 한 후 수정하거나 작업을 하게 되는데, 만약 이때 원격 저장소에 소스가 수정되거나, 파일이 변경되거나 하면 내 로컬 저장소에도 동일하게 동기화를 시켜줘야 합니다.즉, 내 로컬 저장소와 원격 저장소의 내용을 동일하게 맞춰줘야 합니다.(동기화, 싱크 맞추기)아직 Git 다루는게 익숙하지 않아서 정리를 해놓으려고 합니다.오픈 소스의 원격 저장소를 원격 저장소라고 하겠습니다.fork한 제 저장소를 로컬 저장소라고 하겠습니다.저는 간단히 제 깃허브에서 새로운 Repository를 생성하고 수정하고.......

Naver Blog

[git 오류] - ! [rejected] master -> master , Your branch is ahead of 'origin/master' by 2 commits

깃허브에서 이것저것 테스트를 해보던 중, push를 하려고 하니 다음과 같은 오류가 발생했다.! [rejected] master -> master (fetch first)error: failed to push some refs to ...두 가지 해결방법이 존재한다.$ git push origin master --force force를 통한 강제 push: - 기존 데이터는 보장하지 못한다.$ git pull -> $ git push pull 을 통해 다시 받고, push 만약 pull 후 push로 안된다면, push -f를 사용. $ git pull -> $ git push -f위와 같이 진행하는데, git pull에서 commit이 2개로 생성되었다.Your branch is ahead of 'origin/master' by 2 commits위 문제는 다음과 같이.......

Naver Blog

[Spring] Spring , Spring Boot

Spring와 Spring BootSpring? 스프링 프레임워크(영어: Spring Framework)는 자바 플랫폼을 위한 ...

Naver Blog

JPA, iBATIS, MyBatis, Hibernate, ORM

JPA(Java Persistence API)자바 플랫폼 SE와 자바 플랫폼 EE를 사용하는 응용프로그램에서 관...

Naver Blog

[SW Expert Academy] - (D1)2071. 평균값 구하기(Stream)

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QRnJqA5cDFAUq&categoryId=AV5QRnJqA5cDFAUq&categoryType=CODE코드풀이Stream의 average().getAsDouble() 를 통해 Double로 평균을 구한다.그 후 Math.round() 함수를 통해 소수점은 반올림 해서 나타낸다. - round() 리턴 자료형: double, long

Naver Blog

[SW Expert Academy] - (D1)2072. 홀수만 더하기

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QSEhaA5sDFAUq&categoryId=AV5QSEhaA5sDFAUq&categoryType=CODEQ) 10개의 수를 입력받아 그 중에서 홀수만 더한 값을 출력하라.코드풀이Stream의 filter() 중간연산을 통해 홀수를 추출하고, sum() 메서드를 통해 합을 구한다.

Naver Blog

[Clean Code / 클린코드] - 3장 함수

3장 함수어떤 프로그램이든 가장 기본적인 단위가 함수다. 이 장에서는 함수를 잘 만드는 방법에 대해 소개한다.작게 만들어라!함수를 만드는 첫째 규칙은 '작게!' 다. 함수를 만드는 둘째 규칙은 '더 작게!'다.함수가 설정 페이지와 해제 페이지를 테스트 페이지에 넣은 후 해당 테스트 페이지를 HTML로 렌더링하는 코드이다.위 코드는 간략히 다음과 같이 줄여야 마땅하다.블록과 들여쓰기다시 말해, if문, else문, while문 등에 들어가는 블록은 한 줄이어야 한다. 보통 거기서 함수를 호출한다. 그러면 바깥을 감싸는 함수가 작아질 뿐 아니라, 블록 안에서 호출하는 함수 이름을 적절히 짓는다면, 코드를 이.......

Naver Blog

[백준] 10818번: 최소, 최대(Stream)

https://www.acmicpc.net/problem/10818코드풀이primitive type(원시 자료형) 과 Wrapper class(객체) 에 따라 두 방법으로 풀었다.풀이는 주석 참고~

Naver Blog

[Maven/메이븐] 이클립스에서 메이븐 프로젝트 생성

이번에는 이클립스에서 메이븐 프로젝트를 생성하는 방법에 대해 알아보겠습니다.이클립스 상단의 File > New > Maven Project 클릭Workspace를 default로 설정하고 Next > 를 클릭합니다.apache의 quickstart 를 선택해 줍니다.(만약 웹페지이를 만들고자 하면 web-app 을 선택하면 됩니다.)프로젝트의 이름을 설정해 줍니다. Group Id: 프로젝트에 속하는 고유 아이디를 결정합니다. 보통 도메인 이름을 역순으로 적습니다. Artifact Id: 프로젝트 결과물의 식별 값. 프로젝트나 모듈을 의미하는 값 입니다. Version: 결과물의 버전을 입력합니다. SNAPSHOT은 현재 프로젝트는 개발중이라는 걸 나타냅.......

Naver Blog

[백준] 2562번: 최댓값(Stream)

https://www.acmicpc.net/problem/2562코드풀이Stream의 max() 로 최댓값을 구하고, getASInt() 로 변환한다.filter() 연산을 통해 배열의 요소가 최댓값일때를 구해주고, toArray() 를 통해 배열로 인덱스들을 배열로 생성한다.(최댓값이 여러개인경우 해당 인덱스가 전부 담긴다.)스트림이 신기하긴 하다.. 가독성은 좋지만 성능면에서는 많이 따져봐야 할 것 같다.Stream / 일반 for문for문 코드

Naver Blog

[MySQL] - 날짜 표시 date_format

date_format()date_format()는 MySQL에서 현재 날짜를 나타내기 위해 사용한다.간단한 예제출처 : https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format위 공식문서에 date_format에 대한 함수와 포매터 방식이 나와있다.년 - 월 - 일다양한 형식의 Formatterdate_add() , date_sub() + INTERVAL 을 통해 날짜를 더하거나 뺄 수 있다.위와 같이 now()를 통해 현재 날짜를 받아오는게 아닌 임의의 날짜를 설정해줄때는 출력 형식과 동일하게 맞춰주어야 한다.그렇지 않으면 결과값이 null로 나온다.날짜 계산

Naver Blog

[Java/자바] - IO(입출력)네트워크 - TCP 네트워킹(소켓 통신)

IO 네트워크 - TCP 네트워킹(ServerSocket, Socket)저번 시간에 IO 네트워크에서 InputStream, OutputStream 스트림에 대해 간략하게 알아보았다.InputStream, OutputStream 설명이번에는 이를 사용해서 간단하게 서버-클라이언트 구조인 TCP 네트워킹(소켓통신)에 대해 알아보자.네트워크 기초네트워크(Network)는 여러 대의 컴퓨터를 통신 회선으로 연결한 것을 말하고, 인터넷(Internet)은 지역 네트워크를 통신 회선으로 연결한 것을 말한다.서버와 클라이언트보통 서비스를 제공하는 프로그램을 서버(Server)라고 부르고, 서비스를 받는 프로그램을 클라이언트(Client)라고 부른다.인터넷에서 두 프로그램이 통신하기 위해서.......

Naver Blog

[백준] 2739번: 구구단(스트림/Stream)

https://www.acmicpc.net/problem/2739코드풀이IntStream 에서 range(), rangeClose() 메서드가 있다.range() 메서드는 end값을 포함하지 않고, rangeClose() 메서드는 end값을 포함한다.range(1, 9) = 1부터 8까지rangeClose(1, 9) = 1부터 9까지IntStream 객체를 생성하고 forEach 메서드를 통해 구구단을 출력한다.

Naver Blog

2020년 7월 회고록

벌써 한달이 지나고 8월이 다가왔다. 회사에 입사한지도 어엿 3개월차... 인턴생활도 얼마 남지 않았다..!아직은 아는 것 보단 모르는게 많지만, 나름 열심히 하고 적응도 잘 하고 있는 것 같다.7월에도 다사다난했고, 빠르게 지나갔다~그럼 7월 회고록을 ~재택근무5월 말에도 한번 37도가 넘어가서 재택근무를 2일?정도 했었는데,, 7월 초에도 몸살에 걸려 재택근무를 4일정도 했다....열이 39도가 넘어가서 코로나 검사도 받았는데 ........ 4일동안 진짜 힘들었따 ㅠㅠ..2달차 신입인데 벌써 재택근무를 2번이나 하는거에 회사 눈치도 많이 보이고, 건강 챙기지 못했던 탓에 좀 힘들기도 했다...운동도 별로 안하다보니 면역력도.......

Naver Blog

[Java/자바] - @FunctionalInterface 함수형 인터페이스

함수형 인터페이스 - @FunctionalInterfaceFunction<T, R> R apply(T t)Consumer<T> void accept(T t)Predicate<T> boolean test(T t)Supplier<T> T get()First Class Citizon First Class Citizon 은 아래의 속성들을 모주 만족해야 합니다. 변수에 값을 할당할 수 있어야 합니다. 함수의 파라미터로 넘겨줄 수 있어야 합니다. 함수의 반환값이 될 수 있어야 합니다.Java에 메서드는 위 조건의 모두를 만족하지 않으므로 일급객체가 아니고, 따라서 Java는 함수형 프로그래밍 언어가 아닙니다.하지만, Java8에서는 함수를 일급객체처럼 다룰 수 있게 함수형 인터페이스를 제공합니다.@FunctionalIn.......

Naver Blog

[Java/자바] - IO(입출력)네트워크 InputStream / OutputStream

IO 패키지 소개자바에서 데이터는 스트림(Stream)을 통해 입출력되므로 스트림의 특징을 잘 이해해야 한다.스트림은 단일 방향으로 연속적으로 흘러가는 것을 말한다.프로그램이 출발지냐 또는 도착지냐에 따라서 스트림의 종류가 결정되는데, 프로그램이 데이터를 입력받을 때에는 입력 스트림(InputStream) 이라 부르고,프로그램이 데이터를 보낼 때에는 출력 스트림(OutputStream) 이라고 부른다.자바의 기본적인 데이터 입출력(IO: Input/Output) API는 java.io 패키지에서 제공하고 있다. java.io 패키지는 파일과 관련된 처리를 하기위한 File 클래스와, 데이터 입출력을 위한 다양한 입출력 스트림 클래스를 제공한다.스트림.......

Naver Blog

2020 오픈소스 컨트리뷰톤 발대식

안녕하세요~ 오늘 2020 오픈소스 컨트리뷰톤 발대식에 다녀왔습니다 !공식적인 시간은 13:00 ~ 15:00 여서 12시쯤에 집에서 나왔는데 비가 진짜 미친듯이 와서 갈까말까 고민을 했었는데 ...결과적으로 안갔으면 정말정말 후회할 뻔 했네요~선릉역에 도착했는데도 비가 엄청 쏟아진 ...위치는 강남 테헤란로 저스트코 타워 입니다! 타워에 들어가는 입구에 컨트리뷰톤 참가자들 반겨주는 현수막 ㅎㅎ입구에서 담당자분이 인원 체크하고, 건물에 들어갈 수 있습니다.1층에서부터 현수막들이 많이 있어요~사람들도 많고 빠르게 올라가서 사진은 잘 못찍은...무튼 발대식은 13층에서 진행했습니다!요즘 시국이 시국인만큼.........

Naver Blog

[Eclipse/이클립스] - SonarLint(소나린트) 코드 분석 플러그인(코드리뷰)

이클립스에서 SonarLint(소나린트) 플러그인을 설치해보도록 하겠습니다.Sonarlint(소나린트)Sonarlint(소나린트) 플러그인은 이클립스에서 코드를 작성할 때 품질적인 문제를 정적으로 탐지하고 해결할 수 있도록 도와주는 IDE 확장 플러그인입니다.SonarLint(소나린트) 사용환경 Eclipse IntelliJ Visual Studio VS Code위와 같은 4가지의 IDE에서 소나린트를 지원합니다.※ 소나린트를 사용하기 위해 Java 8 이상이 필요합니다.Eclipse(이클립스) - SonarLint(소나린트) 설치Eclipse > Help > Eclipse Marketplace... 클릭sonarlist 를 검색한 후 Install 로 설치.Aceept에 체크한 후 Finish 클릭설치.......

Naver Blog

[Clean Code / 클린코드] - 2장 의미 있는 이름

2장 의미 있는 이름소프트웨어에서 이름은 어디나 쓰인다. 변수에도 이름을 붙이고, 함수와 메서드, 클래스, 패키지, 소스파일 등 모든 곳에 이름을 붙인다. 이렇듯 많이 사용하므로 네이밍을 잘 하면 여러모로 편하다. 이 장에서는 이름을 잘 짓는 간단한 규칙을 몇 가지 소개한다.의도를 분명히 밝혀라. 의도가 분명한 이름이 정말로 중요하다는 사실을 거듭 강조한다. 좋은 이름을 지으려면 시간이 더 걸릴지라도, 이로 인해 절약하는 시간이 훨씬 더 많다. 변수나 함수, 클래스 이름은 다음과 같은 질문에 모두 답해야 한다. - 변수(혹은 함수나 클래스)의 존재 이유는? - 수행 기능은? - 사용 방법은?따로 주석이 필요하다면 의도를.......

Naver Blog

관악 신림 맛집 - 흥부보쌈

안녕하세요 !~이번에 다녀온 맛집은관악 신림 흥부보쌈 입니다 !오늘따라 배가 왜이렇게 고팠는지 ......."흥부보쌈"에서 보쌈 땡기고 왔습니다 ~흥부보쌈 위치서울특별시 관악구 신림로59길 15-13골목길에 육쌈냉면 바로 옆에 존재합니다.처음 가봐서 약간 길을 헤맸네요 ...신림역 3번출구 도보 5분거리30년을 이어온 흥부보쌈100년 가게로 만들어 가겠습니다.흥부보쌈은 체인점이 아닙니다.그리고 체인점을 만들지도 않겠습니다.흑백사진 ... 분위기 있네요 ㅋㅋ흥부보쌈 Since 1987 888-9464뭔가 흥부 마크가 키포인트네요 ^^,백년가게는 위에서 설명드렸어요~까먹으셨으면 복습 ^^또한 재난지원금 사용이 가능.......

Naver Blog

금천 가산 초밥 맛집 - 휴스시

안녕하세요 ~ 오랜만에 먹은 초밥.스시를 먹었습니당.원래 어릴때 엄마가 해준 유부초밥이 진짜 맛있었는데.. 무튼 오늘은 금천 가산의 초밥, 사시미 전문점 "휴(休)스시" 에 다녀왔습니다.사람이 나무그늘에서 쉰다는 데서 '쉬다'를 뜻함.(메뉴판에 적혀있음..)휴스시 위치위치는 서울특별시 금천구 디지털로9길 46 입니다.디지털단지오거리 & 가산디지털단지역 근처에요!매일 11:30 - 22:00 영업하며, 일요일은 휴무입니다. 02-860-5566휴스시 근처 사진* 식당 지키고 있는 물고기들 *식당 앞에서 내부사진을 보니 뭔가 고급스러워요.찾아오시기는 어렵지 않아요 ^^~ 바로 식당이 보.......

Naver Blog

[Eclipse/이클립스] - 인코딩 한글깨짐 현상(UTF-8, EUC-KR)

이클립스에서 한글이 깨지는 현상은 자주 발생하는 오류이다.보통 혼자서 개발할때는 딱히 발생하지는 않지만, 다른 프로젝트를 받거나 협업할때 발생한다.기존에 작업을 할 때, UTF-8로 셋팅을 해서 개발하는게 가장 좋은 것 같다.위와 같이 나는 SVN으로 프로젝트를 받았더니 한글이 깨지는 현상이 발생했다.이녀석 때문에 꽤 골치가 아팠다 ...다른 분들의 방법대로 UTF-8로 설정해보고, 해당 프로젝트의 인코딩도 설정해보고 ...온갖 방법을 다 해봤지만 해결은 되지 않았다...먼저 기본적인 방법은 다음과 같다.이클립스 상단 Window > Preferences 를 클릭한다.그 후 좌측 상단에서 encoding를 입력하면 여러가지.......

Naver Blog

[Clean Code / 클린코드] - 1장 깨끗한 코드

1장 깨끗한 코드이 책은 프로그래머가 (Java)언어를 사용해 프로그램을 작성할 때 깨끗한 코드를 작성하는 방법을 소개한다.프로그램을 짜다보면 코드를 쓰는 시간보다 코드를 읽는 시간이 훨씬 더 많다고 소개하고, 프로그래머는 이에 따라 보다 좋은 코드를 작성해야 한다고 말한다.이 책은 세 부분으로 나눠진다.처음 몇 장은 깨끗한 코드를 작성하는 원칙, 패턴, 실기를 설명한다. 둘째 부분을 준비하는 단계이다.둘째 부분은 좀 더 어렵다. 여러 사례의 연구를 소개하는데 복잡도는 점점 더 높아진다. 각각의 사례 연구들은 코드를 깨끗하게 고치는, 다시말해 문제가 있는 코드를 문제가 더 적은 코드로 바꾸는 연습을 한다.셋째 부.......

Naver Blog

[Eclipse] - ~.UnsupportedOperationException: This parser does not support specification "null" .. 오류

톰캣을 구동할 때 다음과 같은 오류가 발생했다.java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null" ...검색해보니 톰캣 7버전을 사용할경우, classpath에 2개 이상의 paser가 존재할 경우 잘못된 버전을 사용해서 발생한 오류이다.따라서 이클립스 해당 프로젝트의 톰캣 옵션에서 VM arguments에 설정을 추가해주면 된다.프로젝트 우클릭 > Profile As > Profile Configurations...Arguments 탭에서 VM arguments: 의 마지막에 다음을 추가한다.-Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXPa.......

Naver Blog

[Spring] - REST 방식

현재 일상 생활에 필요한 작업들을 대부분 모바일을 통해서 할 수 있는 지금의 생활에서 WEB 분야의 가...

Naver Blog

[Spring] - MyBatis에서 @SelectKey 사용

데이터베이스 작업을 하다보면 특정 키값을 가져와서 해당 키값으로 처리를 해야할 필요가 있습니다.키 값...

Naver Blog

[Spring, Apache] - 스프링, 아파치(HttpClient, PostMethod)를 사용한 Server - Server 통신

안녕하세요, 이번에 정리할 내용은 아파치의 HttpClient, PostMethod를 통한 서버와 서버의 통신입니다...

Naver Blog

영등포 맞춤셔츠 고급진 '레온수트'에서~

안녕하세요 !이번에 영등포에서 개인 맞춤셔츠를 한벌 맞췄습니다 !그동안 셔츠는 많이 사봤어도 맞춤형 셔츠는 처음 맞춰보네요..처음이어서 신기했고, 무엇보다 맞춤 제작이기에 개인이 원하는 스타일로 제작할 수 있다는점이 좋은 것 같습니다!영등포 레온수트 위치위치는 위와 같습니다.영등포구 국제금융로6길 33 맨하탄빌딩 3층 39-A호(여의도 백화점 3층입니다!!!)여의도역 5번출구 근처에 위치하고 있습니다."레온수트"는 100% 예약제입니다.뭔가 예약제에서 고급진게 느껴집니다 ~! 02-761-2691평일: 10:00 ~ 20:00토요일: 10:00 ~ 18:00레온수트는 여의도 백화점 3층에 위치합니다 !음 처음갈땐 이런곳에 있나? .......

Naver Blog

사내스터디 2주차(Linux)

회사에서 스터디를 진행하고 있다.저번주부터 했는데 저번주에는 기록을 못해서 이번주부터 기록을 해놔야겠다~!오늘은 저번주에 이어 리눅스 명령어에 대해 직접 찾아보고, 실습해가면서 공부를 했다.(구름IDE로 진행)B-Tree 구조 ...인덱스(주소, 레코드 주소) - *** 무조건 인덱스를 태울 것 !!(데이터가 늘어날 것 같은것)- DB에서 가장 빠른게 PK임! -> Unique Index -> FK -> index- 검색을 빠르게 하기위해 사용- 오름차순으로 자동 정렬됨.- 인덱스를 태우는 방법: WHERE 조건에 컬럼을 태운다.(WHERE C = ?)- B:남, C:2 일때 순서 맞춰서 태워야함(WHERE C=2 AND B='남')- 케이스가 많은걸.......

Naver Blog

[Maven/메이븐] 자바 프로젝트 생성

이번에는 Maven에서 프로젝트를 생성해보자.먼저 다음과 같이 maven의 폴더를 만들었다.그 후 cmd창에서 해당 경로로 들어간다.cmd 창에서 다음 명령어를 실행한다.mvn archetype:generate(Maven에 필요한 플러그인, 모듈을 받기 때문에 시간이 꽤 걸린다.)실행하다가 설치가 멈추고, 다음과 같은 입력하라는 명령어가 나온다.위에서 입력하는 값들은 다음과 같다. groupId: 프로젝트에 속하는 고유 아이디를 결정한다. 보통 도메인 이름을 역순으로 적는다. artifactId: 프로젝트 결과물의 식별 값. 프로젝트나 모듈을 의미하는 값 - 위의경우, 빌드시 sample-1.0-SNAPSHOT.jar 파일이 생성된다. version: 결과물의 버전.......

Naver Blog

[Eclipse] java.net.BindException: Address already in use: bind

톰캣 서버에서 localhost / 8181 포트로 서버를 실행하고 테스트를 하고있었는데, 실행해보니 다음과 같은 에러가 발생했다.Exception in thread "main" java.net.BindException: Address already in use: bindat sun.nio.ch.Net.bind0(Native Method)at sun.nio.ch.Net.bind(Net.java:433)at sun.nio.ch.Net.bind(Net.java:425)at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:134)at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:550)at io.netty.channel.DefaultChanne.......

Naver Blog

[Eclipse/이클립스] - Multiple markers at this line, The type java.lang.Object cannot be resolved... 오류

새로운 프로젝트를 받아보니 다음과 같은 오류가 발생했다.Multiple markers at this line - The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files - The type java.lang.String cannot be resolved. It is indirectly referenced from required .class files내용을 보면 최상위 클래스인 Object 패키지가 해결되지 않았고, 필요한 클래스 파일들이 제대로 레퍼런스 되지 않고있다는 내용이다.위와 같은 경우는 jre 라이브러리에 문제가 생겨서 발생하는 오류이다.해결법은, 해당 프로젝트의 jre 라이브러리를 제거하고 다시 추가하면 된다.1. 해당 프로젝트 우클릭 > Propert.......

Naver Blog

[Eclipse, Java/자바] - Java was started but returned exit code... 에러

어제 저녁부터 이클립스가 실행이 안되더니... 오늘도 실행해봤는데 여전히 안된다.오류내용은 첫번째줄에 나와있는 녀석Java was started but returned exit code = -....보통 code가 13이던데... 나는 이상한 숫자였다.아래 파일의 내용들은 eclipse.ini 파일의 내용들인데... 바로 구글링을 해보았다.첫 번째 방법1. 일단 이클립스가 설치되어 있는 경로로 들어가자.위와 같이 들어가면 eclipse.ini 파일이 있다.이 파일을 실행하자.(메모장)2. eclipse.ini 파일 수정위 사진과 같이 jdk 경로를 복사해서,--launcher ~ 와 -install 사이에 -vm JDK경로\javaw.exe를 넣어주도록 한다.두 번째 방법1. 이.......

Naver Blog

금천구 가산 곱창, 막창 맛집 - "문정곱창"

안녕하세요 ! 이번에 다녀온 곳은 곱창집입니다 ~오랜만에 먹은 곱창~ 문정곱창 !!!와우 존맛탱입니다 ㅋ바로 리뷰 할게요 ~문정곱창 위치위치는 요기!!서울특별시 금천구 가산로 137 문정곱창디지털단지 오거리 근처에요 ~~~~~~~~~~~~비가 진짜 폭풍처럼 내려서 사진을 많이 못찍었네요 ......삐까번쩍한 간판 하나 있어요 ㅎㅎ#문정곱창구이영업 시간매일 15:00 - 02:00둘째, 넷째 주 일요일 휴무02-6014-7290문정곱창 분위기딱 회식느낌 나는 가게였어요 ~~오늘 비도 와서 딱 곱소... 곱창소주 날이네요 ~자리는 거의 꽉 찼어요 !다들 직장인의 스맬이 남니당요즘 많은 가게에서 진행하는 SNS 이벤트~#가산동곱창 #.......

Naver Blog

[Eclipse, 이클립스] - 깃허브(Github)에서 프로젝트 Clone해서 로컬 저장소에 저장하기(프로젝트 불러오기)

안녕하세요! 이번에 정리할 내용은 깃허브 -> 이클립스 프로젝트 Clone을 통해 불러오는 방법입니다.Github -> 이클립스 프로젝트 Clone이클립스 상단메뉴 - Windows > Show View > OtherShow View 에서 Git Repositories 를 클릭한 후 Open을 클릭해줍니다.위에 Open을 눌렀으면 아래 Git Repositories가 뜰텐데요,,이제 깃허브에서 받아올 프로젝트의 URL를 복사해줍시다~프로젝트 레포지토리에 들어가서 Code > 아래 빨간색 버튼을 클릭하면 URL이 복사됩니다.다시 이클립스로 가서 Clone a Git repository 를 클릭아래에서 URI 부분에 깃허브에서 복사한 URL을 붙여넣어 주면Host, Repository path 부.......

Naver Blog

Github(깃허브) 이스터에그

안녕하세요! 이번에는 우연히 알게된 GitHub(깃허브) 에서 이스터에그 라는걸 만들어 보겠습니다.위에 사진처럼 깃허브 프로필에 내용이 나오는겁니당~어떻게 넣는지 궁금하시면 따라해보세용.1. Create a new repository본인의 깃허브 Repositories를 들어가서 New를 클릭합니다.2. username repository 생성Repository name에 본인의 깃허브 계정 Username을 작성합니다.그럼 아래 움직이는 귀여운 고양이 한마리랑You found a secret! ... 라는 창이 뜰겁니다.레포지토리를 만들어주도록 합니다.3. README.md 파일 생성레포지토리가 정상적으로 생성되었으면 README.md 파일을 생성합시다.위에서 README 클릭4. REA.......

Naver Blog

포항 가족여행(경주 교리김밥, 포항 영일대 해수욕장, 영일대 맛집 한계령 조개구이, 바베큐, 화진별장펜션)

안녕하세요! 이번에 가족끼리 여행을 다녀왔습니다 ㅎㅎㅎㅎㅎㅎㅎㅎ서울 올라와서 주말에 쉰거는 처음이네요..! 정말정말 힐링하고 왔습니다 !!24일 토요일, 아침 10시 구미 출발 -> 경주 교리김밥 -> 포항 영일대 해수욕장 -> 월포해수욕장 -> 펜션 !가족과 여행은 정말 오랜만에 온 것 같고, 바다도 보면서 엄청 힐링이 된 것 같습니당 구럼 바로 사진 투척 해보겠습니당 ~경주 교리김밥저는 처음 들어봤는데, 경주에서 엄청 유명하다고 합니다."경주 교리김밥"원래 확장하기 전에는 무더위에도 엄청 많이 줄서서 먹는다고 ...무슨 김밥이 얼마나 맛있길래 줄까지 서서 먹는지 궁금했어요 ㅋㅋㅋㅋㅋㅋ.......

Naver Blog

Github(깃허브) - 프로필 꾸미기(capsule-render)

안녕하세요~ 저번에 깃허브 이스터에그를 통해 프로필의 README.md를 꾸미는 방법을 알아보았습니다.이스터에그란?이번에는 마찬가지로 README.md 파일에 이쁘게 꾸밀수 있는 기능을 하나더 추가해볼게요~프로필에 위와 같이 꾸밀 수 있습니다.README.md 파일에서 아래와 같이 마크다운으로 작성을 하시면 됩니다.![header](https://capsule-render.vercel.app/api?type=wave&color=gradient&height=300&section=header&text=Hi there &fontSize=90)위에서 type, color, height, section, text, fontSize 에 대한 설명은 아래 깃허브 주소를 참고하시면 됩니다........

Naver Blog

[Maven/메이븐] - 메이븐 정의 & 설치

Maven(메이븐) ??그동안 이클립스에서 개발하고, 스프링을 사용하면서 Maven, Gradle 등등 빌드 도구에 대해서는 거의 무지에 가까웠다...따라서, 당연히 알아야 되는것들에 대해 공부하고, 정리를 조금씩 해야겠다. Maven(메이븐)이란? - Maven(메이븐)은 개발자에게 Java(자바) 프로젝트 관리를 쉽게 도와주는 빌드 도구(Build tool) 이다. - 즉, 자바의 소스를 compile 하고, package해서 deploy하는 일을 자동화 해주는 빌드 도구인 것이다. - 초기의 Java 빌드 도구로 Ant를 많이 사용했으나, 이후 많은 빌드 도구들이 생겨나 Maven이 많이 쓰였고, 현재는 Gradle이 많이 사용된다.메이븐이 지원해주는 기능들은 다음과 같다. · 빌.......

Naver Blog

[구디 모각코] 다섯번째 스터디 후기

안녕하세요 ~ 오늘도 모각코 스터디를 진행했었습니다~!저번주에는 열때문에 못했었고, 오늘 스터디를 했는데 저포함해서 세명이네요 ........날이 갈수록 참여 인원이 적어지는 것 같은 ... 허허오늘은 스터디시간 내내 오픈소스 컨트리뷰톤 관련 유튜브 강의만 보고 공부했네요..덕분에 리눅스에 대해 좀 더 배울수 있는 좋은 기회였습니다~git, 리눅스에 대해 실습하면서 정말 많이 배운 것 같아요.회사에서도 리눅스 공부좀 해야할 것 같다고 했었는데... 좋은 기회입니다 ㅋ.ㅋlog, branch, checkout, PR, cat, mv, rebase 등등... 정말 많아서 자주 자주 복습을 해야 안까먹을 것 같아요~그리고 스터디원 중에 한분이 비전.......

Naver Blog

[SW Expert Academy] - (D3)2817. 부분 수열의 합

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7IzvG6EksDFAXB&categoryId=AV7IzvG6EksDFAXB&categoryType=CODE코드풀이nCr 조합 문제.재귀함수를 통해 해결하고, 재귀함수의 종료 조건은 다음과 같다. - 고른 자연수의 합이 K와 동일한 경우 - 고른 자연수의 합이 K보다 크거나, 고른 자연수의 갯수가 N개일 경우dfs 재귀 호출을 통해 현재 선택된 숫자를 포함하는 경우 - dfs(count+1, sum+arr[count])현재 선택된 숫자를 포함하지 않고 다음으로 가는 경우 - dfs(count+1, sum)로 나누어 탐색을 진행함.

Naver Blog

[Spring] - REST 요청/ Http Status 415 error

HTTP Status 415 ErrorREST 방식에 대한 Service를 설정하고, 동일하게 POST 방식으로 데이터를 전송했는데 계속해서 에러가 발생했다 ......415 Unsupported Media Type HTTP 상태 415 - 지원되지 않는 Media Type ...스프링에서 해당 Controller을 삭제하고 다시 작성해봤는데도 계속해서 발생했다 ..........구글링을 해봤지만 Json 데이터를 주고받는데서 발생하는 오류라고 ..요청 Header 부분에 application/json 설정을 하라고 했지만 나는 당연히 Header 에는 해당 설정을 하고 요청에는 문제가 없었다.문제는 Spring에서 Json을 다루는 라이브러리가 없어서 발생하는 오류였고, pom.xml 에 jackson-databind 를 추가해주면 된.......

Naver Blog

서울대입구 스터디카페 - 감성도서관 카페내자리

안녕하세요 ! 주말에도 열공하고자 스터디카페에 다녀 왔습니다!!서울대입구 스터디카페 - "감성도서관 카페내자리" 입니당바로 리뷰 가보도록 하겠습니담감성도서관 카페내자리 위치위치는 다음과 같습니다.서울특별시 관악구 관악로5길 30 2층 입니다!바로 맞은편에 관악 경찰서가 있습니다 ^.^시간은 07:00 ~ 22:00 입니다.처음 방문해봐서 입구 찾느라 좀 헤맸다는 .....위 사진에서 저쪽 유리쪽에 들어가는 문이 있습니다!!!!아래 사진들은 입구가 아니에용~건물 주변 사진들입니당 !약간 위치가 안쪽에 있는 것 같아서 좀 아쉬워요~감성도서관 카페내자리 분위기카페에 전체적으로 조명도 많고 자리도 넓직해서.......

Naver Blog

[Eclipse, Java/자바] 이클립스에서 여러 Console(콘솔)창 보기

안녕하세요~ 이번에 알아볼 내용은 이클립스에서 여러 Console + Tomcat를 작동하는 방법입니다 !최근에 한 이클립스에서 두개의 톰캣을 띄우고, 각 서버당 Console창을 봐야할 경우가 생겨서 적용을 해보았습니다.여러개의 서버를 동시에 실행하고, 각 서버당 콘솔창을 확인하고자 할 때 유용할 것 같습니다.먼저 저는 다음과 같이 두개의 서버가 있습니당.(한 이클립스에서 여러개의 톰캣을 실행하려면 서버를 만들고, 포트번호를 다르게 설정해주시면 됩니다!)Console 창을 클릭해보면 우측에 저런 버튼 2개가 있습니다.(저는 이클립스를 커스텀마이징화해서 기본 이클립스는 조금 다르게 보일 수 있습니다!)위에 2개 버튼중 왼.......

Naver Blog

2020 오픈소스 컨트리뷰톤 - 오픈소스 기본 교육(git, 리눅스)

안녕하세요 ~ 오늘 .. 오픈소스 기본 교육 강의를 시청했습니다 ...총 강의시간은 13:00 ~ 16:00 , 18:00 ~ 20:00 입니다..거의 5시간동안 강의만 봤네요 후아구름 IDE 처음 사용해봤는데 ... 신기하네요~직접 리눅스 컨테이너를 실행하고 리눅스를 실습할 수 있는 좋은 툴입니다~git 사용법과 리눅스에 대해 좀 더 친해진 것 같아요 ㅋㅋㅋㅋㅋ이전에 git이라고 해봤자 add, commit, push, clone 정도만 사용했었는데 ...오픈소스로 부터 clone해서 다양한 로그확인, 커밋이력, 파일수정, 커밋, branch, 풀리퀘스트 등등 다양한 실습들 해보면서 배운 것 같아요. 회사에서도 리눅스를 밥먹듯이 사용하니까, 좋은 기회인 것 같습니다~구름 ID.......

Naver Blog

박선호 국토부 차관 "내년 스마트시티 투자 대폭 확대"

박선호 국토교통부(국토부) 차관은 13일 "내년에 스마트시티 투자 폭을 더욱 확대, 민간이 믿고 투자...