분류 전체보기 477

논리설계 | Vivado로 Vellilog 시작하기

이번 학기에는 전기정보공학부에서 논리설계 및 실험 수업을 수강하고 있다. 논리설계 수업이니 납땜을 할 줄 알고 기대가 되었는데 알고보니 요새는 시뮬레이터 소프트웨어를 이용해서 과제를 한다고 한다. 우리 수업에서는 AMD에서 만든 Vivado Design Suite라는 소프트웨어를 이용해서 실습을 한다. Vivado Design Suite는 FPGA(Field-programmable gate array, 프로그래밍이 가능한 집적 회로 반도체)를 시뮬레이팅하는 소프트웨어다. 위 사진이 Vivado 프로그램에서 Velilog을 이용하여 만든 회로다. 아래 velilog 코드를 이용하여 만든 AND Gate이다. module test_v( input a, b, output c ); assign c = a & b..

<그림으로 익히는 도커&쿠버네티스(오가사와라 시게타카, 2022)>

그림과 실습으로 배우는 도커 & 쿠버네티스 태그: 개발, 인프라 1. 도커란 무엇인가? 1) 도커란 무엇인가? #도커란 도커란 도커는 데이터 또는 프로그램을 격리시키는 기능을 제공하는 소프트웨어 주로 서버에 사용된다. 다양한 프로그램과 데이터를 각각 독립된 환경에 격리하는 기능을 제공. 운영체제 비슷한 것을 통째로 격리함 컨데이터와 도커 독립된 창고 = 컨테이너에 데이터나 프로그램을 두는 것 도커는 컨테이너를 다루는 기능을 제공하는 소프트웨어 도커 엔진을 사용하여 컨테이너를 생성하고 구동시킬 수 있다 컨테이너, 이미지 컨테이너를 만들려면 도커 엔진 외에도 컨테이너의 빵틀과도 같은 역할을 하는 이미지가 필요하다 이미지를 활용하면 컨테이너를 여러 개 만들 수 있다. 리눅스 컴퓨터 도커는 종류와 상관없이 리눅..

Docker compose로 Django, Nginx, Mysql 띄우기

docker compose로 django, nginx, mysql를 띄우면, 다음 두 개의 명령어만으로 서버를 띄울 수 있다. docker compose build docker compose up step 1. 디렉토리 구조 설정 나 같은 경우는 다음과 같이 구조를 설정했다. django, mysql, nginx를 따로 폴더를 만들어주고, 각 폴더에 Dockerfile을 생성했다. - django/ - mysql/ - nginx/ docker-compose.yaml step 2. django Dockerfile 작성 FROM python:3.8 # 컨테이너 내부 기준 디렉토리 생성 WORKDIR /app # django/requirements.txt를 컨테이너 app/requirements.txt로 복사..

에러 해결 | ‘bash\r’: No such file or directory 해결하기

window로 개발을 하다보면 에러가 생기는 경우가 많은데 특히 맥 쓰는 분이랑 협업할 때 문제가 많이 생긴다. 오늘은 docker-compose up으로 서버를 실행하려다가 ‘bash\r’: No such file or directory 에러가 발생했다. api-1 | /usr/bin/env: ‘bash\r’: No such file or directory api-1 exited with code 127 에러 로그는 위와 같다. 이 에러는 맥 OS은 \n을 이용해서 줄 구분을 하는데 윈도우는 \r\n을 이용해서 생기는 에러다. dos2unix pip 모듈을 설치해서 .sh 파일을 변환해주면 에러는 금방 해결된다.

백준 Java | 백준 11722번 가장 긴 감소하는 부분 수열 Java 문제 풀이

11722번: 가장 긴 감소하는 부분 수열 (acmicpc.net) 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net DP[i] = A[i]를 마지막 값으로 가지는 가장 긴 감소 부분 수열의 길이로 정의하면 쉽게 풀 수 있다. O(N^2) 알고리즘 import java.util.*; class Main { static int n; static int[] A; static int[] DP; public static void main(Stri..

프로그래머스 코딩테스트 연습 | 올바른 괄호 Java 문제 풀이

코딩테스트 연습 - 올바른 괄호 | 프로그래머스 스쿨 (programmers.co.kr) import java.util.*; class Solution { public static void main(String[] args) { System.out.println(solution("()()")); System.out.println(solution("(())()")); System.out.println(solution(")()(")); System.out.println(solution("(()(")); } public static boolean solution(String s) { char[] array = s.toCharArray(); boolean answer = true; Stack stack = ne..

프로그래머스 코딩테스트 연습 | 기능개발 Java 문제 풀이

코딩테스트 연습 - 기능개발 | 프로그래머스 스쿨 (programmers.co.kr) import java.util.*; class Solution { public static int[] solution(int[] progresses, int[] speeds) { ArrayList answerList = new ArrayList(); int[] answer = {}; int days = 0; for (int i=0;i days){ days = needDays; answerList.add(1); } else { answerList.set(answerList.size()-1, answerList.get(answerList.size()-1)+1); } } answer = new int[answerList.si..

프로그래머스 | 다리를 지나는 트럭 Java 문제 풀이

코딩테스트 연습 - 다리를 지나는 트럭 | 프로그래머스 스쿨 (programmers.co.kr) import java.util.*; class Pair { int truck; int index; Pair(int truck, int index){ this.truck = truck; this.index = index; } } class Solution { public static void print(Queue queue){ for (Pair p : queue){ System.out.print(p.truck + " "); } System.out.println(); } public static int solution(int bridge_length, int weight, int[] truck_weights){ ..

FastAPI를 이용한 기본적인 CRUD API

참고 : 초보자를 위한 FastAPI 과정 - YouTube from fastapi import FastAPI from fastapi import Path from typing import Optional from pydantic import BaseModel app = FastAPI() students = { 1: { "name":"John", "age":17, "year":"year 12" } } class Student(BaseModel): name: str age: int year: str class UpdateStudent(BaseModel): name: Optional[str] = None age: Optional[int] = None year: Optional[str] = None @app...