-
[์ฌ์ดํธ ์ถ์ฒ] ํ๋ก ํธ์๋๋ฅผ ์ํ ๋์์ธ ๋ณด์กฐ ์ฌ์ดํธ ์ถ์ฒ (์ปฌ๋ฌ ํ๋ ํธ, ๋ณด๋, SVG ํํฐ, ๋ฐฐ๊ฒฝ ์ ๊ฑฐ)
1. ์ปฌ๋ฌ ํ๋ ํธ ์ถ์ฒ ์ฌ์ดํธ Coolors - The super fast color palettes generator!Generate or browse beautiful color combinations for your designs.coolors.co๐ https://coolors.co/์ปฌ๋ฌ ํ๋ ํธ ์ถ์ฒํด ์ฃผ๋ ์ฌ์ดํธ๊ฐ์ธ ํ์ ํ ๋ ๋ํ ์์ ์ ํ๊ณ ์์ํ๊ธฐ ์ข๋ค 2. border-style: dashed ์ปค์คํ ์ฌ์ดํธ Coolors - The super fast color palettes generator!Generate or browse beautiful color combinations for your designs.coolors.co๐ https://kovart.github.io/dash..
-
[ํฐํธ] Apple ๊ฐ์ด๋ ๋ผ์ธ์ ๋ฐ๋ฅธ pt๋จ์ ๊ธ๊ผด
iOS app ํ์ค SF PRO Text & Display ๊ธ๊ผด์ด Apple์ ๋ํ ํ์ค์ด๋ค.๋ํ, ์ด ๊ธ๊ผด์ ์ ํํ๋ฉด ์ฌ์ฉ์์ ์ค์ ์ ๋ฐ๋ผ ์๋์ผ๋ก ์กฐ์ ๋๋ค. - ํฐ์ ๋ชฉ(Large Title): 34pt- ์ ๋ชฉ1(Title1): 28pt- ์ ๋ชฉ3(Title3): 20pt- ๋ณธ๋ฌธ(Body): 17pt- ์๋ธํค๋(Subhead): 15pt- ์บก์ (Caption): 12pt StyleWeightSize (points)Large TitleRegular34Title 1Regular28Title 2Regular22Title 3Regular20HeadlineRegular17BodyRegular18CalloutRegular16SubheadRegular15FootnoteRegular13Caption 1Regular12..
-
[์ ์ฉํ ์ฌ์ดํธ] UI/UX ๊ด๋ จ ๋ฌด๋ฃ ์ฌ์ดํธ ๋ชจ์
์ธ๊ณ 1,966 ์ฑ์ UX/UI ๋ฌด๋ฃ ๋ชจ์ ์ฌ์ดํธuxdnas.com2. ์จ๊ฒจ์ง UX/UI ์ ๋ต์ ์๊ฐํด์ฃผ๋ ์ฌ์ดํธ (๋ฌผ๋ก ๋ฌด๋ฃ)growth.design 3. ์ธ๊ณ ์ฑ ๋งค์ถ, DAU, ์์ธ ์ ๋ณด ๋ถ์ ์ฌ์ดํธ (์ผ๋ถ ์ ๋ฃ์ง๋ง, ๋ฌด๋ฃ๋ ์ถฉ๋ถ)appmagic.rocks ref - https://www.threads.com/@2one.product/post/DKEM2jevjQX?xmt=AQGzgWiFWT-_I4EFVJTG6xy3J4BVywFKifD2Ztw1zcV1MRs
-
[Cursor] ์๋ ํ๋ก์ ํธ ๋ง์ถค ๊ท์น ์์ฑํ๊ธฐ
/Generate Cursor Rules ๋ช ๋ น์ด ํ ์ค์ด๋ฉด ์๋์ผ๋ก ํ๋ก์ ํธ ๋ง์ถค ๊ท์น์ ์์ฑํด์ค๋๋ค. ref - https://www.threads.com/@promppy_com/post/DJaKIXLT5rs?xmt=AQGzgWiFWT-_I4EFVJTG6xy3J4BVywFKifD2Ztw1zcV1MRs
-
[Vue] Watch, Computed ์ฐจ์ด์
method method๋ ์ฃผ๋ก ๋๊ฐ์ง ๊ฒฝ์ฐ์ ์ฌ์ฉ 1. ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ 2. ์ด๋ฒคํธ ๋ฐ์ธ๋ฉ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ์ ์ํด ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฆ, ์ค๊ดํธ ์ฌ์ด์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ํ ํ๋ฆฟ์์ vue ์ธ์คํด์ค๋ก ์์์์ฑํ๋ ๊ฒฝ์ฐ ๋ฉ์๋๋ ์ปดํฌ๋ํธ ๋ฆฌ๋ ๋๋ง ์ฃผ๊ธฐ์ ๋ง์ถฐ ๋งค๋ฒ ์คํ๋จ ๊ทธ๋ฌ๋ฏ๋ก ๋ณ๋ ์ฌํญ์ด ์๊ธฐ๋ฉด ํ ํ๋ฆฟ์ ์ฌํ๊ฐํ๊ณ ํด๋น ํ ํ๋ฆฟ์ ํธ์ถ๋ ๋ชจ๋ ๋ฉ์๋๋ฅผ ๋ค์ ํธ์ถํ๊ฒ ๋จ ๊ทธ๋์ ์ด๋ฒคํธ ๋ฐ์ธ๋ฉ ์์๋ method๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๊ฒ ๋๋ ๊ฒ computed computed(์ฐ์ฐ) ํ๋กํผํฐ๋ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ์๋ง ์ฐ์ ์ด๋ฒคํธ ๋ฐ์ธ๋ฉ์๋ ์๋ง์ง ์์ ๊ฒ๋ค๊ฐ ์ฐ์ฐ ํ๋กํผํฐ๋ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ์ ์ ์ฉํ์ฌ ์์กดํ๋ ๋ฐ์ดํฐ๊ฐ ๋ฐ๋ ๊ฒฝ์ฐ์๋ง vue์ ์ํด ์ฌํ๊ฐ๋๊ฑฐ๋ ์ฌ์คํ ๋๋ค๋ ์ฅ์ ์ด ์์ ์ฆ, co..
-
[JavaScript] ์ผ๋ฐ ํจ์๋ก ํธ์ถ ์์ this๋ฐ์ธ๋ฉ
this๋ฐ์ธ๋ฉ์ ํจ์ ํธ์ถ ๋ฐฉ์, ์ฆ ํจ์๊ฐ ์ด๋ป๊ฒ ํธ์ถ๋์๋์ง์ ๋ฐ๋ผ ๋์ ์ผ๋ก ๊ฒฐ์ ์ด ๋๋๋ฐ์, ์ฃผ์ํ ์ ์ ๋์ผํ ํจ์๋ ๋ค์ํ ๋ฐฉ์์ผ๋ก ํธ์ถ๋ ์ ์์์ ๋ฐ๋ผ this๊ฐ ๋ณํ๊ฒ ๋๋ค๋ ์ ์ ๋๋ค. ์ผ๋ฐ ํจ์ ํธ์ถ ๋ฉ์๋ ํธ์ถ ์์ฑ์ ํจ์ ํธ์ถ Function.prototype.apply/call/bind ๋ฉ์๋์ ์ํ ๊ฐ์ ํธ์ถ ๊ทธ์ค์์๋ ์ผ๋ฐ ํจ์๋ก ํธ์ถ๋์์๋์ this์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. ๐ค ์ผ๋ฐ ํจ์ ํธ์ถ ๊ธฐ๋ณธ์ ์ผ๋ก this์๋ ์ ์ญ ๊ฐ์ฒด(global object)๊ฐ ๋ฐ์ธ๋ฉ ๋ฉ๋๋ค. function foo() { console.log("foo's this: ", this); // window function bar() { console.log("bar's this: ", this);// ..
-
[React/error] consider using transient props (`$` prefix for automatic filtering.)
styled component๋ฅผ ์ฌ์ฉํ ๋ props๋ฅผ ๋ณด๋ผ ๋ ๊ฐ๋ consider using transient props (`$` prefix for automatic filtering.) ์ด๋ฐ ์๋ฌ๊ฐ ๋ฐ์ํ๋๋ฐ ์๋ฌ ๊ทธ๋๋ก ๋ณด๋ด๋ props์์ '$'๋ฅผ ๋ถ์ด์ฃผ๋ฉด ํด๊ฒฐ๋ฉ๋๋ค. import React from 'react'; import styled from 'styled-components'; const StyledDiv = styled.div` background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), ${props => `url(${props.$imageurl})` || 'none'}; background-size: cov..
-
[JavaScript] ๋ณ์ ํธ์ด์คํ ๊ณผ ํจ์ ํธ์ด์คํ
var ํค์๋๋ก ์ ์ธ๋ ๋ณ์๋ ๋ณ์ ์ ์ธ ์ด์ ์ ์ฐธ์กฐํ๋ ค๊ณ undefined๊ฐ ๋์ค๊ณ let/const ํค์๋๋ก ์ ์ธ๋ ๋ณ์๋ reference error๊ฐ ๋ฐ์ํฉ๋๋ค. ๋, ํจ์๋ ํจ์ ์ ์ ์ด์ ์ ์คํ ๊ฐ๋ฅํฉ๋๋ค ????? ํธ์ด์คํ ์๋ ํจ์ ํธ์ด์คํ ๊ณผ ๋ณ์ ํธ์ด์คํ ์ด ์๋๋ฐ ๋์ ๋ฐํ์ ์ด์ ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ํด ๋จผ์ ์คํ๋์ด ์๋ณ์๋ฅผ ์์ฑํ๋ค๋ ์ ์์ ๋์ผํ์ง๋ง, varํค์๋๋ก ์ ์ธ๋ ๋ณ์๋ undefined๋ก ์ด๊ธฐํ๋๊ณ , ํจ์ ์ ์ธ๋ฌธ์ ํตํด ์๋ฌต์ ์ผ๋ก ์์ฑ๋ ์๋ณ์๋ ํจ์ ๊ฐ์ฒด๋ก ์ด๊ธฐํ๋ฉ๋๋ค. ์ฆ, varํค์๋๋ก ์ ์ธ๋ ๋ณ์๋ ๋ณ์ ์ ์ธ ์ด์ ์ ์ฐธ์กฐํ๋ ค๊ณ ํ๋ฉด ํจ์ ํธ์ด์คํ ์ ์ํด undefined๋ก ํ๊ฐ๋์ง๋ง, ํจ์ ์ ์ธ๋ฌธ์ผ๋ก ์ ์ํ ํจ์๋ ํจ์ ์ ์ธ๋ฌธ ์ด์ ์ ํธ์ถํ๋ฉด ํจ์๊ฐ ์ฝ๋ ์ ๋๋ก ..
-
[JavaScript] for๋ฌธ์์ varํค์๋๋ฅผ ์ฐ๋ฉด ์ ๋๋ ์ด์ (var/let/const ์ฐจ์ด)
javascript scope์๋ ํฌ๊ฒ ๋ ๊ฐ์ง๊ฐ ์์ ๊ตฌ๋ถ ์ค๋ช ์ค์ฝํ ๋ณ์ ์ ์ญ ์ฝ๋์ ๊ฐ์ฅ ๋ฐ๊นฅ ์์ญ ์ ์ญ ์ค์ฝํ ์ ์ญ ๋ณ์ ์ง์ญ ํจ์ ๋ชธ์ฒด ๋ด๋ถ ์ง์ญ ์ค์ฝํ ์ง์ญ ๋ณ์ ๋ณ์๋ ์์ ์ด ์ ์ธ๋ ์์น(์ ์ญ ๋๋ ์ง์ญ)์ ์ํด ์์ ์ด ์ ํจํ ๋ฒ์์ธ ์ค์ฝํ๊ฐ ๊ฒฐ์ ๋จ. ์ฆ, ์ ์ญ์์ ์ ์ธ๋ ๋ณ์๋ ์ ์ญ์ค์ฝํ๋ฅผ ๊ฐ๋ ์ ์ญ๋ณ์์ด๊ณ , ์ง์ญ์์ ์ ์ธ๋ ๋ณ์๋ ์ง์ญ ์ค์ฝํ๋ฅผ ๊ฐ๋ ์ง์ญ ๋ณ์์ js์์ var๋ฅผ ์ฐ๋ฉด ์ ๋๋ ์ด์ ๋ ์ ๋ฒ ๋ ์์ปฌํ๊ฒฝ ๋ ์ด๋ ์ ๋ ์ดํดํ์์ ๋์ถฉ var ํค์๋๋ฅผ ์ฌ์ฉํด์ ๋ณ์๋ฅผ ์ ์ธํ๋ฉด ์ ์ญ ์ค์ฝํ๋ฅผ ๊ฐ์ง๊ฒ ๋๋๋ฐ ์ ์ญ ์ค์ฝํ์๋ js๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ง ํจ์๊ฐ ์กด์ฌํจ ์๋ฅผ ๋ค์ด ์๋ฆผ์ ๋์ธ ์ ์๋ alert ๋ง์ฝ var alert = "alert" ์ด๋ฐ ์์ผ๋ก ๊ธฐ์กด์ ์๋ ์ด๋ฆ์ ๊ฐ์ ธ..
-
[React] ๊ฐ๋จํ todo ํ๋ก์ ํธ(3) - Todo
์ด๋ฒ์๋ todoList๋ฅผ ๊ตฌํํด ๋ณด๊ฒ ์ต๋๋ค. ๊ทผ๋ฐ ์ด๋ฒ ํํธ๋ ํฐ ํ์ธ Todo์ ์์ child component์ธ TodoItem ๋ ํํธ๋ก ๋๋ ์ ํฌ์คํ ํ ๊ฒ์ ๐ค Todo component Todo component์ ํ์ํ css ํ์ผ์ Todo.module.cssํ์ผ๋ก ๋นผ์ ๋ง๋ค์ด์ค๋๋ค. import React, { useEffect, useState } from 'react'; import TodoItem from './TodoItem'; import useInput from './hooks/use-input'; import classes from './Todo.module.css'; (1) ๋ก๊ทธ์ธ ํธ์์ ๋ง๋ custom hooks์ธ useInput๊ณผ ์ฌ๋ฌ ํ์ํ ํ์ผ๋ค์ import //..