분류 전체보기 102

TIL_Web Server와 Web Application Server의 차이는?

Web Server와 Web Application Server의 차이에 대해 정리해 보았다. Web Server(WS) Client의 요청에 따라 HTML 페이지, image, CSS 파일 등과 같은 정적인(static) 콘텐츠를 제공 일반적으로 HTTP protocol을 사용하여 client의 요청을 받고, 해당하는 파일을 찾아 client에게 전송 Apache, Nginx, Microsoft IIS와 같은 소프트웨어가 위의 역할을 수행 Web Application Server(WAS) 사용자와 상호작용하여 동적인(Dynamic) 콘텐츠를 생성하고 제공 주로 사용자가 웹 사이트와 상호작용할 때 사용 사용자의 입력을 받아 처리하고, 데이터베이스와 상호작용하여 정보를 검색하고 저장 Java EE, ASP...

TIL_About Linux

Linux open source operating system(OS) Linus Torvalds가 1991년에 개발한 OS, 서버용 OS로 많이 사용됨. Linux 안에는 Debian, Ubuntu, Redhat, CentOS 등 다양한 OS들이 존재함. Linux 중 사용자가 가장 많은 것이 Ubuntu GUI(Graphical User Interface) 환경의 Windows, Mac과는 다르게 CLI(Command Line Interface) 환경 다른 OS에 비해 비교적 안정적인 환경에서 운영할 수 있음. Linux의 CLI(Command Line Interface) 소개 ls (file 목록 보여줌) ls -l (file 목록을 자세하게 보여줌) ls -a (숨김 파일까지 보여줌) cp a.tx..

TIL_JavaScript, synchronous와 asynchronous

프로젝트의 frontend에서 vanilla JavaScript를 이용하여 회원가입(signup) 기능을 구현했다. frontend 단에서 user가 회원가입 정보를 입력하고 '가입하기' 버튼을 눌렀을 때, 기입한 회원 정보가 api를 통해 backend에 전달되고 database에 저장이 되는 과정이다. 보통 api에 요청을 보내고 response를 받는 과정은 시간이 걸릴 수 있기 때문에 해당 response를 받고 다음 코드가 진행 되도록 해줘야 한다. 이때 필요한 것이 async/await와 같은 비동기적인(asynchronous) 코드이다. // api.js const backend_base_url = "http://127.0.0.1:8000"; // 회원가입 async function hand..

TIL_Django, F expressions

팀 프로젝트 안에서, 게임의 힌트 버튼을 누르게 되면 누른 사람의 포인트가 약간 차감이 된다. 이 부분을 views.py에서 구현해 보았다. from django.db.models import F ... class HintView(APIView): permission_classes = [permissions.IsAuthenticated] def post(self,request,quiz_id): quiz = get_object_or_404(Quiz, pk=quiz_id) hint = quiz.hint user = request.user user.update(point=F("point")-constant.HINT_DEDUCTED_POINT) History.objects.create(user=user, act..

TIL_CNN, RNN, LSTM

CNN, RNN, LSTM은 모두 deep learning에서 널리 사용되는 인공 신경만 구조이다. 각각의 구조는 특정한 유형의 데이터 처리에 특화되어 있는데, 이들에 대해 정리를 해 보았다. CNN(Convolutional Neural Network) 이미지 처리에 주로 사용되는 구조. 합성곱층과 풀링 층을 포함하여 이미지에서 특징을 추출 합성곱 층이 이미지의 특징을 감지 풀링 층은 이미지의 크기를 줄이는 등의 작업 이미지 인식, 객체 감지, 이미지 분할 등 다양한 컴퓨터 비전 작업에 효과적임 RNN(Recurrent Neural Network) 순차적인 데이터나 시계열 데이터를 처리하는 데 사용 이전 단계의 출력이 다음 단계의 입력으로 사용되는 순환 구조를 가짐 순차적인 패턴을 파악하고 처리 가능 긴..

TIL_Machine Learning(3)

Machine Learning에서 사용되는 주요 library 정리 NumPy Python에서 수학적인 작업을 수행할 수 있도록 만들어진 library. 배열이나 행렬과 같은 다차원 데이터를 쉽게 다룰 수 있다. 리스트보다 빠르고 강력하며, 다양한 수학적 연산을 지원한다. 데이터 과학, machine learning, 과학 연구, 공학 등 다양한 분야에서 매우 유용하게 사용된다. 복잡한 수학적 연산을 효율적으로 수행할 수 있다. Pandas 데이터 조작과 분석을 위한 python library이다. 데이터를 구조화하고 조작할 수 있으며, 데이터를 빠르게 분석하고 처리할 수 있다. 엑셀 시트처럼 데이터를 테이블 형태로 다룰 수 있게 해 주는 도구이다. 데이터를 필터링하고 정렬하며, 누락된 데이터를 처리하고..

TIL_Machine Learning(2)

Linear Regression 두 변수 사이의 관계를 알아보는 방법. 예를 들어, 하루에 먹는 초콜릿의 양과 나의 행복 감정 사이의 관계를 알아볼 때, 만약 먹는 초콜릿의 양이 많을수록 더 행복해진다면, 이 둘 사이에는 양의 선형 관계가 있을 것이다. 이렇게, 데이터에서 두 변수 사이의 '직선적인' 관계를 찾는 것이 선형회귀이다. 하나의 변수를 알면 다른 변수를 예측할 수 있다. Multi-variable linear regression Linear regression과 똑같지만 입력 변수가 여러 개인 경우를 말한다. Gradient descent method 함수의 기울기를 이용하여 함수의 최솟값을 찾는 알고리즘 중 하나. 시작점을 잡고, 그 위치에서 함수의 기울기를 계산. 그리고 기울기가 가리키는 ..

TIL_Machine Learning

Algorithm(알고리즘) 수학과 컴퓨터 과학, 언어학 또는 관련 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것. 즉, 어떤 문제를 풀기 위해 공식을 만든 것이라고 보면 됨. Machine Learning > Deep Learning Machine Learning의 범위 안에 Deep Learning이 포함되어 있다. Machine Learning Regression(회귀) 나이의 값처럼 출력값이 연속적인 소수점으로 예측하게 하도록 푸는 방법 Classification(분류) 출력값이 딱 떨어짐. Binary class(0과 1로 나뉨)처럼 0 또는 1로만 출력값이 나옴. 여기서 class는 Bionary Classification 뿐만 아니라 여러 개의 ..

TIL_DRF(Django REST Framework) project, Frontend에서 게시글 내용 받아서 DB에 저장하기

어느 정도 backend part가 만들어져서 이제는 frontend 쪽을 손 보았다. login이 된 user가 게시글(post)를 작성하고, '게시글 저장' 버튼을 누르면 database로 입력 내용이 저장되는 것을 구현해 보려 한다. url 주소 http://127.0.0.1:5500/frontend/postdetail.html Frontend 화면 로그인이 된 사용자가 게시글을 작성하고 '게시글 저장' 버튼을 클릭하면, 입력한 세 가지 정보(이미지(image), 제목(title), 내용(content))가 DB에 저장된다. 코드를 보면 다음과 같다. frontend/postdetail.html 게시글 작성 이미지 업로드 제목 내용 게시글 저장 button의 onclick='handlePostSub..

WIL_아홉 번째 주

Facts Django REST Framework(DRF)를 이용한 웹사이트를 만드는 팀 프로젝트를 시작했다. 우리 조는 비슷한 조건의 사람들끼리의 만남을 이어주는 결혼 정보 웹사이트를 만들기로 했다. 이번에는 DRF를 이용하기 때문에 backend와 frontend를 나누어 작업할 수가 있어서 우선 모두가 각자의 파트를 맡아서 backend를 끝내고, frontend를 이어서 하기로 정했다. Feelings views.py와 serializers.py를 작성하는 부분이 익숙해지도록 강의를 4번 정도를 반복해서 들었다. 확실히 처음 때보다는 좀 익숙해진 느낌이 들었는데, 팀 프로젝트를 시작하면서 빈 페이지에 무언가를 작성하려니 강의를 보고 따라 작성하는 것과는 난이도가 다르게 느껴졌다. 정말 다양한 프로..

LIST