반응형
- [VS Code] UI로 간단하게 Git 사용 (VSCode Git 초기 설치 및 세팅) 안녕하세요, 오늘은 대표 형상관리 툴인 Git을 VS Code에서 사용하기 위한 초기 설치 및 세팅을 해보도록 하겠습니다. 그리고 터미널에서 Git 커맨드를 입력하지 않고, VS Code의 UI를 이용하여 간단하게 신규 Git Repository를 생성하고 Commit / Push / Pull을 진행해보도록 하겠습니다. 1. Git 설치 가장 먼저 Git이 설치되어 있어야 합니다. Windows OS 기준으로 아래 공식 사이트에서 자신의 bit에 맞는 설치 버전을 다운로드하여 설치를 진행하면 됩니다. 설치하면서 물어보는 게 많기는 한데, 하나하나 확인하기는 번거로워서 우선은 Default로 Next를 광클하여 설치를 하였습니다. https://git-scm.com/download/win 2. VSCode..
- [VS Code] VSCode에 Spring Boot 개발 환경 세팅 및 샘플 프로젝트 생성, 실행 안녕하세요, 오늘은 MS(마이크로 소프트)의 오픈소스 무료 소스코드 편집 툴인 VS Code(비주얼 스튜디오 코드)에 Spring Boot 개발 환경을 세팅하고 간단히 프로젝트 생성 및 실행을 해보도록 하겠습니다. VSCode에서 스프링부트를 사용해보니, Eclipse 기반 STS와 비교하면 확실히 가볍고 빠른 장점이 있고, IntelliJ에 비교하면 무료 오픈소스이기 때문에 누구나 쉽게 접근이 가능합니다. 1. Extension 설치 혹시 VSCode 설치가 안되어 있다면, VSCode 설치는 [ [Node.js 개발환경] Node.js 및 VS code 설치, Node.js 초기 프로젝트 생성 및 실행 ] 포스팅을 참고하세요~ VSCode 자체가 JAVA 언어만을 위한 툴이 아니라서 별도로 JAVA ..
- [Node.js 개발환경] Node.js 및 VS code 설치, Node.js 초기 프로젝트 생성 및 실행 안녕하세요, 윈도 OS 환경에서 Node.js (노드js) 및 VS code (Visual Studio Code, 비주얼 스튜디오 코드) 설치 후, VS Code에서 Node.js 프로젝트 생성 및 실행에 대해 포스팅하도록 하겠습니다. Node.js 설치 먼저, 아래 사이트에서 최신 버전 Node.js를 다운로드 합니다. https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 안정적, 신뢰도 높음 버전을 저는 선택을 하였는데, 최신 버전을 선택하셔도 무방합니다^^ 다운로드한 설치 파일을 실행합니다. 위와 같이, License 동의를 체크해주시고, 특별히 저..
- [안드로이드 스튜디오] Android DB(SQLite) 연동 및 Selecte 쿼리 조회 안드로이드 앱 내장 DB로 SQLite 데이터베이스가 사용이 되는데, Android Studio에서 SQLiteHelper를 활용한 간단한 DB 연동 및 Cursor 인터페이스를 활용해 Selecte 쿼리로 데이터를 가져오는 간단한 예제를 작성하려고 합니다. 또한 데이터 검수 및 확인을 위해 안드로이드 스튜디오에서 안드로이드 내장 DB로 쿼리를 직접 날리고 데이터를 확인하는 방법도 정리를 해보려고 합니다. 안드로이드 SQLite DB 연동 예제 SQLiteHelper.java public class SQLiteHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "mytestgo.db"; private static fi..
- 쉐보레 트레일블레이저 리모트키 (스마트키) 배터리 교체 안녕하세요, 쉐보레 트레일블레이저 자동차키 건전지 교체하는 법에 대해 간단히 작성을 하도록 하겠습니다. 쉐보레 트레일블레이저를 타는데요, 얼마 전에 스마트키를 통해 자동차 도어 캐치 버튼을 눌러 문 오픈이 안 되는 현상이 발생하였습니다. 리모트키에 수동으로 문 오픈하는 버튼을 눌러서 시동을 거니 아래와 같이 "리모트키 배터리 교체 필요" 메시지가 발생하였습니다. 그래서 쉐보레 리모트키 배터리를 교체하게 되었습니다. 아래와 같이 쉐보레 스마트키 배터리 교체하는 방법에 대해 정리를 하도록하겠습니다. 1. 차키 빼기 쉐보레 트레일블레이저의 스마트키는 아래와 같은데요, 배터리를 교체하기 위해 키를 분리를 해야 합니다. 그러기 위해서 먼저 수동 키를 제거해줘야 하는데요, 옆면에 은색 작은 버튼을 누르고 수동 키를..
- [VSCode] Git History Extension 소개 (VSCode Git UI툴) 안녕하세요, 오늘은 VS Code Extension 중에 Git을 더 쉽게 사용하기 위한 툴인 Git History란 익스텐션에 대해서 간단히 소개를 해보려 합니다. VSCode의 기본 git관련 메뉴 및 UI가 기능이 별로 없고 Text 위주이기 때문에 조금 불편할 수 도 있는데, 이 것을 보완해줄 여러 Extension 중에 다운로드 수가 제일 높은 Git History란 Git UI Extension이 있습니다. 주요기능은 아래와 같습니다. Git History, File의 History, 소스 내 Line의 History를 시각화 다른 브랜치나 커밋의 다른 점을 시각화 비교 Git Log 검색, Cherry-Pick, Tag 생성, Reset, Revert Commit 등의 메뉴 제공 Git Hi..
- [자바] Map의 Key 값 혹은 Value 값 List 생성, 객체 List에서 특정 값 List 생성 안녕하세요, 오늘은 간혹 코딩 테스트 혹은 실제 프로젝트에서 필요한 아래 2개의 케이스에 대해 구현하는 방법을 정리해보겠습니다. 1. Map의 Key값 List 생성 (Key값 추출) / Value값 List 생성 (Value값 추출) Java의 Key, Value로 구성된 HashMap에서 Key값만 가져오기 혹은 Value값만 가져와서 List를 만들어 보도록 하겠습니다. 먼저 아래와 같이 이름과 ID로 구성된 임의의 Member Map을 생성을 합니다. Map memberMap = new HashMap(); memberMap.put("킴오리", 30); memberMap.put("이오리", 50); memberMap.put("엔탈", 10); 이 Map에서 Key로만 구성된 List 혹은 Value..
- [JPA] JPA란? Spring Data JPA로 간단 예제 프로젝트 구현 안녕하세요, 저는 주로 Mybatis로 쿼리를 직접 작성하여 DB 데이터를 가져와 처리하던 전통적인 자바 프로젝트를 많이 다뤘었는데요, 예전에 JPA를 잠깐 접해볼 일이 생겼는데 정말 신세계를 경험한 느낌을 받았었습니다. 그러나 업무에선 다룰 일이 많이 없어서 공부를 깊게 하지는 못하였습니다. 그래서 JPA에 대해 공부를 하기 위해 오늘은 JPA의 개념과 그중에서 Spring Data JPA를 이용하여 아주 간단한 프로젝트 샘플 예제를 구현해보도록 하겠습니다. JPA란? JPA란 Java Persistence API의 약자이며 자바의 ORM을 위한 표준 기술로 Hibernate, Spring JPA, EcliplseLink 등 과 같은 구현체가 있고 이것의 표준 인터페이스가 JPA 입니다. ORM(Obj..
- [Javascript] 오픈소스 차트 및 그래프 생성 - ECharts 소개 및 예제 안녕하세요, 웹 페이지에 동적으로 여러 차트를 생성하고자 할 때 유용하게 쓸 수 있는 자바스크립트 오픈소스 툴인 Apache ECharts에 대해 알아보겠습니다. EChart 공식 페이지의 Demo 페이지(https://echarts.apache.org/examples/en/index.html)에서 확인 할 수 있듯이, 선 그래프, 막대그래프, 파이 차트, Map, Tree, 게이지 바 등등 정말 다양한 차트를 Javascript를 통해 HTML 페이지에서 동적으로 생성이 가능합니다. 우선, 무료 오픈소스이고 Canvas 태그를 활용해서 구현이 되어 있어서 정말 다양한 곳에서 쉽게 사용이 가능할 것 같습니다. Demo들이 너무 많아서 하나하나 자세히 아직 못 봤지만.. 여러 예제들을 보면 애니메이션 기능..
- 무료 PPT 아이콘 다운로드 사이트 소개 PPT 무료 아이콘 다운로드 가능한 사이트를 하나 소개시켜드리도록 하겠습니다. 구글에서 운영하는 Material 디자인 폰트와 아이콘을 다운로드 받을 수 있는 사이트입니다. Google Icons(fonts.google.com/icons)는 Google에서 제공하는 무료 아이콘 사이트입니다. 이 사이트에 수 백개의 많은 양의 아이콘을 쉽게 검색하고 다운로드 받을 수 있습니다. 다만 검색은 영어로만 가능합니다.https://fonts.google.com/icons Material Symbols and Icons - Google FontsMaterial Symbols are our newest icons consolidating over 2,500 glyphs in a single font file with..
- [JAVA Spring Boot] spring.config.import 사용하여 외부 프로퍼티 컨피그 파일 적용 안녕하세요, 오늘은 Spring Boot의 외부에 있는 프로퍼티(Property) 컨피그 파일을 적용하는 여러 가지 방법 중, 주관적인 생각으로 가장 간단하다고 생각되는 spring.config.import 프로퍼티를 이용하는 방법을 정리해보도록 하겠습니다. Spring Boot 프로젝트를 생성하면 default로 classpath인 src/main/resources에 있는 application.properties 파일이나 application.yml 파일, 혹은 application-{profile명}.properties 이나 application-{profile명}.yml을 기본 컨피그 프로퍼티 파일로 자동으로 인식하여 실행이 됩니다. 그 외 다양한 방법으로 외부 컨피그를 설정할 수 있는 방법이 있는..
- [ProcessBuilder] Spring(JAVA)에서 CMD 커맨드, 쉘 스크립트 등 외부 커맨드 실행 ProcessBuilder를 이용해서 JAVA 애플리케이션 혹은 Spring, Spring Boot 프레임워크에서 CMD를 통한 배치파일 실행이나 SH를 이용한 쉘 스크립트 등 외부 커맨드 파일을 실행하는 것을 간단하게 정리해보도록 하겠습니다. JAVA ProcessBuilder 예제 JAVA의 ProcessBuilder를 활용하여 다른 외부 프로세스를 실행시키거나 컨트롤을 할 수 있는데, 특히 윈도우의 CMD나 리눅스의 SH를 이용하여 사전에 작성한 배치 파일이나 쉘 스크립트 파일을 실행하여, 컴퓨터나 서버에 커맨드를 실행시켜 다양한 기능을 구현할 수 있습니다. Spring이나 Spring Boot 애플리케이션에서 OS에 커맨드를 날려서 현재 서버의 정보를 가져온다던지, Git 같은 커맨드 라인에서 동..
- 유튜브 재생목록 영상 전체 다운로드 프로그램 설치 및 방법 유튜브 재생목록 전체의 영상을 파일로 다운로드할 수 있는 프로그램이 있어서, 가끔씩 매우 유용하게 사용하고 있어서 해당 프로그램에 대해 소개를 하고 어떻게 다운로드하는지 가이드를 작성하려고 합니다. 비행기를 타거나 오프라인인 환경에서 재생목록 전체 영상을 다운로드하고 싶은데, 하나하나씩 다운로드하기가 매우 번거로워서 찾다 보니 아래와 같이 직접 개발을 하여 Github에 올린 프로그램을 찾을 수 있었습니다. 유튜브 재생목록 다운로드 프로그램 다운받기 YoutubeDownloader라는 프로그램이고 아래 Github 사이트에서 다운을 받을 수 있습니다. https://github.com/Tyrrrz/YoutubeDownloader 위의 사이트로 이동하여, 아래와 같이 페이지 가운데 Download > St..
- 순수 (바닐라) JavaScript로 AJAX Get/Post 구현 (JSON 응답/요청) 안녕하세요, 오늘은 순수 자바스크립트(Javascript)만으로 ajax를 구현하는 법을 작성하도록 하겠습니다. jQuery 같은 다른 라이브러리를 사용하지 않고, 오직 Javascript만 사용하여 구현하는 것을 바닐라(vanilla) Javascript 혹은 퓨어(Pure) 자바스크립트라고 하는데, jQuery가 너무도 많이 쓰이고 강력한 라이브러리이지만 최근 여러 이유로 탈제이쿼리를 하는 프로젝트들이 많아지고 있는 추세입니다. 그래서 jquery의 $.ajax 기능을 바닐라 Javasxcript를 이용하여 간단히 구현하도록 하겠습니다. 1. ajax - GET 방식 구현 (JSON 응답 및 요청) 구현할 기능은 간단합니다. html 페이지에서 name을 입력받고, 서버에 ajax 요청을 하여 해당 ..
- [자바] Hash Set 정의 및 사용법 (추가, 삭제, 포함여부, 하나씩 출력, 리스트 변환 및 정렬) 안녕하세요, Java HashSet의 정의와 주요 기능에 관해 정리를 해보도록 하겠습니다. HashSet 자바의 HashSet은 Set 인터페이스의 구현체로, 중복이 허용되지 않는 자료구조입니다. 입력한 순서(인덱스)가 보장되지 않고, null도 데이터로 입력이 가능한 특징을 가지고 있습니다. 데이터를 입력 시, 기존 저장된 객체 중 같은 hashCode()를 찾고, 같으면 equals() 메서드를 통해 동일 객체인지 판단 후 동일 객체가 아닐 때만 데이터가 저장이 되는 구조입니다. 자바 Set 선언 및 데이터 추가 아래와 같이 HashSet을 선언하고 add() 메서드를 통해 값 입력이 가능하며, 입력 시에 중복을 검사하여 중복된 데이터가 있을 시 저장이 되지 않습니다. Set set = new Has..
- [Android Studio] 안드로이드 스튜디오 핸드폰 연결 (USB) 안녕하세요, Android App 개발을 위해, 안드로이드 스튜디오를 설치하고 프로젝트를 생성한 후, 디버깅 등을 위해서 안드로이드 OS 환경에서 내가 만든 앱을 실행을 해야 하는데, 이를 위한 2가지 방법이 있습니다. 먼저 첫번째는 AVD라는 안드로이드 Virtual 디바이스를 PC에 설치하여 가상으로 앱을 실행하는 방법입니다. 이 Virtual 디바이스를 설치하는 방법은 실행 자체도 느리고 설치되는 용량도 크기 때문에, 안드로이드 휴대폰이 없는 상황이 아니라면, 두번째 방법인 실제 안드로이드 하드웨어 디바이스를 직접 연결하는 방법이 더 나은 것 같습니다. 실제 스마트폰을 연결하는 방법은 USB 케이블을 이용하는 방법과 무선 WiFi를 이용하여 연결하는 방법이 있는데, 가장 쉽고 간결한 유선 USB 케..
- Redis(레디스) 설치 (Windows) 및 기본 명령어, 자료구조 Redis(레디스)란, Remote Dictionary Server의 약자로 Key-Value 구조로 데이터를 저장하는 오픈소스기반 NoSQL 데이터베이스입니다. 인메모리 DB로 데이터 처리 속도가 빠르고 사용이 간편한 특징을 가지고 있고, 주로 캐싱(Cache), 세션관리, 검색어 순위관리 등에 사용되고 있습니다. Windows OS에서 Redis(레디스) 무설치 실행 Redis는 공식적으로 리눅스 기반의 OS만 지원하지만, 개발 및 테스트용도로 Wisdows OS버전을 아래 URL에서 지원하고 있는 것 같습니다. https://github.com/microsoftarchive/redis/releases Releases · microsoftarchive/redis Redis is an in-memory..
- [Spring Boot] Embeded Tomcat 설정 안녕하세요, Spring Boot의 기본 웹서버인 Embeded Tomcat의 Config에 대해서 정리를 해보려합니다. 지난번에 Access 로그 설정 관련해서는 글을 작성을 하였기때문에, 로그를 제외한 나머지 설정에대해 정리를 해보도록 하겠습니다. (https://kim-oriental.tistory.com/43) Embeded Tomcat 설정 항목 server.tomcat.accept-count : 모든 쓰레드가 사용 중 일 때 들어온 요청이 대기하는 최대 큐의 길이, 일반적인 상황에서는 이미 모든 쓰레드가 Full이 찼으면 장애일 가능성이 높아 큐의 길이가 너무 길다면 응답시간만 늦어지고 장애상황 인지가 늦어질 수 있음 (Default: 100) server.tomcat.connection-ti..
- [Node.js] Headless 브라우저 웹 크롤링 Puppeteer 소개, 설치 및 샘플 예제 안녕하세요, 오리엔탈 킴입니다. Headless Browser를 이용한 웹 크롤링(Crawling) 및 웹 스크래핑(Scraping) 툴인 Puppeteer에 대해 간단히 알아보고, 초기 설치 및 세팅 후 간단한 샘플 예제를 구현하도록 하겠습니다. 이 글을 시작으로 추후 Puppeteer를 이용하여, 여러 웹크롤링 예제와 웹 자동화 테스트 툴 (Web UI Testing)을 구현하는 글도 올리도록 하겠습니다. Puppeteer란, 크롬 DevTools 프로토콜을 이용하여 Chrome 및 Chromium을 자유롭게 컨트롤할 수 있게 해주는 웹크롤링 Node.js 라이브러리입니다. (Chromium은 오픈소스 코어 웹 브라우저로 크롬 등 다양한 브라우저들이 Chromium을 기초해서 개발되었습니다.) Pup..
- IntelliJ(인텔리제이) Spring Boot DevTools 적용 안녕하세요, 오리엔탈 킴입니다. IntelliJ(인텔리제이) Spring Boot DevTools 적용하기 Spring Boot DevTools는 소스 변경이 발생할 때마다 빠르게 자동 빌드해줘서 바로바로 반영 결과를 확인할 수 있도록 도와주는 유용한 툴입니다. STS에서는 Dependency만 추가하면 잘 동작하던 DevTools가 인텔리제이 (IntelliJ)에서는 최초 약간의 설정을 해줘야 정상 동작을 합니다. 그 설정은 아래와 같습니다. 1. 의존성(Dependency) 추가 먼저 Spring Boot DevTools의 의존성을 추가를 해야 합니다. Gradle 프로젝트는 build.gradle 파일에 아래와 같이 dependecies 아래 developmentOnly 'org.springfram..
반응형