Finn.ian
article thumbnail
[CS] 소프트웨어 개발방법론
Data Engineering/CS 기초 2023. 7. 23. 23:18

1년전 공부했던 정보처리기사 관련되어 1단원인 소프트웨어 개발방법론에 대해 작성된 글입니다. 소프트웨어 개발방법론 01. 소프트웨어 생명주기 모델의 종류 이해 1. SDLC(SW Development Life Cycle) 시스템의 요구분석부터 유지보수까지의 전 공정을 체계화한 절차 SDLC의 프로세스 요구사항 분석단계 → 설계 → 구현 → 테스트 → 유지보수 2. 생명주기 모델 2-1. 폭포수 모델(Waterfall Model) 소프트웨어 개발 시, 각 단계를 확실히 마무리 지은 후 다음 단계로 넘어가는 모델 폭포수 모델의 특징 가장 오래된 모델 선형 순차적 모형(고전적 생명주기 모형 / 한 번 정해지면 변경이 어려움) 오래된 모형이기에 성공 사례 많음 단계별 정의와 산출물 명확 요구사항 변경 어려움 2..

article thumbnail
[PostgreSQL] 사용자에게 권한 부여하기
Data Engineering/DBMS 2023. 7. 13. 00:03

오늘은 PostgreSQL Database에서 사용자에게 권한을 부여하거나 제거하는 방법에 대해 작성하려 합니다. PostgreSQL에서 사용자에게 권한을 부여하거나 뺏기 위해서는 GRANT 또는 REVOKE 명령을 사용합니다. 우선 사용자에게 권한을 부여하거나 제거하기 전, 사용자계정인 user 계정을 생성하는 방법에 root 계정을 생성하는 방법을 작성하고, 사용자에게 권한을 부여하거나 뺏는 명령어에 대해 작성하고자 합니다. 해당 글을 읽기 전, Dark Mode는 풀어주시면 글을 읽기 쉽습니다. 01. 계정 생성법 (CREATE) User 계정 생성하는 방법은 아래 SQL을 활용해주시면 되고, 비밀번호는 '따옴표'를 꼭 작성해주어야 합니다. CREATE USER username WITH PASSWO..

article thumbnail
[PostgreSQL] Primary Key 재설정
Data Engineering/DBMS 2023. 7. 4. 23:17

데이터베이스에서 기본키(Primary Key)는 굉장히 중요한 개념이다. 오늘은 간단히 PostgreSQL의 기본키에 대해 알아보고자 한다. PostgreSQL 기본키(Primary Key)는 테이블의 각 행을 고유하게 식별하는 데 사용되는 특별한 열 또는 열 집합이다. 관계형 데이터베이스 설계에서 중요한 구성 요소이며 데이터 무결성을 보장하고 효율적인 데이터 검색을 가능하게 한다. 01. 기본키의 특징 고유성 (Uniqueness) 기본키의 각 값은 테이블 내에서 고유해야 합니다. 두 행은 동일한 기본키 값을 가질 수 없다. 널 값 허용 불가 (Not Null) 기본키 값은 널 값을 가질 수 없다. 모든 행은 기본키 열에 정의된 값을 가져야 한다. 분해 불가능성(Irreducible) 기본키는 더 작은..

article thumbnail
NiFi Cron 설정하기
Data Engineering/ELT 2023. 7. 2. 23:17

NiFi Cron은 NiFi에서 작업을 정기적으로 실행하기 위한 기능이다. 01. Apache NiFi Cron 기능 NiFi는 Apache Software Foundation에서 개발한 엔터프라이즈급 데이터 처리 플랫폼으로 NiFi Cron를 사용하면 특정 시간에 또는 특정 시간 간격으로 작업을 실행할 수 있다. 아래는 NiFi Cron 기능이다. 작업을 특정 시간에 실행 작업을 특정 시간 간격으로 실행 작업을 특정 주기 동안 실행 작업을 특정 조건이 충족될 때 실행 02. Apache NiFi Cron 사용법 NiFi Cron를 사용하려면 다음과 같이 진행하면 된다. (작성된 버전은 1.12.1로, 버전마다 상이할 수 있기 때문에 참고만 하길 바란다.) 1. NiFi UI의 좌측 상단 Processo..

article thumbnail
[Python3] 문자열 조작에 필요한 split 함수
SkillSet/Python 2023. 6. 7. 23:14

쉽고 빠르게 한줄로 요약하면, 파이썬에서 Split 함수를 활용하는 이유는 문자열 조작을 위해서입니다. 함수의 모양은 아래와 같습니다. # Python Split 함수 모양 # split 공백 기준으로 잘라주는 형태 문자열.split() # '구분자'를 기준으로 잘라주는 형태 문자열.split('구분자') # '구분자'로 기준을 잡고, 몇 개까지 자를지 결정한다. 문자열.split('구분자', 분할횟수) # 바로 위의 내용과 동일하게 사용된다. 문자열.split(sep='구분자', maxsplit=분할횟수) 1. 문자열.split() 공백없이 출력한 경우, 예시입니다. # Test 코드 작성 class splitTest1 : def __init__(self): data = "12345" values = ..

article thumbnail
백준 10813번 : 공 바꾸기 (Python3)
SkillSet/Python 2023. 5. 24. 00:49

📖 문제 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다. 도현이는 앞으로 M번 공을 바꾸려고 한다. 도현이는 공을 바꿀 바구니 2개를 선택하고, 두 바구니에 들어있는 공을 서로 교환한다. 공을 어떻게 바꿀지가 주어졌을 때, M번 공을 바꾼 이후에 각 바구니에 어떤 공이 들어있는지 구하는 프로그램을 작성하시오. 🖊 입력 첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ M ≤ 100)이 주어진다. 둘째 줄부터 M개의 줄에 걸쳐서 공을 교환할 방법이 주어진다. 각 방법은 두 정수 i j로 이루어져 있으며, i번 바구니와 j번 바구니에 들어있는 공을 교환한..

article thumbnail
백준 10818번 : 최소, 최대 (Python3)
SkillSet/Python 2023. 5. 24. 00:44

📖 문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 🖊 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 🧸 출력 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 예제 입력 1 5 20 10 35 30 7 예제 출력 1 7 35 💡 정답 코드 # Integer 타입의 숫자를 입력받는다. a = int(input()) # List형태로 입력받은 숫자를 Split해준다. b = list(map(int,input().split())) # b의 최소값과 a의 최대값을 구..

article thumbnail
백준 25304번 : 영수증 (Python3)
SkillSet/Python 2023. 5. 11. 00:08

📖 문제 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다. 영수증에 적힌, 구매한 각 물건의 가격과 개수 구매한 물건들의 총 금액 을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자. 🖊 입력 첫째 줄에는 영수증에 적힌 총 금액 X가 주어진다. 둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 N이 주어진다. 이후 N개의 줄에는 각 물건의 가격 a와 개수 b가 공백을 사이에 두고 주어진다. 🧸 출력 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하면 Yes를 출력..

article thumbnail
백준 18108번 : 1998년생인 내가 태국에서는 2541년?! (Python3)
SkillSet/Python 2023. 5. 10. 01:16

📖 문제 ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국은 불멸기원(佛滅紀元), 즉 석가모니가 열반한 해를 기준으로 연도를 세는 불기를 사용한다. 반면, 우리나라는 서기 연도를 사용하고 있다. 불기 연도가 주어질 때 이를 서기 연도로 바꿔 주는 프로그램을 작성하시오. 🖊 입력 서기 연도를 알아보고 싶은 불기 연도 y가 주어진다. (1000 ≤ y ≤ 3000) 🧸 출력 불기 연도를 서기 연도로 변환한 결과를 출력한다. 예제 입력 1 2541 예제 출력 1 1998 💡 정답 코드 year = int(input()) bulyear = year ..

article thumbnail
백준 25314번 : 코딩은 체육과목 입니다 (Python3)
SkillSet/Python 2023. 5. 9. 01:13

📖 문제 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이 N바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?” 혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int는 4바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int는 8바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜아는 이런 생각이 들었다. “int 앞에 long을 하나씩 더 붙일 때마다 4바이트씩 ..

article thumbnail
xcrun: error: invalid active developer path 에러 해결하기
TroubleShooting 2023. 5. 6. 23:39

이번 Mac OS Update 이후, Github를 사용하여 Remote하려니 하단과 같은 문제가 발생하였습니다. error 문구 : xcrun: error: invalid active developer path 구글링을 통해 Mac OS 업데이트마다 개발 관련 도구 사용에서 missing xcrun 에러가 자주 등장하여 이를 추후 확인하기 위해 정리해둡니다. 💭 원인 Mac OS 업데이트 후, git을 비롯한 대다수의 개발 툴들이 높은 확률로 xcrun 에러를 발생시킵니다. 이는 CommandLine Tools(명령어 라인 도구)를 식별하지 못하여 발생된 문제로 각 개발 도구들의 문제가 아닌 것으로 파악됐습니다. -- 해당 내용은 https://www.hahwul.com/2019/11/18/how-to..

article thumbnail
백준 2525번 : 오븐 시계 (Python3)
SkillSet/Python 2023. 4. 21. 08:17

📖 문제 KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 디지털 시계가 있다. 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오. 🖊 입력 첫째 줄에는 현재 시각이 나온다. 현재 시각은 시 A (0 ≤ A ≤ 23) 와 분 B (0 ≤ B ≤ 59)가 정수로 빈칸을 사이에 두고 순서대로..

검색 태그