전체 글

좋은사람의 개발 노트 입니다.
OS/Windows 10

윈도우10 팁 - 갓(God Mode) 모드 설정 및 실행 예제

윈도우10 - God Mode(갓모드) 설명 ① 윈도우10의 개별적인 설정 변경은 각 메뉴(제어판, 설정 등)에서 가능합니다.② 하지만, 윈도우10의 GodMode 변경을 통해서 모든 설정을 일괄적으로 파악하고 변경가능합니다.③ 무분별한 설정 변경은 시스템 오류의 원인이 될 수 있으니 충분한 검색을 통해 수행하시길 권장합니다. ④ 윈도우10 커스터마이징을 즐겨하는 유저에게는 좋은 기능이라고 볼 수 있습니다. 윈도우10 - 설정 방법 및 실행 화면 설정방법 및 실행화면 - 기본 폴더 생성 후 폴더 이름을 아래와 같이 변경합니다.(복사 & 붙여넣기) - GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}- 갓모드(God Mode) 아이콘 생성 완료! 설명 : God Mode의..

언어/C#

C#- 문자열(String)을 날짜(DateTime) 형식으로 변환

C# - DateTime 변환 설명 ① 개발 중 문자열을 날짜 형식으로 변경하는 작업은 빈번하게 발생해요. C# 역시 여러 방법을 지원하고 있습니다.② 부가적인 포멧 형식은 레퍼런스 문서를 참조하시면 쉽게 구현하실 수 있습니다.③ 변환하는 간단한 예제는 하단을 참조하세요. C# - String To DateTime 변환 예제 원본코드123456789101112131415161718192021222324252627282930313233using System; public class Program{ public static void Main() { //변수 선언 string strDate1; string strDate2; string strDate3; DateTime dtDate1; DateTime dtDa..

언어/PHP

PHP - foreach vs array_map 성능 비교 및 사용 예제 설명

PHP - foreach, array_map 기본 설명 ① PHP : foreach -> 배열을 순회하며 정의한 프로세스를 실행하는 함수② PHP : array_map -> 배열의 각 원소에 사용자가 정의한 함수를 적용하여 결과를 반환하는 함수③ stackoverflow 등 여러 포럼에서 두 함수에 대한 벤치마크 테스트에 대한 많은 이슈가 있어서 테스트를 수행했습니다.④ 수행 결과 PHP 버전, xdebug 활성유무, 클로저 호출 유무 등에 따라 상이한 결과가 나올 것으로 예상됩니다. - 결론은 프로그램 로직에 맞는 적절한 함수를 사용하는 것이 적절하다고 생각합니다. - 단, PHP7 버전에서는 코드 캐싱 및 최적화 기능으로 인해 더욱 빠른 수행 시간을 확인할 수 있었습니다. PHP - foreach 성..

웹 백엔드/Django & Flask

Flask(플라스크) - 파이썬 Flask RestFul API 서버 작성 예제 및 다운로드

Flask(플라스크) - 기본 설명 ① Flask-RESTful : Python Flask 프레임워크를 확장해서 제작 된 REST API 작성을 위한 경량화 된 프레임워크 입니다.② 실무 프로젝트 진행 중에 급하게 REST API 서버 구축이 필요해서 사용 및 운영해 본 결과 너무나 만족스러웠습니다.③ 아래 예제 소스를 보시면 간단한 코딩으로 쉽게 작성 및 구동 가능하며, ORM 구축 환경을 제공합니다.④ 문서 하단에서 예제 소스코드를 다운로드 가능합니다. 또한, 추가적인 기능 작성은 공식 레퍼런스 문서를 참고하세요. Flask(플라스크) - RestFul API 소스 예제 및 실행 화면 기본 소스- GET, POST, PUT, DELETE 메소드 구현 1234567891011121314151617181..

데이터베이스/Etc

[Database] NeDB - JSON 데이터 저장 데이터베이스 추천 및 예제 설명

NeDB(Database) - 기본 설명 ① NeDB - Javascript 기반 초경량 데이터베이스이며, 메모리 저장 및 파일 저장 기능을 제공합니다.② IoT 프로젝트 진행 중 RDBMS 운영에 대해서 성능 부담감을 느껴 사용해 본 결과 상당한 성능 향상을 체감했습니다.③ 현재 프로젝트 진행 중 JSON 데이터 CRUD 운영에 있어서 매우 만족할 만한 결과를 보여주고 있습니다.④ 라즈베리 파이 등 IoT 관련 프로젝트 사용시 Npm과 같이 사용하면 더욱 편하게 사용하실 수 있습니다. ⑤ 기존 SQL Query를 활용해서 JSON 데이터를 자유롭게 가공 및 파싱할 수 있습니다. NeDB(Database) - 성능 및 특징 설명- MongoDB 와 같이 대규모 데이터 핸들링을 위해 설계된 것은 아니지만,..

웹 백엔드/Spring

[Java, Spring] Lombok(롬복) - 사용법 설명 및 예제 소스 다운로드

Lombok(롬복) - 기본 설명 ① lombok - Java 기반에서 기계적으로 작성하는 VO, DTO, Entity 관련 작업을 보다 쉽게 하게 해주는 도구입니다.② Getter, Setter, ToString, hashCode 관련 메소드 작업 관련 Class(클래스) 코드를 깔끔하게 작성할 수 있습니다.③ Spring(SpringSTS) 프로젝트에서 사용할 경우 JPA 환경과 함께 일관화 되고 가독성이 좋은 애플리케이션을 작성할 수 있습니다.④ 단점은 협업 모든 인원이 lombok을 설치해야 한다는 것과 추가 어노테이션 사용할 경우 소스코드 분석이 난해해지는 것 등이 있습니다. ⑤ 설치 방법을 모르시는 분은 본 블로그 하단에서 참고하실 수 있습니다.(예제 소스코드 다운로드 가능) Lombok(롬복..

웹 백엔드/Npm & Express

Npm(Node.js) - 디렉토리(폴더)에 모든 파일 읽어오기(readdir, readFile)

npm(node.js) - 파일 시스템(readdir, readFileSync, readFile) ① npm - node.js 파일 시스템(File System) 관련 모듈들은 동기/비동기 관련 함수를 제공합니다.② npm 어플리케이션 개발 중 I/O 작업 관련 동기/비동기 작동 방식에 대해 정확히 알고 있어야 합니다.③ readdir 함수를 통한 디렉토리에 있는 모든 파일 읽기 작업 중 동기/비동식 함수를 알맞게 사용해야 합니다. npm(node.js) - readFileSync(동기식) 파일 읽기 기본 소스- readFileSync(동기식)는 주로 콜백(Callback)을 사용하지 않고 읽어 온 파일을 리턴 받아 사용합니다. 123456789101112fs.readdir(path.join(__dirn..

웹 프론트/React

리액트[React] - ES6 문법 + Babel 기초 예제 및 다운로드

리액트[React] - ES6 + Babel 기본 설명 ① ES6와 Webpack 등을 활용한 개발 방법이 주가 되고 있습니다.② ES6의 클래스 모듈, 새로운 변수 선언, 키워드, Promise 등을 활용해서 복잡한 애플리케이션의 코드 표현력을 높일 수 있습니다.③ React는 ES6 문법이 주가 되기 때문에 Babel 사용은 필수적이라고 볼 수 있습니다.④ React와 궁합도 좋아서 간단하게 아래 예제를 작성했습니다. 참고하시면 도움이 될 것입니다. 리액트[React] - ES6 + Babel 설명 및 예제 전체 소스코드- 아래 예제는 입문, 초보자를 위한 CDN 방식으로 HTML 파일로 구성 된 간단한 예제입니다.- 실제 프로젝트에서는 아래와 같이 Webpack Build 없이 사용하면 문제가 될 ..

개발도구/Jetbrains

[Intellij] 인텔리j - JAR Library(라이브러리) 추가 방법

IntelliJ(인텔리J) - 외부 라이브러리 추가 설명 ① 이클립스(Eclipse) 기반 프로젝트와 다르게 인텔리J(IntelliJ) 기반 프로젝트는 다른 점이 존재한다. - Eclipse : workspace(워크스페이스) 기준 - IntelliJ : project(프로젝트) 그룹 기반② 외부 라이브러리(External Library)의 경우 추가 작업을 해줘야 오류없이 컴파일이 가능하다.③ 아래 동영상이 직관적으로 좋은 설명을 하고 있으므로, 참고하면 바로 적용할 수 있다. IntelliJ(인텔리J) - Exteranl JAR Library 추가 동영상

언어/Java

Java(자바) Runtime - 외부 프로세스(exec) 실행 예제 소스

Java(자바) Runtime(exec) - 설명 ① Java Runtime Class - JVM이 작동하는 시스템 운영체제와의 인터페이스로 작동하는 클래스② 주로 운영체제 기반의 프로그램을 실행하거나 정보를 가져오는 기능을 사용한다.③ 시스템 침입의 주요 경로가 될 수 있으므로 실행 시 보안요소를 고려해야 한다. Java(자바) Runtime(exec) - 외부 프로세스 실행 소스 코드 원본코드1234567891011121314151617181920import java.io.IOException; public class RuntimeTest { public static void main(String[] args) throws IOException, InterruptedException { Runtime..

언어/Java

Java(자바) BlockingQueue - Producer 및 Consumer 패턴 예제

Java(자바) BlockingQueue - 설명 ① 멀티 스레드(Multi-Thread) 환경에서 Queue는 다양하게 활용 될 수 있어요.② BlockingQueue를 사용함으로써 Thread-safe 하게 Producer, Consumer 패턴을 구현할 수 있어요.③ 보통 RabbitMQ 등과 같이 메세지 처리 및 Push 처리 기술 분야에 활용 되고 있어요. Java(자바) BlockingQueue - Producer 및 Consumer 소스 코드 원본코드12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273..

언어/Java

Java(자바) 알고리즘 - 문자열로 서로 다른 단어 만들어내기(Anagram)

Java(자바) 알고리즘 - 아나그램(Anagram) 설명 ① Java의 replaceAll, toCharArray, sort 함수를 이용했어요.② 소문자로 변환 후 정렬이 핵심이예요.③ 예를들어 elivs 는 = lives , basic = isabc 와 같이 구성요소가 같으면 아나그램(Anagram) Java(자바) 알고리즘 - 아나그램(Anagram) 소스 코드 원본코드123456789101112131415161718192021222324252627282930313233343536373839404142434445464748import java.util.Arrays; public class AnagramTest { public static void isAnagram(String a1, String a..

언어/Python

파이썬 Youtube(유투브) 동영상 다운로드 및 MP3 자동 변환 예제 소스

Python (Pytube) - 소개 ① Pytube - 파이썬 모듈 기반으로 경량화 시켜 작성 된 유투브(Youtube) 동영상 다운로드 라이브러리 입니다. - 레퍼런스 참조 : https://github.com/nficano/pytube② 아래 예제 코드는 다운로드 대상의 화질 선택을 할 수 있게 작성되었습니다.③ 동시에 ffmpeg 코덱(Codec)을 커맨드라인에서 실행 후 자동으로 mp3로 변환하게 작성되었습니다.④ 파이썬 버전(Version) 3.6 환경이며, 윈도우 및 Mac(Linux) 기반에서 테스트 완료했습니다. Python (Pytube) - 동영상 다운로드 및 mp3 변환 사용법 상세 설명- 실행 하시려면 사전 작업이 몇 가지 필요해요.- 먼저 pip install pytube 명령어..

모바일/Android

[Android,Java] 안드로이드 - AES256 암호화 및 복호화 예제 소스 다운로드

Android(안드로이드) - AES256 암복호화(Encryption, Decryption) ① 안드로이드 프로젝트 개발 중 서버와 단말기 통신 간의 데이터 암호화 기능이 필요해서 작업 완료 후 AES256 예제 소스 파일을 하단에 공유합니다.② Java 에서도 많이 사용하므로, 실습해 보시면 많은 도움이 될 것 같습니다. Android(안드로이드) - AES256 Chiper 소스 코드 원본코드- 패키지 작성 후 원하는 곳에 붙여넣기 하셔서 사용하시면 됩니다.- 비밀키 부분은 원하는 값으로 변경하셔야 겠죠?12345678910111213141516171819202122232425262728293031323334353637383940414243import javax.crypto.BadPaddingExc..

언어/Python

파이썬 아나콘다(Anaconda) - 텐서플로우(TensorFlow) 설치 및 실행

Python 아나콘다(Anaconda) - 텐서플로우(TensorFlow) ① TensorFlow(텐서플로우) - 구글에서 오픈소스로 공개한 기계학습 라이브러리 입니다. - 딥러닝 및 기계학습 분야에 관해 일반인들도 학습 가능하게 다양한 기능 제공 - 다른 언어들도 대 부분 제공하지만, 파이썬(Python) 관련 자료가 가장 풍부해요.② 아나콘다를 사용하여 텐서플로우를 설치하면 과학계산을 위한 다양한 패키지를 한 번에 설치할 수 있어요.③ 또 여러 버전의 파이썬 환경에서 작업 및 결과 수행에 있어서 파이썬 아나콘다 환경은 편리함을 제공합니다.④ 데이터 사이언스 관련 작업에 있어서 아나콘다, 캐노피(Canopy), 액티브파이썬(ActivePython) 등을 사용할 수 있어요. Python 아나콘다(Anac..

[좋은사람]
좋은사람의 개발 노트