소프트웨어 설계
·
CS
✅ 소프트웨어 개발 방법론폭포수 모형 소프트웨어 공학에서 가장 오래되고 폭넓게 사용된 전통적인 소프트웨어 생명 주기 모형소프트웨어 개발 과정의 한 단계가 끝나야만 다음 단계로 넘어갈 수 있는 선형 순차적 모형각 단계가 끝난 후 다음 단계를 수행하기 위한 결과물이 명확하게 산출되어야 함프로토타입 모형폭포수 모형의 요구사항 변경에 따른 어려움을 보완한 모형으로 사용자의 요구사항을 충실히 반영함실제 상황 전에 가상의 시뮬레이션을 통하여 최종 결과물에 대한 예측 가능프로젝트의 관리가 용이하고, 노력과 비용을 절감나선형 모형보헴이 제안한 것으로, 폭포수 모형과 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 최종 소프트웨어 개발 (점진적 모형)소프트웨어 개발..
백준 / 1072번 / 게임 / python 파이썬
·
코딩테스트/백준 (python)
문제 : https://www.acmicpc.net/problem/1072  문제김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시작했다. 의심을 피했다고 생각한 형택이는 다시 게임을 켰다. 그 때 형택이는 잠시 코딩을 하는 사이에 자신의 게임 실력이 눈에 띄게 향상된 것을 알았다.이제 형택이는 앞으로의 모든 게임에서 지지 않는다. 하지만, 형택이는 게임 기록을 삭제 할 수 없기 때문에, 자신의 못하던 예전 기록이 현재 자신의 엄청난 실력을 증명하지 못한다고 생각했다.게임 기록은 다음과 같이 생겼다.게임 횟수 : X이긴 게임 : Y (Z%)Z는 형택이..
[Unity] 유니티에서 WebSocket 사용하기
·
개발 | 프로젝트/Unity
유니티에서 웹소켓 통신을 하려면 WebSocketSharp라는 라이브러리가 필요하다. 1. 먼저 아래 깃허브에서 WebSocketSharp을 다운로드한다.https://github.com/sta/websocket-sharp 2. websocket-sharp.sln 파일을 빌드하면 bin/Dedug 폴더에  WebSocketSharp.dll 파일이 생성된다. 3. WebSocketSharp.dll 파일을 유니티 프로젝트의 Assets/Plugins 폴더로 복사한다.
백준 / 1890번 / 점프 / python 파이썬
·
코딩테스트/백준 (python)
문제 : https://www.acmicpc.net/problem/1890   문제N×N 게임판에 수가 적혀져 있다. 이 게임의 목표는 가장 왼쪽 위 칸에서 가장 오른쪽 아래 칸으로 규칙에 맞게 점프를 해서 가는 것이다.각 칸에 적혀있는 수는 현재 칸에서 갈 수 있는 거리를 의미한다. 반드시 오른쪽이나 아래쪽으로만 이동해야 한다. 0은 더 이상 진행을 막는 종착점이며, 항상 현재 칸에 적혀있는 수만큼 오른쪽이나 아래로 가야 한다. 한 번 점프를 할 때, 방향을 바꾸면 안 된다. 즉, 한 칸에서 오른쪽으로 점프를 하거나, 아래로 점프를 하는 두 경우만 존재한다.가장 왼쪽 위 칸에서 가장 오른쪽 아래 칸으로 규칙에 맞게 이동할 수 있는 경로의 개수를 구하는 프로그램을 작성하시오.입력첫째 줄에 게임 판의 크기..
백준 / 12719번 / 빗물 / python 파이썬
·
코딩테스트/백준 (python)
문제 : https://www.acmicpc.net/problem/14719  문제2차원 세계에 블록이 쌓여있다. 비가 오면 블록 사이에 빗물이 고인다.비는 충분히 많이 온다. 고이는 빗물의 총량은 얼마일까?입력첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500)두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치부터 차례대로 W개 주어진다.따라서 블록 내부의 빈 공간이 생길 수 없다. 또 2차원 세계의 바닥은 항상 막혀있다고 가정하여도 좋다.출력2차원 세계에서는 한 칸의 용량은 1이다. 고이는 빗물의 총량을 출력하여라.빗물이 전혀 고이지 않을 경우 0을 출력하여라.예제 입력 1 4 43 0 1 4..
[Python] execute() 함수 / exec()와의 차이 / cursor
·
개발 | 프로젝트/Python
execute() 함수는 execute()는 데이터베이스와 상호작용할 때 사용되는 함수이다. 주로 데이터베이스 커넥터 라이브러리(예: pymysql, sqlite3, psycopg2)에서 제공되며, SQL 쿼리를 실행하는 데 사용된다. ex) 데이터베이스에 SQL 쿼리를 보내어 데이터를 조회, 삽입, 수정, 삭제 등의 작업을 수행할 때 사용됨 사용 예시 (pymysql)import pymysqlconn = pymysql.connect(host='localhost', user='root', password='password', database='testdb')cursor = conn.cursor()# SQL 쿼리 실행query = "SELECT * FROM users WHERE username = %s"c..
백준 / 2468번 / 안전 영역 / python 파이썬
·
코딩테스트/백준 (python)
문제 :  https://www.acmicpc.net/problem/2468   문제재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어 지는 지를 조사하려고 한다. 이때, 문제를 간단하게 하기 위하여, 장마철에 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다고 가정한다.어떤 지역의 높이 정보는 행과 열의 크기가 각각 N인 2차원 배열 형태로 주어지며 배열의 각 원소는 해당 지점의 높이를 표시하는 자연수이다. 예를 들어, 다음은 N=5인 지역의 높이 정보이다. 6826232346673327253689527 이제 위와..
[Java] 어노테이션 (Annotation)의 개념 및 종류
·
기타
Annotation이란?사전적 의미로 주석을 뜻합니다. 자바에서 Annotation(@)은 코드 사이에 특별한 의미, 기능을 수행하도록 하는 기술로,어노테이션을 사용하면 코드가 깔끔해지며 재사용이 가능합니다.  어노테이션의 역할컴파일러에게 문법 에러를 체크하도록 정보를 제공프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공런타임에 특정 기능을 실행하도록 정보를 제공 1. 컴포넌트 관련 어노테이션@Component스프링의 빈(bean)을 등록하는 기본 어노테이션입니다. 클래스 위에 이 어노테이션을 붙이면, 해당 클래스는 스프링 IoC 컨테이너에 의해 관리되는 빈이 됩니다. @Service@Component의 특수화된 형태로, 주로 서비스 계층에 사용됩니다. 비즈니스 로직을 담고 있는 클래스..