Greeting
Hobby
-
23. 2. 3. 동혈사
📷 : Galaxy s20 plus
-
23. 3. 9. 대천해수욕장
📷 : Galaxy s20 plus
-
2020. 4. 21. 퇴근길
📷 : Galaxy s9 plus
-
2020. 4. 21. Cafe OOZY
📷 : Galaxy s9 plus
-
2020. 3. 22. 세종 호수공원 (야경)
📷 : Galaxy s9 plus
-
2020. 3. 19. 구름
📷 : Galaxy s9 plus
-
2019. 9. 14. 세종 호수공원 (야경)
📷 : Nikon D80
-
2019. 7. 9. 세종 호수공원
📷 : Nikon D80
-
2019. 6. 23. 첫마을
📷 : Nikon D80
-
2019. 6. 6. 전원마을 이야기
📷 : dschx300
-
2019. 4. 28. 보볼리 가든
📷 : Galaxy s9 plus
-
2019. 4. 27. 고복저수지
📷 : Nikon D80
-
2019. 4. 18. 봄 까치꽃
📷 : Galaxy s9 plus
-
2019. 3. 21. 달
📷 : Nikon D80
-
2019. 3. 13. 세종호수공원
📷 : Nikon D80
Recent
-
Eclipse | Problems During Content Assist
에러 내용 The 'org.eclipse.recommenders.completion.rcp.javaCompletionProposalComputer.intelligent' proposal computer from the 'org.eclipse.recommenders.completion.rcp' plug-in did not complete normally. The extension took too long to return from the 'computeCompletionProposal()' operation. To avoid the message, disable the 'org.eclipse.recommenders.completion.rcp' plug-in or disable the 'Java Propos..
-
Spring/Mybatis | Mybatis SqlSession
해당 내용은 공부의 목적으로 기록되었으며, 아래 내용은 모두 구글 검색으로 공부 블로그를 참고하여 작성했습니다. 열심히 배우는 중입니다. 감사합니다. 📌 SqlSessionFactoryBean / SqlSessionTemplate SqlSessionFactory: SqlSession을 생성해서 제공 SqlSession: SQL명령을 수행하는데 필요한 메서드 제공 SqlSessionFactoryBean: SqlSessionFactory를 Spring에서 사용하기 위한 빈 SqlSessionTemplate: SQL명령을 수행하는데 필요한 메서드 제공 thread-safe Thread Safe란? 더보기 스레드 안전(Thread Safety)은 멀티 스레드 프로그래밍에서 일반적으로 어떤 함수나 변수, 혹은 객..
-
Spring | DI(Dependency Injection)
해당 내용은 공부의 목적으로 기록되었으며, 아래 내용은 모두 구글 검색으로 공부 블로그를 참고하여 작성했습니다. 열심히 배우는 중입니다. 감사합니다. 📌 의존성 주입 DI(Dependency Injection) Spring 프레임워크는 3가지 핵심 프로그래밍 모델을 지원하고 있다. 그 중 하나가 의존성 주입(DI)이다. 의존성 주입(DI)이란 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다. 한 객체가 다른 객체를 사용할 때 의존성이 있다고 함. 런타임 시 의존 관계를 맺는 대상을 외부에서 결정하고 주입해 준다. 스프링 프레임워크는 D..
-
Spring | Reflection을 사용하여 Annotation 가져오기
해당 내용은 공부의 목적으로 기록되었으며, 아래 내용은 모두 구글 검색으로 공부 블로그를 참고하여 작성했습니다. 열심히 배우는 중입니다. 감사합니다. 📌 리플렉션 (Reflection) 리플렉션은 생성자, 메소드, 필드 등 클래스에 대한 정보를 아주 자세히 알려주는 자바 API 이다. 대표적인 예시로 여러 라이브러리, 프레임워크에서 사용되는 어노테이션이 리플렉션을 통해 확인하는 방법 등이 있다. 리플렉션을 사용하면 접근 제어자와 무관하게 클래스의 필드나 메소드도 가져와서 호출할 수 있다. 📌 어노테이션 (Annotation) 가져오기 대표적인 예시 중 하나를 실습해봤다. 📌 임의 어노테이션 생성 어노테이션의 폴더 구성 임의 어노테이션의 코드 package com.example.mvcpractice.ann..
-
AWS | AWS 클라우드
해당 내용은 공부의 목적으로 기록되었으며, 아래 내용은 모두 구글 검색으로 공부 블로그를 참고하여 작성했습니다. 열심히 배우는 중입니다. 감사합니다. 📌 AWS 클라우드 클라우드의 용어는 연결 및 데이터 흐름을 설명하는 다이어그램에서 인터넷 리소스 또는 연결성이 구름으로 표현되었던 시절에서 유래한다. 클라우드는 인터넷을 통해서 IT리소스나 애플리케이션을 필요시에 사용하고 사용한 만큼만 비용을 지불하고 사용하는 서비스이다. IT자원을 직접 구축하고 운영할 필요없이 인프라 시설로 바꾸고 사용자는 쉽게 접근할 수 있도록 한다. 한마디로 클라우드는 구름 즉 인터넷을 통해서 원격지에 있는 IT 리소스를 이용하는 서비스이다. 📌 AWS 클라우드의 장점 민첩성: 속도 및 민첩성 향상 온디맨드 셀프 서비스 탄력성: 규..
-
Spring JPA | JPA Auditing 개념
해당 내용은 공부의 목적으로 기록되었으며, 아래 내용은 모두 구글 검색으로 공부 블로그를 참고하여 작성했습니다. 열심히 배우는 중입니다. 감사합니다. 📌 JPA Auditing Java에서 ORM 기술인 JPA를 사용하여 도메인을 관계형 데이터베이스 테이블에 매핑할 때 공통적으로 도메인들이 가지고 있는 필드나 컬럼들이 존재한다. 대표적으로 생성일자, 수정일자, 식별자 같은 필드 및 컬럼이 있다. JAP에서는 대표적인 기능 Audit이라는 기능을 제공한다. Audit는 시간에 대해서 자동으로 값을 넣어주는 기능이다. 📌 의존성 dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org...
-
Spring JPA | JPA(Java Persistence API)
해당 내용은 공부의 목적으로 기록되었으며, 아래 내용은 모두 구글 검색으로 공부 블로그를 참고하여 작성했습니다. 열심히 배우는 중입니다. 감사합니다. 📌 JPA(Java Persistence API) 자바 ORM(Object Relational Mapping) 기술에 대한 API 표준 명세를 뜻한다. 📌 ORM 기술이란? ORM 기술은 객체와 관계형 데이터 베이스를 매핑해주는 기술이다. - Object Relational Mapping 객체는 객체대로, 관계형 데이터베이스는 관계형 데이터베이스대로 설계하고, ORM 프레임워크가 중간에서 매핑을 해준다. 📌 JPA는 ORM을 사용하기 위한 인터페이스의 모음이다. 단순한 명세이기 때문에 구현이 없고, 자바 애플리켸이션 관계형 데이터베이스를 어떻게 사용할지 정..
-
Spring Boot | java.lang.IllegalArgumentException: 'script' must not be null or empty
Error java.lang.IllegalArgumentException: 'script' must not be null or empty Solution Content xxx.sql 파일을 생성하고 내용을 입력하지 않았다. .sql 파일 안에 임의로 입력 후 다시 실행. - 해당 파일을 지우던지, 아니면 임의로 내용을 채워서 에러를 해결할 수 있다. Before After
-
Git branch 전략 세우기
📌 Git branch 📌 깃 브랜치를 운영하는 방법론 gitflow: master, develop, feature, release, hotfix github flow: main(master), feature 브랜치 전략을 세우는 이유와 요령 하나의 프로젝트 소스코드를 여러 개발자가 다루면서 발생하는 각종 부작용 해결을 위함. 개발 협업을 원할하게 하기 위한 약속 전략을 세울 때 고려할 수 있는 요소들 이 브랜치는 제품으로 내보낼 수 있는가? 이 브랜치는 빌드 실패를 허용하는가? 이 브랜치는 테스트 실패를 허용하는가? 이 브랜치는 임시로 운영하는가? 유지하지 않고 수시로 삭제하는가
-
JS/Refactoring | 클로저, 콜백
📌 초기 코드 반복문을 통해서 파일에 대한 정보를 formData로 넣고, 다른 함수 실행을 위해 필요한 변수값을 정의하여 함수 실행에 필요한 데이터를 보낼 생각이였으나, chatFilePattern의 변수값이 고정적으로 들어가면서 생긴 부분에 대해서 수정하고, 수정한 코드에 대한 리뷰를 진행했다. for (const file of files) { chatFilePattern = firstNum + "" + countFileNumber++ formData.append("files", file); formData.append("chatFileNumber", chatFilePattern); // Base64 이미지 변환 const reader = new FileReader(); reader.readAsDat..
-
JavaScript | 클로저 함수
📌 클로저 함수 클로저는 함수와 함수가 선언된 어휘적 환경의 조합이다. 클로저를 이해하려면 JS가 어떻게 변수의 유효범위를 지정하는지를 이해해야한다. 📌 어휘적 범위 지정(Lexical scoping) function init() { var name = "Mozilla"; // name은 init에 의해 생성된 지역 변수이다. function displayName() { // displayName() 은 내부 함수이며, 클로저다. alert(name); // 부모 함수에서 선언된 변수를 사용한다. } displayName(); } init(); 📌 let과 const를 사용한 범위 지정 if (Math.random() > 0.5) { var x = 1; } else { var x = 2; } consol..
-
23. 5. 22. 기초 다지기
출처 | https://medium.com/@xjpp22/top-100-java-interview-questions-for-1-to-3-years-experienced-programmers-63ad74069cb6 Top 100 Java Interview Questions for 1 to 3 Years Experienced Programmers containers, multithreading, reflection, object copy, Java Web, exceptional cases, internet, Spring MVC. medium.com 📌 JDK와 JRE의 차이점은 무엇입니까? JRE(Java Runtime Environment) JRE(Java Runtime Environment)는 자바 실행..
-
SQL/Postgresql | Sub Query(서브쿼리)
해당 내용은 공부의 목적으로 기록되었으며, 아래 내용은 모두 구글 검색으로 공부 블로그를 참고하여 작성했습니다. 열심히 배우는 중입니다. 감사합니다. 출처 | Everly SQL 서브쿼리(Sub Query) 예제 - select절, from절, where절 이번 포스팅은 실무 SQL에서 정말 많이 사용하는 서브쿼리(Sub Query)에 대해 소개한다. ※ 서브쿼리란? 앞선 포스팅에서 가장 기본적인 SQL 문법은 [SELECT, FROM, WHERE] 라고 했었다. 서브쿼리란 위치에 suy379.tistory.com 📌 서브쿼리란? SQL의 가장 기본적인 구성인 [SELECT, FROM, WHERE] 구문으로 SELECT절, FROM절, WHERE절의 각각 필요한 절에 기본적인 구문이 들어가는 것을 의미한..
-
Spring | STOMP
해당 내용은 공부의 목적으로 기록되었으며, 아래 내용은 모두 구글 검색으로 공부 블로그를 참고하여 작성했습니다. 열심히 배우는 중입니다. 감사합니다. 📌 STOMP STOMP(Streaming Text Oriented Messaging Protocol)은 메세지 기반 통신 프로토콜 중 하나로, 텍스트 기반의 메세지를 전송하기 위해 사용된다. 이 프로토콜은 대부분의 메세지 브로커에서 지원되며, 다른 메세지 기반 프로토콜에 비해 더 가볍고 간단한 구조를 가지고 있다. STOMP는 서버와 클라이언트 간의 양방향 통신을 제공하며, 하나의 연결로 여러 개의 메세지를 보낼 수 있다. 또한, 메세지의 구독(subscription)과 발행(publish)을 지원하며, 메세지의 큐잉(queueing)과 트랜잭션(tran..
-
Spring | Model과 ModelAndView
해당 내용은 공부의 목적으로 기록되었으며, 아래 내용은 모두 구글 검색으로 공부 블로그를 참고하여 작성했습니다. 열심히 배우는 중입니다. 감사합니다. 📌 Model과 ModelAndView Model 파라미터 방식으로 메소드에 (Model model) 파라미터를 넣어주고 String 형태로 리턴한다. Model은 값을 넣을 때 addAttribute()를 사용한다. Model 예제 import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.ui.Model; @Controller RequestMapping("/mode..
Most Popular
-
Linux | 허가 거부, 권한 설정(permission denied, chmod)
https://konkuk-curry.tistory.com/entry/Linux-error-%ED%97%88%EA%B0%80%EA%B1%B0%EB%B6%80-%EA%B6%8C%ED%95%9C%EC%84%A4%EC%A0%95permission-deniedchmod Linux error : 허가거부, 권한설정(permission denied)(chmod) 우분투 사용해서 자율주행차 연습을하고 있는데 바이너리 파일을 만들어서 열려고했더니 허가거부가 떴다! 내 컴퓨터인데... 는 해결방법이 다 있습니다. 1. 권한 조회 ls -al 명령어를 통해서 조 konkuk-curry.tistory.com https://withcoding.com/103 리눅스 권한 관리 명령어 사용법 정리 (chmod, chown, ch..
-
Eclipse | Problems During Content Assist
에러 내용 The 'org.eclipse.recommenders.completion.rcp.javaCompletionProposalComputer.intelligent' proposal computer from the 'org.eclipse.recommenders.completion.rcp' plug-in did not complete normally. The extension took too long to return from the 'computeCompletionProposal()' operation. To avoid the message, disable the 'org.eclipse.recommenders.completion.rcp' plug-in or disable the 'Java Propos..
-
Spring | Interceptor(인터셉터) / 로그인 · 아웃 처리
Interceptor(인터셉터) 특정 URI 로 요청시 Controller 로 가는 요청을 가로채는 역할. 인터셉터를 지원하는 인터페이스와 추상 클래스 - HandlerInterceptor - HandlerInterceptorAdapter HandlerInterceptorAdapter 의 3가지 메서드 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) : Controller 로 요청이 들어가기 전 수행 postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView mo..
-
TIL | 2022. 11. 11.
요즘 커리어리 라는 어플을 애용하고 있는데, 동기부여가 되고 자극이 되는 글들이 많다. 커리어리 글 중 '주니어 개발자들의 8가지 일반적인 실수' 라는 글이 있다 하나 같이 다 맞말이라서.. 자극을 넘어 뼈맞았다.. 우연히 프론트 업무를 하게 되었는데, 요령이라도 배우고 싶은 심정이다.. egovFrame 에 대해서 좀 더 알아봤다. '행정안전부 산하기관인 한국정보화진흥원에서 만든 웹기반 프레임워크' 즉, 대한민국 공공 부분 정보화 사업시 플랫폼별 표준화된 개발 프레임워크, java 기반, 운영 표준 환경 제공 spring 과 차이라 한다면, egovframe 은 spring + @ 로 가공한 형태의 프레임워크이다. front 끄적끄적 a태그 는 기본값으로 가지고 있는 스타일이 있어서 사용하기 위해서는 ..
-
Java | 객체지향 프로그래밍 연습 문제 및 풀이
하루의 공부 내용 2개씩 올리다가 최근 전자정부프레임워크 프로그래밍을 배우고, 업로드며 공부하는 범위며 조금씩 줄어들고 있다. 무리하지 않고 최대한 할 수 있는 만큼 하고 있는데, 공부하는 내용이 생각 이상으로 농도가 있고 심오하다. 익숙해지려고 무작정 따라하기 중인데도 잘 따라가고 있는건지, 잘 하고 있는게 맞는건지 싶다. 이전에도 코딩 공부하면서 이렇게 내 실력과 나의 상태를 점검하는 시기가 있었는데, 딱 내가 새롭게 배우고 익히는 순간이더라. 이 순간도 지나갈 것이고 잘 지나갈 수 있게 내 몸 잘 살피면서 잘 배워보자. 성급하게 생각하지 말고, 조금씩 조금씩 [출처 : 점프 투 자바] 연습문제 및 풀이 package Do_Test; // 정답 풀이!!!! // 문제 1 class Calculator..
-
Java | DB insert
최근에 자바의 포스팅 관련 기능을 배웠다. 자바는.. 사전 설정이 너무 번거롭다.. 그만큼 디테일하고 에러를 최소화할 수 있다.. 알아서 다 해주던 python, djang 가 보고싶어졌다.. 혼자서 설정할 수 있는 실력까지 시간이 걸릴 듯 하다.. 그래도 열심히 해보자. + 2023. 2. 28. 추가글) 공부용으로 남긴 글로써 보러 오신 분들에게는 큰 도움이 되지 못할 수도 있습니다. 아 그냥 이렇게 공부하는가보다 하고 봐주세요. 감사합니다 복습 1. HTML(.html) 간단한 html 을 만들어서 입력과 보내기 버튼을 만들었다. 입력하세요 1 : 입력하세요 2 : 입력하세요 3 : 보내기 action : controller 에서 받을 경로를 입력한다 ex) test-input-post.do met..
-
Java | 파일 읽고 쓰는 메모장
파일의 읽고 쓰기에 대한 기능을 배웠다. 텍스트 파일의 내용 출력하기 여러 줄로 된 텍스트 파일의 내용 출력하기 텍스트 파일로 저장하기 키보드 입력을 텍스트 파일로 저장하기 간단 메모장 만들어보기 따라 치면서 배우니 재미는 있는데, 치면서도 "어떻게 이런 로직으로 생각하고 만들 수 있지?" 라는 생각을 하게 된다. 모든 기능의 로직을 생각하면서 배웠던 문법을 활용한 것일텐데.. 술술 로직을 말하면서 작성하시는 강사님을 보면 정말 대단하다는 생각이 든다.. 간단 메모장 구현 코드 완성 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; ..
-
jQuery + Javascript(퀴즈)_2주자 진행 중에..
jQuery + Javascript 를 조합해서 연습하는 문제였는데.. 주어진 시간은 단 20분..!!?! 대체 어떻게 풀어나가는지 아직 갈피도 모르는 마당에 20분이라뇨.. 너무 가혹합니다.. 하지만 선생님은 기다려주지 않지..!! 일단 해보자 라는 마인드!! jQuery + Javascript의 조합을 연습하자! 1. 빈칸 체크 함수 만들기 1-1. 버튼을 눌렀을 때 입력한 글자로 얼럿 띄우기 [완성본]1-2. 버튼을 눌렀을 때 칸에 아무것도 없으면 "입력하세요!" 얼럿 띄우기 클릭 2. 이메일 판별 함수 만들기 2-1. 버튼을 눌렀을 때 입력받은 이메일로 얼럿 띄우기 2-2. 이메일이 아니면(@가 없으면) '이메일이 아닙니다'라는 얼럿 띄우기 [완성본]2-3. 이메일 도메인만 얼럿 띄우기 클릭 3...