본문 바로가기

분류 전체보기 98

Node.js 조코딩님 강의 요약 Video Summary 이 동영상에서는 Node.js 백엔드 기초에 대해 1시간 동안 강의합니다. Node.js의 개념, Python과 JavaScript의 차이, Node.js가 가진 장점, 전 세계적으로 Node.js가 사용되는 분야, Node.js에서의 모듈, npm 등에 대해 알아봅니다. Facts 🚀 Python과 달리 JavaScript를 컴퓨터나 서버에서 실행할 수 없는 이유는 브라우저에서만 동작하기 때문입니다. 🚀 Node.js는 JavaScript를 실행할 수 있게 해주는 백엔드 프레임워크입니다. 🚀 Node.js는 npm(Node Package Manager)을 통해 모듈을 쉽게 관리할 수 있습니다. 🚀 Node.js는 많은 분야에서 사용되고 있으며, Indeed.com에서의 Node.. 2023. 3. 19.
대세는 스벨트? - 니콜라스쌤 유튜브 요약 👨‍🏫 이 비디오에서는 Svelte에 대해 알아봅니다. Svelte는 인터랙티브 웹사이트를 구축하기 위한 도구로, 지난해 Stack Overflow 개발자 설문 조사에서 가장 사랑받은 웹 프레임워크로 선정되었습니다. React와는 다르게 컴파일러로서 동작하며, 사용자는 애플리케이션 로직과 함께 리액트 같은 라이브러리나 프레임워크를 다운로드할 필요가 없습니다. 설명 💻 Svelte는 인터랙티브 웹사이트를 만드는 도구입니다. 🆚 React와 달리, Svelte는 컴파일러입니다. 💾 React를 사용하여 웹 어플리케이션을 만들면, 사용자는 두 개의 코드를 다운로드해야 합니다: 우리가 작성한 코드와 React 코드. 🚀 Svelte은 코드를 일반적인 JavaScript 코드로 변환합니다. 이를 통해.. 2023. 3. 19.
RedWood.js 이메일 기능 추가하기 초기 가설: 다음 라이브러리 (패키지)를 통해서 메일링 기능 구현 GitHub - sofn-xyz/mailing: Build, test, send emails with React 사용법: yarn: yarn add mailing-core mjml mjml-react nodemailer &&\\ yarn add --dev mailing @types/mjml @types/mjml-react @types/nodemailer 또는 npm: npm install --save mailing-core mjml mjml-react nodemailer &&\\ npm install --save-dev mailing @types/mjml @types/mjml-react @types/nodemailer npx mailing.. 2022. 8. 17.
[파이썬으로 웹개발] 장고 닌자의 인증 기능을 알아보자 Django Ninja Django Ninja는 Flask만큼 간단하게 Django API Controller를 구성할 수 있는 보조 라이브러리입니다. 보안에 관련된 모든 사양을 학습하지 않아도 NinjaAPI를 정의할 때 혹은 api를 정의할 때 간단하게 Auth를 정의할 수 있는 방법이 있어 소개합니다. from ninja import NinjaAPI from ninja.security import django_auth # Django의 Auth 기능 그대로 사용 api = NinjaAPI(csrf=True) @api.get("/whoami", auth=django_auth) # auth=django_auth 만으로 해결 def whoami(request): return f"Authenticated .. 2022. 4. 13.
PNG와 JPG (또는 JPEG) 차이점은??? 뭘 쓰는 게 더 좋을까? PNG, JPG 또는 JPEG: 주요 차이점 PNG: 투명하고 깨끗해요 Portable Networks Graphics의 약자인 PNG는 이미지 편집에 주로 사용되는 인기 있는 래스터 기반 그래픽 형식입니다. PNG는 이미지의 전반적인 품질을 유지하기 위해 무손실 압축 기술을 따르는 비특허 파일 형식입니다. 한 번에 전체 이미지를 압축하는 대신 PNG는 원래 이미지 품질을 유지하는 픽셀 간 압축을 지원합니다. 하지만 PNG의 가장 큰 장점은 투명도를 지원한다는 것입니다. 이는 PNG 이미지의 배경을 투명하게 하여 다른 이미지에 쉽게 오버레이할 수 있음을 의미합니다. PNG 형식에는 APNG, PNG-8(1비트 투명도 및 256색 포함) 및 PNG-24(1600만 색상 지원)와 같은 몇 가지 변형도 있습니.. 2022. 3. 27.
데이터베이스 이론: 트랜잭션(Transaction)과 인덱스(Index) ACID 트랜잭션 트랜잭션이란 무엇인가? 데이터베이스와 데이터 스토리지 시스템이라는 맥락에서 트랜잭션이란 한 단위의 작업으로 취급되는 모든 작업을 말합니다. 트랜잭션은 완전히 완료되기도 하고 전혀 완료되지 않을 수도 있으며, 스토리지 시스템을 한결같은 상태로 둡니다. 트랜잭션의 전형적인 예는 은행 계좌에서 현금을 인출할 때 일어나는 일입니다. 현금이 계좌에서 인출되거나, 인출되지 않거나 둘 중의 하나일 뿐 그 중간 어딘가의 상태란 없습니다. A.C.I.D. 속성: 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 영속성(Durability) 원자성(Atomicity) - 트랜잭션에 속한 각각의 문(SELECT, INSERT, DELETE, UPDATE)을 하나의 단.. 2022. 3. 22.
[프로젝트후기] 모바일 어플마켓 크롤러 개발 후기 근데 슬랙봇을 곁들인 Python 3.10, Django 4.0, MySQL 8(AWS RDS) , Django-ninja, BeautifulSoup4 4.10 사용. django 4.0 버전을 사용했다. 파이썬을 최최신 버전을 사용했는데, 3.8버전 이후에 생긴 추가 기능이 배포 서버(리눅스 우분투)에서 뻗어버려 당황했던 적이 있었다. 문자열 관련 메소드 중 removesuffix, removeprefix 메소드를 무심코 사용했었다가 그만... 앞자리 숫자가 같은 버전들 사이에서는 처음 겪는 이슈라 좀 당황스러웠는데 겪고 보니 딱히 필수적인 메소드도 아닌데 IDE가 추천해주는 대로 막 쓰면 이런 꼴이 나는구나 하는 교훈을 얻었다. Django ORM을 활용해 객체지향적 프로그래밍. Q, F, Count 등의 서브쿼리 메소드.. 2022. 3. 9.
[파이썬웹개발] 장고에 딱 붙고 착 붙는 데이터베이스는 무엇일까? Do Not Reinvent The Wheel! 바퀴를 재발명하지 말라! 라는 격언은 프로그래머에게 익숙한 말 중 하나입니다. 이미 발명되어 있는 바퀴를 두고 먼 길을 돌아가지 말라는 것입니다. Django는 이러한 철학에 따라 만들어진 파이썬의 중요한 웹프레임워크 중 하나입니다. Fast API나 Flask 같은 대체제 역시 인기지만 파이썬의 거의 유일한 웹프레임워크 같은 느낌을 주는데요. 오늘은 이 Django에 대한 개략적인 지식과, 백엔드 프레임워크로써 어떤 데이터베이스와 잘 맞는지 확인해보는 시간을 가지겠습니다. 최고의 속도: Django는 개발자가 웹사이트를 만들 때 기본적으로 구현하는 대부분의 기능들을 "이미" 구현해놓은 정답지입니다. 비밀번호 유효성 체크와 같은, 개발하려면 시간이 들지만 .. 2022. 3. 1.
[AWS] EC2 우분투에 파이썬 장고 프로젝트 배포하기 파이썬의 강력한 웹프레임워크인 장고를 우분투 20.04 버전으로 배포하겠습니다. 우선 개발 서버에서 사용 중인 라이브러리들을 requirements.txt에 저장할 것입니다. 대부분의 자동 배포 프로그램에서도 준수하는 이름이니 파일명은 그대로 사용해 주세요. pip freeze > requirements.txt 만들어진 requirements.txt 파일을 확인하고, 개발 서버에서만 사용하거나 이제 더 이상 사용하지 않을 파일들을 정리해줍니다. 참고로 이번 배포에서는 GUnicorn이라는 모듈을 사용해 배포할 것이므로 이 모듈도 추가해줍니다. 제 예시를 보여드리자면, 이런 모듈들을 사용했습니다. asgiref==3.5.0 beautifulsoup4==4.11.1 cachetools==5.0.0 certi.. 2022. 3. 1.
[장고웹개발] 웹스크래핑, 장고와 함께 하기 * 웹스크래핑에 대해서는 깊게 다루지 않습니다. 블로그에서 웹스크래핑에 대한 정보를 많이 다뤘기 때문에, 그 내용에 이어서 장고로 기반을 갖추면 좋은 이유, 그리고 어떻게 하면 장고의 데이터베이스에 우리가 원하는 데이터를 예쁘게 담을 수 있는 지에 대해 초점을 맞추겠다. 우선 ORM이라는 것이 있다. Object Relational Mapping, 즉 객체-관계 매핑이라는 것은 객체 지향 패러다임을 이용해 데이터베이스에서 데이터를 쿼리하고 조작할 수 있는 기술이다. 데이터를 효율적, 생산적으로 저장할 수 있는 데이터베이스, 그리고 그들의 언어인 SQL은 우리가 평소에 작성하는 프로그래밍 언어들과 접근 방법 등에서 차이가 있고, 비즈니스 로직에 의해 이것들을 다룰 때 그 복잡성이 깊어질 수록 프로그래밍 언.. 2022. 2. 17.
[장고웹개발] 장고와 친해져 봅시다. (부제: 요즘도 장고 쓰냐) 스프링을 한참 공부하다가 장고를 공부하게 되었다. 새로운 직장은 기술 부채가 다소 있는 편인데, PHP로 대부분의 서버를 구성해온 상황에서 장고 서비스를 구축해 조금씩 이전해 나가려는 계획을 가지고 있다. 나는 장고에 대한 경험이 거의 전무했다. 과거에 파이썬 기초 교육을 끝내고 겁도 없이 장고에 도전했다가 나가떨어진 적이 있었기에 장고는 "괜히" 어렵고 "쓸데없이" 복잡한 구조라고 생각했던 적도 있다. 여우와 신 포도 같은 것이었다. 당시에 왜 장고에게서 어떤 벽을 느낀 것일까? 일단 웹 서버와 클라이언트가 상호 교류하는 것에 대한 이해가 부족했다. 거기에다 MVT... MVC... 단어만 들어도 어려울 것 같은 패턴 구조 ORM에 대한 갈증을 느끼기 전에 맛을 보니 쓴 맛만 보게 됐다. 프레임워크와 .. 2022. 2. 15.
내 티스토리는 무슨 키워드로 많이 유입될까??? 워드클라우드 다시 맛보기 오랜만입니다! 지난번에 스파르타코딩클럽 프로모션 강의로 워드클라우드 만드는 거 글 올렸었는데요. 카카오톡 대화내역으로 "우리들이 버릇처럼 쓰는 말을 알아보자"라는 느낌이었는데, 좀 더 실용적인 사용방법도 있지 않을까? 해서 준비해 보았습니다. 우선 준비물은 여러분의 티스토리 블로그와 파이썬 3.x 버전입니다. (사실 별 상관은 없습니다.) 사용하게 되는 라이브러리들은 다음과 같습니다. import requests import pandas as pd from wordcloud import WordCloud import matplotlib.pyplot as plt from collections import Counter requests==2.27.1 pandas~=1.3.5 matplotlib~=3.5.1 .. 2022. 2. 11.