728x90
인기 글
최신 글
Typescript에서 type과 interface의 특징과 차이점
Typescript2024.05.07 21:21Typescript에서 type과 interface의 특징과 차이점

타입스크립트(TypeScript)에서 타입을 정의할 때, 사용하는 두 가지 개념이 있습니다. type과 interface입니다. 이 두 구조는 타입스크립트에서 데이터의 형태를 정의하는 데 사용되지만, 그 사용법과 목적에서 약간의 차이가 있습니다. type과 interface의 기본 사용법차이점을 살펴보기 전에 두 개념의 사용법에 대해 먼저 살펴봅시다. 타입(type)type은 interface보다 보다 유연하게 타입을 정의할 수 있습니다. 객체 형태뿐만 아니라, 유니온(Union), 인터섹션(Intersection), 튜플(Tuple) 등 다양한 타입의 조합을 만들어낼 수 있습니다.type Point = { x: number; y: number;};type ID = string | number;con..

flutter에서 auto_route로 라우팅을 간편하게 구현
Flutter2024.05.07 18:51flutter에서 auto_route로 라우팅을 간편하게 구현

auto_routeauto_route는 Flutter에서 route 내용의 코드를 자동으로 생성해주는 라이브러리입니다. auto_route는 라우트 관리를 단순화시켜주고, 코드의 반복을 줄여주기 때문에 유지 보수 측면에서 용이합니다. 의존성 추가필요한 의존성을 추가합니다.flutter pub add auto_routeflutter pub add --dev auto_route_generator build_runner auto_route_generator와 build_runner는 라우팅 관련 코드를 생성하기 위해 필요합니다. 구현screen 파일 생성화면에 띄울 HomeScreen와 FirstScreen 파일을 생성합니다.// home_screen.dartimport 'package:auto_route/a..

python과 pyupbit로 호가 주문 취소하기
IT2024.05.03 20:50python과 pyupbit로 호가 주문 취소하기

pyupbit 라이브러리 설치pyupbit는 업비트 거래소의 API를 파이썬에서 쉽게 사용할 수 있도록 만든 라이브러리입니다. 본 글에서는 해당 라이브러리를 사용하여 주문을 취소하는 메서드를 구현하도록 하겠습니다. pyupbit 라이브러리를 설치합니다pip install pyupbit 기능 구현pyupbit에 Upbit 생성자에 access_key와 secret_key를 넘겨줘야 합니다. 키 값은 아래 글을 참고하여 생성할 수 있습니다. 업비트 Open API 신청하는 방법 가이드 (키 발급)업비트 Open API 키 발급 가상화폐 거래소 업비트(Upbit)의 Open API를 사용하기 위해서는 API 호출을 위한 키 값을 발급받아야 합니다. 본 글에서는 키 값을 발급 받는 방법에 대해 하나씩 소개합니다..

Frontend
flutter에서 auto_route로 라우팅을 간편하게 구현
flutter에서 auto_route로 라우팅을 간편하게 구현
Flutter
2024.05.07 18:51
auto_routeauto_route는 Flutter에서 route 내용의 코드를 자동으로 생성해주는 라이브러리입니다. auto_route는 라우트 관리를 단순화시켜주고, 코드의 반복을 줄여주기 때문에 유지 보수 측면에서 용이합니다. 의존성 추가필요한 의존성을 추가합니다.flutter pub add auto_routeflutter pub add --dev auto_route_generator build_runner auto_route_generator와 build_runner는 라우팅 관련 코드를 생성하기 위해 필요합니다. 구현screen 파일 생성화면에 띄울 HomeScreen와 FirstScreen 파일을 생성합니다.// home_screen.dartimport 'package:auto_route/a..
RPS를 활용하여 pubspec.yaml에서 scripts 정의하고 사용하기
RPS를 활용하여 pubspec.yaml에서 scripts 정의하고 사용하기
Flutter
2024.05.03 12:49
Run Pubspec Script (RPS)node 프로젝트에서는 package.json의 scripts를 사용해서 정의해둔 스크립트를 명령어 하나로 수행할 수 있지만, flutter에서는 기본적으로 제공해주고 있지 않습니다. RPS (Run Pubspec Script) 툴을 사용하면 동일한 기능을 사용할 수 있습니다. 툴 설치rps 라이브러리를 global scope로 설치합니다.dart pub global activate rps rps 명령어 사용을 위해, 환경변수를 추가합니다.vim ~/.zshenv# ~/.zshenv# flutterexport PATH="$PATH:$HOME/.pub-cache/bin" pubspec.yaml에 원하는 scripts를 추가합니다.scripts: run: flut..
Flutter에서 WidgetsFlutterBinding.ensureInitialized() 역할
Flutter에서 WidgetsFlutterBinding.ensureInitialized() 역할
Flutter
2024.05.03 10:34
Flutter 엔진 및 플러그인 초기화Flutter에서 WidgetsFlutterBinding.ensureInitialized() 메서드는 Flutter 앱이 실행되기 전에 앱의 루트 위젯 생성, 리소스 로딩, 플러그인 초기화 등의 필요한 초기화 작업을 수행합니다. 일반적으로 main() 함수나 애플리케이션의 진입점에서 호출하여 사용합니다. (진입점에서 호출해야 애플리케이션이 시작될 때, 모든 초기화가 완료된 후 앱을 수행할 수 있기 때문) 초기화하는 영역을 자세하게 살펴보면, Flutter 엔진 초기화Flutter 엔진은 그래픽 렌더링, 이벤트 처리, 상태 관리 등과 같은 핵심 기능을 담당합니다. WidgetsFlutterBinding.ensureInitialized()는 Flutter 엔진을 초기화하..
React와 WebRTC를 활용하여 실시간 화상 채팅 구현하기
React와 WebRTC를 활용하여 실시간 화상 채팅 구현하기
React
2024.04.28 11:00
시그널링 서버(signaling server)실시간 화상채팅을 구현하기 전에 Signaling 서버에 대해 알아야 합니다. WebRTC에서 시그널링 서버(signaling server)는 매우 중요한 역할을 합니다. 이 서버는 WebRTC 연결을 구성하기 위해 필요한 메타데이터와 control 메시지를 주고받는 데 사용됩니다. 시그널링 서버는 peer-to-peer 간의 초기 설정, 네트워크 정보 교환, 세션 관리 등을 합니다. WebRTC 프로토콜 자체에서 제공해주는 기능은 아니기 때문에 시스템 구조 및 상황에 맞게 개발자가 시그널링 프로세스를 구현해야 합니다. (예를들어, 화상 채팅 앱을 만든다면, 인증 및 채팅 방을 관리하기 위한 프로세스가 필요합니다. 이런 프로세스를 직접 시그널링 서버에 구현해햐..
Programming
Typescript에서 type과 interface의 특징과 차이점
Typescript에서 type과 interface의 특징과 차이점
Typescript
2024.05.07 21:21
타입스크립트(TypeScript)에서 타입을 정의할 때, 사용하는 두 가지 개념이 있습니다. type과 interface입니다. 이 두 구조는 타입스크립트에서 데이터의 형태를 정의하는 데 사용되지만, 그 사용법과 목적에서 약간의 차이가 있습니다. type과 interface의 기본 사용법차이점을 살펴보기 전에 두 개념의 사용법에 대해 먼저 살펴봅시다. 타입(type)type은 interface보다 보다 유연하게 타입을 정의할 수 있습니다. 객체 형태뿐만 아니라, 유니온(Union), 인터섹션(Intersection), 튜플(Tuple) 등 다양한 타입의 조합을 만들어낼 수 있습니다.type Point = { x: number; y: number;};type ID = string | number;con..
Javascript의 var / let / const 의 스코프와 재할당 가능 여부
Javascript의 var / let / const 의 스코프와 재할당 가능 여부
Javascript
2024.03.07 00:57
자바스크립트(Javascript)에서 변수를 선언하는 키워드에는 var, let, const가 있습니다. 각각의 키워드는 모두 변수를 선언하는 것은 동일하지만, 스코프(scope), 호이스팅(hoisting), 재할당 가능 여부의 차이를 가지고 있습니다. 본 글에서는 이 세 가지 변수 선언을 위한 키워드의 차이점을 소개합니다. 스코프(Scope)스코프는 변수가 코드 내에서 접근 가능한 범위를 의미합니다. var, let, const는 각각 아래와 같은 스코프를 가집니다.var: 함수 레벨 스코프(function-level scope)let: 블록 레벨 스코프(block-level scope)const: 블록 레벨 스코프(block-level scope)블록 레벨 스코프(block-level scope)를..
Javascript에서 진정한 난수(랜덤한 수)를 생성하는 방법
Javascript에서 진정한 난수(랜덤한 수)를 생성하는 방법
Javascript
2024.02.28 22:38
자바스크립트의 Math.random() 함수는 간편하게 사용할 수 있는 난수 생성기이지만, 알고리즘에 의해 생성되는 의사 난수(pseudorandom number)를 반환합니다. 이는 실제로 완벽한 무작위성을 제공하지 않습니다. 특히 보안이 중요한 애플리케이션에서는 이러한 의사 난수가 적합하지 않을 수 있습니다. 따라서, 보다 안전한 난수를 필요로 할 때는 다른 방법을 모색해야 합니다. 본 글에서는 진정한 난수를 생성하는 방법에 대해 설명합니다. 의사 난수란? 우선 의사 난수(pseudorandom number)에 대해 알아야합니다. 의사 난수는 난수처럼 보이지만, 실제로는 초기값(seed)에 따라 결정되는 알고리즘을 통해 생성된 숫자입니다. 이는 결국 예측 가능하다는 의미이며, 같은 시드 값을 가지고 ..
Javascript에서 random() 함수를 사용하여 랜덤한 값 생성하기
Javascript에서 random() 함수를 사용하여 랜덤한 값 생성하기
Javascript
2024.02.28 22:21
자바스크립트(JavaScript)에서 무작위 수를 생성하는 것은 개발하면서 종종 사용하는 함수 중 하나입니다. 예를들어, 게임, 무작위 테스트 데이터 생성, 보안 분야 등에서 중요한 역할을 합니다. 본 글에서는 자바스크립트의 Math.random() 함수를 통해 어떻게 무작위 수를 생성하는지, 그리고 그 활용 방법에 대해 설명합니다. Math.random() 함수란? 자바스크립트의 Math.random() 함수는 0 이상 1 미만의 범위에서 소숫점 형태의 무작위 수를 생성합니다. 이 함수는 매개변수를 필요로 하지 않으며, 사용하는 방법도 매우 간단합니다. const randomNumber = Math.random(); console.log(randomNumber); // 예: 0.123456789 무작위..
IT
python과 pyupbit로 호가 주문 취소하기
python과 pyupbit로 호가 주문 취소하기
IT
2024.05.03 20:50
pyupbit 라이브러리 설치pyupbit는 업비트 거래소의 API를 파이썬에서 쉽게 사용할 수 있도록 만든 라이브러리입니다. 본 글에서는 해당 라이브러리를 사용하여 주문을 취소하는 메서드를 구현하도록 하겠습니다. pyupbit 라이브러리를 설치합니다pip install pyupbit 기능 구현pyupbit에 Upbit 생성자에 access_key와 secret_key를 넘겨줘야 합니다. 키 값은 아래 글을 참고하여 생성할 수 있습니다. 업비트 Open API 신청하는 방법 가이드 (키 발급)업비트 Open API 키 발급 가상화폐 거래소 업비트(Upbit)의 Open API를 사용하기 위해서는 API 호출을 위한 키 값을 발급받아야 합니다. 본 글에서는 키 값을 발급 받는 방법에 대해 하나씩 소개합니다..
Media Stream 정의와 Streaming 기술 요소
Media Stream 정의와 Streaming 기술 요소
IT
2024.05.02 21:18
Media Stream미디어 스트림(Media Stream)은 디지털 형태의 오디오, 비디오 또는 기타 멀티미디어 컨텐츠를 실시간으로 또는 온디맨드(On-Demand)로 전송하는 기술을 말합니다. 여기서 온디맨드는 사용자가 원하는 시간에 원하는 컨텐츠를 소비할 수 있는 서비스를 말합니다. 스트리밍(Streaming)은 컨텐츠를 다운로드 받지 않고, 미디어를 보거나 듣게 해줍니다. 즉, 컨텐츠를 연속적으로 수신하여 재생할 수 있게 해주는 데이터 흐름(flow)이라고 생각하면 됩니다. Streaming 주요 기술 요소컨텐츠 캡처 및 인코딩원본의 컨텐츠는 고해상도의 비디오 카메라와 마이크를 통해 만들어집니다. 이런 데이터는 비디오 포맷(H.264, H.256) 및 오디오 포맷(AAC, MP3) 형태로 인코딩 ..
파이썬으로 RSI 계산하기 (업비트(Upbit) Open API 활용)
파이썬으로 RSI 계산하기 (업비트(Upbit) Open API 활용)
IT
2024.03.04 23:17
코인이나 주식에서 트레이딩하는 투자자들은 다양한 기술적 분석 도구를 사용합니다. 분석을 위해 많이 보는 지표 중 RSI(Relative Strength Index, 상대강도지수)는 매우 인기 있는 지표 중 하나입니다. 본 글에서는 RSI의 개념을 설명하고, pyupbit 라이브러리와 업비트 Open API를 활용하여 RSI를 계산하는 방법에 대해 소개합니다.RSI란?RSI는 1978년에 J. Welles Wilder가 개발하였으며, 시장의 모멘텀을 분석하는 데 유용합니다. RSI는 0에서 100 사이의 값을 가지며, 특정 자산의 가격 변동성을 측정하는 지표입니다. 일반적으로 RSI 값이 70 이상이면 과매수(overbought) 상태로 가격 하락이 예상되고, 30 이하면 과매도(oversold) 상태로 ..
Kohya_ss를 이용하여 LoRA 트레이닝 (Stable Diffusion)
Kohya_ss를 이용하여 LoRA 트레이닝 (Stable Diffusion)
IT
2024.02.12 14:18
학습할 이미지 수집 LoRA 트레이닝을 위한 이미지를 20장 수집합니다. 본 글에서는 시바이누 강아지 사진을 준비했습니다 이미지 tagger 생성 Tagger 플러그인 설치 수집한 이미지에 맞는 tagger 파일을 만들어야 하는데, stable diffusion의 extension으로 tagger를 생성할 수 있습니다. Extensions > Available 에서 Load from 버튼을 클릭합니다. 저는 이미 설치를 했지만, 아래 사진과 같이 stable-diffusion-webui-wd14-tagger를 Install 합니다. Extensions > Installed > Apply and restartUI 버튼을 눌러서 재시작합니다. stable diffusion이 재실행되면, 이전에는 없던 Tag..
리뷰
블로그
Berry Skin v4 적용 방법 가이드
Berry Skin v4 적용 방법 가이드
스킨 구입 및 스킨 다운로드 스킨 구입 해당 스킨은 유료로 판매합니다. 스킨을 개발하기 위해 노력한 대가로 금액은 커피 한잔 가격인 5000원 이상부터 사용자님이 지불하고 싶은 만큼 보내주시면 됩니다. 자세한 구입 및 스킨 다운로드 방법은 아래 "카카오톡 채널"을 이용해주세요! (평일 낮에는 연락이 늦어질 수 있습니다) Tistory Berry Skin 티스토리 Berry Skin의 업데이트 정보를 받거나 결제하여 자신의 티스토리 블로그에 적용해보세요 pf.kakao.com 스킨 다운로드 스킨 구입 후 아래 다운로드 사이트에서 이메일로 전달받은 비밀번호를 입력합니다. Berry Skin v4 다운로드 bluemiv.tistory.com 스킨 적용하기 스킨 등록하기 티스토리 관리자 페이지로 들어갑니다. "..
티스토리 커스텀 스킨 Berry Skin v4 배포
티스토리 커스텀 스킨 Berry Skin v4 배포
회사 다니면서 신경을 못쓰다가, 다시 블로그 열심히 해볼겸 오랜만에 업데이트합니다. 블로그도 신설했습니다. (이전에는 개발 관련된건만 작성했는데, 이번엔 여러가지 쓰고 싶은거 다 기록 남기려고 합니다) Berry Skin v4 처음 berry skin을 만들기 시작한건 제가 사용하려고 만든거였는데, 생각보다 사람들이 많이 사용해주셔서 뿌듯하기도 하고 재밌다보니 v4까지 만들게 된거 같네요. 감사의 인사를 드립니다. 스킨 특징 반응형 디자인 웹 / 테블릿 / 모바일 등 다양한 디바이스에도 최적화된 UI/UX를 제공해줍니다. 테마 Light 테마와 Dark 테마를 지원합니다. 헤더에 해/달 모양의 아이콘을 누르면 변경할 수 있습니다. cover 제공 berry skin v3 까지는 cover 기능을 제공하지..
카카오 에드핏, 광고를 설치한 이후 심사 진행 가능 (광고 설치 방법)
카카오 에드핏, 광고를 설치한 이후 심사 진행 가능 (광고 설치 방법)
블로그 운영
2023.10.24 09:32
카카오 에드핏 광고 설치 카카오 에드핏을 티스토리 블로그에 추가하려고 했는데, 심사를 받으니 아래와 같은 문구와 함께 보류되었습니다. "광고를 설치한 이후 심사 진행이 가능합니다. 광고 설치 후 재심사를 요청하여 주십시오." 아무래도 다른 설정이 필요한 듯하여, 구글 검색을 통해 찾아봤는데 adfit 사이트에서 광고를 하나 달아줘야 한다고 하더군요 Adfit 광고 설치 우선 아래 사이트로 들어갑니다. 그리고 카카오 로그인을 합니다. https://adfit.kakao.com/dashboard 이후 "광고 관리" > "광고 단위"로 들어갑니다. "광고단위" 생성 버튼을 클릭합니다. 티스토리 관리자 페이지 > 플러그인 > 배너출력을 사용으로 변경합니다 그 다음 티스토리 관리자 페이지 > 꾸미기 > 사이드바..
구글 서치 콘솔 티스토리 sitemap.xml을 가져올 수 없음
구글 서치 콘솔 티스토리 sitemap.xml을 가져올 수 없음
블로그 운영
2023.10.20 11:28
sitemap.xml을 "가져올수 없음" 문제 제가 작성한 글이 구글 검색에 제대로 노출이 되도록 하려면, 티스토리 블로그의 sitemap을 구글 서치콘솔에 등록을 해야합니다. 잘 수집되던 sitemap.xml이 며칠전부터 아래와 같이 "가져올 수 없음"으로 표시되고 수집이 원활하게 안되고 있습니다. 조치방법 1. /sitemap.xml 등록 해결하기위한 방법으로 sitemap.xml이 아닌 앞에 슬래시(/)를 한번더 써서 /sitemap.xml으로 다시 등록해보는 방법입니다. 이렇게 하면 되는 경우도 있다고 하는데 모두 예전 글이라 현재는 안되는것으로 보입니다. (그래도 혹시 모르니 시도 해봐도 좋을거 같습니다) 조치방법 2. sitemap.xml 파일의 오류 사실 티스토리 블로그의 경우는 sitema..
728x90
image