본문 바로가기
ISTQB CTFL 후기 30/40 으로 살짝 위험하게 합격.. 실라버스를 읽으면서 블로그에 정리한 것 처럼 내가 중요하다고 생각하는 걸 풀어서 정리하고, 2~3번 정독했습니다+ 모의고사 문제 공식홈페이지에 있는거 풀면서 해설 꼼꼼하게 보면서 오답노트 정리QA 직무에도 흥미가 있어서 자격증을 공부해봤는데 공부하면서 이론적인 내용을 학습할 수 있었습니다 2024. 10. 31.
백준 1068 트리(dfs) 문제트리에서 리프 노드란, 자식의 개수가 0인 노드를 말한다.트리가 주어졌을 때, 노드 하나를 지울 것이다. 그 때, 남은 트리에서 리프 노드의 개수를 구하는 프로그램을 작성하시오. 노드를 지우면 그 노드와 노드의 모든 자손이 트리에서 제거된다.예를 들어, 다음과 같은 트리가 있다고 하자.현재 리프 노드의 개수는 3개이다. (초록색 색칠된 노드) 이때, 1번을 지우면, 다음과 같이 변한다. 검정색으로 색칠된 노드가 트리에서 제거된 노드이다.이제 리프 노드의 개수는 1개이다.입력첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다. 셋째 줄에는 지울 노드의.. 2024. 10. 29.
백준 2636 : 치즈(bfs/dfs) 문제https://www.acmicpc.net/problem/2636. • 처음 코드 바깥쪽에서 안쪽으로 탐색할때 처음으로 만나는 치즈가 외곽이니 해당 치즈의 갯수를 구하자라는 생각으로 작성..실패했다#include #include #include #include #include using namespace std;// 아이디어 n*m 크기의 보드가 오면 n+2, m+2로 보드를 만들어서 바깥을 두르는 테두리를 만든다// 테두리의 i = 0 || i = n+1 || j = 0 || j == m+1 지점에서 직선으로 쭉 뻗어서 처음 닿는 부분이 외곽 아닌가?int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, m;.. 2024. 10. 29.
백준 14502 : 연구소(bfs,조합,브루트포스) 문제인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다.연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. 새로 세울 수 있는 벽의 개수는 3개이며, 꼭 3개를 세워야 한다.예를 들어, 아래와 같이 연구소가 생긴 경우를 살펴보자.2 0 0 0 1 1 00 0 1 0 1 2 00 1 1 0 1 0 00 1 0 0 0 0 00 0 0 0 0 1 10 1 0 0 0.. 2024. 10. 28.
백준 1436 : 영화감독 숌(브루트포스) 문제666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조지 루카스와 피터 잭슨을 뛰어넘는다는 것을 보여주기 위해서 영화 제목을 좀 다르게 만들기로 했다.종말의 수란 어떤 수에 6이 적어도 3개 이상 연속으로 들어가는 수를 말한다. 제일 작은 종말의 수는 666이고, 그 다음으로 큰 수는 1666, 2666,.. 2024. 10. 28.
백준 2852 NBA 농구(구현) 문제동혁이는 NBA 농구 경기를 즐겨 본다. 동혁이는 골이 들어갈 때 마다 골이 들어간 시간과 팀을 적는 이상한 취미를 가지고 있다.농구 경기는 정확히 48분동안 진행된다. 각 팀이 몇 분동안 이기고 있었는지 출력하는 프로그램을 작성하시오.입력첫째 줄에 골이 들어간 횟수 N(1출력첫째 줄에 1번 팀이 이기고 있던 시간, 둘째 줄에 2번 팀이 이기고 있던 시간을 출력한다. 시간은 입력과 같은 형식(MM:SS)으로 출력한다.예제 입력 1 복사11 20:00예제 출력 1 복사28:0000:00예제 입력 2 복사31 01:102 21:102 31:30예제 출력 2 복사20:0016:30예제 입력 3 복사51 01:101 02:202 45:302 46:402 47:50예제 출력 3 복사45:3000:10 풀이 이.. 2024. 10. 28.
1289. 원재의 메모리 복구하기 D3 원재가 컴퓨터를 만지다가 실수를 저지르고 말았다. 메모리가 초기화된 것이다.다행히 원래 메모리가 무슨 값이었는지 알고 있었던 원재는 바로 원래 값으로 되돌리려고 했으나 메모리 값을 바꿀 때 또 문제가 생겼다.메모리 bit중 하나를 골라 0인지 1인지 결정하면 해당 값이 메모리의 끝까지 덮어씌우는 것이다.예를 들어 지금 메모리 값이 0100이고, 3번째 bit를 골라 1로 설정하면 0111이 된다.원래 상태가 주어질 때 초기화 상태 (모든 bit가 0) 에서 원래 상태로 돌아가는데 최소 몇 번이나 고쳐야 하는지 계산해보자.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 메모리의 원래 값이 주어진다.메모리의 길이는 1이상 50이하이다.[출력]각 테스트 케.. 2024. 10. 27.
1215. [S/W 문제해결 기본] 3일차 - 회문1 D3 "기러기", "토마토", "스위스"와 같이 똑바로 읽어도 거꾸로 읽어도 똑같은 문장이나 낱말을 회문(回文, palindrome)이라 한다.8x8 평면 글자판에서 제시된 길이를 가진 회문의 개수를 구하라. 위와 같은 글자판이 주어졌을 때, 길이가 5인 회문은 붉은색 테두리로 표시된 4개이므로 4를 반환하면 된다.[제약 사항]각 칸의 들어가는 글자는 'A', 'B', 'C' 중 하나이다.ABA도 회문이며, ABBA도 회문이다. A 또한 길이 1짜리 회문이다.가로 또는 세로로 이어진 회문의 개수만 센다.아래 그림에서 노란색 경로를 따라가면 길이 7짜리 회문이 되지만 직선이 아니기 때문에 인정되지 않는다. [입력]총 10개의 테스트 케이스가 주어진다.각 테스트 케이스의 첫 번째 줄에는 찾아야 하는 회문의 길이가.. 2024. 10. 27.
1225. [S/W 문제해결 기본] 7일차 - 암호생성기 D3 다음 주어진 조건에 따라 n개의 수를 처리하면 8자리의 암호를 생성할 수 있다.- 8개의 숫자를 입력 받는다.- 첫 번째 숫자를 1 감소한 뒤, 맨 뒤로 보낸다. 다음 첫 번째 수는 2 감소한 뒤 맨 뒤로, 그 다음 첫 번째 수는 3을 감소하고 맨 뒤로, 그 다음 수는 4, 그 다음 수는 5를 감소한다.이와 같은 작업을 한 사이클이라 한다.- 숫자가 감소할 때 0보다 작아지는 경우 0으로 유지되며, 프로그램은 종료된다. 이 때의 8자리의 숫자 값이 암호가 된다. [1 사이클]  [암호 도출] [제약 사항]주어지는 각 수는 integer 범위를 넘지 않는다.마지막 암호 배열은 모두 한 자리 수로 구성되어 있다. [입력]총 10개의 테스트 케이스가 주어진다.각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호.. 2024. 10. 27.
2805. 농작물 수확하기 D3 N X N크기의 농장이 있다.이 농장에는 이상한 규칙이 있다.규칙은 다음과 같다.   ① 농장은 크기는 항상 홀수이다. (1 X 1, 3 X 3 … 49 X 49)   ② 수확은 항상 농장의 크기에 딱 맞는 정사각형 마름모 형태로만 가능하다.                                         1 X 1크기의 농장에서 자라는 농작물을 수확하여 얻을 수 있는 수익은 3이다.3 X 3크기의 농장에서 자라는 농작물을 수확하여 얻을 수 있는 수익은 16 (3 + 2 + 5 + 4 + 2)이다.5 X 5크기의 농장에서 자라는 농작물의 수확하여 얻을 수 있는 수익은 25 (3 + 2 + 1 + 1 + 2 + 5 + 1 + 1 + 3 + 3 + 2 + 1)이다.농장의 크기 N와 농작물의 가치가 주.. 2024. 10. 27.
1240. [S/W 문제해결 응용] 1일차 - 단순 2진 암호코드 D3 어떤 국가에서는 자국 내 방송국에서 스파이가 활동하는 사실을 알아냈다. 스파이는 영상물에 암호 코드를 삽입하여 송출하고 있었는데, 스파이의 암호 코드에 다음과 같은 규칙이 있음을 발견했다.1. 암호코드는 8개의 숫자로 이루어져 있다.2. 암호코드에서의 숫자 하나는 7개의 비트로 암호화되어 주어진다. 따라서 암호코드의 가로 길이는 56이다.   ※ 길이가 56가 아닌 코드는 주어지지 않는다. 주어진 암호코드는 주어진 규칙대로 해독할 수 있음을 보장한다.      암호코드의 각 숫자가 암호화되는 규칙은 주어진 그림1을 참고하라.3. 올바른 암호코드는 (홀수 자리의 합 x 3) + (짝수 자리의 합)이 10의 배수가 되어야 한다.    ex) 암호코드가 88012346일 경우,    ( ( 8 + 0 + 2 .. 2024. 10. 26.
실라버스 해체분석기 실라버스는 고봉밥이기에.. 임의로 요약했습니다마치 비문학 지문 같은 • 1.1장 sw 테스팅 - 결함 식별, sw 산출물 품질 평가sdlc - sw 개발수명주기 verification - sw가 명세( 법률, 규제등)와 기술 요구사항을 충족시키는지validation - 사용자의 요구사항을 충족시키는지  동적 테스팅 - sw를 실제로 실행 하고 분석정적 테스팅 - sw를 실행하지 않고 리뷰하고 정적으로 분석, tc를 도출하기 위해 여러 기법과 접근법을 사용 - 테스트 목적작업 산출물 평가장애 및 결함 식별테스트 대상 커버리지 보장베리피케이션, 밸리데이션 - 테스팅과 디버깅테스팅은 sw 결함으로 인한 장애를 유발(동적 테스팅)하거나 결함을 직접 식별(정적 테스팅) - 동적 테스팅 중 디버깅동적 테스팅 과정 .. 2024. 10. 23.
벡터에서 최소/최대값 인덱스를 가져오려면? min,max 메서드로 최대,최소 값 구하는건 많이 햇으니 max_element나 min_element로 해당 값의 iterator를 가져오고 - begin을 해주면 해당 인덱스를 가져온다 int max_idx = max_element(arr.begin(), arr.end()) - arr.begin(); int min_idx = min_element(arr.begin(), arr.end()) - arr.begin(); 값을 출력하려면 *max_element(arr.begin(), arr.end()) 형태로 값을 가져오거나  int a = arr[max_element(arr.begin(), arr.end()) - arr.begin()]; in.. 2024. 10. 15.
1208. [S/W 문제해결 기본] 1일차 - Flatten D3 한 쪽 벽면에 다음과 같이 노란색 상자들이 쌓여 있다.높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 작업을 평탄화라고 한다.평탄화를 모두 수행하고 나면, 가장 높은 곳과 가장 낮은 곳의 차이가 최대 1 이내가 된다.평탄화 작업을 위해서 상자를 옮기는 작업 횟수에 제한이 걸려있을 때, 제한된 횟수만큼 옮기는 작업을 한 후 최고점과 최저점의 차이를 반환하는 프로그램을 작성하시오.  가장 높은 곳에 있는 상자를 가장 낮은 곳으로 옮기는 작업을 덤프라고 정의한다.위의 예시에서 제1회 덤프를 수행한 이후 화면은 다음과 같다.  A부분의 상자를 가장 낮은 B부분에 덤프하였으며, A대신 A’부분의 상자를 사용해도 무방하다.다음은 제2회 덤프를 수행한 이후의 화면이다.  A’부분의 상자를.. 2024. 10. 15.
1244. swea 최대 상금 D3 퀴즈 대회에 참가해서 우승을 하게 되면 보너스 상금을 획득할 수 있는 기회를 부여받는다.우승자는 주어진 숫자판들 중에 두 개를 선택에서 정해진 횟수만큼 서로의 자리를 위치를 교환할 수 있다.예를 들어, 다음 그림과 3, 2, 8, 8, 8 의 5개의 숫자판들이 주어지고 교환 횟수는 2회라고 하자.교환전>처음에는 첫번째 숫자판의 3과 네 번째 숫자판의 8을 교환해서 8, 2, 8, 3, 8이 되었다. 다음으로, 두 번째 숫자판 2와 마지막에 있는 8을 교환해서 8, 8, 8, 3, 2이 되었다.정해진 횟수만큼 교환이 끝나면 숫자판의 위치에 부여된 가중치에 의해 상금이 계산된다.숫자판의 오른쪽 끝에서부터 1원이고 왼쪽으로 한자리씩 갈수록 10의 배수만큼 커진다.위의 예에서와 같이 최종적으로 숫자판들이 8,8.. 2024. 10. 14.
1206. [S/W 문제해결 기본] 1일차 - View D3 강변에 빌딩들이 옆으로 빽빽하게 밀집한 지역이 있다.이곳에서는 빌딩들이 너무 좌우로 밀집하여, 강에 대한 조망은 모든 세대에서 좋지만 왼쪽 또는 오른쪽 창문을 열었을 때 바로 앞에 옆 건물이 보이는 경우가 허다하였다.그래서 이 지역에서는 왼쪽과 오른쪽으로 창문을 열었을 때, 양쪽 모두 거리 2 이상의 공간이 확보될 때 조망권이 확보된다고 말한다.빌딩들에 대한 정보가 주어질 때, 조망권이 확보된 세대의 수를 반환하는 프로그램을 작성하시오. 아래와 같이 강변에 8채의 빌딩이 있을 때, 연두색으로 색칠된 여섯 세대에서는 좌우로 2칸 이상의 공백이 존재하므로 조망권이 확보된다. 따라서 답은 6이 된다.A와 B로 표시된 세대의 경우는 왼쪽 조망은 2칸 이상 확보가 되었지만 오른쪽 조망은 한 칸 밖에 확보가 되지 .. 2024. 10. 14.
1983. 조교의 성적 매기기 D2 학기가 끝나고, 학생들의 점수로 학점을 계산중이다.학점은 상대평가로 주어지는데, 총 10개의 평점이 있다.학점은 학생들이 응시한 중간/기말고사 점수 결과 및 과제 점수가 반영한다.각각 아래 비율로 반영된다.10 개의 평점을 총점이 높은 순서대로 부여하는데,각각의 평점은 같은 비율로 부여할 수 있다.예를 들어, N 명의 학생이 있을 경우 N/10 명의 학생들에게 동일한 평점을 부여할 수 있다.입력으로 각각의 학생들의 중간, 기말, 과제 점수가 주어지고,학점을 알고싶은 K 번째 학생의 번호가 주어졌을 때,K 번째 학생의 학점을 출력하는 프로그램을 작성하라.[제약사항]1. N은 항상 10의 배수이며, 10이상 100이하의 정수이다. (10 ≤ N ≤ 100)2. K는 1 이상 N 이하의 정수이다. (1 ≤ K.. 2024. 10. 12.
1288. 새로운 불면증 치료법 D2 호석이는 불면증에 걸렸다. 그래서 잠이 안 올 때의 민간요법 중 하나인 양 세기를 하려고 한다.호석이는 1번 양부터 순서대로 세는 것이 재미없을 것 같아서 N의 배수 번호인 양을 세기로 하였다.즉, 첫 번째에는 N번 양을 세고, 두 번째에는 2N번 양, … , k번째에는 kN번 양을 센다.이렇게 숫자를 세던 호석이에게 잠은 더 오지 않고 다음과 같은 궁금증이 생겼다.이전에 셌던 번호들의 각 자리수에서 0에서 9까지의 모든 숫자를 보는 것은 최소 몇 번 양을 센 시점일까?예를 들어 N = 1295이라고 하자.첫 번째로 N = 1295번 양을 센다. 현재 본 숫자는 1, 2, 5, 9이다.두 번째로 2N = 2590번 양을 센다. 현재 본 숫자는 0, 2, 5, 9이다.현재까지 본 숫자는 0, 1, 2, 5.. 2024. 10. 12.
소수점 n 자리에서 반올림, 올림 , 내림 (D2 1984. 중간 평균값 구하기 ) double 형 자료형으로 ceil - 올림floor - 내림 • 반올림round 메서드를 사용하면 소수 첫째 자리에서 반올림한다근데 소수 3째나 4째에서 하고 싶으면?double res = 123.456789;double rounded = round(res * 1000) / 1000.0; 이런 방식으로 하면 소수 3째자리에서 반올림한 걸 구할 수 있다나눌때 / 10 형태가 아닌 / 10.0을 해줘야 되는걸 기억해두자 #include #include #include #include #include using namespace std;int main () { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int test_case; cin >>.. 2024. 10. 12.
SWEA D2 1959. 두 개의 숫자열 N 개의 숫자로 구성된 숫자열 Ai (i=1~N) 와 M 개의 숫자로 구성된 숫자열 Bj (j=1~M) 가 있다.아래는 N =3 인 Ai 와 M = 5 인 Bj 의 예이다.Ai 나 Bj 를 자유롭게 움직여서 숫자들이 서로 마주보는 위치를 변경할 수 있다.단, 더 긴 쪽의 양끝을 벗어나서는 안 된다. 서로 마주보는 숫자들을 곱한 뒤 모두 더할 때 최댓값을 구하라.위 예제의 정답은 아래와 같이 30 이 된다. [제약 사항]N 과 M은 3 이상 20 이하이다.[입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.각 테스트 케이스의 첫 번째 줄에 N 과 M 이 주어지고,두 번째 줄에는 Ai,세 번째 줄에는 Bj 가 주어진다.[출력]출력의 각 줄은 '#t'로 시작하고.. 2024. 10. 12.
SWEA D2 1961. 숫자 배열 회전 N x N 행렬이 주어질 때,시계 방향으로 90도, 180도, 270도 회전한 모양을 출력하라.[제약 사항]N은 3 이상 7 이하이다.[입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.각 테스트 케이스의 첫 번째 줄에 N이 주어지고,다음 N 줄에는 N x N 행렬이 주어진다.[출력]출력의 첫 줄은 '#t'로 시작하고,다음 N줄에 걸쳐서 90도, 180도, 270도 회전한 모양을 출력한다.입력과는 달리 출력에서는 회전한 모양 사이에만 공백이 존재함에 유의하라.(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)입력1031 2 34 5 67 8 966 9 4 7 0 58 9 9 2 6 56 8 5 4 9 82 2 7 7 8 47 5 1 9 7 98 9 .. 2024. 10. 11.
SWEA D2 2005 파스칼의 삼각형 크기가 N인 파스칼의 삼각형을 만들어야 한다.파스칼의 삼각형이란 아래와 같은 규칙을 따른다.1. 첫 번째 줄은 항상 숫자 1이다.2. 두 번째 줄부터 각 숫자들은 자신의 왼쪽과 오른쪽 위의 숫자의 합으로 구성된다.N이 4일 경우, N을 입력 받아 크기 N인 파스칼의 삼각형을 출력하는 프로그램을 작성하시오.[제약 사항]파스칼의 삼각형의 크기 N은 1 이상 10 이하의 정수이다. (1 ≤ N ≤ 10)[입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.각 테스트 케이스에는 N이 주어진다.[출력]각 줄은 '#t'로 시작하고, 다음 줄부터 파스칼의 삼각형을 출력한다.삼각형 각 줄의 처음 숫자가 나오기 전까지의 빈 칸은 생략하고 숫자들 사이에는 한 칸의 빈칸을 출력.. 2024. 10. 11.
SWEA D2 2001 파리퇴치 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PzOCKAigDFAUq&categoryId=AV5PzOCKAigDFAUq&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=JAVA&select-1=2&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.comN x N 배열 안의 숫자는 해당 영역에 존재하는 파리의 개수를 의미한다.아래는 N=5 의 예이다. M x M 크기의 파리채를 한 번 .. 2024. 10. 10.
SWEA D2 1926 간단한 369 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PTeo6AHUDFAUq&categoryId=AV5PTeo6AHUDFAUq&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=JAVA&select-1=2&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 1 2 - 4 5 - 7 8 -  형태로 369를 -로 치환해서 출력하는 문제33은 --, 333은 --- 이 된다#include #.. 2024. 10. 10.
SWEA D2 1954 달팽이 숫자 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PobmqAPoDFAUq&categoryId=AV5PobmqAPoDFAUq&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=JAVA&select-1=2&pageSize=10&pageIndex=1&&&&&&&&&& SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 달팽이는 1부터 N*N까지의 숫자가 시계방향으로 이루어져 있다.다음과 같이 정수 N을 입력 받아 N크기의 달팽이를 .. 2024. 10. 10.
프로그램 배포 비주얼 스튜디오를 release 모드로 바꿔주고 프로젝트를 다시 빌드한다프로젝트 폴더에서 확인하면 bin - release 폴더에 있는 파일로 배포하면 된다 닷넷 프레임워크로 제작한 프로그램이기에 닷넷 버전, 윈도우 운영체제에서만 실행 가능하다 2024. 10. 6.
저장프로시저 기존 crud에서 insert 구문을 프로시저를 이용해서 저장이 가능하게 변경하자 저장 프로시저를 추가하기 위해mssql을 켜서 db - 프로그래밍 기능 - 저장 프로시저 - 새 저장 프로시저를 생성한다 상단에 저자, 생성일, 내용등을 적어주고사용할 변수들을 @붙여서 정의begin 구문 안에 프로시저로 호출할 쿼리문을 작성한다SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: hoshi03-- Create date: 2024.10.06-- Description: -- =============================================CREATE PROCED.. 2024. 10. 6.
데이터베이스 연동 code first 방식 cs 파일에 작성한 코드를 기반으로 데이터베이스를 작성하고 연동해보자 Service 프로젝트에 Data 폴더를 추가하고nuget 패키지에서 엔티티코어와 sql서버를 설치, 닷넷 sdk가 5버전이라 둘다 5버전으로 설치했다  • db 연동 sql 서버를 실행해서 localhost, 원도우 인증으로 시작한다 새 데이터베이스 만들기로 하고 CodeFirstDB를 생성로그인 쪽에도 test라는 이름으로 CodeFirstDB를 사용할 사용자를 만들어주었다 test 1111으로 생성 appsettings.json에 db 접속 가능하게 사용자를 추가해주었다{ //db 접속 //DB접속정보 "ConnectionStrings": { "DefaultConnection": "Server=localhost;Data.. 2024. 10. 6.
DI 클래스 라이브러리로 data, service 등의 로직을 분리할 클래스를 만들고해당 클래스끼리 솔루션 탐색기에서 필요한 인터페이스와 참조성을 추가해준다 기존에는 mvc 프로젝트 안에서 model, view, controller를 모두 가지고 잇는 형태에서 데이터 프로젝트서비스 프로젝트웹 프로젝트 3개의 클래스로 분화시켰고 데이터 프로젝트에 데이터모델 폴더-user, 뷰 모델 폴더-로그인 정보서비스 프로젝트에 인터페이스 폴더 - 유저 정보 체크 인터페이스를 작성, 서비스 폴더 - 유저서비스에서 로그인 체크웹 프로젝트의  컨트롤러에서는 바뀐 인터페이스와 로그인 데이터 모델을 참조해서 사용하게 바꿨다 웹 프로젝트에 뷰에서는 기존에는 모델을 바로 가져왓으나 구조를 위처럼 바꿧기에 cshtml에@using MVC.. 2024. 10. 5.
MVC 프로젝트 시작하기 프로젝트 생성할때 ASP.NET Core Web App (Model-View-Controller)로 시작 멤버쉽컨트롤러 추가후 멤버쉽 컨트롤러 cs 파일 부분에 우클릭 후 뷰 추가,  뷰는 shared 폴더 아래의_Layout.cshtml로 추가하기 • 모델 로그인에 필요한 id, pw의 게터, 세터, 최소 글자수, 에러메시지, 뷰에 보여줄 이름을 정의namespace MVC.Models{ public class LoginInfo { [Display(Name = "id")] [Required(ErrorMessage = "id 입력")] [MinLength(4, ErrorMessage ="4자리 이상")] public string userID { get; set;} [Display(Name = ".. 2024. 10. 5.