본문 바로가기

분류 전체보기

(82)
REACT: JavaScript - 01 Why JS?js는 큰 커뮤니티를 가지고 있다.웹, 어플리케이션 등 개발 가능JS, HTML, CSSHTML: 요소들의 배치, 내용, 기본 구조 설정CSS: 요소들의 색상, 크기등 스타일 설정JS: 요소들의 동작, 기능 설정How it works?웹 브라우저에 탑재된 JS engine으로 실행된다. (개발자도구: f11 혹은 option+command+i)VScode 등의 편집기로 작성할 수 있음script 태그로 js 파일을 불러오는 index.html을 브라우저로 열면 실행해 볼 수 있다. (vscode liveserver expansion 활용)JS기초(새로 알게된 것만 정리)1. null 병합 연산자undefined, null이 아닌 것만 걸러냄let a;let b = 10;console.log(..
자료구조 - stack and Queue Stack Stack은 삽입과 삭제를 한쪽 끝(top)에서만 할 수 있도록 제한된 선형 자료구조이다. 자료를 넣으면(push), 꺼낼 때(pop)는 반대의 순서로 나오게 된다. (후입선출, LIFO) stack의 활용 stack은 다음과 같을 때 주로 사용된다. 1. '최근에 임시저장한' 데이터를 가장 먼저 활용: 함수의 안에서 선언되는 매개변수,지역변수들은 스택에 저장된다. 함수가 끝나면 메모리에서 변수가 사라져야한다. 스택에 저장했으므로 바로 최근에 저장된 것들을 팝 하면 된다. 2. 쌍을 맞추기: 문자열에 주어진 괄호가 쌍이 맞는지 검사 '(':push ')':pop 문자열이 끝나고 stack에 남은 것이 있거나 빈 stack에서 pop하는 경우에는 쌍이 ..
Django QnA-50 07.31 0-1. Django가 무엇인지 설명하세요. Django는 python 기반 풀-스택 웹 프레임워크로, '마감기한이 있는 완벽주의자를 위한 웹 프레임워크'이라는 모토를 가진 웹 프레임워크입니다. fully-loaded framework로서 다양한 기능들을 제공하여 빠르게 개발이 가능합니다. 0-2. Django를 백엔드 스택으로 선정한 이유는 무엇입니까? 웹 개발을 입문하는 입장에서 Django와 같이 기본 기능이 다양하게 제공되는 프레임워크를 사용해 기본기를 익히고 빠르게 생산성을 갖출 수 있기 때문입니다. 1. Django에는 어떤 장점이 있습니까? Django는 파이썬기반 웹 프레임워크이므로 파이썬에서 제공되는 강력한 라이브러리들, 특히 데이터처리나 시각화를 위한 라이브러리를 사용하여..
DRF+ AI) 웹개발 최종 - 6일차 추천 시스템의 종류 Content-Based Filtering 사용자가 특정 아이템을 선호하는 경우 그 아이템과 비슷한 콘텐츠를 가진 다른 아이템을 추천하는 방식이다. ex) 영화의 content(overview, cast, crew, keyword, tag, ...)를 사용하여 유사한 영화를 추천 사용자의 평가아 이용정보 없이도 추천이 가능하다는 장점이 있으나, 기존 아이템과 유사한 아이템 위주로만 추천, 새로운 장르의 아이템을 추천하기 어렵다는 단점이 있다. 또한 아이템의 피쳐를 추출해야하는데, 제대로 피쳐를 추출하지 못하면 성능이 낮아진다. Collaborative Filtering 협업 필터링은 사용자와 항목 간의 유사성을 동시에 사용하여 추천한다.사용자가 아이템에 매긴 평점, 상품 구매 이력 등..
DRF+ AI) 웹개발 최종 - 5일차 module(js)와 cors의 관계 FE에서 js를 모듈식으로 작성한 뒤, 토큰 로그인 등을 시도하자 cors 오류가 발생하였다. 원인을 찾아보았다. 모듈의 보안과 CORS 모듈을 임포트 한 자바스크립트 코드를 가진 HTML 파일을 웹 브라우저에서 직접 열면 CORS 오류가 발생한다. 모듈의 보안성 규칙 때문에 발생하는 에러이며, 따라서 모듈이 포함된 코드를 테스트할 때는 반드시 서버 환경에서 테스트를 해야 합니다. 로컬 컴퓨터에서 테스트를 할 때도 로컬 웹서버를 통해서 localhost로 접근해야 한다고 한다. 즉 file://로 웹 브라우저에서 여는 모듈이 포함된 HTML 파일은 모듈 로딩 시점에서 CORS 에러가 발생(프로토콜이 다르므로) 한다고한다. 해결 1: node.js 와 npm을 이용해 ..
DRF+ AI) 웹개발 최종 - 4일차(js export/ import) 회원가입 및 로그인 관련 기능이 어느정도 완성된 관계로, 프론트 엔드 기능을 구현하며 테스트 해보기로 하였다. 이때 팀원이 js에서 export, import를 이용하는 것을 제안하였다. 이유는 아래와 같다. 불필요한 코드 중복을 줄일 수 있다. 명시적으로 export, import를 이용함으로서 추적이 쉽다. 프론트엔드에서 필요한 js만 불러옴으로서 부담을 줄일 수 있다. 사용하는 방법은 다음과 같다. //file1.js export function canadianToUs(canadian) { return roundTwoDecimals(canadian * exchangeRate); } //file2.js import { canadianToUs } from "./file1.js"; 이렇게 import, ..
DRF+ AI) 웹개발 최종 - 3일차 테스트 코드 작성 및 개발환경 세팅 일부팀원에게서 또다시 poetry와 tensorflow관련하여 문제가 발생하였다. 1일차에서 해결했던 방법으로는 그냥 poetry add 하는 것에는 문제가 없었으나, poetry install을 이용해 설치하는데에는 여전히 오류가 발생하였다. 또한 같은 poetry.lock 파일을 이용하여 여러 운영체제에서 똑같이 poetry install을 이용하기에는 여전히 문제가 있었다. 이를 해결하기위해 시도해 보았다. tensorflow-macos = { version = "^2.12.0", markers = "sys_platform == 'darwin' and platform_machine != 'x86_64'" } tensorflow = { version = "^2.12..
DRF+ AI) 웹개발 최종 - 2일차 회원가입,탈퇴, 유저 수정을 위한 테스트 케이스 코드를 작성하였다. class UserBaseTestCase(APITestCase): @classmethod def setUpTestData(cls) -> None: cls.user = User.objects.create_user( nickname="testuser1", email="testuser1@gmail.com", password="xptmxm111!", ) cls.user_signup_data = { "nickname": "testuser2", "password": "xptmxm111!", "password2": "xptmxm111!", "email": "testuser2@gmail.com", "age": 20, "gender": "Male", }..