장고 개발 환경 준비
·
Django
장고를 본격적으로 사용하려면 적절한 개발 환경을 준비해야 합니다. 장고에서는 어떤 개발 환경이 필요할까요? 개발 환경이란 말 그대로 개발을 진행하는 환경을 의미하는데요. 장고를 통해 프로젝트를 개발하려면 파이썬과 별도의 가상 환경(아나콘다 등)이 필요합니다. 파이썬 설치 장고는 파이썬 언어를 기반으로 만들어진 웹 프레임워크입니다. 따라서 장고를 사용하려면 파이썬 설치가 필수이며 파이썬 언어에 대한 기본적인 이해가 필요합니다. 파이썬 설치하기: https://www.python.org/ 파이썬 설치 후 다음을 입력하여 설치된 버전을 다시 한 번 확인할 수 있습니다. python --version 미니콘다 가상환경 설치 및 사용 방법 위와 같이 로컬 환경에 파이썬을 설치하고 장고를 통해 개발을 진행하는 경..
장고란? 장고 기초 설명
·
Django
장고(Django)란 무엇일까요? 처음 들었을 때 이름이 굉장히 특이하다는 생각을 했는데요. 이는 장고를 개발한 로바티가 좋아하던 집시 재즈 기타리스트인 장고 라인하르트(Django Reinhardt)에서 유래되었다고 합니다. 장고는 2005년에 출시된 오픈소스 웹 프레임워크로 파이썬 언어를 통한 "빠른 개발과 실용적인 설계"를 목표로 하고 있습니다. 오픈소스는 코드가 모두에게 공개되어 있다는 것이고, 웹 프레임워크는 웹의 뼈대라는 의미죠. 개발자는 장고를 사용하여 파이썬 언어를 통해 안전하고 확장성 있는 방식으로 웹 애플리케이션을 빠르게 구축할 수 있습니다. 장고 웹 프레임워크 설명 파이썬에는 다양한 웹 프레임워크가 존재합니다. 그 중에서도 장고 웹 프레임워크를 선택하는 이유는 무엇일까요? 장고는 사용..
파이썬 리스트에서 홀수 제외하기 - TIL 3
·
TIL
파이썬 리스트에서 홀수를 제외하고 짝수만 남은 리스트를 반환하는 함수를 만들기 위해 처음에는 다음과 같이 시도해봤습니다. def remove_odd_numbers(numbers): for i in numbers: if (i % 2 != 0): numbers.remove(i) return numbers numbers = [1, 3, 5, 8, 11] remove_odd_numbers(numbers) #expected: [3] #result: [3, 8] 결과적으로 예상과 다른 결과값이 나왔는데, 이유는 numbers.remove() 를 통해 기존의 numbers 리스트를 흩트리기 때문이었습니다. 이는 다음과 같이 리스트를 복사하여 해결할 수 있었습니다. def remove_odd_numbers(number..
파이썬 데코레이터 설명
·
Python
파이썬에서 데코레이터란 무엇일까요? 데코레이터(decorator)의 뜻은 '장식하다'인데요. 파이썬에서는 함수에 특정한 기능을 추가할 때 사용합니다. 데코레이터는 조금 복잡하지만 이를 통해 기존 함수를 수정하지 않고도 다른 함수의 기능을 추가할 수 있다는 장점이 있습니다. 데코레이터 예시 예시를 통해 살펴보도록 하겠습니다. 다음과 같이 Hello, World!를 출력하는 함수가 있습니다. 해당 함수를 수정하지 않고 전후에 특정 문자를 추가하려면 어떻게 할 수 있을까요? def greeting(): return "Hello, World!" ​ print(greeting()) # "Hello, World!" 다음과 같이 데코레이터를 사용할 수 있습니다. 데코레이터는 이를 덧붙이려는 함수 앞에서 @functi..
파이썬 List, Tuple, Set, Dictionary 차이점 정리
·
Python
파이썬 List, Tuple, Set, Dictionary의 특징과 차이점은 다음과 같습니다. List 순서를 따라 값을 나열 대괄호 [] 사용 예시: [1, 2, 3], [”a”, “b”, “c”] 인덱싱 및 연산 가능 Tuple 리스트와 유사하나 값 변경 불가 소괄호 () 사용 예시: (1, 2, 3), (”a”, ) 요소가 1개일 때는 끝에 콤마를 붙여줘야 함 인덱싱 및 연산 가능 Dictionary 중괄호 {} 사용 키와 값 쌍으로 구성 예시: {”key1” : “values1”, “key2” : “values2”} 키는 중복 불가 키에 숫자, 문자, 튜플 사용 가능하나 리스트나 딕셔너리는 불가(재할당 되어 변경될 수 있으므로) Set set 키워드 사용 예시: a = set([1, 1, 2, 3..
파이썬 함수와 파라미터 순서 - TIL 2
·
TIL
함수와 파라미터 전달 방법과 순서에서 정리한 것처럼 파라미터는 종류에 따라 다음과 같이 순서가 존재합니다. Positional Arguments Positional Arguments with Default Variable Length Arguments Keyword Arguments Keyworld Arguetns with Default Variable Length Keyword Arguments 위코드 리플릿 28번 문제를 통해 이를 복습해보려고 합니다. 1. postional arguments와 variable length arguments def func_param_with_var_args(name, *args, age): print("name=",end=""), print(name) print("..
파이썬 함수와 파라미터 전달 방법 및 순서
·
Python
파이썬 함수에 파라미터를 전달할 때는 지켜야할 순서가 있습니다. 순서는 다음과 같으며 이 순서가 지켜지지 않는 경우에는 오류가 발생합니다. Positional Arguments Positional Arguments with Default Variable Length Arguments Keyword Arguments Keyworld Arguments with Default Variable Length Keyword Arguments 복잡해보일 수 있지만, 파라미터를 전달하는 방식을 하나씩 살펴보면 충분히 이해할 수 있는 개념입니다. 먼저, 파라미터의 전달 방식은 크게 다음과 같이 둘로 구분할 수 있습니다. 순서를 맞춰 전달: Positional Arguments 이름을 맞춰 전달: Keyword Argum..
파이썬 중첩 if문 처리하기 - TIL 1
·
TIL
파이썬 리플릿 25번 문제를 풀며 초반부의 파이썬 기초 개념들을 함께 정리해보려고 합니다. 문제는 x = b / a 를 만족하는 x 정수에 따라 함수를 구성하는 것이었는데요. 어떻게 접근해야 하나 고민해보니 x = b / a 에서 x가 정수라는 의미는 정수 b를 정수 a로 나눴을 때, 나머지가 0이라는 의미였습니다. 따라서 나머지를 찾는 % 연산자를 사용하여, 다음과 같이 작성했습니다. if (b % a == 0): x = int(b / a) print(x) 여기서 정수를 정수로 나눴지만 x는 실수로 리턴되었기에 이를 int로 전환해주었습니다. 위와 같은 원리로 나머지가 0이 아닌 경우에는 정수가 아니므로 다음의 if 문을 추가합니다. if (b % a != 0): print("No Solution") ..
CSS 포지션 속성 정리
·
HTML | CSS
CSS 포지션(postion) 속성은 요소를 문서의 특정 위치에 배치할 때 사용합니다. 요소의 최종 위치는 포지션의 top, right, bottom, left 값에 따라 결정됩니다. static: 일반적인 흐름을 따라 요소를 배치하는 속성입니다. relative: 일반적인 흐름을 따라 요소를 배치하고, 자신을 기준으로 위치 값을 적용합니다. absolute: 요소를 일반적인 흐름이 아닌 가장 가까운 특정 부모 요소에 따라 상대적으로 배치합니다. 부모에 특정한 포지션 속성이 없다면(static 포함) 상위 컨테이너 블록을 기준으로 합니다. 다르게 말하자면, absolute 속성을 사용하려면 부모 요소에 특정한 포지션 속성이 부여되어 있어야 합니다. fixed: 요소를 일반적인 흐름이 아닌 뷰포트의 컨테이..
CSS 디스플레이 속성 정리
·
HTML | CSS
HTML 요소들은 기본적으로 블록 또는 인라인 디스플레이 속성을 갖습니다. 크게 네 가지의 디스플레이 속성이 존재합니다. block inline inline-block none block 디스플레이 속성 값이 블록(block)인 요소의 너비는 가로 전체에 해당하며, 새로운 라인에 표시됩니다. 대표적인 태그로는 , , 가 있으며, width, height, margin 등의 속성을 적용할 수 있습니다. See the Pen display: block; by 11292021 (@11292021) on CodePen. inline 디스플레이 속성 값이 인라인(inline)인 요소의 너비는 해당 요소의 내용에 해당하며, 새로운 라인에서 시작되지 않습니다. 대표적인 태그로는 , , 등이 있으며, 너비나 높이는 지..