์ ์ฒด ๊ธ
-
- [Network] GraphQL (with Apollo GraphQL)
GraphQL (with Apollo GraphQL)๋ค์ด๊ฐ๋ฉฐ๋ฐ์ดํฐ ์ง์ ์ธ์ด ์ค ํ๋์ธ GraphQL์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. GraphQL๊ฐ๋ Meta(Facebook)๊ฐ ๊ฐ๋ฐํ ๋ฐ์ดํฐ ์ง์ ์ธ์ด(Data Query Language)ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ ๋ฐ์ดํฐ ์์ฒญ ๋ฐ ๊ด๋ฆฌ๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ค๊ณ๋ ๊ธฐ์ REST API์ ๋์์ผ๋ก ์ฃผ๋ชฉ๋ฐ๊ณ ์์ผ๋ฉฐ, ๋ฐ์ดํฐ ์์ฒญ์ ์์ด ๋ ์ ์ฐํ๊ณ ํจ์จ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํ๋ค.ํด๋ผ์ด์ธํธ๊ฐ ์ํ๋ ๋ฐ์ดํฐ๋ง ์ ํํ ์์ฒญํ ์ ์๋๋ก ์ง์ํ๋ค.๋ฉํ(Meta)์ ์๋น์ค, Pinterest, Airbnb, AWS, Microsoft ๋ฑ ๋ง์ ๊ณณ์์ ์ด์ฉํ๊ณ ์๋ค. GraphQL | A query language for your APIEvolve your API without..
2025.01.24 -
- [React.js] ํผ(Form) ์ฒ๋ฆฌ ๋ฐฉ๋ฒ (React 19)
ํผ(Form) ์ฒ๋ฆฌ ๋ฐฉ๋ฒ (React 19)๋ค์ด๊ฐ๋ฉฐ์์ ์ฝ๋์ ํจ๊ป React 19์์ ์ ๋ฐ์ดํธ ๋ ํผ(Form) ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ๋ํ์ฌ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด๋ณธ๋ค. ์ฌ์ฉ ๋ฐฉ๋ฒ์๋์ ์ฝ๋๋ React 19์์ ์๋ก ์ถ๊ฐ๋ Form ๊ด๋ จ ๊ธฐ๋ฅ๋ค์ ์ ์ฉํ ์ฝ๋์ด๋ค. Signup.jsximport { useActionState } from 'react';import { isEmail, isNotEmpty, isEqualToOtherValue, hasMinLength,} from '../util/validation';export default function Signup() { // React 19 ์ด์์์๋ ํผ ์ ์ถ ์, formData ๊ฐ์ฒด๊ฐ ์์ฑ๋๊ณ ํจ์์ ์ธ์๋ก ๊ฐ์ ธ์ ํน์ ํ๋์ ์ ๋ ฅ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์๋ค..
2025.01.21 -
- [PyQt] ํ ์ด๋ธ(QTableWidget) ๋ด์ฉ ์ง์ฐ๋ ๋ฐฉ๋ฒ
ํ ์ด๋ธ(QTableWidget) ๋ด์ฉ ์ง์ฐ๋ ๋ฐฉ๋ฒ๋ค์ด๊ฐ๋ฉฐPyQt์ ํ ์ด๋ธ(QTableWidget)์ ๋ด์ฉ์ ์ง์ฐ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค. ๋ด์ฉ๋ฐฉ๋ฒ โ : @setRowCount(0)@ ํ ์ด๋ธ์ ํ ์๋ฅผ 0๊ฐ๋ก ์ค์ ํ์ฌ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค.๋น ๋ฅด๊ณ ๊ฐ๋จํ๊ฒ ํ ์ด๋ธ์ ํ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ฆ์ ์ ๊ฑฐํ๋ค.์ด ํค๋(Header)๋ ๊ทธ๋๋ก ์ ์ง๋๋ค.table_widget.setRowCount(0) ๋ฐฉ๋ฒ โก : @clearContents()@ํ ์ด๋ธ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋น์ฐ์ง๋ง, ํ๊ณผ ์ด์ ๊ตฌ์กฐ๋ ์ ์งํ๋ ๋ฐฉ๋ฒ์ด๋ค.์ด ํค๋์ ํ์ ๊ตฌ์กฐ๋ฅผ ์ ์งํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ค.๊ธฐ์กด์ ์ค์ ํ ํ ์์ ์ด ์๋ฅผ ์๋์ผ๋ก ์ด๊ธฐํํ๋ ค๋ฉด ์ถ๊ฐ ์์ ์ด ํ์ํ๋ค.table_widget.clearContents() ๋ฐฉ๋ฒ โข : ๋ชจ๋ ํ์ ๋ฐ๋ณตํ์ฌ..
2025.01.16 -
- [Next.js] <Link> ์ปดํฌ๋ํธ ํด๋ฆญ ์, ์ต์๋จ์ผ๋ก ์คํฌ๋กค ๋๋ ํ์ ๋ง๋ ๋ฐฉ๋ฒ
์ปดํฌ๋ํธ ํด๋ฆญ ์, ์ต์๋จ์ผ๋ก ์คํฌ๋กค ๋๋ ํ์ ๋ง๋ ๋ฐฉ๋ฒ๋ค์ด๊ฐ๋ฉฐNext.js์ @@ ์ปดํฌ๋ํธ๋ฅผ ํด๋ฆญํ๋ฉด, ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ฉด์ ์ต์๋จ์ผ๋ก ์คํฌ๋กค์ด ๋๋ค.์ด๋ฌํ ํ์์ ๋ง๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค. ๋ฐฉ๋ฒ๊ฐ๋จํ๋ค. ๋ค์๊ณผ ๊ฐ์ด @@ ์ปดํฌ๋ํธ์ @scroll@ ์์ฑ์ ๊ฐ์ @false@๋ก ์ง์ ํด์ฃผ๋ฉด ๋๋ค.import Link from 'next/link'; Move ์ฐธ๊ณ ์ฌ์ดํธ | Next.js" data-og-description="Enable fast client-side navigation with the built-in `next/link` component." data-og-host="nextjs.org" data-og-source-url="https://nextjs.org/docs/app/api-refe..
2024.12.20 -
- [React Native] ํด๋ฆญ ์, ๋ฆฌํ ํจ๊ณผ(Ripple Effect) ์ฃผ๋ ๋ฐฉ๋ฒ
ํด๋ฆญ ์, ๋ฆฌํ ํจ๊ณผ(Ripple Effect) ์ฃผ๋ ๋ฐฉ๋ฒ๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ(React Native)์์ ์์ ํด๋ฆญ ์, ๋ฆฌํ ํจ๊ณผ(Ripple Effect)๋ฅผ ์ค ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค. ๋ฐฉ๋ฒ์ฐ์ ํน์ ์์์ ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ๋ฃ๊ธฐ ์ํด์๋ @Pressable@ ์ปดํฌ๋ํธ๋ก ํด๋น ์์๋ฅผ ๊ฐ์ธ์ค์ผ ํ๋ค.import { View, Text, Pressable } from 'react-native';function MyComponent(props) { return ( {/* ํด๋ฆญ ํจ๊ณผ๋ฅผ ๋ฃ์ ์์๋ฅผ ๊ฐ์ธ์ค๋ค. */} {props.text} );} Android OS@Pressable@ ์ปดํฌ๋ํธ์ @android_ripple@ ์์ฑ์ ์ถ๊ฐํ์ฌ ์์ ํด๋ฆญ..
1 2024.12.11 -
- [React Native] FlatList
FlatList๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ(React Native)์ @FlatList@ ์ปดํฌ๋ํธ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. FlatList๊ฐ๋ ํจ์จ์ ์ผ๋ก ๋๋์ ์คํฌ๋กค ๊ฐ๋ฅํ ํญ๋ชฉ์ ๋ ๋๋งํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ปดํฌ๋ํธ์ต์ ํ๋ ๊ฐ์ ์คํฌ๋กค๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ค์ด๊ณ , ์คํฌ๋กค ์ ํ์ํ ํญ๋ชฉ๋ง ๋ ๋๋งํ๋ค.@ScrollView@ ์ปดํฌ๋ํธ์์ ์ฐจ์ด์ ์ฃผ์ ์์ฑ์์ฑ์ค๋ช @data@- ๋ ๋๋งํ ๋ฐ์ดํฐ ๋ฐฐ์ด(Array)์ ์ ๋ฌ- ๋ฐฐ์ด์ ๊ฐ ์์๋ ๋ ๋๋ง๋ ํญ๋ชฉ์ ๋ฐ์ดํฐ@renderItem@- ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๋ ๋๋งํ ์ง ์ ์ํ๋ ํจ์- ๋งค๊ฐ๋ณ์๋ก @{ item, index }@ ํํ์ ๊ฐ์ฒด๋ฅผ ๋ฐ๋๋ค.@keyExtractor@- ๊ฐ ํญ๋ชฉ์ ๊ณ ์ ํค๋ฅผ ๋ฐํํ๋ ํจ์- ๊ธฐ๋ณธ์ ์ผ๋ก @item.key@ ๋๋ @item.id@๋ฅผ ์ฌ์ฉ..
2024.12.10 -
- [TypeScript] ํ๊ฒฝ ๋ณ์ ํ์ ์ค์ ํ๊ธฐ
ํ๊ฒฝ ๋ณ์ ํ์ ์ค์ ํ๊ธฐ๋ค์ด๊ฐ๋ฉฐํ์ ์คํฌ๋ฆฝํธ์์ ํ๊ฒฝ ๋ณ์(Environment Variable)์ ํ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์๋๋ก ํ์ ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค. ๋ฐฉ๋ฒ๋ค์๊ณผ ๊ฐ์ ํ๊ฒฝ ๋ณ์ ํ์ผ์ด ์๋ค๊ณ ํด๋ณด์.์ด์ ์ด ํ๊ฒฝ ๋ณ์๋ฅผ ํ๋ก์ ํธ ๋ด์ ๋ค๋ฅธ ํ์ผ์์ ๋ถ๋ฌ์์ ์ฌ์ฉํด๋ณผ ๊ฒ์ด๋ค. (Next.js ํ๋ ์์ํฌ ์ฌ์ฉ).env.localNEXT_PUBLIC_API_KEY="="***********"NEXT_PUBLIC_SPACE_ID="**************************" (1) @!@(Non-Null Assertion) ์ฐ์ฐ์ ์ฌ์ฉํ๊ธฐ@!@๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ด @undefined@๊ฐ ์๋์ ํ์ ์คํฌ๋ฆฝํธ์ ๋ช ์ํ๋ค.ํ์ง๋ง ์ด ๋ฐฉ๋ฒ์ ํด๋น ํ๊ฒฝ ๋ณ์๊ฐ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ, ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋..
3 2024.12.09 -
- [Android] ADB(Android Debug Bridge) ๋ช ๋ น์ด ์ ๋ฆฌ
ADB(Android Debug Bridge) ๋ช ๋ น์ด ์ ๋ฆฌ๋ค์ด๊ฐ๋ฉฐADB(Android Debug Bridge) ๋ช ๋ น์ด๋ฅผ ์ ๋ฆฌํด๋ณธ๋ค. ๋ช ๋ น์ด ์ฌ์ฉ ์ ์ฃผ์ ์ฌํญ์๋๋ก์ด๋ ๊ธฐ๊ธฐ์ @[์ค์ ]@์์ @[๊ฐ๋ฐ์ ๋๊ตฌ]@๋ฅผ ํ์ฑํ ์ํจ ํ, @USB ๋๋ฒ๊น @์ ํ์ฑํ ํด์ค์ผ ํ๋ค.PC์ Android SDK Platform-Tools๋ฅผ ์ค์นํด์ผ ํ๋ค.์๋๋ก์ด๋ ์คํ๋์ค(Android Studio)๋ฅผ ์ค์นํ ๊ฒฝ์ฐ, ํจ๊ป ์ค์น๋๋ค. SDK ํ๋ซํผ ๋๊ตฌ ์ถ์ ๋ ธํธ | Android Studio | Android DevelopersAndroid SDK ํ๋ซํผ ๋๊ตฌ๋ Android SDK์ ๊ตฌ์ฑ์์์ ๋๋ค.developer.android.com ๋ช ๋ น์ด๊ธฐ๋ณธ ๋ช ๋ น์ด๋ช ๋ น์ด์ค๋ช @adb devices@์ฐ๊ฒฐ๋ ์๋๋ก์ด๋ ๊ธฐ๊ธฐ ๋ชฉ..
2024.12.05 -
- [Android] VS Code์์ ๋ช ๋ น์ด๋ก ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ ์คํ ๋ฐฉ๋ฒ
VS Code์์ ๋ช ๋ น์ด๋ก ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ ์คํ ๋ฐฉ๋ฒ๋ค์ด๊ฐ๋ฉฐ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์คํํ๋ ค๋ฉด ์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ์คํํ ํ, ์ง์ ๊ฐ์ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์คํ์์ผ์ค์ผ ํ๋ค.์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ์คํ์ํฌ ํ์ ์์ด, ๋น์ฃผ์ผ ์คํ๋์ค ์ฝ๋(VS Code) ํฐ๋ฏธ๋์์ ๋ช ๋ น์ด๋ก ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์คํ์ํฌ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค. ๋ฐฉ๋ฒWindows@[ํ๊ฒฝ ๋ณ์]@์ @[์์คํ ๋ณ์]@์์ @Path@ ํญ๋ชฉ์ ์ ํํ๊ณ ์๋์ ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํด์ค๋ค.C:\Users\\AppData\Local\Android\Sdk\emulator ์ค์น๋ ๊ฐ์ ์ฅ์น ๋ชฉ๋ก์ ํ์ธํ๋ค.$ emulator -list-avds ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์คํํ๋ค.$ emulator -avd @AVD_NAME@์ ์คํ์ํค๊ณ ์ ํ๋ ๊ฐ์ ์ฅ์น ์ด๋ฆ์ ๋ฃ..
2024.12.02 -
- [Android] adb ๋ช ๋ น์ด ์คํ ๋ฐฉ๋ฒ (adb: command not found ๋ฌธ์ ํด๊ฒฐ๋ฒ)
adb ๋ช ๋ น์ด ์คํ ๋ฐฉ๋ฒ (adb: command not found ๋ฌธ์ ํด๊ฒฐ๋ฒ)๋ค์ด๊ฐ๋ฉฐํฐ๋ฏธ๋์ @adb@ ๊ด๋ จ ๋ช ๋ น์ ์คํํ์ ๋ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค.$ adb --versionbash: adb: command not found ADB(Android Debug Bridge)๊ฐ๋ ์๋๋ก์ด๋ ๊ธฐ๊ธฐ์ ์ปดํจํฐ ๊ฐ์ ์ฐ๊ฒฐ์ ๊ด๋ฆฌํ๊ณ ๋๋ฒ๊น ์์ ์ ์ํํ ์ ์๊ฒ ํด์ฃผ๋ ๋ช ๋ น์ค(CLI) ๋๊ตฌ์๋๋ก์ด๋ ๊ฐ๋ฐ ๊ณผ์ ์์ ํ์์ ์ผ๋ก ์ฌ์ฉ๋๋ฉฐ, ์๋์ ๊ฐ์ ์์ ์ ์ฌ์ฉ๋๋ค.โ๏ธ ์๋๋ก์ด๋ ๊ธฐ๊ธฐ์์ ํต์ โ๏ธ ์ฑ ์ค์น ๋ฐ ํ ์คํธโ๏ธ ๋๋ฒ๊น โ๏ธ ํ์ผ ์ ์ก โ๏ธ ์ ๋ช ๋ น ์คํโ๏ธ ํฌํธ ํฌ์๋ฉADB๋ Android SDK์ ํฌํจ๋์ด ์์ผ๋ฉฐ, ์๋๋ก์ด๋ ์คํ๋์ค(Android Studio)๋ฅผ..
2 2024.12.02 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] ํผ์ด์จ ์๊ด ๊ณ์ ๊ตฌํ๊ธฐ
ํผ์ด์จ ์๊ด ๊ณ์ ๊ตฌํ๊ธฐ๋ค์ด๊ฐ๋ฉฐํผ์ด์จ ์๊ด ๊ณ์(Pearson Correlation Coefficient)๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค.2024๋ 9ํ ์ 3์ ํ ๊ธฐ์ถ ๋ฌธ์ ๋ก ํผ์ด์จ ์๊ด ๊ณ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ๊ฐ ์ถ์ ๋์๋ค. ํผ์ด์จ ์๊ด ๊ณ์(Pearson Correlation Coefficient)๊ฐ๋ ๋ ๋ณ์ ๊ฐ์ ์ ํ ๊ด๊ณ์ ๊ฐ๋์ ๋ฐฉํฅ์ ์ธก์ ํ๋ ํต๊ณ์ ์งํ-1์์ 1 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ค.$$r = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum (x_i - \bar{x})^2 \cdot \sum (y_i - \bar{y})^2}}$$โ๏ธ $x_i, y_i$ : ๋ฐ์ดํฐ ๊ฐโ๏ธ $\bar{x}, \bar{y}$ : ๊ฐ๊ฐ์ ํ๊ท ๊ฐ ํน์ง๋ ๋ณ์ ๊ฐ์ ๊ด๊ณ๊ฐ ์ ํ..
2 2024.11.30 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] ์ํ์ฅ์์ ์์๋๋ฉด ์ข์ ํ
์ํ์ฅ์์ ์์๋๋ฉด ์ข์ ํ๋ค์ด๊ฐ๋ฉฐ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ํ์ฅ์์ ์์๋๋ฉด ์ข์ ํ์ ์ ๋ฆฌํด๋ณธ๋ค. ํ1๏ธโฃ ๋ฉ๋ชจ ๊ธฐ๋ฅ ํ์ฉํ๊ธฐ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ํ์ ๊ตฌ๋ฆ ์จ๋ผ์ธ IDE๋ฅผ ํตํด ์งํ๋๋ค. ๊ตฌ๋ฆEDU - ๋ชจ๋๋ฅผ ์ํ ๋ง์ถคํ IT๊ต์ก๊ตฌ๋ฆEDU๋ ๋ชจ๋๋ฅผ ์ํ ๋ง์ถคํ IT๊ต์ก ํ๋ซํผ์ ๋๋ค. ๊ฐ์ธ/ํ๊ต/๊ธฐ์ ๋ฐ ๊ธฐ๊ด ๋ณ ์ต์ ํ๋ IT๊ต์ก ์๋ฃจ์ ์ ๊ฒฝํํด๋ณด์ธ์. ๊ธฐ์ด๋ถํฐ ์ค๋ฌด ํ๋ก๊ทธ๋๋ฐ ๊ต์ก, ์ ๊ตญ ์ด์ค๊ณ /๋ํ๊ต ์จ๋ผ์ธ ๊ฐ์, ๊ธฐ์ /edu.goorm.io ๊ตฌ๋ฆ ์จ๋ผ์ธ IDE๋ ๋ฉ๋ชจ ๊ธฐ๋ฅ์ ์ง์ํ๋ค. @help@, @dir@ ๋ช ๋ น์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ ๋ถ๋ถ ๋ฌธ์ ์ ์ ๋ต ๋ฑ์ ๋ฉ๋ชจ์ฅ์ ๊ธฐ๋กํด๋๋ฉด ์ ์ฉํ๋ค.์ฐธ๊ณ ๋ก, ๊ตฌ๋ฆ ์จ๋ผ์ธ IDE์ ํฐ๋ฏธ๋ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ ํค๋ณด๋๋ฅผ ์ด์ฉํ์ฌ ๋ณต์ฌ(Ctrl+C) ๋ฐ ๋ถ์ฌ๋ฃ๊ธฐ(Ctrl+V)๋ฅผ ํ ..
2024.11.29 -
- [Python] print ๋ฌธ ์ถ๋ ฅ ๋ฌธ์์ ์๊น ๋ฃ๋ ๋ฐฉ๋ฒ (ANSI Escape Code)
print ๋ฌธ ์ถ๋ ฅ ๋ฌธ์์ ์๊น ๋ฃ๋ ๋ฐฉ๋ฒ (ANSI Escape Code)๋ค์ด๊ฐ๋ฉฐํ์ด์ฌ(Python)์์ @print@ ๋ฌธ์ผ๋ก ํน์ ๋ฌธ์๋ฅผ ์ถ๋ ฅํ ๋, ์๊น์ ๋ฃ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค. ANSI Escape Code๊ฐ๋ ํ ์คํธ๋ฅผ ์ถ๋ ฅํ ๋, ์์, ์คํ์ผ ๋ฐ ๊ธฐํ ์์ฑ์ ์ ์ดํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํน์ํ ์ ์ด ๋ฌธ์์ด์ฃผ๋ก ํฐ๋ฏธ๋ ๋๋ ์ฝ์์์ ์ถ๋ ฅ๋๋ ํ ์คํธ์ ๋ค์ํ ํจ๊ณผ๋ฅผ ์ฃผ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.์ด ์ฝ๋๋ @\033@ (ํน์ @\x1b@)๋ก ์์ํ๋ฉฐ, ๋ค์ @[@์ ํน์ @์์ ์ฝ๋@ ๋๋ @์คํ์ผ ์ฝ๋@๊ฐ ํฌํจ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์๋ @m@์ผ๋ก ๋๋๋ ํํ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.\033[m \033[0m # ๋ฐฉ๋ฒ1\x1b[m \x1b[0m # ๋ฐฉ๋ฒ2 ⇒ @\033@ / @\x1b@ : ์ด์ค์ผ์ดํ ๋ฌธ์..
1 2024.11.29 -
- [Service] Contentful
Contentful๋ค์ด๊ฐ๋ฉฐHeadless CMS ์ค ํ๋์ธ Contentful ์๋น์ค์ ๋ํ์ฌ ์ ๋ฆฌํด๋ณธ๋ค. Contentful๊ฐ๋ 2013๋ ๋ ์ผ ๋ฒ ๋ฅผ๋ฆฐ์์ ๋ง๋ค์ด์ง Headless CMS(Content Management System, ์ปจํ ์ธ ๊ด๋ฆฌ ์์คํ ) ์๋น์คํ์ฌ Spotify, Red Bull, IKEA ๋ฑ ๊ตต์งํ ๊ธ๋ก๋ฒ ๊ธฐ์ ๋ค์ด ์ด ์๋น์ค๋ฅผ ์ด์ฉํ๊ณ ์๋ค.ํ๋ก ํธ์๋์ ๋ฐฑ์๋(์ปจํ ์ธ ์ ์ฅ ๋ฐ ๊ด๋ฆฌ)๊ฐ ๊ฒฐํฉ๋ ๊ตฌ์กฐ์ ๋ฌ๋ฆฌ, ํ๋ก ํธ์๋์ ๋ฐฑ์๋๊ฐ ๋ถ๋ฆฌ๋ ํํ์ ์ปจํ ์ธ ๊ด๋ฆฌ ์์คํ ์ด๋ค. Content that takes you everywhereBusiness moves faster when teams producing content have a platform that empowers them to ..
1 2024.11.28 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] ์ 3์ ํ: ๊ฐ์ค ๊ฒ์ ์ฐ์ต ๋ฌธ์
์ 3์ ํ: ๊ฐ์ค ๊ฒ์ ์ฐ์ต ๋ฌธ์ ๋ค์ด๊ฐ๋ฉฐ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ 3์ ํ ๊ฐ์ค ๊ฒ์ ํํธ์ ์ฐ์ต ๋ฌธ์ ๋ฅผ ์ ๋ฆฌํด๋ณธ๋ค. ๋จ์ผ ํ๋ณธ T-๊ฒ์ (One Sample T-Test)๊ฐ๋ ํ๋ณธ ํ๊ท ์ด ๋ชจํ๊ท ๊ณผ ๋ค๋ฅธ์ง๋ฅผ ๊ฒ์ ํ๋ ํต๊ณ์ ๋ฐฉ๋ฒโ๏ธ ๊ท๋ฌด ๊ฐ์ค($H_0$) : ํ๋ณธ์ ํ๊ท ์ ํน์ ๊ฐ(๋ชจ์ง๋จ ํ๊ท )๊ณผ ๊ฐ๋ค.โ๏ธ ๋๋ฆฝ ๊ฐ์ค($H_1$) : ํ๋ณธ์ ํ๊ท ์ ํน์ ๊ฐ(๋ชจ์ง๋จ ํ๊ท )๊ณผ ๋ค๋ฅด๋ค.๋จ์ผ ํ๋ณธ T-๊ฒ์ ์ 1๊ฐ์ง๋ฅผ ๋ง์กฑํ๋ค๊ณ ๊ฐ์ ํ๋ค.๋จ์ผ ํ๋ณธ T-๊ฒ์ ์ ํ๋ณธ์ด ์ ๊ท ๋ถํฌ๋ฅผ ๋ฐ๋ฅธ๋ค๊ณ ๊ฐ์ ํ๋ค. (์ ๊ท์ฑ ๊ฐ์ ๋ง์กฑ)ํ๋ณธ์ ํฌ๊ธฐ๊ฐ ์์ ๊ฒฝ์ฐ (30๊ฐ ๋ฏธ๋ง) ๋ฐ์ดํฐ๊ฐ ์ ๊ท ๋ถํฌ๋ฅผ ๋ฐ๋ฅด๋์ง ํ์ธํ๋ค.์ ๊ท์ฑ ๊ฐ์ ์ ํ์ธํ๊ธฐ ์ํด์๋ ์คํผ๋ก-์ํฌ ๊ฒ์ ์ ์ด์ฉํ๋ค.@scipy.stats@ ํจํค์ง์ @shapiro@ ํจ์๋ฅผ ์ด์ฉํ๋ค.์ ๊ท..
2024.11.27 -
- [React Native] Expo Go ์ฑ์์ Expo ํ๋ก์ ํธ ์ฐ๊ฒฐ ์๋๋ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ (There was a problem running the requested app)
Expo Go ์ฑ์์ Expo ํ๋ก์ ํธ ์ฐ๊ฒฐ ์๋๋ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ (There was a problem running the requested app)๋ค์ด๊ฐ๋ฉฐExpo Go ์ฑ์์ PC์์ ์์ฑํ Expo ํ๋ก์ ํธ๋ฅผ ์ฐ๊ฒฐํ ๋, ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๋ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค. ๋ฐฉ๋ฒโ ๋์ผํ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋์ด ์๋์ง ํ์ธํ๊ธฐPC์ Expo Go ์ฑ์ด ์ค์น๋ ๋ชจ๋ฐ์ผ ์ฅ์น๊ฐ ๋ชจ๋ ๋์ผํ ๋คํธ์ํฌ(์์ดํ์ด)์ ์ ์๋์ด ์๋์ง ํ์ธํ๋ค. โก ์ ์ดํ์์ NodeJS ๊ด๋ จ ๊ธฐ๋ฅ ์ค์ ํ๊ธฐ[์ ์ดํ] > [์์คํ ๋ณด์] > [Windows Defender ๋ฐฉํ๋ฒฝ] > [ํ์ฉ๋๋ ์ฑ]์์ @NodeJS JavaScript Runtime@ ํญ๋ชฉ์ @[๊ฐ์ธ]@, @[๊ณต์ฉ]@์ ๋ชจ๋ ์ฒดํฌํด์ค๋ค.
2024.11.26 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] ์ 2์ ํ ์ํ ์ค๋น
์ 2์ ํ ์ํ ์ค๋น๋ค์ด๊ฐ๋ฉฐ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ 2์ ํ ์ํ ์ค๋น๋ฅผ ์ํ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณธ๋ค.์ 2์ ํ์ ๋ฐ์ดํฐ ๋ชจํ ๊ตฌ์ถ ๋ฐ ํ๊ฐ์ ๊ด๋ จ๋ ๋ด์ฉ์ด ํฌํจ๋๋ค.์ 2ํ ~ ์ 8ํ ๊ธฐ์ถ ๋ณํ ๋ฌธ์ ์ ํ์ด ๋ฐฉ๋ฒ์ ํจ๊ป ์ ๋ฆฌํ์๋ค.๋ชจ๋ ๋ฌธ์ ์ ๋ชจ๋ธ๋ง์ ์ฑ๋ฅ์ด ์ค์ํ๊ฒ ๋์ค๋ ๋๋ค ํฌ๋ ์คํธ(Random Forest)๋ฅผ ์ด์ฉํ์ฌ ์ํํ์๋ค. ๋๋ค ํฌ๋ ์คํธ(Random Forest)๊ฐ๋ ์์๋ธ ํ์ต(Ensemble Learning) ๋ฐฉ๋ฒ ์ค ํ ๋ฐฉ๋ฒ์ฌ๋ฌ ๊ฐ์ ์์ฌ๊ฒฐ์ ๋๋ฌด(Decision Tree)๋ฅผ ์์ฑํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ข ํฉํ์ฌ ์์ธก ์ฑ๋ฅ์ ๋์ด๋ ์๊ณ ๋ฆฌ์ฆ๋งค์ฐ ์ ์ฐํ๊ณ ๊ฐ๋ ฅํ์ง๋ง, ๋ฐ์ดํฐ๊ฐ ์ ์ค๋น๋์ง ์์ผ๋ฉด ์ฑ๋ฅ์ด ์ ํ๋ ์ ์๋ค. ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ1๏ธโฃ ์ข ์ ๋ณ์๋ฅผ ๋ฒ์ฃผํ ๋ณ์๋ก ๋ฐ๊พธ์ง ์์๋ ๋๋ค.๋๋ค ํฌ๋ ์คํธ๋ ํ๊ท(R..
2024.11.26 -
- [Node.js] Nodemailer ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Nodemailer ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐNode.js ํ๊ฒฝ์์ ๋ฉ์ผ์ ๊ฐ๋จํ๊ฒ ๋ณด๋ผ ์ ์๋๋ก ๋์์ฃผ๋ Nodemailer ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. Nodemailer ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ๋ Node.js ํ๊ฒฝ์์ ์ด๋ฉ์ผ์ ์ฝ๊ฒ ๋ณด๋ผ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ๋จํ ์ค์ ์ผ๋ก SMTP, OAuth2 ๋ฑ์ ํ์ฉํ ์ด๋ฉ์ผ ์ ์ก์ ํ ์ ์๋ค.ํ ์คํธ์ HTML ํ์์ ์ด๋ฉ์ผ, ์ฒจ๋ถ ํ์ผ ์ ์ก ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.๋ฌด๋ฃ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.์คํ ์์ค๋ก ๊ด๋ฆฌ๋๊ณ ์๋ค. ์ฃผ์ ํน์งSMTP, OAuth2, AWS SES, SendGrid ๋ฑ ๋ค์ํ ์ด๋ฉ์ผ ์๋น์ค ์ง์์ด๋ฉ์ผ ๋ณธ๋ฌธ์ ์ผ๋ฐ ํ ์คํธ ๋๋ HTML ํ์์ผ๋ก ์์ฑ ๊ฐ๋ฅ์ด๋ฏธ์ง, ๋ฌธ์ ๋ฑ ํ์ผ ์ฒจ๋ถ ๊ฐ๋ฅ๊ธฐ๋ณธ ์ธ์ฆ ์ธ์๋ OAuth2๋ฅผ ์ง์ํ์ฌ ๋ณด์์ฑ ๊ฐํ์ด๋ชจํฐ์ฝ์ด๋ ๋ค..
2024.11.26 -
- [JavaScript] EmailJS ๋ผ์ด๋ธ๋ฌ๋ฆฌ
EmailJS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐ๊ฐํธํ๊ฒ ํ์๊ฐ์ ์ผ๋ก ๋ฌด๋ฃ๋ก ์ 200๊ฑด๊น์ง ์ด๋ฉ์ผ์ ๋ณด๋ผ ์ ์๋๋ก ๋์์ฃผ๋ EmailJS ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. EmailJS๊ฐ๋ ์ฌ์ฉ์๊ฐ ์๋ฒ ์์ด ์๋ฐ์คํฌ๋ฆฝํธ๋ง์ผ๋ก ์ด๋ฉ์ผ์ ๋ณด๋ผ ์ ์๋๋ก ๋์์ฃผ๋ ์๋น์ค์ฌ์ฉ์๋ ๋ฐฑ์๋ ์ค์ ์์ด ํด๋ผ์ด์ธํธ ์ฌ์ด๋์์ ์ด๋ฉ์ผ์ ์ ์กํ ์ ์๋ค.SMTP ์๋ฒ๋ฅผ ํ์ฉํ์ฌ ์ด๋ฉ์ผ์ ์ ์กํ๋ฉฐ, Gmail, Outlook ๋ฑ์ ์ด๋ฉ์ผ ์๋น์ค๋ฅผ ์ง์ํ๋ค. ์ฃผ์ ํน์งํด๋ผ์ด์ธํธ ์ฌ์ด๋์์ ์ง์ ์ด๋ฉ์ผ์ ์ ์กํ ์ ์์ด ๋ฐฑ์๋๊ฐ ํ์์๋ค.Gmail, Yahoo, Outlook ๋ฑ ์ฌ๋ฌ ์๋น์ค์ ํธํ๋๋ค.์ฌ์ฉ์ ์ ์ ํ ํ๋ฆฟ์ ๋ง๋ค์ด ๋์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์ ์๋ค.์ ์ก ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ฉฐ API ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆ์ ์ฒ๋ฆฌํ๋ค.๋ช ์ค์ ์ฝ๋๋ง์ผ๋ก..
2024.11.26 -
- [React Native] Expo CLI vs. React Native CLI
Expo CLI vs. React Native CLI๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ(React Native) ํ๋ก์ ํธ ์์ฑ ๋ฐฉ๋ฒ์ผ๋ก Expo CLI ์ React Native CLI ๋ฐฉ๋ฒ 2๊ฐ์ง๊ฐ ์๋ค.์ด ๋ ๋ฐฉ๋ฒ์ ์ฐจ์ด์ ์ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด๋ณธ๋ค. Expo CLI๊ฐ๋ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ก ์ฑ์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉ๋๋ ๋๊ตฌํ๋ก์ ํธ ์์ฑ, ๊ด๋ฆฌ, ์คํ์ ๊ฐ๋จํ๊ฒ ํด์ฃผ๋ ๋ช ๋ น์ค ์ธํฐํ์ด์ค(Command Line Interface)๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ถ์ฅ๋๋ ์ ๊ทผ ๋ฐฉ์ ์ ํ๋ก์ ํธ ์์ฑํ๊ธฐ$ npx create-expo-app@latest # ์ ํ๋ก์ ํธ ์์ฑ ์ฃผ์ ํน์ง๊ธฐ๋ณธ ํ ํ๋ฆฟ์ ์ ๊ณตํ์ฌ ์ด๊ธฐ ์ค์ ์์ด ๋ฐ๋ก ์ฑ ๊ฐ๋ฐ ์์ ๊ฐ๋ฅ์นด๋ฉ๋ผ, ์์น ์ ๋ณด, ํธ์ ์๋ฆผ ๋ฑ ๋ค์ดํฐ๋ธ ๊ธฐ๋ฅ์ ์ฝ๊ฒ ์ฌ์ฉํ ..
2024.11.25 -
- [Git] ์๊ฒฉ ์ ์ฅ์ ์ฃผ์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ
์๊ฒฉ ์ ์ฅ์ ์ฃผ์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ๋ค์ด๊ฐ๋ฉฐGit ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ์ฌ ํ์ฌ ํ๋ก์ ํธ์ ์๊ฒฉ(Remote) ์ ์ฅ์ ์ฃผ์๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค. ๋ฐฉ๋ฒํ์ฌ ์๊ฒฉ ์ ์ฅ์์ฃผ์ ํ์ธํ๊ธฐํ์ฌ ํ๋ก์ ํธ์ ์ฐ๊ฒฐ๋ ์๊ฒฉ ์ ์ฅ์ ์ฃผ์๋ฅผ ํ์ธํ๋ค.$ git remote -vorigin https://github.com/old-user/old-repo.git (fetch)origin https://github.com/old-user/old-repo.git (push) ํ์ฌ ์๊ฒฉ ์ ์ฅ์ ์ฃผ์ ๋ณ๊ฒฝํ๊ธฐ@set-url@ ์ต์ ์ ์ฌ์ฉํ์ฌ ์๊ฒฉ ์ ์ฅ์ ์ฃผ์๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.$ git remote set-url origin ์ฌ์ฉ ์$ git remote set-url origin https://github.com/new-user..
1 2024.11.25 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] ์ 1์ ํ ์ํ ์ค๋น
์ 1์ ํ ์ํ ์ค๋น๋ค์ด๊ฐ๋ฉฐ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ 1์ ํ ์ํ ์ค๋น๋ฅผ ์ํ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณธ๋ค.์ 1์ ํ์ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ๋ด์ฉ์ด ํฌํจ๋๋ค.์ 2ํ ~ ์ 8ํ ๊ธฐ์ถ ๋ณํ ๋ฌธ์ ์ ํ์ด ๋ฐฉ๋ฒ์ ํจ๊ป ์ ๋ฆฌํ์๋ค. ๋ฌธ์ ๐ ๋ฌธ์ 1 (21๋ 2ํ)BostonHousing ๋ฐ์ดํฐ@crim@ ํญ๋ชฉ์ ์์์์ 10๋ฒ์งธ ๊ฐ(์์ 10๊ฐ์ ๊ฐ ์ค์์ ๊ฐ์ฅ ์์ ๊ฐ)์ผ๋ก ์์ 10๊ฐ์ ๊ฐ์ ๋ณํํ๊ณ , @age@๊ฐ 80 ์ด์์ธ ๊ฐ์ ๋ํ์ฌ @crim@์ ํ๊ท ๊ตฌํ๊ธฐ์์์ ์ ์งธ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํด์ ์์์ ๋์งธ ์๋ฆฌ๋ก ์ถ๋ ฅํ๊ธฐimport numpy as npimport pandas as pddf = pd.read_csv('./datasets/data_q1.csv')# 'crim' ํญ๋ชฉ์ ์์ 10๋ฒ์งธ ๊ฐ ๋ฝ๊ธฐtop10_value..
2024.11.25 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] help(), dir() ํ์ฉํ๊ธฐ
help(), dir() ํ์ฉํ๊ธฐ๋ค์ด๊ฐ๋ฉฐ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ํ์ฅ์์ ํน์ ํจ์๋ช ์ด๋ ํจ์์ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์์ด๋ฒ๋ ธ์ ๊ฒฝ์ฐ, @help()@ ๋๋ @dir()@ ํจ์๋ฅผ ์ด์ฉํ์ฌ ํ์ธํ ์ ์๋ค.์ด์ ๋ํ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณธ๋ค. ๋ฐฉ๋ฒ0๏ธโฃ ์ฐธ๊ณ ์ฌํญ@help()@ ๋๋ @dir()@ ํจ์์ ์ธ์์ ๋ฃ์ ๋์์ ์ฐ์ @import@ ํด์ค์ผ ํ๋ค.import sklearn # (1) ํ์ธํ๊ณ ์ ํ ๋์ ๋ถ๋ฌ์ค๊ธฐprint(help(sklearn)) # (2) ์ฌ์ฉ ๋ฐฉ๋ฒ ํ์ธprint(dir(sklearn)) # (3) ์์ฑ/๋ฉ์๋ ๋ชฉ๋ก ํ์ธ 1๏ธโฃ help() ํจ์ ์ฌ์ฉํ๊ธฐ๊ฐ์ฒด, ๋ชจ๋, ํจ์, ํด๋์ค ๋ฑ์ ๋ํ ๋์๋ง ๋ฌธ์(docstring)๋ฅผ ํ์ธํ๊ณ ์ถ์ ๊ฒฝ์ฐ @help()@ ํจ์๋ฅผ ์ฌ์ฉ..
2024.11.25 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] corr() ํจ์์ numeric_only ์ต์
corr() ํจ์์ numeric_only ์ต์ ๋ค์ด๊ฐ๋ฉฐํ๋ค์ค(Pandas) 2.0.0 ๋ฒ์ ๋ถํฐ @corr@ ํจ์์ @numeric_only@ ์ต์ ์ ๊ธฐ๋ณธ๊ฐ์ด @False@๋ก ๋ณ๊ฒฝ๋์๋ค.์ด์ ๋ํ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณธ๋ค. ์ค๋ช ํ๋ค์ค(Pandas) 2.0.0 ๋ฒ์ ๋ถํฐ @corr@ ํจ์์ @numeric_only@ ์ต์ ์ ๊ธฐ๋ณธ๊ฐ์ด @False@๋ก ๋ณ๊ฒฝ๋์๋ค.์ด์ ๋ฒ์ ์๋ ๊ธฐ๋ณธ๊ฐ์ด @True@๋ก ์ค์ ๋์ด ์์ด์, ์ด ์ต์ ์ ๋ฐ๋ก ๋ฃ์ด์ฃผ์ง ์์๋ ๋์๋ค.๋ฐ๋ผ์ ํ๋ค์ค 2.0.0 ์ด์ ๋ฒ์ ์ด ์ ์ฉ๋ ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ํ 9ํ์ฐจ๋ถํฐ @corr@ ํจ์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, @numeric_only=True@ ์ต์ ์ ๋ฐ๋์ ์ง์ ํด์ค์ผ ํ๋ค.import pandas as pddf = pd.read_csv("data/Titani..
2024.11.25 -
- [React.js] React Hook Form ๋ผ์ด๋ธ๋ฌ๋ฆฌ
React Hook Form ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ(React.js) ์ ํ๋ฆฌ์ผ์ด์ ์์ ํผ(Form)์ ์ํ ๊ด๋ฆฌ๋ฅผ ์ฝ๊ฒ ํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ React Hook Form์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. React Hook Form๊ฐ๋ ๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ํผ(Form)์ ์ํ๋ฅผ ๊ด๋ฆฌํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ๋จํ๊ณ ํจ์จ์ ์ด๋ฉฐ ํผํฌ๋จผ์ค๊ฐ ๋ฐ์ด๋๋ค.๋ฆฌ์กํธ์ ํ (Hook)์ ํ์ฉํ์ฌ ์ฌ์ฉํ๋ฉฐ, ํผ ์ํ ๊ด๋ฆฌ๋ฅผ ์ํ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ๊ณผ ์ ํจ์ฑ ๊ฒ์ฆ(Validation) ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. React Hook Form - performant, flexible and extensible form libraryPerformant, flexible and extensible forms with easy-to-use validation.react-..
2024.11.23 -
- [Python] loc, iloc ์ฐจ์ด์ ๋น๊ต (Pandas)
loc, iloc ์ฐจ์ด์ ๋น๊ต (Pandas)๋ค์ด๊ฐ๋ฉฐํ๋ค์ค(Pandas)์ @loc@๊ณผ @iloc@ ํจ์์ ์ฐจ์ด์ ์ ์ ๋ฆฌํด๋ณธ๋ค.๋ ํจ์๋ ํ๋ค์ค์ ๋ฐ์ดํฐํ๋ ์(DataFrame) ๊ฐ์ฒด์์ ์ฌ์ฉํ ์ ์๋ค. loc ํจ์๊ฐ๋ ๋ผ๋ฒจ ๊ธฐ๋ฐ(Label-based) ์ธ๋ฑ์ฑ ๋ฐฉ์ํ๊ณผ ์ด์ ์ด๋ฆ ๋๋ ๋ผ๋ฒจ์ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ํํ๋ค.์ฌ๋ผ์ด์ฑ์ ํ ๋, ๋๊ฐ๋ ํฌํจ๋๋ค. (@[a, b]@) ์ฌ์ฉ ์์ ์ฝ๋import pandas as pddata = { 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}df = pd.DataFrame(data, index=['row1', 'row2', 'row3'])""" ์ถ๋ ฅ ๊ฒฐ๊ณผ A B Crow1 1 4 7row..
2024.11.22 -
- [Next.js] Hydration ์๋ฌ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ (Next.js 15)
Hydration ์๋ฌ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ (Next.js 15)๋ค์ด๊ฐ๋ฉฐNext.js 15์์ ์์ฑํ ํ๋ก์ ํธ์์ ์๋์ ๊ฐ์ Hydration ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค.Console ErrorHydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used- A server/client branch 'if (typeof window !== 'undefined')'.- Variable input such as 'Date.now()' ..
2024.11.21 -
- [Service] Auth0
Auth0๋ค์ด๊ฐ๋ฉฐ์ธ์ฆ(Authentication) ๋ฐ ์ฌ์ฉ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ฝ๊ฒ ๋์์ฃผ๋ Auth0 ์๋น์ค์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค.์ด ์๋น์ค๋ฅผ ์ด์ฉํ๋ฉด, ์์ ๋ก๊ทธ์ธ ๋ฑ ์ธ์ฆ์ ์ํ ๊ธฐ๋ฅ๋ค์ ์ง์ ์ฝ๋๋ก ๊ตฌํํ์ฌ ๋ง๋ค์ด์ฃผ์ง ์์๋ ๋๋ค. Auth0๊ฐ๋ ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ธ์ฆ ๋ฐ ๊ถํ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋จํ๊ณ ์์ ํ๊ฒ ๊ตฌํํ ์ ์๋๋ก ์ง์ํ๋ ์ธ์ฆ ๋ฐ ๊ถํ ๊ด๋ฆฌ ํ๋ซํผ๊ฐ๋ฐ์๋ Auth0๋ฅผ ์ด์ฉํ์ฌ ๋ณต์กํ ์ธ์ฆ ์์คํ ์ ์ง์ ๊ฐ๋ฐํ์ง ์์๋ ๋๊ณ , ๋ค์ํ ์ธ์ฆ ๋ฐฉ์์ ์ฝ๊ฒ ํตํฉํ ์ ์๋ค. ์ฃผ์ ํน์ง๋ค์ํ ์ธ์ฆ ๋ฐฉ์ ์ง์์ด๋ฉ์ผ/๋น๋ฐ๋ฒํธ์์ ๋ก๊ทธ์ธ (Google, Facebook, GitHub, Twitter ๋ฑ)๋ค์ค ์ธ์ฆ(Multi Factor Authentication)SSO(Single Sign-On)Passwor..
2 2024.11.20 -
- [JavaScript] FusionCharts ๋ผ์ด๋ธ๋ฌ๋ฆฌ
FusionCharts ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript)์ FusionCharts ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. FusionCharts๊ฐ๋ ์น ๊ธฐ๋ฐ ๋์๋ณด๋์ ๋ฐ์ดํฐ ์๊ฐํ๋ฅผ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript) ์ฐจํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ๋ฐ์์ ๊ธฐ์ ์ด ๋ค์ํ ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ฐจํธ, ๊ทธ๋ํ, ๊ฒ์ด์ง(Gauge), ์ง๋ ๋ฑ์ผ๋ก ์๊ฐํ ํ ์ ์๋ค.๋ฌด๋ฃ ๋ฐ ์ ๋ฃ ํ๋์ด ์์ด ํ๋ก์ ํธ์ ํ์์ ๋ฐ๋ผ ์ ํ ๊ฐ๋ฅํ๋ค.๊ณต์ ํํ์ด์ง : JavaScript charts for web & mobile | FusionCharts ํน์ง์ ์ฐจํธ, ํ์ด ์ฐจํธ, ๊ฒ์ด์ง, ํํธ๋งต ๋ฑ 100๊ฐ ์ด์์ ์ฐจํธ ์ ํ ์ง์๋ณต์กํ ๋น์ฆ๋์ค ๋์๋ณด๋๋ ๋ณด๊ณ ์๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์๋ค.๋ชจ๋ ์ฐจํธ๋ ๋ฐ์ํ ๋์์ธ์ด ์ ์ฉ๋์ด ๋ชจ๋ฐ์ผ, ํ๋ธ๋ฆฟ, ..
1 2024.11.18 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] ์ํ์ฅ ๋ค์ด๊ฐ๊ธฐ ์ ์ ๋ณด๊ธฐ ๋น ๋ฅด๊ฒ ๋ณด๊ธฐ ์ข์ ๊ฐ์ ๋ชจ์
์ํ์ฅ ๋ค์ด๊ฐ๊ธฐ ์ ์ ๋ณด๊ธฐ ๋น ๋ฅด๊ฒ ๋ณด๊ธฐ ์ข์ ๊ฐ์ ๋ชจ์๋ค์ด๊ฐ๋ฉฐ์ํ์ฅ์ ๋ค์ด๊ฐ๊ธฐ ์ ์ ๋น ๋ฅด๊ฒ ๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ์ (๋ฌด๋ฃ) ๊ฐ์๋ค์ ์ํ ์ถ์ ์ ํ๋ณ๋ก ์ ๋ฆฌํด๋ณธ๋ค.์ ํ๋ธ(YouTube)์ ์ฌ๋ผ์ ์๋ ์ฌ๋ฌ ๋ฌด๋ฃ ๊ฐ์๋ค ์ค, ๊ด์ฐฎ๊ฒ ๋ค์ ๊ฒ๋ค์ ์ ๋ฆฌํด๋ณด์๋ค. ๊ฐ์ ๋ชจ์์ 1์ ํ (๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ)๊ฐ์๋ช URL๋น๊ณ ํ์ด์ฌ ๊ธฐ์ดhttps://youtu.be/3GSnGaH5yoc?si=JeIYxJJF8faZkHf6ํ์ด์ฌ(Python)ํ ์๊ฐ ๋ง์ ๋ฐฐ์ฐ๋ ํ๋ค์คhttps://youtu.be/hmKVYEei4Oo?si=cCy-klaPyMS0Y4Ltํ๋ค์ค(Pandas)ํ๋ค์ค 100์ https://youtu.be/J9XkwoCamuI?si=S1SKTX0eeUJIMmCbํ๋ค์ค(Pandas)์๋ตํฐ ๋น ๋ถ๊ธฐ ์ค๊ธฐ ๋๋น ํ์ ์์ (1์ ..
1 2024.11.17