전체 글

IT Blog
1. SLACK SLACK 에서 새로운 채널을 생성한다. 빨간 색으로 체크된 것을 클릭하면 아래와 같은 화면이 나온다. 통합으로 가서 앱의 앱추가를 클릭한다. Incoming-webhook를 설치한다. 2.Github 2.1) 자신의 repository에 .github/workflows 디렉토리를 만들고 deploy.yml을 만든다. name: ci on: push: branches: [ "master" ] #자신의 branch 이름과 동일해야 한다. pull_request: branches: [ "master" ] #자신의 branch 이름과 동일해야 한다. jobs: image-push: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/ch..
매번 개발자가 코드를 수정하고 빌드와 테스트를 하고 배포까지 한다면 상당히 많은 시간이 소요됩니다. 하지만 git에 코드를 올리는 것만으로도 누군가가 빌드와 테스트, 배포까지 해준다면, 쓸데없는 시간을 단축시키고 개발에 더 많은 시간을 투자할 수 있을겁니다. 1. CI CI란 지속적인 통합(Continuous Integration을 의미합니다. 즉 빌드/테스트 자동화 과정을 말합니다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있습니다. 지속적 통합의 실행은 소스/버전 관리 시스템에 대한 변경 사항을 ..
1. 페이징(Paging)이란? ​ 페이징은 사용자가 어떤 데이터를 필요로 할 때, 전체 데이터의 일부분을 보여주는 것을 말합니다. 예를 들면, 게시글이 쌓이다 보면 게시글 갯수가 계속해서 늘어납니다. 이 게시글들을 한 페이지에 다 담기에는 무리가 있습니다. 로딩 속도도 느려지고 필요한 데이터를 찾기도 힘듭니다. 이러한 문제점을 해결하기 위해 페이징이 필요 합니다.
· Spring
DAO 정의 Data Access Object 의 약자로 데이터베이스의 data에 접근하기 위한 객체입니다. DataBase 접근을 하기 위한 로직과 비지니스 로직을 분리하기 위해 사용합니다. DAO의 경우는 DB와 연결할 Connection 까지 설정되어 있는 경우가 많습니다. 그래서 현재 많이 쓰이는 Mybatis 등을 사용할 경우 커넥션풀까지 제공되고 있기 때문에 DAO를 별도로 만드는 경우는 드뭅니다. DAO 클래스 예제 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class TestDao { public vo..
게시판과 게시글의 id 를 아래와 같이 Long으로 선언하였다. id를 Long으로 선언한 이유는 데이터의 양을 예측하기 어렵기 때문이다. 1. Wrapper class vs Primitive class 1) Wrapper class 기본 자료타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스들을 래퍼 클래스(wrapper class)라고 한다. Wraper class 는 값이 null이어도 된다. 하지만 만약 코드에서 null로 인해 오류가 발생했을 때 이를 바로잡는 것이 어렵다. 따라서 null값이 아니기를 보장하고 싶다면, Primitive class를 사용하면 된다.(Primitive class는 null일 수 없다.) 2. Custom exception 사용 이유 1. 오류..
#pragma warning (disable: 4996) #include #include #include #include using namespace std; int N, X; int T; void init_map(int m[][21]) { for (int i = 0; i 1..
https://www.acmicpc.net/problem/21611 21611번: 마법사 상어와 블리자드 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그, 비바라기 마법을 할 수 있다. 오늘 새로 배운 마법은 블리자드이고, 크기가 N×N인 격자에서 연습하려고 한다. N은 항상 홀수이고, ( www.acmicpc.net #include #include #include #pragma warning(disable : 4996) using namespace std; int N, M; int cnt[4] = { 0, }; int map_idx[50][50]; int shark; //아래 오른 위 왼 int dy[4] = { 1, 0, -1, 0 }; int dx[4] = { 0, 1 , 0, -1 };..
https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net #pragma warning(disable : 4996) #include #include #include #include using namespace std; int T, N; int com[21][21]; //right down left up int dy[4] = { 0,1,0,-1 }; // row int dx[4] = { 1,0,-1,0 }; // col void..
밤밭황제
밤밭