본문 바로가기

전체 글32

[Python] 파이썬 다운 코딩 클린 파이썬을 위해 파이썬 개발자라면 꼭 알아야 할 소소한 파이썬 기법들을 정리해 보았습니다. 네이밍 # 변수와 함수, 메소드의 이름은 소문자로, 밑줄로 단어를 구분합니다 num = 3 def get_data(): ... # 클래스의 이름은 카멜 케이스를 따릅니다 class UserInformation: ... # 상수의 이름은 대문자로 합니다 TOTAL = 30 코드 표현 # 문자열 결합은 직접 결합 보단 join을 사용합니다 name = first + " " + last# X name = " ".join([first, last])# O # 문자열의 접두사나 접미사를 확인할 때 if data.startswith("Hello"): if data.endswith("World"): # 데이터 타입 비교 시 .. 2021. 11. 5.
[Django] 접근 제어 유저 기능이 구현된 프로젝트에서 로그인이 된 유저가 글을 작성할 때, 그 유저에 대한 정보가 글에 함께 저장되도록 합시다. 그리고 거기에 추가적으로 '로그인을 해야 글을 작성할 수 있고', '내가 작성한 글만 수정, 삭제를 할 수 있도록' 하는 기능을 추가해봅시다. 유저가 서버로 보내는 request 처리 과정에서 view에 Mixin이라는 것을 설치하고 이 Mixin에 접근 제어와 관련된 로직들을 추가하면, 로그인이 되어 있지 않은 경우 다른 페이지로 redirect하거나 forbidden response를 돌려주는 등의 일을 수행할 수 있습니다. Mixin은 보통 기존의 클래스에 어떤 기능을 더해줄 때 쓰이는 개념인데, 따라서 뷰 함수가 아닌 뷰 클래스에서만 적용될 수 있습니다. 이러한 접근 제어와 .. 2021. 11. 4.
[JavaScript] 자바스크립트 기초 자바스크립트 기초 문법에 대해 정리해보았습니다. 출력 한줄에 한 코딩만 작성할 경우 세미콜론(;)을 붙이지 않아도 되지만 한줄에 여러 내용을 작성할 경우 ;로 구분을 해줘야 합니다. /*여러줄의 주석입니다*/ console.log('Hello World!'); console.log('Hello ' + 'World!'); // Hello World! console.log(10+5)// 15 console.log(2 ** 3);// 8 // 문자열로써 '나 "를 사용하고 싶다면 앞에 백슬래시를 넣어줍니다 console.log("He said \"I\'m fine\"");// He said "I'm fine" // 백틱(`)을 써도 됩니다 console.log(`He said \"I\'m fine\"`);//.. 2021. 10. 28.
[CSS] CSS 중급 (2) 페이지의 레이아웃 작성을 위해 사용하는 flex와 grid에 대해 정리해 보았습니다. flex는 부모 요소인 컨테이너(container)와 자식 요소인 아이템(item)으로 구성되며, 각각 플렉스 컨테이너, 플렉스 아이템이라고 부릅니다. 이들에게 다양한 속성들을 적용하여 컨테이너 내부의 아이템 크기나 아이템 배치 형태를 조절해 유연한 플렉스 구조를 설계할 수 있습니다. 하나하나 알아보도록 합시다. flex 적용하기 .container { display: flex; } flex가 일반 block배치와 다른 점은, 바로 block은 세로 방향으로 배치되지만 flex는 마치 inline처럼 가로 방향으로 배치된다는 점입니다. 그리고 float이랑은 다르게 아이템들의 높이가 자동으로 같게 유지됩니다. 배치 방향.. 2021. 10. 27.
[Django] allauth 패키지 django-allauth 패키지란? 장고에서 유저 기능 구현을 위해 쓰이는 패키지 입니다. 장고에서 제공하는 것들 중 django.contrib.auth와 django-allauth가 있는데요, 이 둘의 차이는 다음과 같습니다. django.contrib.auth : 장고에 포함되는 앱으로, 내부적으로 urls, views, forms, models가 있습니다. AbstractUser : django.contrib.auth에서 제공하는 유저 모델로, username, password, first_name, last_name, email 등의 필더들을 미리 제공하고, 추가적인 필드도 커스터마이징 할 수 있습니다. AbstractBaseUser : 역시 django.contrib.auth에서 제공하는 유저.. 2021. 10. 25.
[CSS] CSS 중급 (1) 우선 CSS의 다양한 선택자 사용 방법들에 대해 정리하고, 지금까지 알아본 CSS 지식들을 이용해 웹페이지 내에서 드롭다운이나 툴팁 같은 특별한 기능을 수행하는 요소들을 구현해 보겠습니다. 선택자 저희는 이미 HTML요소, 아이디, 클래스로 선택자를 설정하는 방법을 알고 있습니다. 좀 더 세밀하게 선택자를 고르는 방법에 대해 알아봅시다. /*해당 요소의 하위 요소 중에서 특정 타입의 요소를 모두 선택합니다*/ div p {스타일;} /*태그의 하위 요소 중 태그 전부 다*/ /*해당 요소의 바로 밑에 존재하는 하위 요소 중에서 특정 타입의 요소를 모두 선택합니다*/ div > p {스타일;} /*태그의 바로 밑에 존재하는 하위 요소 중 태그 전부 다*/ 동위 관계 : HTML 요소의 계층 구조에서 같은 .. 2021. 10. 23.