728x90
728x90
SMALL

BootCamp 57

오름캠프 마지막 회고

오름캠프 23년도 12월 28일부터 24년도 4월 18일까지 약 16주 동안 오름캠프 인공지능 AI 백엔드 1기에 참여하며 많은 기술을 배웠습니다. 시작부터 Python 사전 강의로 출발하여 Python의 기초부터 클래스와 함수까지 깊이 있게 공부했습니다. 이어서 Machine Learning, HTML, CSS, JavaScript를 학습한 후, 첫 번째 개인 프로젝트로 HTML/CSS/JS를 활용한 프로젝트를 약 4일간 진행했습니다. 가장 큰 기대를 하며 참여한 Django 수업은 PostgreSQL과 ERD 수업을 마친 후, 두 번째 개인 프로젝트로 약 일주일간 Django 프로젝트를 수행했습니다. 마지막 프로젝트는 AWS에 대한 이해를 바탕으로 참여기업/팀별 포트폴리오 프로젝트로 진행되었고, 저희..

Django 실습 1 : 프로젝트 시작

1. 가상환경 생성 $ mkdir myapp $ cd myapp myapp 이라는 폴더를 생성 (mkdir)하고 폴더 안으로 이동 (cd) $ python -m venv [가상환경 설정 이름] 가상환경을 통해 독립된 개발 환경을 세팅 $ python -m venv venv venv라는 가상환경 이름을 설정 2. 가상환경 실행 및 패키지 설치 가상환경 활성화 $ source venv/bin/activate + source 명령어가 실행되지 않을 경우 macOS = $ source venv/bin/activate PowerShell = $ venv/Scripts/Activate.ps1 CMD = $ call venv/Scripts/activate.bat Git Bash = $ source venv/Scrip..

Django settings.py

Django 프로젝트 구조 중 settings.py 파일은 매우 중요한 역할을 가지고 있음 프로젝트의 설정을 담당하는 파일로 프로젝트 전체에서 사용되는 설정을 정의함 Settings.py 파일 구조 1. 경로 상수 BASE_DIR = PATH(__file__).resolve().parent.parent BASE_DIR : BASE_DIR 상수는 프로젝트의 최상위 디렉터리를 의미, 다른 경로들을 계산하는 데 유용 기존에 os 모듈을 사용하다 window에서 몇 가지 문제점이 발견되며 path 라이브러리 사용 시작 >>> from pathlib import Path >>> Path('a') / 'b' / 'c' WindowsPath('a/b/c') >>> Path('a') / Path('b') Windows..

Django Basic

Django의 정리를 약 한 달 만에 진행하게 되었습니다.. 밀린 만큼 꼼꼼하고 이해하기 쉽도록 정리해서 추후 제 자신에게 더욱 도움 될 수 있도록 해야겠어요 Django 웹 애플리케이션을 개발할 수 있는 무료 오픈 소스 웹 프레임워크 대규모 트래픽에 대응 가능한 성능을 가지고 있으며 자체적으로 제공하는 보안 기능이 뛰어남 보안성이 높은 안정적인 애플리케이션을 만들 수 있음 Django 특징 1. ORM (Object-Relational Mapping) = 데이터베이스와의 상호작용을 자동화하여 개발자가 SQL 쿼리를 작성할 필요 없이 데이터를 편리하게 다룰 수 있음 2. Admin 페이지 = 기본적인 (CRUD, Create-Read-Update-Delete) 기능이 갖춰진 관리자 페이지를 자동으로 생성..

24.02.19

오랜만에 오름캠프에서 한 수업을 정리하는 것 같아요 :).. 최근에 이사를 진행하면서 이삿짐을 준비하고 이사하는 과정이 있어서 어렵게 쌓은 습관이 무너지고 말았네요. 하루 이틀 미루다 보니 벌써 몇 주란 시간이 흘러 더 이상 미룰 수 없을 것 같아요. 이사를 진행하면서 수업에 참여하지 못한 적이 몇 번 있었기에 자세하게 듣지는 못하였습니다. 오름캠프에서 제공해 주는 자료와 부족한 부분은 중간중간 인터넷을 통해 정보를 찾아 보충하여 작성하였습니다. 16일까지 미니 프로젝트를 진행한 후 19일에는 Bootstrap 수업을 진행하였습니다. 부트스트랩 (Bootstrap) 트위터에서 사용하는 각종 레이아웃, 버튼, 입력창 등의 디자인을 CSS와 Javascript로 만들어 놓은 것 웹 디자이너나 개발자 사이에서..

미니 프로젝트

위 제목은 말 그대로 13일 화요일부터 16일 금요일까지 미니 프로젝트 기간이었습니다. 프로젝트는 HTML, CSS, JS를 사용하여 진행되었고 목표는 ChatGPT API를 활용하는 것이 기본 프로젝트의 목표였습니다. 저는 개인비서 서비스를 구현하는 것으로 진행하였고 앞으로 발전 가능성이 크다고 생각하고 있습니다. 서비스 명은 지니스트(Genist)로 Genius와 Assist의 합성어로써 뛰어난 개인비서의 의미를 담고 있어 매력적인 이름입니다. 사용자에게 스케줄 관리와 도움을 제공하는 목표는 효과적인 개발을 통해 실현될 것으로 기대됩니다. 개발 환경으로 Visual Studio Code를 선택한 것은 가벼운 환경에서도 효과적인 작업이 가능하다는 판단과 HTML, CSS, JavaScript로 파일을 ..

24.02.08

벌써 JavaScript 이론 시간의 마지막 단계인 Ajax입니다. 제가 처음 Ajax를 경험했던 건 Django 수업 때 같아요. 그때는 이게 무슨 말인가 했었는데 오랜만에 들어도 이게 무슨 소리인가 싶긴 했었습니다. 그래도 탄탄하게 이론을 다잡고 실습을 통해 직접 코드를 만져보면 괜찮아지겠다란 자신감은 품고 있어요 :) AJAX (Asynchronous Javascript And XML) 비동기식 JavaScript와 xml의 약자 JavaScript를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해 전체 페이지를 새로 고치지 않고 페이지의 일부만을 위한 데이터를 로드하는 기법 = JavaScript를 통해 ..

24.02.07

안녕하세요, 오랜만에 글을 쓰는 것 같네요. 저번에 말씀드린 DOM의 이벤트의 흐름부터 정리하려 합니다. 사실 이전에 작성하던 글이 있었는데 중간에 날아가서 다시 정리하는 시간이에요.. 덕분에 복습도 되고 좋은 것 같습니다 ^-ㅜ.. 이벤트 흐름 브라우저 화면에서 이벤트 발생 시 브라우저는 가장 먼저 이벤트 대상을 찾음 대상을 찾아갈 때 상위의 window 객체부터 document, body 순으로 DOM 트리를 따라 내려감 = 캡처링 단계라고 부름 이벤트 대상을 찾아가는 과정에서 브라우저는 중간에 만나는 모든 캡처링 이벤트 리스너를 실행 이벤트 대상을 찾고 캡처링이 끝나면 이제 다시 DOM 트리를 따라 올라가며 만나는 모든 버블링 이벤트 리스너를 실행 = 버블링 단계라고 부름 이러한 과정에서 이벤트 리..

오름캠프 중간 회고

벌써 8주 차의 오름캠프 생활이 시작된 지 어느덧입니다. 12월 28일, 23년도의 마지막 날에 첫걸음을 내디뎠습니다. 원래는 23년 4월부터 11월까지 현재 수강 중인 과정과 유사한 고객 경험 데이터를 활용한 백엔드 과정을 수강한 적이 있었는데, 그 경험을 통해 다양한 언어와 기술들을 습득했습니다. 하지만 그럼에도 불구하고 더 큰 도전과 성장을 원하게 되어 다른 과정을 찾아 나섰고, 그중에서 오름캠프에 지원하게 된 것이 떠오르네요. 이제는 이미 8주가 흘렀습니다. 매일 9시부터 6시까지의 수업 시간 동안 10분 간격으로 주어지는 짧은 쉬는 시간들은 마치 고등학교 시절로 돌아간 듯한 느낌을 주었습니다. 이 빠르면서도 뭔가가 아주 느리게 느껴지는 시간들을 돌아보면, 얼마나 많은 것을 배우고 성장했는지를 느..

24.02.06

DOM (Document Object Model) HTML 문서의 내용을 트리형태로 구조화하여 웹페이지와 프로그래밍 언어를 연결시켜 주는 역할 각각의 요소와 속성, 콘텐츠를 표현하는 단위를 노드 (Node)라고 함 + API (Application Programming Interface) : 설명서 DOM 트리에 접근 document 객체를 통해 HTML 문서에 접근이 가능 (document : 브라우저가 불러온 웹페이지) = DOM 트리의 진입점 역할을 수행 // 해당하는 Id를 가진 요소에 접근 document.getElementById(); // 해당하는 모든 요소에 접근 document.getElementsByTagName(); // 해당하는 클래스를 가진 모든 요소에 접근 document.get..

728x90
728x90
LIST