본문 바로가기

분류 전체보기

(11)
[5주차] 오늘부터 웹개발 NLP 예측모델 기반 웹 서비스 구현 이번 강의에서 KoBERT 활용 리뷰텍스트 감정분석 웹서비스를 구현하면서 KoBERT 기반의 텍스트 분류 모델 부분을 정리해보겠습니다. 설명할 코드는 KoBERT(Korean BERT)를 사용하여 문장 분류를 수행하는 텍스트 분류 모델을 구축합니다. TensorFlow와 Hugging Face의 transformers 라이브러리를 활용하여 사전 학습된 KoBERT 모델을 로드하고, 이를 기반으로 커스텀 분류 모델을 작성합니다.1. 라이브러리 및 환경 설정import osimport pickleimport loggingimport numpy as npimport tensorflow as tffrom tensorflow.keras import layers, initializers, losses, optimi..
실시간 설문조사 웹 서비스 구현하기 이번 글은 저번 글에서 배웠던 내용들은 제외하고, 새롭게 알게 된 내용들을 위주로 정리한 글입니다. 앱의 url 처리현재 site_2라는 프로젝트 안에 polls라는 앱이 있는 상황입니다. 저번 수업에서 urls.py 파일을 통해서 views.py의 함수와 url을 연결해줄 수 있다는 것을 배웠습니다.  include 를 사용하여 프로젝트(site_2)의 urls.py에서 앱(polls)의 url을 등록해주면, 앱(polls)의 url은 앱(polls)의 urls.py에서 처리하도록 역할을 나눌 수 있습니다. 다대다 관계 구현이번 앱을 구현하기 위해 필요한 클래스는 Question 클래스와 Choice 클래스입니다. 클래스 간의 관계를 생각해보면, 하나의 설문조사(Question) 안에 여러개의 선택지(..
수식 최대화 알고리즘 구현 [자바, 순열, 수식 연산] 문제https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이피연산자 연산자 나누기, 순열, 계산으로 나눠서 구현할 수 있다. 1. 피연산자 연산자 나누기import java.util.*;public class Solution { // 메인 함수 public static long solution(String expression) { // 숫자와 연산자를 각각 분리 List numbers = new ArrayLis..
[오늘부터 웹 개발 - 인공지능 맛보기] 로또 번호 자동 생성 웹 서비스 구현하기 Django project 생성 & settings.py 수정 1. 장고 프로젝트 폴더 및 Python 가상환경 생성장고 프로젝트 폴더 생성cd ..mkdir work_djangocd work_djangomkdir django_mldlcd django_mldlPython 가상환경 생성pip install virtualenv==20.13.2 가상 환경을 만들어주는 라이브러리입니다.virtualenv django_env django_env 라는 이름으로 가상 환경을 새로이 만듭니다.django_env\Scripts\activate Scripts 폴더 내의 activate 파일을 실행해 가상 환경을 활성화합니다.pip install django==3.2 가상 환경에는 최소의 라이브러리만 존재하므로 장고를 설치..
[오늘부터 웹 개발 - 인공지능 맛보기] 웹 프로그래밍과 장고 기초 살펴보기 Key word로 살펴보는 Web Programming Back-end & Front-endFront-end: 시각화의 영역, Back-end로부터 넘어온 데이터를 보여준다.Back-end: 웹/앱 서버(의 API 구현), DB 등, Front-end로부터 요청을 받아 데이터를 처리하고 되돌려 보내준다. Mobile Application디바이스에 최적화된 전용 앱들: native appshtml/css/js로 만들어진 앱들 or 이렇게 만든 후 커버를 씌운 앱들: web apps, hybrid apps네이티브 앱들은 백엔드와 프론트엔드를 굳이 구분하지 않음.보여지는 부분을 위한 UI code + 내부처리 및 DB 연동을 위한 logic code IDE(통합 개발 환경)visual studio code, ..
[알고리즘] 순열 + 소수찾기 프로그래머스 완전탐색 > 소수찾기 문제 풀이입니다.순열과 소수찾기를 구현하는 것이 포인트였습니다.문제문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다.입출력 예 numbers   return "17"          3 "011"        2입출력 예 설..
Jenkins를 이용한 Dockerized 애플리케이션 배포 자동화: SSH로 배포하기 저번 글에서는 일일이 빌드와 배포를 해주었습니다. https://mythofsummer-backend.tistory.com/6 이번 글에서는 Jenkins를 설정하고, SSH를 통해 Dockerized 애플리케이션을 자동으로 배포하는 과정을 다룹니다. Jenkins 세팅SSH로 배포하는 과정 이해하기dockerized 애플리케이션 배포 자동화1. Jenkins 세팅1.1 Jenkins 주요 기능 Batch 처리: Jenkins는 실시간 처리가 아닌 일괄 처리를 통해 빌드와 배포 작업을 주기적으로 수행합니다.빌드 및 배포 자동화: Jenkins는 수동으로 빌드하고 배포하는 번거로움을 없애고, 자동화된 파이프라인을 통해 작업을 효율적으로 처리합니다. 1.2 Jenkins와 GCP 인스턴스 설정 우리는 두 개..
애플리케이션 도커 이미지로 만들고 GCP에 배포하기 이 글에서는 Maven으로 패키징된 애플리케이션을 Docker를 사용하여 GCP 인스턴스에서 실행하는 방법을 단계별로 설명하겠습니다. 이 과정에서는 Dockerfile을 작성하고, Docker 이미지를 빌드 및 푸시한 후, GCP 인스턴스에서 이미지를 실행하는 방법을 다룹니다.  1. Dockerfile 작성하기먼저 IntelliJ IDEA에서 Maven으로 패키징된 .jar 파일을 Docker 이미지로 만들기 위해 Dockerfile을 작성합니다. Dockerfile의 내용은 다음과 같습니다:FROM openjdk:8-jdk-alpineARG JAR_FILE=target/*.jarCOPY ${JAR_FILE} app.jarENTRYPOINT ["java", "-jar", "/app.jar"]  이 Do..
애플리케이션 성능 테스트하기 성능 테스트는 애플리케이션의 안정성과 성능을 보장하기 위해 필수적인 과정입니다. 이 글에서는 Artillery를 사용하여 성능 테스트를 수행하고, 결과를 분석하는 방법을 설명합니다.    Artillery란?Artillery는 HTTP, WebSocket 및 Socket.io 기반 애플리케이션을 테스트하기 위한 모던한 성능 테스트 도구입니다. 사용하기 쉽고, 강력한 기능을 제공하여 애플리케이션의 성능을 빠르게 테스트할 수 있습니다. Artillery 설치먼저, Artillery를 설치합니다. npm install -g artillery@latest 테스트 스크립트 작성Artillery는 YAML 파일 형식으로 테스트 스크립트를 작성합니다. 아래는 예시 스크립트입니다:config: target: http..
CPU Bound Application 만들기: MD5 해시 연산을 이용한 예제 이번 글에서는 CPU Bound Application의 개념과 함께, 실제로 CPU를 많이 사용하는 애플리케이션을 만드는 방법을 설명하겠습니다. 목차CPU Bound Application이란?CPU Bound Application 만들기두 개의 엔드포인트 비교 CPU Bound Application이란? 애플리케이션은 일반적으로 두 가지 유형으로 나뉩니다: CPU Bound Application과 I/O Bound Application입니다. CPU Bound Application은 대부분의 시간을 CPU 연산에 사용하며, I/O 작업은 최소화하는 애플리케이션입니다. 반면, I/O Bound Application은 주로 데이터 입출력 작업에 시간을 많이 소비합니다. 컴퓨터 시스템의 기본 구조애플리케이션은..