분류 전체보기 96

Django - APP 만들기

첫번째 app프로젝트 내부에 app을 만들고 실행되는지 확인한다. app 생성app을 생성하는 위치는 manage.py가 있는 위치이다. app 생성 명령어$ python manange.py startapp [app_name]앱이 제대로 생성됐다면 아래와 같이 앱을 위한 패키지가 자동으로 생성된다. hello_app 생성app 패키지 구성models.py : entity를 위한 파일views.py : controller 역할을 하는 파일migrations : DB를 migration 한 결과를 저장하는 폴더templates : view 파일을 저장하기 위한 폴더 (생성 필요)urls.py : request가 들어오는 url과 view를 연결하는 파일 (생성 필요)settings.py : 환경 설정과 관련..

Develop/Django 2021.01.15

Django 설치

Python 3 설치 Django는 python 기반의 프레임워크이므로 python을 먼저 설치해야한다. 설치 명령어 $ sudo apt-get install python python-pip설치 링크 https://www.python.org/downloads/설치 확인$ python --version Python 3.8.5버전이 출력된다면 제대로 설치가 된 것이다. Django 설치공식 릴리즈를 통해 설치하는 것을 추천한다고 한다. 설치 명령어 $ python -m pip install Django설치 확인$ python -m django --version역시 버전이 출력된다면 제대로 설치가 된 것이다. *python 3.9 버전에서는 오류가 뜨던데 나온지 얼마 안된 버전이라 아직 이슈가 있는듯 하다. ..

Develop/Django 2021.01.15

[JAVA] 1924 - 2007년

문제오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오.입력첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.출력첫째 줄에 x월 y일이 무슨 요일인지에 따라 SUN, MON, TUE, WED, THU, FRI, SAT중 하나를 출력한다. 풀이 원래 같았으면 월별 날짜를 다 더해서 7로 나누는 식으로 풀었겠지만, JAVA를 배우는 입장이라 내장 모듈을 배우고 싶어 날짜와 관련된 모듈을 사용해 풀었다. 덕분에 시간과 메모리는 좀 많이 쓰는 코드이다 😂요일..

[JAVA] 2739 - 구구단

문제N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.입력첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.출력출력형식과 같게 N1부터 N9까지 출력한다. 풀이 기본적인 구구단 출력 문제이다.for문을 잘 활용하면 된다.JAVA에도 f string이 있었으면 좋겠다.. ㅎㅎ 그래도 int가 String에 바로 합쳐지는 건 좋다. 답import java.util.Scanner; public class Gugudan { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int N = scanner.nextInt(); for (int i =..

[Python] 1744 - 수 묶기

문제길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 상관없이 묶을 수 있다. 하지만, 같은 위치에 있는 수(자기 자신)를 묶는 것은 불가능하다. 그리고 어떤 수를 묶게 되면, 수열의 합을 구할 때 묶은 수는 서로 곱한 후에 더한다. 예를 들면, 어떤 수열이 {0, 1, 2, 4, 3, 5}일 때, 그냥 이 수열의 합을 구하면 0+1+2+4+3+5 = 15이다. 하지만, 2와 3을 묶고, 4와 5를 묶게 되면, 0+1+(2*3)+(4*5) = 27이 되어 최대가 된다.수열의 모든 수는 단 한번만 묶거나, 아니면 묶지 않아야한다.수열이 주어졌을 때, 수열의 각..

[JAVA] 2742 - 기찍 N

문제자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.입력첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.출력첫째 줄부터 N번째 줄 까지 차례대로 출력한다. 풀이 N 찍기의 반대 문제이다.for문만 반대로 쓰면 된다. 답import java.util.Scanner; public class Ntnirp { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); int N = scanner.nextInt(); for (int i = N; i >= 1; i--){ System.out.println(i); } } }서버에 제출할 경우, 클래스 명을 "Main"으로 바꿔야..

[JAVA] 2741 - N 찍기

문제자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.입력첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.출력첫째 줄부터 N번째 줄 까지 차례대로 출력한다. 풀이 Scanner.nextInt를 통해 입력for문을 이용해 반복해 출력 답import java.util.Scanner; public class PrintN { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); int N = scanner.nextInt(); for (int i = 1; i

[JAVA] 11720 - 숫자의 합

문제N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.입력첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.출력입력으로 주어진 숫자 N개의 합을 출력한다. 풀이 문자열로 입력을 받고 한글자씩 잘라서 숫자로 바꿔 더한다.문자열로 받기 = scanner.nextInt한글자씩 자르기 = substring(i,i+1)숫자로 바꾸기 = Integer.parseInt 다른 풀이한글자씩 잘라서 숫자로 변환하는 과정을 charAt함수를 통해 해결할 수 있다. charAt(i) - '0' 👍답import java.util.Scanner; public class SumOfNumber { public static void main..

디자인패턴 - Layer

Layer 패턴이란?계층화 패턴(Layer Architectuer Pattern)이라고 불리며 프로그램을 계층적으로 나눠 디자인하는 패턴이다.하나의 계층은 하위 계층만을 고려하면 되는 형태이다.크게 논리적 계층(Layer)과 물리적 계층(Tier)로 나눌 수 있고 Layer가 달라도 같은 Tier로 구성이 가능하다. 논리적 계층(Layer)프로그램을 논리적인 계층의 흐름으로 구분한 것일반적으로 아래와 같은 4가지 계층으로 구분한다.프리젠테이션 계층 / UI 계층애플리케이션 계층 / 서비스 계층비지니스 논리 계층 / 도메인 계층데이터 접근 계층 / 영속 계층물리적 계층(Tier)프로그램이 현실에서 구성되는 물리적 위치에 따라 구분한 것구분하는 Tier의 갯수에 따라 N-Tier 아키텍처 패턴이라고도 불린다..

카테고리 없음 2021.01.13

디자인 패턴 - MVC

MVC란?Model View Controller의 약자로 3가지 역할로 나눠 관리하는 소프트웨어 디자인 패턴이다.Model애플리케이션의 정보(데이터)비즈니스 로직(Businees Logic) 처리View사용자 인터페이스(User Interface) 요소모델로 부터 정보를 얻어 화면을 구성한다.Controller데이터와 비즈니스 로직 사이에서 상호동작 관리입력 혹은 요청을 받아 Model과 View를 연결시켜준다. 출처 - 위키피디아 Uploaded by Notion2Tistory v1.1.0