๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • What would life be If we had no courage to attemp anything?

์ „์ฒด ๊ธ€271

[์ƒํ™œ์ฝ”๋”ฉ] Java - ์ œ์–ด๋ฌธ (boolean) public class BooleanApp { public static void main(String[] args) { System.out.println("One"); System.out.println(1); System.out.println(true); System.out.println(false); String foo ="Hello world"; //String true = "hello world"; reversed word System.out.println(foo.contains("world")); //true System.out.println(foo.contains("iseo")); //false } } contains ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด ๋ฌธ์ž์—ด ์•ˆ์— " " ์•ˆ์˜ ๋ฌธ์ž์—ด์ด ๋“ค์–ด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ ๊ฐ€๋Šฅ! 2022. 4. 25.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.22.๊ธˆ ์˜ค๋Š˜์€ M:N์„ ์ด์šฉํ•˜๊ณ  REST API๋ฅผ ํ™œ์šฉํ•œ ํŽ˜์ด์ง€ ๊ตฌํ˜„์„ ํ•˜์˜€๋‹ค. ์‚ฌ์‹ค M:N์˜ ๊ฐœ๋…์ด ์•„์ง ๋ช…ํ™•ํ•˜๊ฒŒ ์ •๋ฆฝ๋˜์ง€ ์•Š์•„์„œ models.py์™€ serializers.py๋ฅผ ์ž‘์„ฑํ•˜๋Š”๋ฐ ํž˜๋“ค์—ˆ๋‹ค. ๋˜ํ•œ, python manage.py loaddata movies/actors.json movies/movies.json movies/reviews.json ํ•  ๋•Œ ๊ณ„์† ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค. ๊ทธ๋ž˜์„œ models.py ๋ถ€๋ถ„์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜์ •ํ–ˆ๋‹ค. from django.db import models # Create your models here. class Actor(models.Model): name = models.CharField(max_length=100) class Movie(models.Model): title.. 2022. 4. 22.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.21.๋ชฉ ์˜ค๋Š˜๋„ ์—ญ์‹œ Django REST Framework๋ฅผ ์ด์šฉํ•œ ์‹ค์Šต์„ ํ•˜์˜€๋‹ค. Django๋กœ๋งŒ ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ๋ณด๋‹ค ํ™•์‹คํžˆ ๊ณผ์ •์ด ์งง์•„์กŒ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค. POSTMAN์„ ์ด์šฉํ•ด ์‘๋‹ต์„ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์—์„œ ์˜ค๋Š˜๋„ ์˜ค๋ฅ˜๋“ค์„ ๋งŒ๋‚ฌ๋‹ค. ์ด๋ฒˆ์—๋„ ์•ฝ๊ฐ„ ์–ด์ด์—†๋Š” ์‹ค์ˆ˜์˜€๋Š”๋ฐ, 500๋ฒˆ๋Œ€ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์™€์„œ ๋ญ˜๊นŒ ํ–ˆ๋Š”๋ฐ ํ„ฐ๋ฏธ๋„์— ๋œฌ ์˜ค๋ฅ˜๋ฅผ ๋ณด๋‹ˆ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜๋‹ค. django.core.exceptions.ImproperlyConfigured: Field name `name` is not valid for model `Music`. ๋‚ด๊ฐ€ models.py์— field์ด๋ฆ„์„ content๋ผ ํ•ด๋†“๊ณ  serializers.py์—์„œ ๋ช…์„ธ์„œ๋ฅผ ์ž˜๋ชป๋ณด๊ณ  ์ ์–ด name์ด๋ผ๊ณ  ์ ์—ˆ๋‹ค. from rest_framework import seria.. 2022. 4. 21.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.20.์ˆ˜ Today I Learn 220420 ์˜ค๋Š˜์€ Django REST Framework๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ๋‹ค. ์ด์ „๊นŒ์ง€๋Š” Django์˜ MVTmodel์„ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, REST Framework๋ฅผ ์ด์šฉํ•˜๋ฉด T(templates)๋ฅผ ๋งŒ๋“ค ํ•„์š” ์—†์ด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค! ์ด์ œ๊นŒ์ง€ ํ…œํ”Œ๋ฆฟ์„ ์ž‘์„ฑํ•˜๋Š”๊ฒŒ ์•ฝ๊ฐ„ ๊ท€์ฐฎ์€ ์ž‘์—…์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, Django์—๋Š” REST Framework๋ผ๋Š” ์ข‹์€ ํ”„๋ ˆ์ž„ ์›Œํฌ๊ฐ€ ์žˆ๋˜๊ฒƒ์ด์—ˆ๋‹ค! ์ด์ „์—๋Š” ModelForm์„ ์ž‘์„ฑํ•ด ์ฃผ์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ์—๋Š” ModelForm๋Œ€์‚ฐ Serializers.py๋ฅผ ๋งŒ๋“ค์–ด ์ž‘์„ฑํ•ด์ฃผ์—ˆ๋‹ค! ๋‘˜์ด ๋‹ค๋ฅธ๊ฑฐ ๊ฐ™์ง€๋งŒ ์ž์„ธํžˆ ๋ณด๋ฉด ๋น„์Šทํ•œ ๋ฉด์ด ๋งŽ์•˜๋‹ค. Serializer๋Š” ์‚ฌ์ „์  ์˜๋ฏธ๋กœ ์ง๋ ฌํ™”๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ๊ฐ„๋‹จํ•˜๊ฒŒ ํŒŒ์ด์ฌ ๋ฐ์ดํ„ฐ๋ฅผ JSON ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค ์ •๋„๋กœ .. 2022. 4. 20.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.19.ํ™” Today I Learn 220419 ์˜ค๋Š˜๋„ ์žฅ๊ณ  ์›Œํฌ์ƒต์„ ํ•˜๋ฉด์„œ ๋˜ ๋ฐ”๋ณด๊ฐ™์€ ๊ฒฝํ—˜์„ ํ–ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ณ„์ •์„ ๋‘๊ฐœ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ๋‹ค๋ฅธ ๊ณ„์ •์œผ๋กœ ์ข‹์•„์š”๋ฅผ ๋ˆŒ๋Ÿฌ๋†“์€ ๊ฒƒ์„ ์žŠ๊ณ ์žˆ๋˜๊ฒŒ ์›์ธ์ด์—ˆ๋‹ค. ์ข‹์•„์š” ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๋ฉด์„œ ํ˜„์žฌ ๊ณ„์ •์œผ๋กœ ์ข‹์•„์š”๋ฅผ ๋ˆ„๋ฅด์ง€ ์•Š์•˜๋Š”๋ฐ ์ข‹์•„์š” ์ˆ˜๊ฐ€ 1๋กœ ์ถœ๋ ฅ๋˜์–ด์„œ ์ถœ๋ ฅ์— ์ด์ƒ์ด ์žˆ๊ณ  ์ฝ”๋“œ๋ฅผ ์ž˜๋ชป ์ž‘์„ฑํ•œ ์ค„ ์•Œ์•˜๋‹ค. ๊ทธ๋ž˜์„œ ์กฐ๊ธˆ์”ฉ ๊ณ ์น˜๋‹ค ๋ณด๋‹ˆ ๊ณผ์ œ ์ˆ˜์ • commit๋งŒ 4๋ฒˆ ์ด์ƒ ํ–ˆ๋‹ค. ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ๋‹ค๋ฅธ ๊ณ„์ •์œผ๋กœ ์ข‹์•„์š” ์ˆ˜๋ฅผ ๋ˆŒ๋ €์„ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์ ์ด ๋ถˆํ˜„๋“ฏ ์Šค์ณ๊ฐ”๋‹ค. ์˜ค๋ฅ˜๋•Œ๋ฌธ์— if๋ฌธ ์•ˆ์— ์ข‹์•„์š” ์ˆ˜๋ฅผ ๋„ฃ์—ˆ๋‹ค๊ฐ€, article.like_user๋ผ๊ณ ๋„ ๋งŒ๋“ค์–ด๋ดค๋‹ค๊ฐ€ ์—ฌ๋Ÿฌ ์‹œ๋„๋ฅผ ํ–ˆ์—ˆ๋Š”๋ฐ, ์›์ธ์„ ์•Œ๊ณ  ๋‚˜์„œ ๋‹ค์‹œ if๋ฌธ ๋ฐ”๊นฅ์œผ๋กœ ๋นผ์ฃผ๊ณ  ํ•˜๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ์ถœ๋ ฅ๋˜์—ˆ๋‹ค. ์˜ค๋ฅ˜๋ผ๊ณ  ์ƒ๊ฐํ•œ๊ฒŒ ๋‹จ์ˆœ.. 2022. 4. 19.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.18.์›” Today I Learn 220418 ์˜ค๋Š˜์€ DB 1:N๊ด€๊ณ„์™€ ๊ด€๋ จํ•˜์—ฌ todo app์„ ์žฅ๊ณ ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ์›Œํฌ์ƒต์„ ํ–ˆ๋‹ค. ์˜ค๋Š˜๋„ ์–ด๊น€์—†์ด ์˜ค๋ฅ˜์™€ ์‹ธ์› ๋‹ค. ์ฒ˜์Œ์— migration์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ์ด๊ฒŒ ๊ณ„์† ์ด์–ด์ง€๋ฉด์„œ ์„œ๋ฒ„๊นŒ์ง€ ์ผœ์ง€์ง€ ์•Š์•„์„œ ๊ฒฐ๊ตญ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋งŒ๋“ค์—ˆ๋‹ค. ๋‹ค์‹œ ์˜ค๋ฅ˜๋ฅผ ๋˜์งš์–ด๋ณด๋ฉด settings.py์— AUTH_USER_MODEL = 'accounts.User'๋ฅผ ์ ์–ด๋‘๊ณ  accounts์˜ model๊ณผ form์„ ์ œ๋Œ€๋กœ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„์„œ attribute ์—๋Ÿฌ๊ฐ€ ๋œฌ ๊ฑฐ์˜€๋‹ค. ๋˜ ํ•œ๋ฒˆ์— ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ ค๋‹ค๊ฐ€ ๋‚ด๊ฐ€ ๋†“์นœ ๋ถ€๋ถ„๋“ค์ด ์ƒ๊ฒผ๋˜ ๊ฑฐ ๊ฐ™์•˜๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์‹œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งŒ๋“ค ๋•Œ๋Š” ๊ณผ์ • ํ•˜๋‚˜ํ•˜๋‚˜ ๋‹ค์‹œ ๋˜์งš์–ด๊ฐ€๋ฉฐ ๋งŒ๋“ค์–ด๋ณด๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ๋‹ค. ๊ทธ๋žฌ๋”๋‹ˆ ์‚ฌ์†Œํ•œ ์˜ค๋ฅ˜๋“ค๋งŒ ๋งŒ๋‚˜๊ณ  ๋Œ€์ฒด์ ์œผ๋กœ ๊ดœ์ฐฎ๊ฒŒ ํ˜๋Ÿฌ๊ฐ”๋‹ค.. 2022. 4. 18.
DB ์ •๋ฆฌ CRUD ๐Ÿ•๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ (์˜๋ฏธ, ๋ช…๋ น์–ด) ์˜๋ฏธ Django๊ฐ€ model์— ์ƒ๊ธด ๋ณ€ํ™”๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ๋ฐฉ๋ฒ• Migration ์‹คํ–‰ ๋ฐ DB ์Šคํ‚ค๋งˆ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด makemigrations model์— ๋ณ€๊ฒฝํ•œ ๊ฒƒ์— ๊ธฐ๋ฐ˜ํ•œ ์ƒˆ๋กœ์šด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜(like์„ค๊ณ„๋„)๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ migrate ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ DB์— ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ์„ค๊ณ„๋„๋ฅผ ์‹ค์ œ DB์— ๋ฐ˜์˜ํ•˜๋Š” ๊ณผ์ • ๋ชจ๋ธ์—์„œ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋“ค๊ณผ DB์˜ ์Šคํ‚ค๋งˆ๊ฐ€ ๋™๊ธฐํ™”๋ฅผ ์ด๋ฃธ sqlmigrate ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์— ๋Œ€ํ•œ SQL ๊ตฌ๋ฌธ์„ ๋ณด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด SQL ๋ฌธ์œผ๋กœ ์–ด๋–ป๊ฒŒ ํ•ด์„๋˜์–ด ๋™์ž‘ํ• ์ง€ ๋ฏธ๋ฆฌ ํ™•์ธ ๊ฐ€๋Šฅ showmigrations ํ”„๋กœ์ ํŠธ ์ „์ฒด์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํŒŒ์ผ๋“ค์ด migrate๋๋Š”์ง€ ์•ˆ๋๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ.. 2022. 4. 17.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.15.๊ธˆ Today I Learn 2022.04.15 ์˜ค๋Š˜์€ ๊ด€ํ†ต ํ”„๋กœ์ ํŠธ๋กœ ๋žœ๋ค์œผ๋กœ ๋ฐฐ์ •๋œ ํŽ˜์–ด์™€ ํ•จ๊ป˜ ํ˜‘์—…ํ•˜์—ฌ ์žฅ๊ณ  CRUD๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ํ–ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ์˜ ๋ชฉํ‘œ๋Š” ์™„๋ฒฝํ•œ CRUD๋ฅผ ๊ตฌํ˜„ํ•ด ๋‚ด๋Š” ๊ฒŒ ์•„๋‹Œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ํ˜‘์—…์„ ํ•œ๋‹ค๋Š” ์ ์—์„œ ์˜๋ฏธ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์‚ฌ์‹ค ํ˜ผ์ž์„œ๋„ ๊นƒ์„ ๋‹ค๋ฃจ๋Š”๋ฐ ์•„์ง ์–ด๋ ค์›€์ด ์žˆ๊ณ , ๊ด€ํ†ต ํ”„๋กœ์ ํŠธ๋ฅผ ํ˜ผ์ž์„œ ํ•˜๋Š” ๊ฒƒ๋„ ์•„์ง ์–ด๋ ค์›€์ด ์žˆ๋Š” ๋‚˜์—๊ฒŒ๋Š” ๋žœ๋ค์œผ๋กœ ํŽ˜์–ด๊ฐ€ ๋œ ์‚ฌ๋žŒ๊ณผ ํ•จ๊ป˜ ํ˜‘์—…ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์€ ์ฒ˜์Œ์—๋Š” ๋‘๋ ค์›€์œผ๋กœ ๋‹ค๊ฐ€์™”๋‹ค. ํ•˜์ง€๋งŒ, ํ˜ผ์ž๊ฐ€ ์•„๋‹Œ 'ํ˜‘์—…'์ด๋ผ๋Š” ์˜๋ฏธ๋ฅผ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๋‹ค์‹œ ํ•œ๋ฒˆ ๋ฐฐ์šฐ๋Š” ๊ธฐํšŒ๊ฐ€ ๋˜์—ˆ๋‹ค. ์™œ ์ด ๋ถ€๋ถ„์„ ์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•˜๋Š”์ง€ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ƒ๊ฐํ•ด ๋ณด๊ฒŒ ๋˜์—ˆ๊ณ , git ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ๋” ์‰ฝ๊ฒŒ ๋‹ค๊ฐ€๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ์˜€๋‹ค. ํ˜‘์—…์„ ํ•˜๋ฉด์„œ ์˜ค๋ฅ˜๋ฅผ ๋งŒ๋‚  ๋•Œ ๊ฐ™์ด.. 2022. 4. 15.
[์ƒํ™œ์ฝ”๋”ฉ] Java - ๋ณ€์ˆ˜ ๋ณ€์ˆ˜ ๊ฐ•์˜ 1 public class Variable { public static void main(String[] args) { int a = 1; //Number -> integer System.out.println(a); //int b = 1.1; ์ •์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ์„œ ๋ถˆ๊ฐ€! 1.1์€ real number ->double double b = 1.1; System.out.println(b); //int c = "Hello World"; ๋ถˆ๊ฐ€! String c = "Hello World"; // string System.out.println(c); } } ๊ฐ•์˜2 public class Letter { public static void main(String[] args) { String name = "Iseo.. 2022. 4. 14.
[์ƒํ™œ์ฝ”๋”ฉ] Java - ๋ฌธ์ž์—ด ๋ฌธ์ž์—ด์˜ ํ‘œํ˜„ public class StringApp { public static void main(String[] args) { System.out.println("Hello World"); //String - character๋“ค์ด ๋ชจ์—ฌ์žˆ๋Š” ๊ฒƒ! (๋ฌธ์ž์—ด) System.out.println('H'); //Character - ํ•œ ๊ธ€์ž (๋ฌธ์ž) System.out.println("H"); //String System.out.println("Hello" +"World"); //์ค„๋ฐ”๊ฟˆ์ด ์•„๋‹Œ Hello์™€ World๋ฅผ ๋ถ™์—ฌ์คŒ //new line System.out.println("Hello \nWorld"); //escape System.out.println("Hello \"World\"");//Hello .. 2022. 4. 14.