비구조화할당-js

javascript는 대표적인 객체지향 프로그래밍 언어 중에 하나입니다. 객체를 이용하는 방법이 es6에 오면서 좀더 간결해 졌는데요. 비구조화할당이라는 부분이 있습니다. 말이 상당이 어려워 보이는데요. 사실 프로그래밍의 발전에 가장 중요한 키워드는 바로

‘정리’

라는 생각을 하게됩니다. 객체라는 것도 사실 정보를 좀더 잘 관리하기 위해서 고안된 발명품이지 않나 싶습니다. 비구조화할당은 이 객체를 조금더 정리하기 위해서 만들어진 발명품입니다.( 요건 제생각 ) 여튼 일반적으로 사용했던 객체 사용법과 어떻게 달라졌는지 1~3번의 과정을 통해서 비교해 보세요.

1

*일반적으로 사용하는 객체 사용방법
*
nomal_man, super_man 두개의 객체를 만들어서 객체의 value값을 콘솔에 뿌려보도록 할게요
**``을 이용하면 문자를 쉽게 조합할수 있다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

const nomal_man = {
name: 'kindbear',
year: '1984',
color: 'yellow'
};

const super_man = {
name: 'superman',
year: '1600',
color: 'red'
};

function print(man) {
const context = `저는 ${man.name}입니다. ${man.year}에 태어났고 ${man.color}(?)색깔 옷을 좋아합니다`;
console.log(context);
}

print(nomal_man);
print(super_man);

2

**사용할 객체를 변수에 담아서 코드를 정리

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

const nomal_man = {
name: 'kindbear',
year: '1984',
color: 'yellow'
};

const super_man = {
name: 'superman',
year: '1600',
color: 'red'
};

function print(man) {
const man = { name, year, color }
const context = `저는 ${name}입니다. ${year}에 태어났고 ${color}(?)색깔 옷을 좋아합니다`;
console.log(context);
}

print(nomal_man);
print(super_man);

3

**사용할 객체를 파라미터에 담아서 코드를 또한번 정리 ( 맞아요 .. 그 생소한 코드들이 이렇게 줄인거였습니다 -_- )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

const nomal_man = {
name: "kindbear",
year: "1984",
color: "yellow"
};

const super_man = {
name: "superman",
year: "1600",
color: "red"
};

function print(man) {
const { name, year, color } = man;
const context = `저는 ${name}입니다. ${year}에 태어났고 ${color}(?)색깔 옷을 좋아합니다`;
console.log(context);
}

print(nomal_man);
print(super_man);

이게 과정을 모르고 변화된 최신 문법들을 보면 이게 뭔가 .. 하는 생각이 들더라구요 실제로 저도 그럤구요.
이런걸 점점 없애는 과정도 코딩에 즐거움 중에 하나인것 같습니다.
:)

오늘도 즐거운 코딩하세요~ ㅎ
kindfamily

djangoshell

장고에는 shell을 이용해서 model의 내용을 읽고 생성하고 수정하고 삭제할수가 있다. 즉 CRUD가 터미널 명령으로 확인이 가능한 것이다. 물론 admin으로도 확인이 가능하지만 가능하면 shell을 통해 명령어를 확인하고 코딩을 하게되면 좀더 효과적으로 학습이 가능하다. shell에 입력이 가능한 명령어들을 정리해 봤습니다.

import


** 필요한 모델과 기능들을 불러오는 부분

from django.contrib.auth.models import User

from django.conf import setting

from chat.models import *
from accounts.models import *

CRUD


** objects 디폴트 메니저를 통해 crud를 구현할수 있다

R

from django.db.models import Q
from post.models import Post # Post 모델 불러오기
from django.contrib.auth.models import User # User 모델 불러오기

user = request.user # 현재 접속한 user 확인 FBV( 함수형 view 일때 )
user = self.request.user # 현재 접속한 user 확인 FBV( 클래스형 view 일때 )

Post.objects.all()
Post.objects.count() # 숫자확인
Post.objects.all().order_by(‘-id’)[:10]
Post.objects.get(pk=1)
Post.objects.values() # 전체 필드 확인
Post.objects.filter(username=’kindfamily’, gender=’남성’)
Post.objects.filter(Q(username=’kindfamily’) | Q(gender=’남성’)) # or
Post.objects.filter(Q(username=’kindfamily’) & Q(gender=’남성’)) # and
Post.objects.filter(username=’kindfamily’, gender=’남성’).exclude(location=’서울’) # 제외할 조건

vundler사용법

vundler 사용법


~/.vim/vunbler 폴더 생성 후 클론

클론주소

1
https://github.com/VundleVim/Vundle.vim.git

~/.vimrc 파일 생성 후 샘플 파일 입력 후 저장

샘플파일 링크


vim으로 파일 열기> plugin설치

:PluginInstall


폴더이동및 파일관리 플러그인 ( nerdtree )

사용법 안내 블로그

fetch (지옥에서온 깃)

do-it 지옥에서 온 github 책을 보고 fetch 명령어에 대해서 정리한 내용입니다

책구매링크

05 깃허브로 협업하기 챕터를 읽고 fetch에 대해서 정리


다른사람이 수정한 소스를 흟어보고 합치고 싶을때 이용한다. 원격저장소의 정보만 가져오는 방식이다. git pull 명령은 git fetch + git merge FETCH_HEAD 명령을 합친것과 같다

** 원격 저장소의 커밋 정보만 받아옴
** 다른사람이 수정한 소스를 훓어보고 합치고 싶을때 사용
** git pull 명령은 git fetch + git merge FETCH_HEAD 명령을 합친것과 같다

191208

hexo

hexo 오픈채팅

more 버튼

seo적용

  • 추가적으로 구글 서치콘솔 설정을 해야함

12월 공부계획

책 정독 및 블로그 정리

  • 파이썬 웹프로그래밍
  • 고양이도 할수 있는 vue.js
  • 파이썬 웹프로그래밍
  • 지옥에서 온 github(이고잉님)

동작 확인용 배포 ( 시놀로지 )

  • 인스타그램
  • 북마크
  • opeace

facebook clone

191207

pythonanywhere

  1. console: github clone
  2. web: virtulenv 가상환경
  3. 문제발생: 정적파일이 안불러져옴, cdn도 안됨

191204

멋진 구독자들의 멋진 hexo 블로그 !!
건우군블로그

소연양블로그

191128

hexo 커스텀


themes>hexoblogtem>_config.yml

변경사항( 즐거웠어요 )

  1. 읽은시간 표시 없애기
  2. 코드보여주는 테마 변경 ( 코드스타일 리스트 ) 이름만 변경해주면됨
1
2
3
4
5
6
7
8
9
10
11
12
13

highlight:
# Code highlight themes
# https://github.com/highlightjs/highlight.js/tree/master/src/styles
theme: androidstudio
# Show code copying button
clipboard: false
# Default folding status of the code blocks. Can be "", "folded", "unfolded"
fold: unfolded
# Whether to show article thumbnail images
thumbnail: true
# Whether to show estimate article reading time
readtime: false

191127

hexo disqus 적용

_config.yml 파일수정

  • 주의 : _config.yml 파일은 2개가 존재한다
  • hexoblog>_config.yml
  • hexoblog>themes>[테마]>_config.yml
    둘다 수정을 해줘야 잘 작동함
1
2
3
4
5
comment:
# Name of the comment plugin
enable: true
type: disqus
shortname: kindfamily-1 # (required)
원격컨테이너에 vsc를 연결해서 사용이 가능하다

사용법

hexo꿀 플러그인 소개

191126

개요


  1. mac사용 꿀팁
  2. 파이썬웹프로그래밍
  3. 오픈소스개발계획

mac사용 꿀팁


  • 외장디스플레이 ( 외부모니터 ) 인식이 잘 안될때는 설정> 디스플레이 열어놓은 상태에서 option 키를 누른 상태에서 모니터를 연결하면 거의 된다

  • 간혹 업데이트를 했는데 안되는 기능들이 있다면 mac에 로그인되는 계정을 하나새로 만들어서 해보면 거의다 된다

파이썬웹프로그래밍메모


chapter13 - Model

모델이란 models.py 파일에 테이블을 정의하는 장고의 클래스를 의미한다 Manager 클래스, 3가지 관계 모델에 대한 설명을 이 챕터에서 진행

13.1 모델 정의
테이블의 컬럼은 모델 클래스의 속성으로정의하고 테이블에는 메소드가 없지만 모델 클래스에는 메소드를 정의할 수 있습니다 이렇게 함으로써 테이블에 관련된 데이터와 행위를 모두 모델 클래스 한곳에서 정의할 수 있는 장점이 생깁니다.

장고는테이블의 컬럼을 표현히기 위해 Field 추상 클래스를 제공하고 CharField 등의 필드타입은 Field 추상 클래스를 상속받아 정의한다 약 30여가지의 필드 타입과 공통으로 사용할수 있는 필드 옵션 17가지를 제공합니다 커스텀 필드 타입을 정의할수도 있음
321 page 부터 읽을 차례

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×