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
-
HTML/CSS | 이미지 슬라이드
내배캠에서 미니프로젝트를 진행하면서, 나의 야심작 사진을 갤러리 식으로 기능 부여하던 중 배우게 된 이미지 슬라이드 한 번 배워보자. 생각보다 자바스크립트가 없이는 생각으로 담고 있던 기능을 구현할 수 있는 범위가 적었다. 자바스크립트의 소중함.. 리스펙.. 아직 자바스크립트가 익숙하지 않은 나에게는 HTML/CSS 로 근접하게 구현이 가능한 이미지 슬라이드를 배워보았다. 기본적으로 알아야할 radio 박스의 개념에 대해서 알고 갈 필요가 있다. input 에서 type="radio" 속성을 사용할 수 있는데, radio 속성은 한 번 클릭 시 해제가 안되며, name="slide" 으로 묶은 input 들은 하나의 그룹이 되어 여러 input 중 하나만 체크가 되는 효과를 가지고 있다. input 은 ..
-
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..
-
개발일지 작성 방법
개발일지 개발일지는 개발자가 일일 업무를 기록하고, 참고 및 분석할 수 있도록 작성하는 문서이다. 개발일지 작성방법 1. 개발일지의 목적과 형식 결정하기 개발일지를 작성하기 전에, 어떤 목적으로 작성할 것인지, 어떤 형식으로 작성할 것인지 미리 결정해야 한다. 예시 1) 프로젝트의 진척 상황을 파악하기 위해 일일 보고서 형태 2) 개인적으로 참고하기 위한 노트 형식 2. 일일 업무 기록 개발일지에는 그날의 업무 내용을 자세히 기록한다. 이를 위해서 그날 수행한 작업, 작업한 파일, 작업 시간, 작업 결과 등을 기록해야 한다. 이때, 문제점이나 어려웠던 부분, 해결 방법 등도 함께 기록해 놓으면 나중에 참고할 때 도움이 된다. 3. 일일 회고하기 일일 회고란, 그날의 일을 돌아보며 잘한 점과 개선할 점을 ..
-
Spring | Reflection을 사용하여 Annotation 가져오기
해당 내용은 공부의 목적으로 기록되었으며, 아래 내용은 모두 구글 검색으로 공부 블로그를 참고하여 작성했습니다. 열심히 배우는 중입니다. 감사합니다. 📌 리플렉션 (Reflection) 리플렉션은 생성자, 메소드, 필드 등 클래스에 대한 정보를 아주 자세히 알려주는 자바 API 이다. 대표적인 예시로 여러 라이브러리, 프레임워크에서 사용되는 어노테이션이 리플렉션을 통해 확인하는 방법 등이 있다. 리플렉션을 사용하면 접근 제어자와 무관하게 클래스의 필드나 메소드도 가져와서 호출할 수 있다. 📌 어노테이션 (Annotation) 가져오기 대표적인 예시 중 하나를 실습해봤다. 📌 임의 어노테이션 생성 어노테이션의 폴더 구성 임의 어노테이션의 코드 package com.example.mvcpractice.ann..
-
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절의 각각 필요한 절에 기본적인 구문이 들어가는 것을 의미한..
-
Linux / Ubuntu | 방화벽 설정
https://pinggoopark.tistory.com/158 [linux] 우분투 방화벽 설정하기 포트 허용 하기 (ubuntu, ufw) 1. 기본 명령어 방화벽 정지 후 상태 확인 ufw disable ufw status 방화벽 실행 후 상태 확인 ufw enable ufw status 22번 포트 허용하고 리스트 확인 ufw allow 22 ufw status 22번 포트 막고 리스트 확인하기 ufw deny 22 pinggoopark.tistory.com
-
Ajax/JQuery | 좋아요 기능
서버 우선 서버 쪽 기능을 먼저 생각해봅시다. 하트를 누르면 1) 어떤 포스트를 2) 누가 눌렀고 3) 좋아요인지 좋아요 취소인지를 알아야겠죠? 숙제로 만들 다른 반응들(⭐, 👍)을 생각하면 어느 아이콘을 눌렀는지도 알아야겠네요. DB에 저장할 때는 1) 누가 2) 어떤 포스트에 3) 어떤 반응을 남겼는지 세 정보만 넣으면 되고, 좋아요인지, 취소인지에 따라 해당 도큐먼트를 insert_one()을 할지 delete_one()을 할지 결정해주어야합니다. if action_receive =="like": db.likes.insert_one(doc) else: db.likes.delete_one(doc) 좋아요 컬렉션을 업데이트한 이후에는 해당 포스트에 해당 타입의 반응이 몇 개인지를 세서 보내주어야합니다...
-
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..