CS Activity/Likelion 11th 13

[멋쟁이사자처럼 11기] 어흥올림픽 후기

1. 어흥올림픽에 참여하게 된 계기 이제까지 교내 해커톤만 나가봤는데, 다른 학교와 연합하는 해커톤에 참여해보고 싶었다. 다른 학교 학생들은 어떤 역량을 가지고 있는지 확인해보고 싶었고 동기 부여 받고 싶었다! 2. 연합해커톤을 참여하며 좋았던 점 예상대로 다른 학교 학생들이랑 협업해볼 수 있었다. 나름 재미있는 경험이었다. 그리고 첫 교내 해커톤 때 못해봤던 AWS EC2 배포를 해볼 수 있어서 너무너무 뜻깊었다. 배포가 생각보다 어려웠고, 막히는 부분 때문에 하루가 훌쩍 가기도 했지만 결국에 배포에 성공하면서 큰 뿌듯함을 얻었다! 3. 연합해커톤을 참여하며 아쉬웠던 점 아쉬웠던 점은 크게 두가지가 있었다. 첫번째로, 일 분담의 문제였다. 중간에 주제가 바뀌면서 개발 방향이 완전히 바뀌게 되었다. 그래..

[멋쟁이사자처럼 11기] 교내 아이디어톤 후기

(7월 초쯤 끝난) 교내 아이디어톤 후기! 처음으로 제대로 된 백엔드 개발 프로젝트를 해봤다. 멋사에서 배운 장고 MTV를 사용해서 개발을 하게 됐고, 협업 툴은 github를 사용했다. 듣기로는, 장고 MTV가 프론트와 긴밀하게(?) 연결되어있다고 하는데 실제로 해보니 어떤 의미인지 알 수 있었다. 프론트가 한 작업물을 바로 볼 수 있고, 정보를 넘겨주고/받아오고, 잘 연결되는지 시각적으로 볼 수 있어서 초심자였던 나에게 굉장히 좋은 경험이었다! 아이디어톤 주제는 사회 문제에 대한 솔루션이었는데, '어벤져스' 팀에 들어가서 '릴렌즈'라는 스트레스 해소 서비스를 만들게 됐다! 이번 프로젝트를 하면서 좋았던 점 1. 첫 개발 프로젝트를 멘토+실력이 좋은 사람들과 했다. 아무래도 전과생이라 개발 프로젝트가 ..

[멋쟁이사자처럼 11기] 9회차: AWS 배포

Web - HTTP: 웹에서 서버와 클라이언트 사이에서 어떻게 메세지를 교환할지 정해 놓은 규칙 - URL: 특정 사이트에 접속하기 위한 주소 - HTML: 내용 Web Server - 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템 -> 인터넷 기반 Django 는 Web Server 인가? -> NO! Django 는 Web Application ! -> 웹에서 실행되는 응용 프로그램 Clients -> Web Server -> Web Application -> DataBase Server 실습 1. settings.py 가 있는 곳에 settings 폴더 생성 -> settings.py 폴더에 넣어주기 2. __init__.py 생성 3. settings.py 를 base.py..

[멋쟁이사자처럼 11기] 8회차: DOM, JS 비동기 처리

1. DOM - html 문서의 구조와 컨텐츠를 JS 에서 조작할 수 있게함 - 트리 구조: 루트 노드인 Document 객체로부터 시작 -> 계층 구조 -> 왜 트리 구조여야하는가? - html은 상하구조가 확실함 const button = document.querySelector("button"); -> 특정 노드를 뽑아서 변수에 할당해놓음 textContent: -> 어떤 텍스트가 들어가있는가 innerHTML: -> 어떤 구조인가 But, 바꾸려고하는 행위는 언제나 조심해야함 ! let paragraph = document.createElement("p"); paragraph.appendChild(p)..

[멋쟁이사자처럼 11기] 과제 3: 블로그 기능 추가

1. 검색창 만들기 는 검색어를 입력할 수 있는 텍스트 필드를 정의합니다. 검색 필드는 텍스트 필드와 기능적으로는 완전히 똑같지만, 브라우저에 의해 다르게 표현될 수 있습니다. 검색 필드에는 반드시 name 속성을 설정해야 하며, name 속성이 설정되어 있지 않으면 서버로 제출되지 않을 것입니다. aria-label은 우리 눈에 보이지 않더라도 브라우저에게는 전달이 되면 좋은 정보, 혹은 스크린 리더를 통해 웹을 사용하는 사용자들에게 전달해야 하는 정보를 제공하고 싶을 때 사용합니다. 장고에서 POST 메서드를 사용할 땐, 해킹 방지를 위해 반드시 csrf_token를 사용해야 합니다. 2. url 추가 search라는 이름으로 views 파일의 search 함수로 넘어갑니다. ..

[멋쟁이사자처럼 11기] 7회차: Static, Media, Template 상속, pagination

Static 정적 파일: 이미지, css, javascript, 등등.. -> 미리 서버에 저장 (서버에서 제공하는 파일) -> 서버 저장 안하면 logic 일일히 돌려줘야함 Media 유저가 업로드 한 파일: pdf 등등.. APP(blog 폴더) 내에 static 폴더 생성 -> 정적파일 넣기 settings.py # Internationalization # https://docs.djangoproject.com/en/4.1/topics/i18n/ LANGUAGE_CODE = 'ko-kr' TIME_ZONE = 'Asia/Seoul' USE_I18N = True USE_TZ = True # Static files (CSS, JavaScript, Images) # https://do..

[멋쟁이사자처럼 11기] 6회차: Django U, D

model.py -> 데이터베이스 X 데이터 = 객체 id column (PK) 장고에서 기본적으로 제공 클라이언트(웹) -> 서버: request 서버 -> 클라이언트(웹): response view.py -> 데이터베이스에서 객체를 가져옴 - urls.py -> 그 객체를 어떤 주소로 보여줄지 - templates -> 그 객체를 어떤 리소스랑 결합할지 form 태그: 사용자의 입력을 전달받기 위해서 사용 path converter (urls.py) . . . path('blog/',views.detail,name='detail'), ] views.py에서 redirect랑 render 차이: - render 사용 시 새로고침하면 요청 날라감 - redirect는 GET요청을 계속 날아가게 해줌 fo..

[멋쟁이사자처럼 11기] 5회차: Django C, R

Create Read Update Delete ORM: 객체-관계형 DB 연결 1. Read home.html 블로그 홈페이지 {% for blog in blogs %} {{blog.title}} {{blog.created_at}} {{blog.content}} {{blog.hobby}} {% endfor %} models.py: summary 함수 추가 from django.db import models # Create your models here. class Blog(models.Model): title = models.CharField(max_length=100) created_at = models.DateTimeField(auto_now_add=True) content = models.TextF..

[멋쟁이사자처럼 11기] 4회차: Django 실습

Model 데이터베이스 - 관계형 데이터 베이스: 테이블 장고ORM - SQL문을 안쓰고도 데이터 조작 및 관리 가능하게 함 Class와 Table - Class = Table models.py의 변경사항을 감지하여 파일로 생성: python manage.py makemigrations makemigrations에서 생성된 파일을 DB에 적용: python manage.py migrate admin 아이디/비번 설정: python manage.py createsuperuser models.py from django.db import models # Create your models here. class Blog(models.Model): title = models.CharField(max_length=1..

[멋쟁이사자처럼 11기] 3회차: Django 기초

MTV 패턴 - Model: 데이터 찾기 담당 - Template: 보여지기 담당 - View: 처리 담당 가상환경 생성: python -m venv 가상환경이름 가상환경 실행: source 가상환경이름/Scripts/activate 가상환경 종료: deactivate 장고 설치: pip install django 프로젝트 시작: django-admin startproject 프로젝트 이름 서버 정상 작동하는지 확인 python manage.py runserver manage.py로 앱 생성: python manage.py startapp 앱 이름 ctrl+c 하면 나가짐 프로젝트 이름의 settings.py 파일 들어가서 INSTALLED_APPS에 앱 이름 추가해주기 home.html Hello Wo..