언어 28

JS CRD 연습

슬프게도 프론트에서 너무 많이 막혀서.. 적어도 같은 곳에서는 다시금 시간 지연을 반복하지 않게끔 공부해보았다. // POST 요청 보내기 // 1. 요청할 데이터 생성(정의) // 2. POST 요청 설정(headers = 인증방식, body 양식 등 / body = 내용) // 3. fetch 사용하여 요청, 응답 받기(서버 urls.py에 보냄, 서버의 응답 상태를 사용자에 보고) async function reviewupload() { // 1. 요청할 데이터 생성 const review = document.getElementById('review').value var data = { "content": review }; // 2. POST 요청 설정 var requestOptions = { me..

언어/JavaScript 2023.05.30

파이썬 포멧팅 %, {}, f-string

자잘한 프로젝트, 알고리즘 문제를 풀어보면서 느끼는 것이지만, 포멧팅에 대해 정리가 잘 안 되어서 여러 번 찾다 보니 그냥 공부하기로 마음먹었다. 새벽까지 깨어있을 만큼 공부해야 하는 것들이 참 많지만.. 그럼에도 이번 주제는 정리해야겠다는 생각이 확실히 들어서! 문자열 포멧팅이 무엇일까? 문자열 포맷팅(string formatting) : 문자열 속 특정한 위치에 특정한 값을 삽입해 주는 것. 만약에 문자열 중에 일부가 변할 수 있는 가능성이 있는 경우 문자열 포맷팅을 통해 그 부분만 바꿔줄 수 있다. 밑줄 그은 부분이 핵심이다. 알고리즘 해결과정에서 특히 중요하다고 생각하는데, 프로젝트에서도 간혹 써먹을 것 같다. % 우리가 써먹는 방식은 주로 f-string이었지만, %을 통한 format도 있음을..

언어/Python 2023.05.03

선발대 심화 3주차(재귀함수, class 심화)

재귀함수(self) : 자기 자신을 설정하는 함수 재귀함수의 조건 1. 반복문으로 구현이 가능해야 함 (효율적 변경을 위해 반복문 >> 재귀함수로 바꾸는 것) 2. 종료 조건을 설정 : 반드시 끝나는 지점이 있어야 함 - 종료 조건이 없을 시 복잡도가 한 없이 증가 # 예시 1 def recursional(n): if n >=5: print(n) recursion(n+1) recursional(1) # 1 2 3 4 # 예시 2 def recursion(n): if n None: pass def speak(self): print("동물 소리") class dog(Animal): def speak(self): print("개소리") class cat(Animal): def speak(self): print..

언어/Python 2023.04.27

파이썬 심화과정 week 1

개인과제 리뷰 - 깃을 제대로 사용하지 못함.(공통 문제) 깃에 올릴 필요 없는 파일이 많음.(requirements.text를 제대로 이용하지 못함) commit 내용을 잘 만들 것(나중에 포트폴리오에 그대로 다 올라갈 것들입니다) .gitignore를 잘 사용하기 위해 toptal에 출동! 타입별 메소드(method)(전부 다 암기해야 합니다) 1. 문자열 메소드 count : 문자열 내에서 특정 문자가 몇 개나 있는지 세는 메소드 find : 문자열 내에서 특정 문자열이 처음 나오는 위치를 찾아주는 메소드 특정 문자열이 없을 경우 return -1 index: 문자열 내에서 특정 문자열이 처음 나오는 위치를 찾아주는 메소드 없을 경우 ValueError(find와의 차이) try/except를 수반..

언어/Python 2023.04.12

map, filter, lambda 식 연습

lambda 식을 제대로 이해하지 못해서 프로그래머스를 통해 문제를 풀어보고, 다른 분들의 해답도 보면서 식을 제대로 이해해 보기로 했다. 우선 매우 쉬운 것부터 차근차근 풀어보았다. 보다시피 매우 간단하다. 그냥 빼기만 쓰면 된다. def solution(num1, num2): return num1 - num2 그럼 이것을 lambda 식으로 바꾸면 어떻게 될까? solution = lambda num1, num2 : num1 - num2 물론 이 경우는 위 식이 가장 편하지만.. lambda 식 설명을 하자면, num1 과 num2를 lambda 식에 적용하겠다는 뜻인 [lambda num1, num2] 뒤에는 num1 - num2를 통한 식 계산 이게 기본 형태이다. 그럼 여기서 리스트가 들어가는 ..

언어/Python 2023.03.23

requests 에러 표시, 함수 return type

파이선 심화 과정에 하루를 갈아넣었는데 아직 다 이해하진 못 했다. 그래도 나름 얻어둔 것들을 나열하자면, 1. requests의 상태 코드 두 번의 프로젝트를 거치면서 코드 뒤에 1xx, 2xx가 뜰 때는 큰 문제가 없었는데, 항상 화면 상에서 에러가 뜰 때는 api 에러코드로 4xx와 5xx가 뜨길래 어디서 문제가 생긴 건지 너무 궁금했었는데, 드디어 알아냈다. 상태코트 (2xx : 성공, 3xx : url 변경, 4xx : 클라이언트 오류, 5xx : 서버 오류) 함수의 리턴 타입 sort : 내가 직접 리턴하기 때문에 등호(=) 표시를 할 필요가 없었다. sorted : 다른 주체(컴퓨터, 사람 등)가 리턴한 것을 가져오는 행동이기 때문에 등호(=) 표시를 해서 가져와야 한다. docstring을..

언어/Python 2023.03.21

2023-03-20 TIL(파이선 문법 심화)

이번 주차는 파이선 문법에 대해 배우는 기간이다. 그래서 오늘은 파이선 문법에 대해 배워보았는데, 사실 기초 문법은 저번 주 프로젝트를 통해 거의 경험해보아서 쉽게 느껴졌다. 대신 심화 단계 문법부터는 조금 집중해서 들어서 메모를 했다. 크게 {튜플, 집합 F-string, 예외처리, 파일 가져오기, 묶기, 리스트 조작 연습, 클래스, 함수 심화}로 이루어져 있다. 여기서 저번 프로젝트 때 가장 많이 나온 내용은 f-string이다. 사실 파이썬보다는 js에서 더 많이 다룬 스트링 문법이지만 많이 유사점이 있다고 판단하고 유심히 보았다. 우선 기본 형태는 f{'word'} 형태로 이루어져 있다. 그리고 print() 함수로 갈 때는 word+ 형태로 쓰는데, 앞 뒤로 단어의 유무에 따라 플러스의 유무도 ..

언어/Python 2023.03.20

미니 프로젝트 : 스파르타피디아

이번 시간엔 스파르타피디아 라는 창을 만들어보려고 한다. 백엔드(python)와 프론트엔드(html)을 이어야 하기 때문에 다음과 같이 app.py를 만들고 templates 폴더 안에 index.html 파일을 만들었다. 그리고 가상환경을 만들어야 하기 때문에 python -m venv venv를 실행해 만들어주고 인터프리터 역시 venv에 맞춰 설정했다. 이번 시간에는 설치할 것이 많았는데, 먼저 내 놋북에 호환을 시켜주기 위해 certifi를 설치했고, 그 다음에도 flask pymongo dnspython requests bs4를 설치했다. pymongo로 원활한 데이터 이동이 필요하기에 certifi 설치가 필요했던 것으로 현재까지는 판단된다. 이번 시간에는 meta 태그에 대해 배웠는데, 썸네..