hgko-dev의 등록된 링크

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

Tistory

[CentOS] Apache Zookeeper 설치 및 사용 방법

아파치 주키퍼(Apache ZooKeeper)는 아파치 소프트웨어 재단 프로젝트 중의 한 소프트웨어 프로젝트로서 공개 분산형 구성 서비스, 동기 서비스 및 대용량 분산 시스템을 위한 네이밍 레지스트리를 제공한다. 주키퍼는 하둡의 한 하위 프로젝트이었으나 지금은 독립적인 상위 프로젝트이다. 출처 : 위키백과 위의 설명처럼 메시키 큐를 관리하고 동기 서비스 및 대용량 분산 시스템을 구축하기 위해 Apache Zookeeper 를 사용하는 경우가 있습니다. 이제 설치 및 사용 방법에 대해 알아보겠습니다. 운영환경 CentOS 7.6 Java jdk 설치 먼저 java jdk를 필수로 설치를 합니다. [root@localhost ~]$ yum install java-1.8.0-openjdk.x86_64 prof..

Tistory

[CentOS] Apache Kafka 설치 및 사용 방법

아파치 카프카(Apache Kafka)는 아파치 소프트웨어 재단이 스칼라로 개발한 오픈 소스 메시지 브로커 프로젝트이다. 출처 : 위키백과 메시지 큐를 사용하여 동기화 서비스 및 대용량 분산 시스템을 구축하기 위해 Zookeeper 와 함께 Apache Kafka를 사용하는 경우가 있습니다. 리눅스 환경에서 설치 및 사용 방법에 대해 알아보겠습니다. 운영환경 CentOS 7.6 다운로드 및 설치 [root@localhost ~]$ cd /home/test [root@localhost test]$ wget http://apache.mirror.cdnetworks.com/kafka/2.1.0/kafka_2.11-2.3.0.tgz [root@localhost test]$ ln -s kafka_2.11-2.3...

Tistory

[PostgreSQL] TimescaleDB 설치 방법

TimescaleDB 란 TimescaleDB는 빠른 수집, 복잡한 쿼리를 편리하게 사용하기 위해 설계된 오픈 소스 시계열 데이터베이스입니다. PostgreSQL을 기반으로 하며 자동 파티셔닝과 SQL 지원을 제공합니다. PostgreSQL 보다 10 ~ 100배 빠른 쿼리를 수행하고 시계열에 대해 최적화가 되어 있습니다. 5 ~ 10분 단위로 수집되는 많은 양의 데이터를 데이터베이스에 추가하고 시계열로 관리하며 빠르게 조회하기 위해 TimescaleDB를 사용하였습니다. 운영환경 CentOS 7.6 PostgreSQL 11 설치 PostgreSQL 이 설치되어있어야 합니다. 미설치 시 [PostgreSQL] CentOS 7에서 PostgreSQL 설치 및 시작 을 참고해서 설치합니다. PostgreSQ..

Tistory

[PostgreSQL] Command 명령어

기본 명령어 PostgreSQL에 접속합니다. $ psql -U postgres 명령어 설명 \list or \l 데이터베이스 목록 조회 \list+ or \l+ 데이터베이스 목록 상세조회 \c [DB Name] 다른 DB에 접속 \d 테이블 목록 보기 \dt [Table Name] 지정된 테이블 컬럼 목록 보기 \dS 시스템 테이블 목록 보기 \dv 뷰 목록 보기 \ds 시퀀스 목록 보기 \du 롤 목록 보기 \dn 스키마 목록 보기 \q psql 종료(Ctrl + d) 백업 및 복원 명령어 설명 pg_dump > [백업파일명] 전체 백업 pg_dump [DB명] > [백업파일명]예) pg_dump mydb > db.sql 데이터베이스만 백업 psql -U postgres [DB명] > [백업파일명] ..

Tistory

[Node.js] 시작 및 구성 방법

다운로드 및 설치 Node.js 다운로드 사이트에 접속한 후 플랫폼에 맞게 선택을 하여 다운로드합니다. Windows 환경에서 개발하기 위해 Windows Installer (.msi) 64-bit를 다운로드 합니다. 현재 최신 LTS 버전은 v16.17.0 버전입니다. 다운 받은 인스톨러 파일을 실행해서 설치를 진행합니다. 설치가 완료되면 아래 명령어를 입력해서 확인을 합니다. D\> node -v v16.17.0 D\> npm -v 8.15.0 Node.js를 설치하면 자동으로 NPM 이 설치가 됩니다. npm (노드 패키지 매니저/Node Package Manager)은 자바스크립트 프로그래밍 언어를 위한 패키지 관리자이다. 자바스크립트 런타임 환경 Node.js의 기본 패키지 관리자이다. 출처 :..

Tistory

[CentOS] VNC 설치 및 사용 방법(오프라인 환경)

리눅스의 오프라인 환경에서 VNC 설치 및 사용 방법에 대해 알아보겠습니다. 운영환경 CentOS 7.6 Server 설치 다운로드 http://mirror.centos.org/centos/7/os/x86_64/Packages/ 사이트에 접속 후 tigervnc-server-1.8.0-19.el7.x86_64.rpm 파일을 선택하여 다운로드합니다. 다운로드가 완료되면 파일을 리눅스 환경으로 이동시킵니다. 설치 및 설정 # 실행 $ sudo rpm -ivh tigervnc-server-1.8.0-19.el7.x86_64.rpm # 1 입력 시 5901 포트번호로 생성됩니다. $ cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@..

Tistory

[PostgreSQL] CentOS 7에서 PostgreSQL 설치 및 시작 방법

리눅스 환경에서 PostgreSQL 설치 및 시작 방법에 대해 알아보겠습니다. 운영환경 CentOS 7.6 PostgreSQL 11.9 인터넷이 되는 환경 # Install the repository RPM: $ sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm # PostgreSQL을 설치합니다. $ sudo yum install -y postgresql11-server postgresql11-contrib 인터넷이 안되는 환경 1. RPM 다운로드 외부 환경에서 PostgreSQL Database Server 11 PGDG 페이지에 접..

Tistory

[PostgreSQL] 외부 접속 허용 설정

외부 접속 허용 설정 사용자 비밀번호 설정 외부에서 접속하기 위해선 우선 postgres 비밀번호를 설정해야 합니다. postgres 계정으로 접속합니다. $ su - postgres psql # 비밀번호 설정 \password postgres # 종료 \q 방화벽 개방 방화벽에서 5432 포트를 개방합니다. $ firewall-cmd --permanent --zone=public --add-port=5432/tcp $ firewall-cmd --reload 설정 파일 변경 postgresql 접속 후 Data 디렉터리 확인을 할 수 있습니다. $ show data_directory; -> /var/lib/pgsql/11/data postgresql.conf 설정 파일을 엽니다. $ vi /var/lib..

Tistory

[CentOS] 기본 명령어

기본 명령어 명령어 설명 ll 해당 디렉토리 파일 목록 보기 ls -al 숨김 파일까지 보기 ls -lt 시간순으로 보기 hostname 호스트명 보기 cat [파일명]예) cat /etc/hosts 파일 내용 출력 vi [파일명]예) vi /etc/hosts 파일 내용 편집 mkdir [폴더명] 폴더 생성 touch [파일명] 파일 생성 rm [파일명] 파일 삭제 rm -f [파일명] 묻지 않고 삭제 rm -rf [폴더명] 폴더 삭제 cp [복사대상] [붙여넣을파일명] 파일 복사 cp -r [복사대상] [붙여넣을폴더명] 폴더 복사 mv [파일] [변경할파일] 파일 또는 폴더 이동 pwd 현재 경로 보기 서비스 명령어 설명 systemctl enable [서비스명] 서비스 등록 systemctl star..

Tistory

[MSSQL] Geometry Query

Geometry 데이터 형식 쿼리 STContains STContains(geometry 데이터 형식) geometry 인스턴스에 다른 geometry 인스턴스가 완전히 포함되어 있으면 1을 반환합니다. 그렇지 않으면 0을 반환합니다. DECLARE @g geometry; DECLARE @h geometry; SET @g = geometry::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326); SET @h = geometry::STGeomFromText('POINT(-122.358 47.656)', 4326); SELECT @g.STContai..

Tistory

[Docker] 주요 명령어 및 기본 사용법

리눅스 환경에서 Docker 명령어와 기본 사용 방법에 대해 알아보겠습니다. 운영환경 CentOS 7.6 설치 $ yum install docker 설치가 완료되면 버전을 조회하여 설치 확인을 합니다. $ docker -v 컨테이너 생성 및 실행 docker run 명령어는 컨테이너를 생성 및 실행과 동시에 컨테이너 내부로 들어갑니다. 기본 포맷입니다. $ docker run () () () 예시입니다. 가독성을 위해 (역슬래시)를 이용해 각 설정 옵션을 구분합니다. $ docker run -d \ --name hgko.default.local \ --privileged \ -h hgko --network insnet \ -v /data:/data \ -p 5914:5901 \ hgko 간략한 예시입니다..

Tistory

[WPF] Event Notifier 사용 방법

컴포넌트 간의 데이터를 주고받을 경우 Prism의 EventAggregator를 사용하면 편리하지만 WPF 만을 사용할 경우 아래 코드와 같이 구성하여 사용하였습니다. Event Manager // EventManager.cs namespace Tool.Event { public class EventManager { public delegate void EventHandler(); event EventHandler event; public void Subscribe(EventHandler handler) { event += handler; } public void UnSubscribe(EventHandler handler) { event -= handler; } public void Publish() {..

Tistory

[딥러닝] Preprocess 준비

로컬 데이터를 불러와 전처리시 필요한 내용입니다. Load Packages import os from glob import glob import numpy as np import tensorflow as tf from PIL import Image import matplotlib.pyplot as plt %matplotlib inline # 현재 경로를 알려줍니다. os.getcwd() # 경로를 넣으면 경로의 파일명만 목록 형식으로 보여줍니다. os.listdir() os.listdir('dataset/mnist_png/training/') # 경로가 포함된 모든 파일들을 목록 형식으로 보여줍니다. # 원하는 포맷의 파일만을 가져올 수 있습니다.(png, txt 등) glob('dataset/mnist..

Tistory

[C++] DLL 동적 로딩

DLL 동적 로딩 특정 폴더 내에 다수의 DLL 라이브러리 파일들을 로딩하기 위한 코드입니다. Header 파일 // dllload.h #include class DLLLoad { public: DLLLoad() {} ~DLLLoad() {} bool LoadLibrary(); bool FreeLibrary(); private: // DLL 폴더 경로를 설정합니다. const std::string DLL_DIR; // 로딩된 DLL 파일 경로들을 저장하고 관리합니다. std::list fileList; } C++ 파일 // dllload.cpp #include "dllload.h" #include #include const std::string DLLLoad::DLL_DIR = "C:\\dll\\"; D..

Tistory

[PyTorch] Evaluating 및 Predicting

이전 블로그를 이어서 진행을 합니다. Evaluation model.train() 모드로 변한 것 처럼 평가할 때는 model.eval() 으로 설정합니다. # Test mode # batch norm이나 dropout 등을 train mode 변환 model.eval() # Out Net( (conv1): Conv2d(1, 20, kernel_size=(5, 5), stride=(1, 1)) (conv2): Conv2d(20, 50, kernel_size=(5, 5), stride=(1, 1)) (fc1): Linear(in_features=800, out_features=500, bias=True) (fc2): Linear(in_features=500, out_features=10, bias=True..

Tistory

[딥러닝] 교육자료

딥러닝 교육자료 딥러닝을 배우기 위한 강의 사이트와 책을 정리하였습니다. 교육 사이트 프로그래머스 - https://programmers.co.kr/ 에드윗 - https://www.edwith.org/ 입문 강의 파이썬 입문 - https://programmers.co.kr/learn/courses/2 딥러닝 입문(Tensorflow) - https://www.edwith.org/others26 입문 블로그 딥러닝 입문(Keras) - https://tykimos.github.io/lecture/ 딥러닝 책 밑바닥부터 시작하는 딥러닝(기초) DeepLearningBook(심화) 머신러닝 책 핸즈온 머신러닝(심화) PRML(심화)

Tistory

[Web Design] Canvas

HTML 템플릿 회사 홈페이지 및 블로그 형태의 사이트 제작 요청이 있어 디자인 템플릿을 찾아보던 중 심플하기도 하고 이쁜 HTML 템플릿을 찾게 되었습니다. Canvas The Multi-Purpose HTML5 Template Canvas는 Mulit-Page 및 One-Page 사이트를 제공하고 반응형을 지원하는 다목적 HTML5 템플릿입니다. 비즈니스, 의료, SEO, 여행, 건설, 부동산, 요가, 뷰티, 기사, 사진, 뉴스, 대여, 이력서, 블로그, 웨딩, 음악, 앱 쇼케이스, 애완 동물, 스토어 등 120개 이상의 즉시 사용 가능한 홈페이지 템플릿을 제공합니다. 유료 이지만 가격도 저렴해서 가성비가 좋습니다. 빠르게 개발을 해야 하거나 디자인 비용을 절감해야 할 때 사용하면 좋은 사이트를 제작..

Tistory

[PyTorch] 데이터 불러오기

PyTorch Data Preprocess import torch from torchvision import datasets, transforms Import Error ImportError: cannot import name 'PILLOW_VERSION' from 'PIL' pillow 버전이 7.0.0 이상 일경우 Import 에러 나는 경우가 있습니다. 아래 처럼 pillow 버전을 내려주면 해결이 됩니다. $ pip install pillow==6.2.2 Data Loader 부르기 Pytorch는 DataLoader를 불러 model에 넣습니다. batch_size = 32 train_loader = torch.utils.data.DataLoader( datasets.MNIST('dataset/..

Tistory

[PyTorch] 각 Layer별 역할 및 파라미터

PyTorch Layer 이해하기 Load Packages import torch from torchvision import datasets, transforms import numpy as np import matplotlib.pyplot as plt %matplotlib inline 예제 불러오기 train_loader = torch.utils.data.DataLoader( datasets.MNIST('dataset', train=True, download=True, transform=transforms.Compose([ transforms.ToTensor() ])), batch_size=1) image, label = next(iter(train_loader)) image.shape, label.s..

Tistory

[PyTorch] Optimizer 및 Training

Optimization & Training https://github.com/pytorch/examples/tree/master/mnist Load Packages import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim from torchvision import datasets, transforms import numpy as np no_cuda = False # cuda를 사용할지 안할지 use_cuda = not no_cuda and torch.cuda.is_available() device = torch.device("cuda" if use_cuda else "cpu") => devic..

Tistory

[MySQL] Packet for query is too large 에러 발생시

MySQL을 사용하여 개발 중 4MB가 넘는 파일을 업로드 시 다음과 같은 패킷 에러가 발생하였다. com.mysql.jdbc.PacketTooBigException: Packet for query is too large (9,523,277 > 4,194,304). You can change this value on the server by setting the 'max_allowed_packet' variable 기본적으로 할당된 패킷 사이즈 값이 너무 작기 때문에 에러가 발생했기 때문에 수정이 필요하다. MySQL 설정에서 max_allowed_packet 값을 변경하여 해결하였다. max_allowed_packet은 서버로 질의하거나 받게 되는 패킷의 최대 길이를 나타내는 시스템 변수 다음은 해결방..

Tistory

[JQuery] DataTables 사용 방법

JQuery 용 테이블 라이브러리인 DataTables 플러그인을 사용하여 개발했을 경우 편리하게 사용하기 위해 구조를 설계하였습니다. DataTables는 데이터를 테이블로 쉽게 구현할 수 있도록 도와주는 라이브러리입니다. 설치와 사용법은 DataTables 공식 사이트에 잘 설명되어 있기 때문에 생략하겠습니다. 초기 설정 여러 곳에서 DataTables로 작업할 때 유용하도록 초기 기본값으로 설정하였습니다. // table.js $.extend($.fn.dataTable.defaults, { autoWidth: false, dom: ``, language: { emptyTable: '데이터가 없습니다.', infoEmpty: '', info: ' _TOTAL_ 개의 데이터가 있습니다.', search..

Tistory

TensorFlow 2.0과 PyTorch 비교

TensorFlow 2.0 import tensorflow as tf from tensorflow.keras import layers from tensorflow.keras import datasets Hyperparameter batch_size = 64 learning_rate = 0.001 dropout_rate = 0.7 input_shape = (28, 28, 1) num_classes = 10 Preprocess (train_x, train_y), (test_x, test_y) = datasets.mnist.load_data() train_x = train_x[..., tf.newaxis] test_x = test_x[..., tf.newaxis] train_x = train_x / 255. ..

Tistory

[Eclipse RCP] SWT에서의 GC, Drawable, Canvas 사용

addPaintListener() Control 객체가 그 객체의 paintEvent를 통하여 그림을 그릴 수 있지만, 이보다는 Control 클래스를 상속받아 그래픽 작업을 위해 설계된 특별한 클래스인 Canvas 클래스를 사용하여 그림을 그리는 것이 더욱 좋습니다. Canvas 클래스를 생성한 후 addPaintListener()를 통하여 paintListener를 추가하거나, 사용자가 직접 정의한 Control을 상속받음으로써 그림을 그릴 수 있습니다. Canvas 클래스는 그림을 그릴 때 사용할 수 있는 다양한 종류의 스타일 비트를 가지고 있습니다. SWT.NO_BACKGROUND Canvas의 기본적인 동작은 다음과 같습니다. 객체의 할당영역을 그리기 앞서, 객체에 할당된 전체 영역을 현재 배경..

Tistory

[Eclipse RCP] 폴더안의 파일 리스트 읽기

SWT의 DirectoryDialog를 이용하여 폴더를 읽고 폴더의 파일들을 읽어서 원하는 List의 형식으로 만듭니다. Shell shell = GUIUtil.getShell(); shell.getDisplay().asyncExec(() -> { DirectoryDialog dialog = new DirectoryDialog(shell); dialog.setMessage("Please select a directory and click OK"); String dir = dialog.open(); if (dir != null) { List mapImages = null; try { mapImages = Files.list(new File(dir).toPath()) .filter(file -> file.t..

Tistory

[JAVA] 동네예보 조회서비스 API 사용 방법

동네예보 조회서비스 동네예보 정보를 조회하기 위해 공공데이터 포털 사이트의 동네예보 조회서비스 API 사용 방법에 대해 알아보겠습니다. Open API 활용 방법 동네예보 조회서비스 사이트에서 활용신청을 하고 Service Key를 발급받습니다. 오픈 API 활용 가이드를 다운로드하여 조회 조건 및 결과 데이터를 이해합니다. 동네예보 데이터 조회 http://apis.data.go.kr/1360000/VilageFcstInfoService/getVilageFcst?ServiceKey={발급받은 Service Key}&pageNo=1&numOfRows=10&dataType=JSON&base_date={현재날짜}&base_time={현재시간}&nx={지점 X 좌표값}&ny={지점 Y 좌표값} 결과 데이터(J..

Tistory

[JAVA] proj4 투형 변환

투형 변환 TM(미국좌표) 좌표와 WGS84(한국좌표) 좌표를 서로 변환한다. 다운로드 Java Map Projection Library 사이트에 접속하여 다음의 Download에서 소스 및 jar 파일을 다운로드한다. 다운로드한 jar 파일은 프로젝트의 classpath 경로에 추가한다. 샘플 // 투형 정보 입력(중부원점 직각좌표 투형정보) String[] proj4 = new String[] { "+proj=tmerc", "+lat_0=38N", "+lon_0=127.00289027777777777776E", "+ellps=bessel", "+units=m", "+x_0=200000", "+y_0=500000", "+k=1.0" } Projection proj = ProjectionFactory.f..

Tistory

[JAVA] OpenWeather API 사용 방법

OpenWeather API 200,000 개가 넘는 도시를 포함하여 지구상의 모든 위치에 대한 현재 날씨 데이터에 액세스 할 수 있습니다. 현재 날씨는 글로벌 모델과 4만 개가 넘는 기상 관측소의 데이터를 기반으로 자주 업데이트됩니다. 데이터는 JSON, XML 또는 HTML 형식으로 제공됩니다. 출처 : OpenWeather OpenWeather API를 사용하여 현재 날씨 데이터를 조회하였다. 현재 날씨 데이터 조회 OpenWeather 사이트에 접속해서 API Key를 발급받는다. 메인에서 Current Weather Data를 선택받는다. 조회 조건 및 결과 정보와 다른 기능들에 대해 잘 설명되어 있다. 우리나라 전체에 대한 날씨 데이터를 조회할 것이기 때문에 조회 조건은 다음과 같다. http..

Tistory

[JAVA] 농업기상정보 서비스 API 사용 방법

농업기상정보 서비스 농업 관련 기상 데이터가 필요하게 되어 공공데이터 포털 사이트의 농업기상정보 API를 사용하여 조회하였습니다. Open API 활용 방법 농업기상정보서비스 사이트에 접속합니다. 이용방법에 따라 회원가입 후 Open API 신청을 하고 Service Key를 발급받습니다. 활용 가이드를 다운로드하여 조회 조건 및 결과 데이터를 이해합니다. 농업 기상 데이터 조회 http://weather.rda.go.kr/openapi/realtime_openapi_xml.jsp?mberid={id}&regist_ky={발급받은 Service Key} 결과 데이터(XML 형식) 380959A001 충주시 달천동 2020/07/31 14:50 28.3 29.7 22.5 - - - - - -..

Tistory

[CSS] 그라데이션 효과

linear-gradient : CSS3에서 추가된 것으로, 선형 그라데이션 효과를 만들 수 있습니다. linear-gradient( direction, color1, color2, …, color3 ); direction에는 그라데이션 방향을 입력합니다. to bottom : 위에서 아래로 그라데이션을 만듭니다. (기본값) to top : 아래에서 위로 그라데이션을 만듭니다. to left : 오른쪽에서 왼쪽으로 그라데이션을 만듭니다. to right : 왼쪽에서 오른쪽으로 그라데이션을 만듭니다. ndeg : n 도의 방향으로 그라데이션을 만듭니다. 예시 .gradation_bar { width: 100%; background: linear-gradient(to right, #ff0000, orange..

Tistory

[JAVA] Julian Date Conversion

율리우스력 변환하기 율리우스력은 고대 로마의 정치가 율리우스 카이사르가 기원전 46년에 제정해 기원전 45년부터 시행한 양력(陽曆) 역법이다. 율리우스력의 1년은 365일 또는 366일(4년에 한번)이다. 기원전 46년 이전까지 고대 로마에서는 태음력을 사용하였으며, 점차 계절의 변화(즉, 태양의 일주)를 고려해 태음력과 태양력을 섞어서 년(年)과 월(月)을 계산하였다. 이에 따라 특히 달을 계산하는 데 적지 않은 혼란과 계산의 착오가 생겼으며, 이러한 착오는 제사장이 임의로 수정하였다. 율리우스 카이사르가 채택한 달력은 태양력을 기준으로 2월을 제외한 달은 모두 30일 또는 31일로 정함으로써 이전에 있던 번거로움을 한꺼번에 해소하였다. 출처 : 위키백과 Joda-Time Library 사용 Strin..

Tistory

[TensorFlow 2.0] Optimizer 및 Training (Expert)

TensorFlow 공식 홈페이지에서 설명하는 Expert 버전을 사용해봅니다. Load Packages import tensorflow as tf from tensorflow.keras import layers from tensorflow.keras import datasets 학습 과정 돌아보기 Build Model input_shape = (28, 28, 1) num_classes = 10 inputs = layers.Input(input_shape, dtype=tf.float64) net = layers.Conv2D(32, (3, 3), padding='SAME')(inputs) net = layers.Activation('relu')(net) net = layers.Conv2D(32, (3, 3..

Tistory

[TensorFlow 2.0] Evaluating & Prediction

Load Packages import tensorflow as tf from tensorflow.keras import layers from tensorflow.keras import datasets Build Model input_shape = (28, 28, 1) num_classes = 10 learning_rate = 0.001 inputs = layers.Input(input_shape, dtype=tf.float64) net = layers.Conv2D(32, (3, 3), padding='SAME')(inputs) net = layers.Activation('relu')(net) net = layers.Conv2D(32, (3, 3), padding='SAME')(net) net = laye..

Tistory

[PyTorch] 기초 사용법

Load Packages import numpy as np import torch Basic PyTorch 기초 사용법 nums = torch.arange(9) nums.shape nums.numpy() nums.reshape(3, 3) randoms = torch.rand((3, 3)) zeros = torch.zeros((3, 3)) ones = torch.ones((3, 3)) torch.zeros_like(ones) Operations PyTorch로 수학연산 하기 nums * 3 nums = nums.reshape((3, 3)) nums + nums result = torch.add(nums, 10) result.numpy() # Out array([[10, 11, 12], [13, 14, 15..

Tistory

[TensorFlow 2.0] 예제 데이터셋 (MNIST) 사용

Load Packages import numpy as np import matplotlib.pyplot as plt import tensorflow as tf %matplotlib inline 데이터 불러오기 TensorFlow에서 제공해주는 데이터셋(MNIST) 예제 불러오기 입니다. from tensorflow.keras import datasets mnist = datasets.mnist (train_x, train_y), (test_x, test_y) = mnist.load_data() train_x.shape # Out (60000, 28, 28) Image Dataset 들여다보기 불러온 데이터셋에서 이미지 데이터 하나만 뽑아서 시각화합니다. 데이터 하나만 뽑기 image = train_x[0..

Tistory

[TensorFlow 2.0] 각 Layer별 역할 및 파라미터

Load Packages import tensorflow as tf import os import matplotlib.pyplot as plt %matplotlib inline Input Image from tensorflow.keras import datasets (train_x, train_y), (test_x, test_y) = datasets.mnist.load_data() image = train_x[0] # 차원 수 높이기 image = image[tf.newaxis, ..., tf.newaxis] image.shape # Out (1, 28, 28, 1) Feature Extraction Convolution filters: layer에서 나갈 때 몇 개의 filter를 만들 것인지 kern..

Tistory

[TensorFlow 2.0] Optimizer 및 Training (Keras)

Load Packages import tensorflow as tf from tensorflow.keras import layers from tensorflow.keras import datasets 학습 과정 돌아보기 Prepare MNIST Datset (train_x, train_y), (test_x, test_y) = datasets.mnist.load_data() Build Model inputs = layers.Input((28, 28, 1)) net = layers.Conv2D(32, (3, 3), padding='SAME')(inputs) net = layers.Activation('relu')(net) net = layers.Conv2D(32, (3, 3), padding='SAME')(..

Tistory

[Tensorflow 2.0] 기초 사용법

Load Packages import numpy as np import tensorflow as tf Tensor 생성 list -> Tensor tf.constant([1, 2, 3]) # Out tuple -> Tensor tf.constant(((1, 2, 3), (1, 2, 3))) # Out Array -> Tensor arr = np.array([1, 2, 3]) tf.constant(arr) # Out Tensor에 담긴 정보 확인 shape 확인 tensor = tf.constant(arr) tensor.shape # Out TensorShape([3]) Data Type 확인 주의: Tensor를 생성 할 때 Data Type을 정해주지 않기 때문에 혼동이 올 수 있습니다. Data Ty..

Tistory

Tensorflow 2.0과 PyTorch 소개

TensorFlow 2.0 1.x에 비해 정말 쉬워졌습니다. Numpy Array와 호환이 쉽습니다. TensorBorad, TFLite, TPU 여전히 많은 사용자들이 사용합니다. 상용 목적으로 주로 사용합니다. PyTorch Dynamic Graph & Define by Run 쉽고 빠르며 코드가 간결합니다. 빠르게 성장하고 있습니다. 커뮤니티가 많이 활성화 되고 있습니다. 연구 목적으로 주로 사용합니다. 둘 다 때에 따라 환경에 맞게 사용하면 될 것 같습니다.

Tistory

[Python] Numpy 기초(3)

zeros 0으로 채워진 numpy 배열을 만듭니다. np.zeros([3, 3]) # Out array([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]]) ones 1로 채워진 numpy 배열을 만듭니다. np.ones([3, 3]) # Out array([[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]]) arange 하나의 값만 입력하면 1씩 증가하는 1차원 배열을 만듭니다. np.arange(10) # Out array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 두 개의 인자를 넣으면 입력한 값의 범위만큼 배열을 만듭니다. np.arange(4, 9) # Out array([4, 5, 6, 7, 8]) reshape 1차원 배열의 ..

Tistory

[Python] 시각화 기초(그래프)

Python에서 matplotlib를 사용하여 시각화하는 방법에 대해 알아보겠습니다. Load Packages import numpy as np import matplotlib.pyplot as plt %matplotlib inline Basic Attributes alpha : 투명도 king : 그래프 종류 'line', 'bar', 'barh', 'kde' logy : Y축에 대해 Log scaling use_index : 객체의 색인을 눈금 이름으로 사용할지 여부 rot : 눈금 이름 돌리기 (rotating) 0 ~ 360 xticks, yticks : X, Y축으로 사용할 값 xlim, ylim : X, Y축의 한계 grid : 축의 그리드를 표현할지 여부 subplots : 각 column에..

Tistory

[Python] 시각화 기초(이미지)

Load Packages import numpy as np from PIL import Image import matplotlib.pyplot as plt %matplotlib inline 이미지 불러오기 path = 'images/dog.jpg' image_pil = Image.open(path) image = np.array(image_pil) image.shape # Out (300, 400, 3) 이미지 들여다 보기 np.min(image), np.max(image) # Out (0, 255) 그래프로 시각화하기 plt.hist(image.ravel(), 256, [0, 256]) plt.show() 그림 나타내기 plt.imshow(image) plt.show() 이미지 흑백으로 열기 image..

Tistory

[C++] string을 이용한 File Path 분리 방법

개요 string 형식의 파일 경로를 이용하여 File Path와 Name을 분리합니다. File Path와 File Name 분리 #include namespace using std; int main() { string pullPath = "c:\\test\\test.tif"; int find = pullPath.rfind("\\") + 1; string filePath = pullPath.substr(0, find); string fileName = pullPath.substr(find, pullPath.length() - find); cout

Tistory

[Python] Numpy 기초(1)

Numpy 란 Numpy는 C언어로 구현된 파이썬 라이브러리로써, 고성능의 수치계산을 위해 제작되었습니다. Numerical Python의 줄임말이기도 한 Numpy는 벡터 및 행렬 연산에 있어서 매우 편리한 기능을 제공합니다. 출처: Tigercow.Door Numpy는 고차원적인 데이터를 다루기 쉽게 만들어져 있어 딥러닝을 하게 되면 많이 접하게 됩니다. 이제 Numpy 사용방법에 대해 알아보겠습니다. # Numpy 사용하기 import numpy as np 0차원 numpy array는 1 또는 5, 10와 같이 숫자 데이터를 array화 해줄 수 있습니다. arr = np.array(5); arr.shape # 배열의 형태(크기)를 나타냅니다. # Out () # shape가 아무것도 없는 것으로..

Tistory

[Python] Numpy 기초(2)

Numpy 기초에 대해 다뤄보겠습니다. Load Package import numpy as np data type 배열의 dtype을 봅니다. arr = np.array([[1, 2, 3], [1, 2, 3]]) arr.dtype # Out dtype('int32') .astype() 으로 datatype을 변환 가능합니다. arr = arr.astype('float32') arr = arr.astype(np.float32) # Out array([[1., 2., 3.], [1., 2., 3.]], dtype=float32) len(arr.shape)를 통해서 차원이 개수를 확인할 수 있지만, 다음과 같이 ndim을 통해 차원 수를 확인합니다. len(arr.shape) arr.ndim # Out 2 R..

Tistory

[Git] 이클립스에서 Git Repository 연동

이클립스와 Git 원격저장소 연동하는 방법과 프로젝트를 내려받는 방법에 대해 알아보도록 하겠습니다. 원격저장소 주소 복사 먼저 github 사이트에서 생성한 저장소의 주소를 복사합니다. 이클립스 실행 이클립스를 실행하고 오른쪽 위에 퍼스펙티브 버튼을 클릭하면 창이 보입니다. Git을 선택하고 [OK] 버튼을 눌러 활성화시킵니다. Git 퍼스펙티브가 추가된 것을 볼 수 있으며 아이콘을 클릭하면 아래 그림처럼 기본화면이 변경됩니다. 원격저장소 연동 Git 퍼스펙티브 화면에서 [Clone a Git repository] 를 클릭합니다. Clone Git Repository 창의 첫 번째 빨간 박스에 앞에서 복사해 둔 Git 원격 저장소 주소를 URI 칸에 복사하면 Host, Repository path 칸에 ..

Tistory

인공지능 개발준비 - 개발환경 구축(Windows)

인공지능(AI)을 통해 개발을 하기 위해 개발 도구들을 설치합니다. Anaconda 설치 Anaconda는 여러 가지 수학 및 과학 패키지들을 기본적으로 포함하고 있는 Python 배포판입니다. 그래서 머신러닝, 딥러닝, 데이터 분석에서 사용을 하려고 한다면 Anaconda를 통해 설치하는 것이 좋습니다. Anaconda Download 사이트에 접속하여 아래로 내려가 보면 다운로드 화면이 보입니다. 현재 Windows 운영체제에 맞게 선택하여 다운로드를 합니다. 다운로드가 완료되면 설치를 진행합니다. Next 버튼을 클릭하다가 아래 그림처럼 All Users를 선택합니다. 간혹 Windows에서 사용자의 계정을 한글로 만들었을 경우 설치할 때 또는 개발할 때 에러가 날 수 있기 때문에 선택합니다. 아래..

Tistory

[Android Studio] 설치 및 주요 기능 정리

1. Android Studio 다운로드 및 설치 아래 경로에서 최신 버전의 Android Studio를 다운로드하여 설치합니다. 현재 최신은 3.6.3 버전입니다. 설치를 완료하고 다음 화면이 오픈되면 이제 개발을 시작할 수 있습니다. 2. 프로젝트 생성 Start a new Android Studio Project 선택 Slelect a Project Templat Empty Activity 선택 Configure Your Project Name: HelloApp Package: com.hgko.helloapp Language: Java or Kotlin Minimum SDK: API 26: Android 8.0(Oreo) Finish 버튼 클릭하면 아래처럼 프로젝트가 생성됩니다. 3. 실행 1) 스..

Tistory

Clean Code

책 정보 책 소개 애자일 소프트웨어의 혁명적인 패러다임을 제시하는 책이다. 저자 로버트 마틴은 오브젝트 멘토(Object Mentor)의 동료들과 힘을 모아 ‘개발하며’ 클린 코드를 만드는 최상의 애자일 기법을 정제하여『Clean Code 클린 코드』에 담았다. 아주 많은 코드를 읽고 그 코드의 무엇이 옳은지, 그른지 생각하며 전문가로서 자신이 지니는 가치를 돌아보기 위해 꾸준히 노력한다면, 이 책을 통해 여러분의 프로그래밍 실력은 한층 더 높아질 것이다. 리뷰 전부 다 읽어보진 못하였지만 읽다 보면 얼마나 잘못하고 있었는지 반성하게 됩니다. 의미 있는 이름, 좋은 주석 다는 법, 객체와 자료 구조 등 어떻게 깨끗하고 아름다운 코드를 작성할 수 있는지 알려줍니다. 잘못된 점과 좋은 점을 짚어주기 때문에 ..

Tistory

[MySQL] Query 정리

SELECT SELECT * FROM 테이블명 SELECT * FROM 테이블명 WHERE 조건 SELECT 필드명1, 필드명2, ... FROM 테이블명 WHERE 조건 INSERT INSERT INTO 테이블명(필드명1, 필드명2, 필드명3, ...) VALUES (데이터값1, 데이터값2, 데이터값3, ...) 또는 INSERT INTO 테이블명 VALUES (데이터값1, 데이터값2, 데이터값3, ...) UPDATE UPDATE 테이블명 SET 필드명1=데이터값1, 필드명2=데이터값2, ... WHERE 필드명=데이터값 DELETE DELETE FROM 테이블명 WHERE 필드명=데이터값 중복 데이터 조회 중복된 것 모두 조회 SELECT 필드명, count(*) FROM 테이블명 GROUP BY ..

Tistory

리팩토링

책 정보 책 소개 코드 품질을 개선하는 객체지향 사고법을 정리한 참고서 프로그램이 돌아가기면 하면 객체지향인가? 객체지향이라는 도구를 제대로 활용하지 못하고 마구잡이로 작성한 코드에는 악취가 진동한다. 리팩토링은 코드의 동작이나 의도는 유지하면서 코드의 구조, 재사용성, 가독성을 개선해 코드의 악취를 제거하고 전체 디자인을 개선하는 방법이다. 독자는 72가지 리팩토링 기법을 통해 코드를 점진적으로 개선하는 방법을 학습할 수 있으며, 이 책을 마쳤을 때는 객체지향 프로그래밍 능력이 한 단계 향상될 것이다. 객체지향 언어의 문법을 익혔다고 저절로 객체지향 프로그래밍을 할 수 있는 게 아니다. 리팩토링 카탈로그를 통해 어떤 코드를 고쳐야 하는지, 왜 고쳐야 하는지, 고친 코드가 왜 좋은지 이해할 수 있다. 이..

Tistory

[Openlayers] getGetFeatureInfoUrl 함수 사용

Geoserver에서 필요한 정보를 가져오기 위해 OpenLayers의 getGetFeatureInfoUrl 함수를 사용하였습니다. feature의 정보 중에 GRAY_INDEX 라는 컬럼의 정보를 가져와야 합니다. 아래 방식으로 image 형태인 layer 를 구성하였습니다. var wmsLayer = new ol.layer.Image({ source: new ol.source.ImageWMS({ ratio: 1, url: 'http://localhost:8080/geoserver/img/wms', params: { FORMAT: 'image/png', VERSION: '1.1.1', STYLES: '', }, }), }); getGetFeatureInfoUrl 함수를 사용하여 feature 정보를 불..

Tistory

[Android Studio] lombok 사용 방법

자바에서 코드를 작성 시 모델을 만들다 보면 constructor와 기본 getter/setter 그리고 상황에 따라서 builder를 만들어 사용해야 합니다. 그런데 이런 일들을 모두 타이핑 하다 보니 보일러플레이트 같은 코드들이 많이도 써야 합니다. lombok를 사용하면 모델 객체들의 불필요한 보일러플레이트 코드들을 줄일 수 있습니다. annotation 방법으로 사용하기 때문에 사용 방법도 간단합니다. lombok annotation @Getter / @Setter 기본적으로 멤버 필드들에 대한 getter/setter 메서드들을 만들어 줍니다. @AllArgsConstructor / @NoArgsConstructor 멤버필드들이 모두 파라미터로 지정된 생성자와 빈 생성자를 만들어 줍니다. @Bu..

Tistory

개발자의 성장

회사에서 성장하기 업무를 소비하지 말자 그냥 시키는 것을 그냥 하던 대로 그냥 빨리 해치워 버려야 한다는 생각으로 그냥 일단 돌아가면 되도록 그냥 개발을 하는 것 그냥 아무 생각 없이 누군지는 해주겠지(위험) 이렇게 업무를 개발을 하지 말자 책임감을 가지고 하자 질문을 잘하자 배울 점이 많은 동료가 있는 것은 정말 큰 메리트 하지만 이것을 활용하지 못한다면 아무 의미 없음 회사의 업무는 혼자 하는 것이 아님 이 점을 최대한 활용 질문하는 법 충분한 구글링(검색)을 먼저 하자 사전 준비(질문 정리) 현재 발생한 상황 정리 자신의 시도들을 정리 최종적으로 Yes / No로 대답할 수 있도록 정리 그럴 수 없다면 자신의 결론에 대한 의견을 답할 수 있도록 정리 자신의 수준을 아는 사람에게 질문하자(중요) 문서..

Tistory

[Eclipse RCP] 개발 팁

RCP 배포 시 필수사항 build.properties 에 javacDefaultEncoding..=UTF-8 추가하기 추가하지 않을 시 한글이 깨지거나 다른 클래스를 참조할 수 없는 문제로 인해 배포된 프로그램이 실행이 되지 않을 수 있습니다. Spring Bean 사용 방법 RCP에서 Spring 빈 생성 방법 서비스 인터페이스 설정 파일의 Runtime에 관련 라이브러리 Export 합니다. String : core, beans, cglib, scheduling Log : slf4f, logback 빈 설정 정보를 담고 있는 클래스 인 AppConfig를 생성하고, AppConfig 클래스에 서비스 빈등록을 하고, SpringBeanFinder 클래스를 생성하여, 애플리케이션 컨텍스트를 로딩하고, ..

Tistory

[Cesium] 개발 팁

영상 레이어 추가 Geoserver에 추가된 영상 레이어를 Cesium 지도에 표출하는 코드입니다. layers 에는 Geoserver에 있는 레이어의 이름을 넣으면 됩니다. let imageryLayer = viewer.imageryLayers.addImageryProvider( new Cesium.WebMapServiceImageryProvider({ url: 'http://localhost:8080/geoserver/img/wms', layers: 'img:GCOMW1_L2_SMC_20120703', parameters: { service: 'WMS', version: '1.1.0', request: 'GetMap', styles: '', srs: 'EPSG:4326', format: 'image/..

Tistory

[React] UI 추천

React로 개발 시 기본적인 디자인을 적용하기 위해 고민이 많이 됩니다. 유료 템플릿 프로젝트를 구매해서 사용할 수 있지만 매번 사는 게 부담이기 때문에 디자인을 하기 무척 힘듭니다. 그래서 검색하던 중에 편리하게 디자인 할 수 있도록 지원해 주는 것들을 몇 가지 찾을 수 있었습니다. Ant Design 리액트와 타입스크립트(Typescript) 기반으로 제작된 UI 라이브러리 중국 회사에서 오픈소스화한 라이브러리 코드가 리액트 기반이기 때문에 사용하기 편리함 앤트 디자인의 10가지 디자인 원칙 Proximity (근접성) Alignment (정렬) Contrast (대조) Repetition (반복) Make it Direct (직관적으로 만들어라) Stay on the Page (화면에 머물러라) ..

Tistory

자바 ORM 표준 JPA 프로그래밍

책 정보 책 소개 자바 ORM 표준 JPA는 SQL 작성 없이 객체를 데이터베이스에 직접 저장할 수 있게 도와주고, 객체와 관계형 데이터베이스의 차이도 중간에서 해결해 줍니다. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룹니다. 또한, 스프링 프레임워크와 JPA를 함께 사용하는 방법을 설명하고, 스프링 데이터 JPA, QueryDSL 같은 혁신적인 오픈 소스를 활용해서 자바 웹 애플리케이션을 효과적으로 개발하는 방법을 다룹니다. 리뷰 스프링 프레임워크로 웹 개발할 때 JPA를 사용하기 전에는 MyBatis를 많이 사용하였습니다. JPA를 알고 난 후 책을 바로 구매하여 공부를 시작하게 되었습니다. 4년 전에 구매한 책이지만 지금까지도 가..

Tistory

Spring AOP

AOP(Aspect Oriented Programming)는 공통관심사항을 분리하여 반복되는 부분을 추출해 핵심 로직에 영향을 미치지 않고 소스의 중복을 줄이는 방법으로 기존 OOP(Object-Oriented Programming)에서 공통관심사항을 여러 모듈에서 적용하며 발생하는 중복된 코드 양산의 한계를 극복하기 위해 나오게 되었습니다. Spring AOP의 장점 예를 들어 어떠한 홈페이지에 로그인 처리를 해야 할 때 AOP를 사용하지 않는다면 모든 페이지마다 로그인 상태인지 확인하는 소스코드를 넣어야 할 테고 혹시나 그 로직이 변경되게 된다면 또 그 모든 페이지의 소스를 수정해야 하는 일이 생길 것입니다. 하지만 AOP를 적용한다면 단 하나의 로그인 로직만 바꿔도 모든 소스에 적용시킬 수 있는 장..

Tistory

Gdal 사용 방법

GDAL 은 래스터 및 벡터 지리 공간 데이터를 조작할 수 있는 오픈 소스 라이브러리입니다. 라이브러리로서 지원되는 모든 형식의 호출 응용 프로그램에 단일 추상 데이터 모델을 제공합니다. 데이터 변환 및 처리를 위한 다양한 명령 행 인터페이스 유틸리티가 제공됩니다. Windows, Linux 및 MacOS 에서 사용가능합니다. gdalinfo (http://www.gdal.org/gdalinfo.html) GDAL 이 지원하는 영상 정보를 확인합니다. gdalinfo test.tif gdal_translate (http://www.gdal.org/gdal_translate.html) 다른 형식으로 래스터 데이터를 변환합니다. 영상 resize 및 포멧 변경 gdal_translate -of GTiff -..

Tistory

PROJ.4 란?

다양한 좌표계 변환을 제공하는 라이브러리 자유롭게 인자를 지정하여 표준이 아닌 좌표계 간도 변환 가능 USGS의 Gerald Evenden에 의해 만들어진 오픈소스 라이브러리 현재 OSGeo 프로젝트 중 하나이며 MIT 라이선스 GeoServer, OpenLayers, PostGIS, QGIS, GDAL, OGR, GeoTools 등 엄청나게 많은 프로그램에서 사용 중 C, C++, JAVA, Javascript 등 다양한 언어로 포팅 되어 있음 경위도 좌표계(WGS84) GPS가 사용하는 좌표계 EPSG:4326 +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs https://epsg.io/4326 구글 좌표계(Mercator) EPSG:3857, EPSG:9009..

Tistory

React Study(2)

Project Setup Requirements 먼저 Node.js가 설치되어 있어야 합니다. Node.js 공식 다운로드 페이지(https://nodejs.org/ko/download/)에서 Window Installer를 다운로드하고 설치합니다. $ node -v $ npm -v 에디터로는 MS에서 제공하는 Visual Studio Code(VS Code)를 사용합니다. vscode는 크로스 플랫폼 에디터로 다양한 언어를 서포트 하며, IntelliSense와 Git 기능, 그리고 Extension을 이용한 확장 기능을 제공하고 있습니다. 설치방법은 https://code.visualstudio.com/ 에 접속하여 다운로드 후 설치하면 됩니다. React 개발에 좋은 Extension는 ESLint..

Tistory

com, net, co.kr의 차이는?

사용 com(company) : 회사의 도메인에 씁니다. net(network) : 네트워크를 관리하는 기관의 도메인에 씁니다. co.kr(company korea) : 회사의 도메인에 씁니다.(한국) 인터넷이 미국에서 시작했기 때문에 도메인도 미국이 먼저 선점했습니다. 그래서 다른 국가들은 .kr 처럼 국가고유 도메인을 추가하여 쓰게 되었습니다. 일본은 jp, 영국은 uk, 중국은 cn 등이 다 그런 것입니다. 원래의 의미는 co.kr, com : 영리목적으로 설립된 회사의 홈페이지를 나타내는 말 or.kr, org : 비영리기구 ne.kr, net : 네트워크 관련 회사, 혹은 통신 관련 회사를 나타내는 말 하지만 or,org 를 제외하고는 모두 동일한 의미를 나타낸다고 보면 됩니다.

Tistory

[java] Geocoder을 이용해 주소를 위도/경도로 변환하기

Geocoding 이란 주소를 위도, 경도로 변환해 주는 Google에서 제공하는 API입니다. 링크 : 지오코딩이란? 처음엔 HttpURLConnection 으로 접속해서 InputStreamReader 로 읽은 후 JSON으로 파싱 하게 만들었는데 해외 사이트에 geocoder 라이브러리를 이용하여 받아오는 예제가 있었다. 어쨌든 더 편리하고 깔끔하게 해결되었습니다. Geocoder Maven dependency com.google.code.geocoder-java geocoder-java 0.16 Method public static Float[] findGeoPoint(String location) { if (location == null) return null; // setAddress : 변환..

Tistory

[WPF] Prism Library 사용 방법

최근 WPF 기반으로 응용 애플리케이션을 개발하고 있습니다. C#을 처음 하는 거라 처음에는 익숙하지 않았지만 자바와 비슷한 면이 많아 금방 적응하였습니다. WPF 개발을 하는데 Prism Library를 적용하였습니다. Prism은 WPF를 통해 풍부하고 유연하고 유지보수가 쉬운 설계를 할 수 있게 도와준다고 합니다. 그리고 MVVM 패턴, Dependency Inejction, CompositeView, Event Aggregator들을 이용하여 독립적인 컴포넌트들 간의 느슨한 결합들을 이용한 설계 중심의 애플리케이션 제작에도 도움을 준다고 합니다. 즉, WPF 어플리케이션을 만들 시 MVVM 디자인 패턴으로 개발하고 이에 추가적으로 Prism이 제공하는 CompositeView 제작방식과 Event..

Tistory

[Git] 커맨드 명령어

설정 확인 $ git config --list 계정 확인 $ git config user.name $ git config user.email 계정 변경 $ git config --global user.name "user name" $ git config --global user.email "user email" Git Create $ git init $ git add README.md $ git commit -m "first commit" $ git remote add origin https://github.com/username/repositoryName $ git push -u origin master 현재 master 브랜치를 push 할 때 origin의 master 브랜치로 푸시하는 명령어입니다..

Tistory

React Study(1)

최근 React를 다시 공부하게 되면서 올해 초에 회사에서 세미나를 하게 되었습니다. 물론 기초이지만 React에 관심을 다시 가지게 되는 계기가 되었습니다. React란? React는 페이스북에서 제공해 주는 프런트엔드 라이브러리입니다. 사용자 인터페이스(User Interface)에 집중하며, Virtual DOM을 통해 속도와 편의를 높이고, 단방향 데이터 플로우를 지원하여 보일러플레이트 코드를 감소 시켜줍니다. React는 싱글 페이지 애플리케이션(SPA)이나 모바일 애플리케이션을 개발할 때 사용할 수 있습니다. 특징 컴포넌트 기반 아키텍처 템플릿 언어가 아닌 자바스크립트로 컴포넌트 작성 특정 관심사에 집중된 기능 블록 (관심사의 분리) One Way Data flow(단방향 데이터 흐름 지향) ..

Tistory

[JavaScript] 전화번호 하이픈(-) 자동입력

사용자 등록 시 전화번호를 입력하게 되는데 아래 그림처럼 세 개의 입력을 받아 합치는 형식으로 많이 되어 있습니다. 이렇게 개발해도 괜찮지만 좀 더 쉽게 하기 위해서 전화번호 입력 시 자동으로 하이픈(-)이 입력되도록 하는 형식으로 바꾸면 좋겠다 싶어 반영해 봤습니다. 개발된 화면은 다음과 같습니다. HTML 먼저 HTML 소스 코드입니다. input 태그를 사용하고 pattern과 maxlength, required, placeholder를 사용하였습니다. 속성에 대한 설명은 참고 사이트를 보시면 됩니다. JavaScript 먼저 전화번호 크기에 따라 나눴습니다. 서울 전화번호는 02로 두 자리로 시작하고 핸드폰은 010, 011..이고 다른 지역 전화번호는 031, 041, 051 등 세 자리로 시작..

Tistory

[JavaScript] 우편번호 주소 조회

웹 프로젝트를 하면서 사용자 등록을 하게 될 때 주소를 입력을 하게 되는데, 우편번호 주소 조회가 되도록 처리해 달라는 요청이 있었습니다. 그래서 우편번호 서비스를 검색해 봤을 때 여러 가지가 있었지만 개인적으로 좋아 보이는 Daum 우편번호 서비스를 사용하게 되었습니다. Daum 우편번호 서비스 쉽고 간편하게 우편번호 검색, 도로명 주소 입력 기능을 만들 수 있습니다. Key를 발급받을 필요가 없습니다. 사용량에 대한 제한이 전혀 없습니다. 기업용이든 상업적 용도이든 상관없이 무조건 무료로 사용 가능합니다. 도로명 주소, 지번 주소, 영문 주소까지 모두 확인 가능합니다. 이 것 말고도 여러 가지 장점이 더 있지만 사용하기 쉽고 무료이며 사용량에 대한 제한이 없고, 특히나 기본 사용법이 정말 쉽게 잘 설..

Tistory

Node.js 교과서

책 정보 책 소개 노드의 기본부터 실무까지, 전 과정을 한 권에 담았다! 다양한 서비스를 직접 만드는, 실무에 가장 가까운 강의! Node.js 10 + 자바스크립트 ES2018, 최신 문법으로 배우자. 서버와 데이터베이스 개념을 시작으로 노드의 기본 개념을 차근차근 설명해 나간다. 군더더기 없는 직관적인 설명, 풍부한 그림으로 기본 개념을 확실히 이해하고, 노드의 기능과 생태계를 사용해 보며 실제로 동작하는 서버를 만들어보자. 웹 서버, 웹 API 서버, SNS 서비스, 실시간 GIF 채팅방, 경매 시스템, 위치 기반 장소 검색 서비스, 커맨드라인 인터페이스를 모두 만들어 볼 수 있다. 실무에 당장 적용할 수 있고, 참고할 수 있는 예제와 코드를 최신 문법으로 다뤄보자. 리뷰 최근 Node.js에 관심..

Tistory

WPF MVVM 일주일 만에 배우기

책 정보 책 소개 필자의 십 수년간의 강의 경험을 최적화하여 집필한 가장 얇은 WPF 개발 서적으로 군더더기 없이 WPF를 빨리 배울 수 있다. 간단한 연습 과제와 따라 하기 방식의 해당 풀이를 통해 컨트롤 및 레이아웃, 데이터 바인딩 등의 WPF 기본 사항들을 익히고 최종적으로는 MVVM 패턴을 사용한 WPF 응용 프로그램 예제를 만들어 본다. 한국어판에서는 좀 더 쉽게 이해할 수 있도록 스크린샷과 설명을 추가했다. 짧은 시간 내에 WPF 및 MVVM 패턴에 대한 내용을 익히고 실제 프로젝트에 적용하고자 한다면 WPF 개발 서적이 몇 없는 국내 현실에서 단비와 같은 이 책 한 권으로 의도한 바를 이룰 수 있을 것이다. 리뷰 WPF 기반 프로젝트를 하기 전에 WPF에 대한 기본 개념을 잡기 위해 구매한 ..

Tistory

[React Native] Expo 사용 방법

Expo 리액트 네이티브는 리액트 아키텍처를 모바일에 적용한 것으로, ES6 문법과 리액트를 이용해 모바일 애플리케이션을 개발할 수 있도록 해주는 프레임워크입니다. 리액트 네이티브 프로젝트 생성 시 react-native init 을 입력하여 사용하였습니다. 이것만으로도 충분하다고 느껴졌는데 다른 강좌를 보던 중에 Expo 툴을 발견하게 되었습니다. Expo는 리액트 네이티브 애플리케이션의 빌드를 돕는 툴입니다. 네이티브 API에 접근하는 것도 쉽게 만들어주고, 안드로이드와 iOS 버전을 알아서 빌드해 줍니다. 무엇보다 코드를 수정하면 바로 hot reloading 시켜주는 것이 가장 편합니다. 작년 12월 쯤에 리액트 네이티브를 알게 되고 최근에 Expo도 접하게 되면서 찾던 중 처음에는 Expo Xd..

Tistory

[React Native] 시작하기

React Native 란 리액트는 페이스북이 웹 개발을 쉽게 하기 위해 만든 기술입니다. 리액트 네이티브는 리액트의 접근 방법을 모바일로 확장하는 페이스북의 오픈소스 프로젝트입니다. 기존의 하이브리드 앱은 WebView에 화면을 만들어 놓고 모바일 앱에서 접근하는 것이었기 때문에 퍼포먼스가 떨어지고, 모바일 앱과의 괴리감이 있었습니다. 리액트 네이티브는 실제 네이티브 UI를 사용하여 모바일 앱을 구현합니다. 퍼포먼스는 올라가고 괴리감도 사라지게 됩니다. 리액트 네이티브를 사용하면 JavaScript를 사용하여 모바일 앱을 제작할 수 있습니다. 리액트와 동일한 디자인을 사용하여 선언적 구성 요소에서 풍부한 모바일 UI를 구성할 수 있습니다. 장점 높은 생산성 리액트를 사용하여 개발해 보신분이라면 처음부터..

Tistory

[Git] 이클립스에서 Git 사용법

기존에는 사내에서 개발할 때 SVN으로 형상관리를 하였는데, 이번에 개인 공부도 하고 프로젝트로 만들다 보니 GitHub를 사용하게 되었습니다. GitHub는 원격 저장소를 제공하며 여러 가지 프로젝트 진행을 원활하게 하는 도구를 함께 제공하는 이점이 있어서 사용하였습니다. 스프링 프레임워크 기반 웹 프로젝트를 이클립스로 개발하고 있어 이클립스와 GitHub를 연동하였습니다. 이제 연동 방법을 설명합니다. 1. 원격 저장소 생성 먼저 공식 사이트인 https://github.com/ 에서 회원가입을 합니다. 회원가입 후 로그인을 하고 "Start a project" 버튼을 클릭합니다. 아래 그림처럼 화면이 나옵니다. 원격 저장소 이름을 입력하고 다른 것은 수정하지 말고 "Create repository"..

Tistory

[JPA] Annotation 정리

JPA(Hibernate) Annotation 정리 JPA로 개발하면서 자주 사용하는 어노테이션을 정리하였다. @Entity 해당 클래스가 엔티티임을 알리기 위해 사용한다. 애플리케이션이 실행이 될 때 엔티티 자동검색을 통하여 이 어노테이션이 선언된 클래스들은 엔티티 빈으로 등록한다. @Table 데이터의 저장소, 테이블을 의미한다. name 값은 실제 데이터베이스의 테이블 명을 의미하며, 생략이 가능하다. 어노테이션을 생략하면 클래스의 이름을 테이블의 이름으로 자동 인식하게 된다. @Id 엔티티빈의 기본키를 의미한다. 이 어노테이션은 하나의 엔티티에는 반드시 하나가 존재해야 한다. 복수키도 설정할 수 있다. @GeneratedValue 데이터베이스에 의해 자동으로 생성된 값이라는 의미다. 즉, 프로그램..

Tistory

[React Native] Live Reload

Live Reload 리액트 네이티브 기반으로 안드로이드 앱 개발을 할 때 자동으로 리로드 되게 하려면 어떻게 해야 할까. 리액트 기반으로 웹 개발을 할 때에는 코드를 수정 시 자동으로 리로드 되었는데 리액트 네이티브로 개발할 때에 자동으로 되지 않아 검색하던 중 아래 내용처럼 옵션 설정을 하니까 잘 동작하였다. 명령 프롬프트에서 다음을 입력하여 장치 또는 에뮬레이터에서 앱을 설치하고 실행한다. $ react-native run-android 에뮬레이터를 클릭하고 CTRL + M ( MacOS의 경우 CMD + M )을 누르거나 실행 중인 응용 프로그램이 있는 Android 장치를 흔들면 된다. 팝업 메뉴에서 Enable Live Reload 옵션을 선택한다.

Tistory

[React] 설치 및 설정 방법

React 설치 및 설정 방법에 대해 알아보겠다. 리액트란 React는 사용자 인터페이스를 만들기 위해 페이스북과 인스타그램에서 개발한 오픈소스 자바스크립트 라이브러리로써, 사용자 인터페이스(User Interface)에 집중하며, Virtual DOM을 통해 속도와 편의를 높이고, 단방향 데이터플로우를 지원하여 보일러플레이트 코드를 감소시켜, 많은 사람들이 React를 MVC의 V를 고려하여 선택한다. 즉, React는 지속해서 데이터가 변하는 대규모 어플리케이션의 구축이라는 하나의 문제를 풀기 위해서 만들어졌다. 아래는 React에서 장점들이다. 단순함 : 당신의 어플리케이션이 어떤 주어진 시점에 어떻게 보여야 할지를 단순하게 표현함으로써, React는 그 데이터들이 변할 때, 자동적으로 모든 UI ..

Tistory

이클립스 플러그인 추가

Eclipse Piug-in 추가 Eclipse에 플러그인을 추가하는 방법에는 두 가지가 있습니다. 첫 번째 방법은 플러그인을 직접 복사해서 설치하는 방법이고, 두 번째 방법은 Eclipse에서 제공하는 Software Update Manager를 활용하는 방법이다. 직접 복사하는 방법 설치하고자 하는 플러그인을 Eclipse_home/plugin 디렉터리에 복사한 다음 Eclipse를 재시작하면 새롭게 설치된 Eclipse 플러그인 기능을 활용할 수 있다. Software Update Manager를 활용하는 방법 Eclipse에서 제공하는 Software Update Manager 기능은 플러그인을 개발한 곳에서 이 기능을 사용할 수 있도록 지원하지 않으면 사용할 수 없다. Eclipse에서 Help..

Tistory

도메인이란

도메인 이름은 '인터넷에 연결된 컴퓨터들에 부여되는 교유의 문자 주소' 정도라고 보시면 됩니다. 영어로는 DNS(Domain Name System)라고 합니다. 인터넷에 연결되어 있는 컴퓨터에 접속하려면 IP 주소(Internet Protocol Address)를 알아야 합니다. 그런데 IP 주소는 기억하기가 힘듭니다. 매우 불편합니다. 그래서 쉽게 사이트의 주소를 기억하고 여기서 좀 더 나아가서 사이트의 특성을 파악할 수 있도록 고안된 것이 바로 '도메인 이름'입니다. 도메인은 각 컴퓨터 고유의 IP주소에 대응되는 문자로 된 인터넷 주소입니다. EX) 구글(google) 사이트 예 입니다. google . co . kr => 소속기관이름 . 소속기관 분류 . 소속국가 도메인은 크게 3단계로 구분됩니다...

Tistory

[JavaScript] Chart 라이브러리 정리

웹 개발을 하면서 사용해 본 Chart를 정리하였다. 무료인 것도 있고 조건부 무료인 차트도 있다. 대부분 사용하기에 편리하여 적용하기도 쉽고 심플하고 이쁜 디자인도 많고 예제와 설명이 잘 되어있어 좋았다. AmCharts 링크 : https://www.amcharts.com/ 예제 : http://www.amcharts.com/demos/ 유료 라이선스 이지만 조건부 무료이다. 사용해 본 라이브러리 중에 기능이 엄청 많고 디자인이 제일 깔끔하다. 라이선스 비용은 개인이 사용하기에는 부담이 될 수 있지만, 차트에 개발사 링크가 출력되는 조건만 지키면 무료로 사용 가능하다. HighCharts 링크 : https://www.highcharts.com/ amCharts와 같이 조건부 무료입니다. Angul..

Tistory

[Angular] 강좌 추천

Angular 강좌 추천 작년에 Angular1 즉 AngluarJS를 Spring Framework + Spring JPA + MySQL 합쳐서 연동하여 개발을 하였었다. 그 때에 AngularJS를 처음 접해보았고, 제가 아는 분에게 배우기도 해서 일부분을 개발하다가 하나의 프로젝트를 처음부터 만들어 봤었다. 그 이후로 Angular를 사용하지 않았었는데, 지금 벌써 Angular 6 버전까지 나와서 놀랐다. 아래 URL은 Angular 6 은 아니지만 Angular 5 버전 강좌다. NodeJS 와 Typescript 가 대세여서 공부해보려고 하다가 Angular를 다시 보게 되어 찾다가 이 강좌가 설명이 너무 잘 되어 있어서 공부를 하는 중이다. 여러모로 감사합니다. URL: https://moo..

Tistory

[Cesium] 초기 설정

GIS 관련 프로젝트를 하다 보니 오픈소스인 CesiumJS 나 Openlayers 라이브러리를 사용하게 되었다. 최근에는 2D, 3D 모드가 가능한 CesiumJS를 주로 사용하게 되었다. Cesium 이란? 순수 웹 기불을 이용한 3D Globe 엔진 WebGL 기반 다양한 배경 영상/지도 기본 제공 3D / 2.5D / 2D 모드 지원 -> Openlayers3에 통합 카메라 움직임 추적, 시간 시뮬레이션 등 다양한 기능 제공 Cesium 을 시작할 때 초기 설정이 복잡하다. 아래 두 개의 링크를 따라가서 따라 하면 쉽게 할 수 있다. 하지만 웹에서 커스터마이징을 하기 위해 아래 코드처럼 Cesium에서 지원하는 기본적인 기능들을 끄고 지도만 보이도록 설정해야 한다. API들은 문서나 인터넷 검색으..

Tistory

이것이 C#이다

책 정보 책 소개 한 번 배울 때 제대로, 기본기부터 탄탄히 다지고 간다! 이 책은 C#. NET 프레임워크 세계에 첫 발을 들이는 입문자를 위한 책이다. 따라서 딱딱하지 않은 대화식 표현으로 1:1 강의처럼 배울 수 있는 것이 이 책의 가장 큰 장점이다. 또한 C#의 핵심 문법은 물론, 프로그래밍 동작 원리까지도 입문자 입장에서 하나하나 꼼꼼히 설명하였다. 책을 덮을 때쯤이면 기초 문법부터, 고급 문법, 그리고. NET 프레임워크의 활용까지 C#의 전반적인 큰 틀을 자연스레 익힐 수 있을 것이다.『이것이 C#이다』로 C# 프로그래밍을 시작한다면, 튼튼한 기본기가 갖춰져, 더 이상 실전과 응용도 두렵지 않습니다. 리뷰 개발 서적을 구매하고 공부하는 것을 좋아해서 찾아보다가 예전부터 알개발해 보고 싶었던 ..

Tistory

[Web Design] Metronic Dashboard

대시보드 템플릿 웹 개발을 하다 보면 작은 프로젝트인데도 디자인 요청이 있다. 그럴 때마다 디자인된 부트스트랩 기반 템플릿을 찾곤 했었다. 매번 디자인이 아쉽고 템플릿을 사용하여도 직접 CSS를 작업하는 경우가 많았는데 지인의 추천으로 Metronic을 알게 되었다. Metronic - Responsive Admin Dashboard Template The World’s #1 Bootstrap 4 HTML, Angular 9, React, VueJS & Laravel Admin Dashboard Theme 이 템플릿은 사용하기도 편하고 디자인도 요즘 트렌드에 맞게 계속 업데이트를 하고 있다. 알아둘 점은 유료다. 구매비용이 저렴한 것에 비해 다양한 컴포넌트들이 있고 10가지 이상의 템플릿을 제공해 준다...

Tistory

[Android] Tab 구성 시 주의사항

FragmentStatePagerAdapter의 getItem() 이 두 번 호출될 때 Viewpager를 사용하여 Tab을 구성하였을 때 FragmentStatePagerAdapter를 사용하였다. 탭에 추가한 Fragment 와는 상관없이 getItem()이 두 번 호출이 되어서 Fragment를 두 번 로드하게 되는 현상 때문에 문제가 생겨 꼬이게 되었다. 이럴 경우 Fragment 화면이 보일 때와 보이지 않을 때 setUSerVisiblaHint() 함수를 사용하여 처리하는데 탭에 추가한 Fragment 가 전부 로드되지 않았다. 어중간하게 두 개의 화면만 로드되었기 때문에 다른 탭을 누르거나 다시 돌아왔을 때 setUSerVisiblaHint()와 onCreateView() 함수가 비정상적으로..

Tistory

깡샘의 안드로이드 프로그래밍

책 정보 책 소개 이 책은 각 챕터마다 안드로이드 프로그램과 각 기능이 어떠한 구조로 어떻게 작동하는지 그 원리를 파악하는 데 주력합니다. 그리고 이를 구현하는 핵심 코드를 알아본 다음, 이를 종합하여 실제 상용 앱에서 많이 사용하는 기능을 직접 개발해 보는 실습을 진행합니다. 그리고 각 파트별로 도전 과제를 통해 학습자 스스로 주어진 조건에 맞는 앱을 만들어봄으로써 앞에서 배운 이론과 실습을 복기하고 문제 해결 능력을 기를 수 있게 구성하였습니다. 한 마디로 체계적이고 따라 하기 쉽습니다. 리뷰 최근에 안드로이드를 다시 공부하면서 보는 책이다. 안드로이드 스튜디오 3.0 기반으로 개발할 수 있도록 해주며, 끝에는 Kotlin 까지 나온다. 그리고 예제도 다양하여 도움이 많이 되었다.

Tistory

리액트를 다루는 기술

책 정보 책소개 리액트를 이해하기 위한 핵심 개념은 물론이고 어떤 상황에서 어떻게 사용해야 하는지, 왜 이렇게 사용하는 것이 효과적인지를 배우자. 공식 문서에는 나오지 않는 실전 노하우와 팁을 풍부하게 담았다. 또한, 프로젝트 생성부터 코드를 작성 및 개선하고, 배포하기까지 실무에 바로 응용할 수 있도록 예제를 준비했다. 일정 관리 애플리케이션을 만들면서 리액트의 기본기를 다지고, 프로젝트를 진행하면서 컴포넌트 스타일링, 상태 관리, API 연동, 라우팅, 코드 스플리팅, 서버사이드 렌더링 등 리액트를 활용한 다양한 기술을 사용해 보자. 마지막으로 마크다운 기반의 블로그 시스템을 만들며 배운 지식을 종합적으로 활용해 보자. 리뷰 작년에 처음으로 AngularJS를 사용하여 프로젝트를 하면서 접한 이후로 ..

Tistory

직장에서 슈퍼스타로 만들어 줄 10가지 ChatGPT 프롬프트

업무에 ChatGPT를 사용하지 않는다면 동료들에게 많은 면에서 뒤처지고 있다고 확신합니다. ChatGPT 및 기타 AI 도구를 사용하면 생산성을 높이고, 시간을 효율적으로 관리하며, 비용을 절감하고, 직장 내 커뮤니케이션(이메일)을 효과적으로 수행하여 스타가 될 수 있는 잠재력을 가지고 있습니다. 직장 내 커뮤니케이션 전문가가 되기 위한 10가지 미친 ChatGPT 프롬프트를 사용해보세요. 1. 보상 검토 요청 "보상 검토를 위해 [HR/관리자]에게 공식적이고 사실적인 스타일의 200자 내외의 이메일을 작성하여 역할[직위], 성과[주요 업적], 시장과의 연계성을 언급하세요." 2. 직장 내 갈등 해결 "[관련된 개인/팀]과 관련된 직장 내 갈등, 그 영향, 해결 단계 요청에 대해 [인사팀 또는 관련 기..

Tistory

TypeScript vs JavaScript

이 글에서는 JavaScript와 TypeScript를 비교하여 TypeScript로 전환할 때 정보에 입각한 선택을 할 수 있도록 도와드립니다. ES6/7의 친숙한 구문과 TypeScript가 제공하는 추가 기능을 통해 TypeScript로 개발 환경을 개선하는 방법을 살펴봅니다. ES6, ES7(각각 ECMAScript 2015 및 ECMAScript 2016이라고도 함), JavaScript 및 TypeScript는 서로 연관되어 있지만 서로 다른 용도로 사용되며 뚜렷한 특징이 있습니다. 이러한 용어를 세분화하여 비교해 보겠습니다. JavaScript JavaScript는 주로 프런트엔드 웹 개발에 사용되는 동적이고 높은 수준의 해석된 프로그래밍 언어입니다. 모든 최신 웹 브라우저에서 지원됩니다. ..

Tistory

프로젝트 관리 기술 향상을 위한 ChatGPT 프롬프트

오늘날 빠르게 변화하는 세상에서 효과적인 프로젝트 관리는 성공을 위해 매우 중요합니다. 이것이 바로 ChatGPT 프롬프트가 등장하는 곳입니다. 이 블로그 게시물에서는 ChatGPT 프롬프트가 어떻게 프로젝트 관리 프로세스를 간소화하고 자세한 가이드와 귀중한 통찰력을 제공하는지 살펴보겠습니다. ChatGPT 프롬프트가 프로젝트 관리에 어떤 이점이 있나요? 효율적인 작업 계획 프로젝트 계획과 관련된 프롬프트를 ChatGPT에 제공하여 작업 목록, 타임라인, 일정을 생성하세요. 프로젝트 작업을 효과적으로 정리하여 적시에 완료할 수 있도록 도와줍니다. 위험 평가 및 완화 프롬프트를 사용하여 잠재적 위험을 식별하고 완화 전략을 개발하세요. ChatGPT는 프로젝트 데이터를 분석하고 가능한 문제에 대한 인사이트를..

Tistory

Google Gemini vs. OpenAI ChatGPT

인공 지능의 영역은 현재 텍스트 생성 분야에서 두 거대 기업의 흥미로운 대결에 몰두하고 있습니다: 구글의 Gemini와 OpenAI의 ChatGPT입니다. 두 모델 모두 놀라운 기능을 선보이지만 방법론에서 큰 차이가 있으며 다양한 애플리케이션에 고유한 가능성을 제공합니다. 2023년에 출시된 구글 Gemini는 텍스트와 시각적 콘텐츠를 모두 이해하고 생성할 수 있는 멀티모달 AI 언어 모델입니다. 반면, 2022년 11월에 공개된 OpenAI의 ChatGPT는 텍스트 생성 및 이해 영역에서 탁월한 능력을 발휘하는 텍스트 중심 AI 언어 모델입니다. SWOT 분석 강점 구글 제미니 멀티모달리티: 텍스트와 비주얼을 모두 처리하고 생성하는 Gemini의 탁월한 능력은 더욱 다양한 콘텐츠로 사용자 경험을 풍부하..

Tistory

수백 시간을 절약할 수 있는 ChatGPT 프롬프트 상위 8가지

ChatGPT는 일상적인 업무에서 벗어나 생산성을 높여주는 수호천사와 같은 존재입니다. ChatGPT를 사용하지 않는다면 여러 가지 면에서 뒤처지고 있다고 확신합니다. 이 8가지 놀라운 ChatGPT 프롬프트를 사용하여 수백 시간을 절약하고, 생산성을 높이고, 몇 시간씩 걸리는 작업을 몇 분 안에 끝내세요. 1. 프로젝트 관리 "여러 팀이 참여하는 [새 프로젝트]를 시작하려고 합니다. 효과적인 커뮤니케이션과 실행을 위해 명확한 목표, 마일스톤, 작업 할당, 추적 일정이 포함된 프로젝트 계획 템플릿을 만들 수 있나요?" 2. 맞춤형 재정 조언 "재무 건전성과 금융 이해력을 향상시키고 싶습니다. 현재 [재정 상황]과 [장기 목표]를 고려하여 [부채]를 관리하고, 저축을 늘리고, [현명한 투자]를 할 수 있는..

Tistory

자바스크립트에서 객체를 만드는 5가지 방법

자바스크립트에서 객체는 다양한 방식으로 생성할 수 있는 다용도 도구로, 각기 다른 시나리오에 적합합니다. 각 방법을 언제 사용해야 하는지 이해하는 것이 효율적이고 유지 관리가 쉬운 자바스크립트 코드를 작성하는 데 중요합니다. 자바스크립트에서 객체를 만드는 5가지 일반적인 방법을 살펴보고 각 방법에 가장 적합한 사용 사례를 자세히 설명해 보겠습니다. 1. 객체 리터럴(Object Literal) 객체 리터럴은 중괄호 {}를 사용하여 자바스크립트에서 객체를 생성하는 가장 간단하고 빠른 방법입니다. 이 방법은 청사진이나 반복적인 인스턴스화가 필요 없는 단일 독립형 객체를 생성하는 데 이상적입니다. const car = { make: 'Toyota', model: 'Corolla', year: 2021, }; ..

Tistory

최첨단 디스플레이 기술: MWC 2024의 최고의 혁신

2월 26일부터 3월 1일까지 스페인 바르셀로나에서 개최된 MWC(Mobile World Congress) 2024는 모바일 기술 및 그 이상의 최신 발전을 선보이는 글로벌 플랫폼으로서의 입지를 다시 한 번 공고히 했습니다. 업계 대기업부터 신생 스타트업까지 다양한 참가자들이 우리가 주변 세계와 연결하고, 일하고, 상호 작용하는 방식에 혁신을 가져올 획기적인 혁신 기술을 선보였습니다. MWC 2024에서 주목을 받은 가장 매력적인 제품 5개는 다음과 같습니다. 1. HoloLens 3: Microsoft의 차세대 증강 현실 헤드셋 Microsoft는 혼합 현실 헤드셋의 최신 버전인 홀로렌즈(HoloLens) 3를 공개하며 많은 기대를 모았습니다. 더 넓은 시야각, 향상된 해상도, 향상된 손 추적 기능을 ..

Tistory

목표 설정에 ChatGPT를 사용하는 방법

목표 설정에 ChatGPT를 사용하려면 모델과 구조화된 대화를 통해 목표를 명확히 하고, 잠재적인 장애물을 파악하며, 목표 달성을 위한 실행 가능한 단계를 만들어야 합니다. 다음은 목표 설정에 ChatGPT를 활용하는 방법에 대한 단계별 가이드입니다. 1. 목표 정의하기 목표를 명확하게 정의하는 것부터 시작하세요. 무엇을 달성하고 싶으신가요? 목표가 구체적이고, 측정 가능하며, 달성 가능하고, 관련성이 있고, 시간 제한이 있는(SMART) 목표인지 확인하세요. 2. 개방형 대화 목표를 설명하여 ChatGPT와 대화를 시작하세요. 다음과 같은 개방형 질문이나 프롬프트를 사용하여 대화를 유도하세요. [특정 목표]를 달성하고 싶은데, 그 목표에 도달하는 방법에 대한 지침을 찾고 있습니다. 아이디어를 브레인스토..

Tistory

TypeScript 컴파일러(tsc) 및 tsconfig

TypeScript 컴파일러(tsc)와 구성 파일(tsconfig.json)에 대해 살펴봅니다. 컴파일러 옵션과 구성을 이해하는 것은 TypeScript 워크플로를 최적화하는 데 필수적입니다. 다양한 컴파일러 옵션과 tsconfig.json의 중요성, 그리고 이러한 도구를 활용하여 TypeScript 개발 프로세스를 간소화하는 방법을 살펴보세요. TypeScript 컴파일러(tsc) 1. tsc란 무엇인가요? tsc는 TypeScript 컴파일러입니다. TypeScript 코드(.ts 또는 .tsx 파일)를 가져와서 JavaScript 런타임에서 실행할 수 있는 JavaScript 코드(.js 파일)로 컴파일합니다. 2. tsc 설치 방법 npm(Node Package Manager)을 사용하여 tsc를..

Tistory

번역을 위한 ChatGPT 프롬프트 베스트 10

효율적이고 신뢰할 수 있는 번역 도구를 찾고 계신가요? ChatGPT만 있으면 됩니다! OpenAI에서 개발한 최첨단 챗봇인 ChatGPT는 뛰어난 번역 기능으로 인기를 얻고 있습니다. 이 글에서는 번역에 가장 적합한 ChatGPT 프롬프트 10가지를 살펴보고 왜 우수한 번역을 제공할 수 있는지 설명합니다. 문서나 이메일을 번역해야 할 때나 단순히 다른 언어로 대화를 나누고 싶을 때 ChatGPT는 모든 것을 해결해 줍니다. 번역에서 ChatGPT의 힘 ChatGPT는 강력한 신경망을 활용하여 다양한 언어로 사람과 유사한 응답을 생성합니다. 이 기술을 활용하여 ChatGPT는 언어와 문맥의 뉘앙스에 맞는 정확한 번역을 제공할 수 있습니다. 고급 기계 학습 알고리즘을 통해 번역을 빠르게 이해하고 생성할 수..

Tistory

JavaScript에서 배열을 만드는 4가지 방법

소개 JavaScript에서 배열은 여러 값을 저장하는 데 사용되는 참조 데이터 유형입니다. 이러한 값은 문자열, 숫자, boolean(true/false), null, undefined, 객체 또는 기타 배열일 수 있습니다. JavaScript에서는 여러 가지 방법으로 배열을 만들 수 있으며, 각 방법에는 고유한 장점과 고유한 사용 사례가 있습니다. JavaScript 개발자는 이러한 다양한 방법을 이해함으로써 특정 시나리오에 맞게 성능을 최적화하고, 코드 명확성을 높여 유지보수를 용이하게 하며, 다양한 프로그래밍 상황에 가장 적합한 배열 구성 기법을 적용할 수 있습니다. 1. Array Literal 사용 Array Literal은 배열을 만드는 가장 일반적이고 간단한 방법입니다. 쉼표로 구분..

Tistory

TypeScript 사용법 및 JavaScript와의 비교

Type Annotation 및 Type 추론 TypeScript 예제 let userName: string = 'Alice'; function getUserAge(user: { name: string; age: number }): number { return user.age; } JavaScript 예제 let userName = 'Bob'; function getUserAge(user) { return user.age; } TypeScript를 사용하면 개발자가 변수, 함수 매개변수 및 반환값의 타입을 명시적으로 정의할 수 있습니다. JavaScript 변수의 타입은 런타임에 추론되며 Type Annotation은 사용할 수 없습니다. 인터페이스와 클래스 TypeScript 예제 interface U..

Tistory

AI로 수익을 창출하는 방법

오늘날 디지털 시대의 역동적인 환경에서 인공지능(AI)은 단순한 유행이 아니라 그 잠재력을 탐구하려는 사람들에게 수익성 높은 기회를 제공하는 게임 체인저입니다. 개인과 기업이 AI의 힘을 활용하여 수익을 창출하는 방법에 대한 종합적인 가이드를 소개합니다. 1. AI 프리랜서 프리랜서 플랫폼에서 AI 기술을 제공하여 긱 경제(Gig Economy)를 활용하세요. 머신러닝, 자연어 처리, 컴퓨터 비전 등 AI 전문 지식에 대한 수요가 점점 더 커지고 있습니다. Upwork와 Freelancer 같은 플랫폼은 숙련된 개인과 AI 솔루션을 찾는 기업을 연결해 줍니다. 2. AI 컨설팅 AI 컨설턴트로 자리매김하세요. 많은 기업이 AI를 비즈니스에 통합하고 싶어 하지만 전문 지식이 부족합니다. 전략적 조언을 제공..

1 2 3 4