๋ฐ˜์‘ํ˜•

๊ฐœ๋ฐœ ๐Ÿพ 64

CSS ํŒจํ„ด ์ด์•ผ๊ธฐ - BEM, SMACSS, OOCSS

1. SMACSS ( Scalable and Modular Architecture for CSS ) : CSS๋ฅผ [๊ธฐ๋ณธ(base), ๋ ˆ์ด์•„์›ƒ(layout), ๋ชจ๋“ˆ(module), ์ƒํƒœ(state), ํ…Œ๋งˆ(theme)]5๊ฐ€์ง€๋ฅผ ๋ฒ”์ฃผํ™”๋กœ ํŒจํ„ดํ™” ํ•˜๊ณ ์ž ํ•จ = categorization 1. Base.css [= reset.css] body, p, table, form, fieldset, legend, input, button ... { margin: 0; padding: 0; } 2. layout : ์ฃผ์š”์†Œ(id) + ํ•˜์œ„์š”์†Œ(class) ์˜ˆ : 2๊ฐœ์˜ ๋ ˆ์ด์›ƒ ์Šคํƒ€์ผ์„ ์‚ฌ์šฉํ• ๊ฒฝ์šฐ [ 1.์œ ์—ฐํ•œ๋ ˆ์ด์•„์›ƒ 2.๊ณ ์ •์ ๋ ˆ์ด์•„์›ƒ ] #header { width: 400px; } #aside { width: 30px; ..

๋ชจ๋‘๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” React ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ •๋ฆฌ

๋ฆฌ์•กํŠธ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ๋ณดํ†ต ๋ฌด์กฐ๊ฑด ์„ค์น˜ํ•˜๊ณ  ์‹œ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฏธ๋ฆฌ ์ •๋ฆฌํ•ด ๋‘๋ฉด ํŽธ๋ฆฌํ•  ๊ฒƒ ๊ฐ™์•„ ์ž‘์„ฑํ•ด๋ด…๋‹ˆ๋‹ค. ๋ฆฌ์•กํŠธ ์‚ฌ์šฉ์ž๋“ค์€ ๋Œ€๋ถ€๋ถ„ ์•„๋Š” ๋‚ด์šฉ์ผ ๊บผ๋ผ ์ƒ๊ฐ๋ฉ๋‹ˆ๋‹ค๋งŒ, ํ˜น์‹œ ๋ฆฌ์•กํŠธ๋ฅผ ์ด์ œ ๋ง‰ ์‹œ์ž‘ํ•˜์‹œ๋Š” ๋ถ„๋“ค์€ ๋„์›€์ด ๋˜์‹ค๊บผ๋ผ ์ƒ๊ฐ๋ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์ž‘์„ฑํ•˜๊ณ ์ž ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. Router, Polyfill, Axios, Redux ์ž…๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ๋ฆฌ์•กํŠธ์— ๊ด€๋ จ๋œ ์ •๋ณด๊ธ€์„ ์ž‘์„ฑํ•˜๋ฉด์„œ ์ข€ ๋” ์„ธ์„ธํ•˜๊ฒŒ ๋‹ค๋ฃจ๊ฒ ์ง€๋งŒ, ์šฐ์„ ์€ ์–ด๋–ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ์ง€๋Š” ์•Œ์•„์•ผ ํ•˜๋‹ˆ, ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๊ณผ ์„ค๋ช…์„ ๊ฐ™์ด ์ ์–ด ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜Š 1. Router ๋ผ์šฐํ„ฐ๋Š” ์ฃผ์†Œ์— ๋”ฐ๋ผ ๋ถ€๋ถ„ ๋ Œ๋”๋ง์„ ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. SPA์—์„œ ํŽ˜์ด์ง€ ์ด๋™์„ ๊ตฌํ˜„ํ•˜๋ฉด ๊ฑฐ์˜ ํ•„์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•˜์…”๋„ ๋ฌด๋ฐฉํ•ฉ๋‹ˆ๋‹ค. ์˜›๋‚  ๋ฐฉ์‹ ์ฒ˜๋Ÿผ ..

[html, css, javascript] ์‹ฌ์‹ฌํ•ด์„œ ๋งŒ๋“ค์–ด๋ณธ ๋ฉ”์ธ ํ™”๋ฉด ํšจ๊ณผ

๋ฉ‹์ง„ ํ™ˆํŽ˜์ด์ง€๋“ค์„ ํƒ์ƒ‰ํ•˜๋˜ ์ค‘ ๊ดœ์ฐฎ์•„ ๋ณด์ด๋Š” ํšจ๊ณผ๋ฅผ ๋ฐœ๊ฒฌํ•ด์„œ ์ง์ ‘ ๊ตฌํ˜„ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ์™€ ๋ฐฉ์‹์€ ๋‹ค์–‘ํ•˜๊ฒ ์ง€๋งŒ, ์ €๋Š” ๋‹จ์ˆœํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. div ์•ˆ์— inner_div๋ฅผ ๋‘๊ณ  ์ฒซ๋ฒˆ์งธ์ค„์˜ inner_div์—๊ฒŒ๋Š” left -100% ๋ฅผ ๋‘๋ฒˆ์งธ ์ค„์˜ inner_div์—๊ฒŒ๋Š” left 100%๋ฅผ ์ฃผ์–ด, ๋™์‹œ์— left: 0์ด ๋ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์•ก์…˜์ด ์ผ์–ด๋‚˜๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค. classํ•˜๋‚˜๋กœ ์ปจํŠธ๋กค ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— javascript์€ ๋‹จ์ˆœํžˆ class๋งŒ ์ถ”๊ฐ€ํ•ด ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 1. html Click Me 2. css html,body{ width:100%; height:100%; } * { padding:0; margin:0; } .wrapper{ position: relati..

์ž์ฃผ์“ฐ๋Š” css ์ •๋ฆฌ

1. reset.css reset์€ ๋ณดํ†ต ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” Eric Meyer's ์˜ Reset CSS 2.0์—์„œ css๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. /* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u,..

VS Code ์‚ฌ์šฉํ•˜๋ฉด์„œ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ๋“ค ์ •๋ฆฌ!

* VSCode ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋‹จ์ถ•ํ‚ค 1. Tabํ‚ค ์•ˆ๋จน์„ ๋•Œ ๊ฐ•์•„์ง€๊ฐ€ ํ‚ค๋ณด๋“œ์—์„œ ๋ฐœ์žฅ๊ตฌ๋ฅผ ์ณค๋”๋‹ˆ VSCode ์—๋””ํ„ฐ ํ™”๋ฉด์—์„œ ๊ฐ‘์ž๊ธฐ ํƒญํ‚ค๊ฐ€ ๋จน์งˆ ์•Š์•˜๋‹ค. ํƒญํ‚ค ๋Œ€์‹  ์™ผ์ชฝ ๋ฉ”๋‰ด ๋ถ€๋ถ„์ด ํ™œ์„ฑํ™” ๋œ๋‹ค๋ฉด Ctrl + M ์„ ๋ˆ„๋ฅด๋ฉด ํ•ด์ œ๋œ๋‹ค. 2. ๊ฐ™์€ ๋‹จ์–ด ์„ ํƒํ•˜๊ธฐ Ctrl + D : Ctrl ๋ˆ„๋ฅธ ์ƒํƒœ์—์„œ d ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๊ฐ™์€ ๋‹จ์–ด๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. ์™„์ „ ์Šต๊ด€์ฒ˜๋Ÿผ ์”€. * React Snippets ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 1. React Snippets ์„ค์ •ํ•˜๊ธฐ React Snippets ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์šด ๋ฐ›๋Š”๋‹ค. - ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์„ธํŒ… { "workbench.iconTheme": "material-icon-theme", "workbench.startupEditor": "newUntitledFile", "peacoc..

ํƒญ ๊ตฌํ˜„ํ•˜๊ธฐ - html, css, jquery

๋ฒ„ํŠผ ํด๋ฆญ์‹œ ํ•˜๋‹จ์˜ ๋‚ด์šฉ์ด ์ถœ๋ ฅ๋˜๋Š” ํƒญ์„ ๋งŒ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋””์ž์ธ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ํ™œ์„ฑํ™”๋œ ๋ฒ„ํŠผ ๋ถ€๋ถ„์€ ํ•˜๋‚˜์˜ div๋กœ ์ปจํŠธ๋กค ํ•˜์—ฌ ํด๋ฆญ์‹œ ์œ„์น˜๋ฅผ ์ด๋™์‹œ์ผœ ์ข€ ๋” ์„ธ๋ จ(?)๋˜๊ฒŒ ๋””์ž์ธ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. 1. HTML ๊ณต์ง€์‚ฌํ•ญ ๋‰ด์Šค ์ผ๋Œ€์ผ๋ฌธ์˜ ๊ณต์ง€์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ๊ณต์ง€์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ๊ณต์ง€์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ๊ณต์ง€์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ๊ณต์ง€์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. News์ž…๋‹ˆ๋‹ค. News์ž…๋‹ˆ๋‹ค. News์ž…๋‹ˆ๋‹ค. News์ž…๋‹ˆ๋‹ค. News์ž…๋‹ˆ๋‹ค. 1:1 ๋ฌธ์˜ ์ž…๋‹ˆ๋‹ค. 1:1 ๋ฌธ์˜ ์ž…๋‹ˆ๋‹ค. 1:1 ๋ฌธ์˜ ์ž…๋‹ˆ๋‹ค. 1:1 ๋ฌธ์˜ ์ž…๋‹ˆ๋‹ค. 1:1 ๋ฌธ์˜ ์ž…๋‹ˆ๋‹ค. 2. CSS * { padding:0; margin:0; box-sizing:border-box; } body{ background-color:#eee; } .wrap { padding:30px; } ...

React-datepicker ์ปค์Šคํ…€ ํ•˜๊ธฐ

๋‹ฌ๋ ฅ์„ ์“ธ ์ผ์ด ์žˆ์–ด์„œ React-datepicker ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์„ค๋ช…๊ณผ ์˜ˆ์‹œ ์†Œ์Šค๊ฐ€ ๋ถˆ์นœ์ ˆํ•œ ๋Š๋‚Œ์„ ๋ฐ›์•˜์–ด์š”. ๐Ÿ˜ฅ ๋ฐ๋ชจ๋ฒ„์ „์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋นต๋นต ํ„ฐ์ง€๋”๋ผ๊ตฌ์š”. * react-datepicker : www.npmjs.com/package/react-datepicker * react-datepicker demo : reactdatepicker.com/#example-custom-header * lodash : www.npmjs.com/package/lodash 1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ yarn add react-datepicker 2. ๊ธฐ๋ณธ datepicker ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ํ›„ App.js ๋ถˆ๋Ÿฌ์˜ค๊ธฐ // Calendar.js import React, { useState } fro..

React ์Šคํƒ€์ผ๋ง - emotion

emotion๊ณต์‹ ์‚ฌ์ดํŠธ : emotion.sh/docs/introduction Emotion - Introduction Emotion is a library designed for writing css styles with JavaScript. It provides powerful and predictable style composition in addition to a great developer experience with features such as source maps, labels, and testing utilities. Both string and objec emotion.sh ์ €๋Š” React ๊ฐœ๋ฐœ์‹œ ์ฃผ๋กœ emotion์œผ๋กœ ์Šคํƒ€์ผ๋ง์„ ํ•ฉ๋‹ˆ๋‹ค. ์Šคํƒ€์ผ๋งŒ ๋”ฐ๋กœ ๋นผ์„œ ๊ด€๋ฆฌํ•˜๊ธฐ๋„ ํŽธํ•˜๊ณ  SASS..

[MongoDB] MongooseServerSelectionError

- ์—๋Ÿฌ ๋‚ด์šฉ MongooseServerSelectionError: Could not connect to any servers in your MongoDB Atlas cluster. One common reason is that you're trying to access the database from an IP that isn't whitelisted. Make sure your current IP address is on your Atlas cluster's IP whitelist: https://docs.atlas.mongodb.com/security-whitelist/ at NativeConnection.Connection.openUri (D:\_personal\____study\reactstud..

๋ฐ˜์‘ํ˜•