본문 바로가기

분류 전체보기

(121)
정렬의 개요와 선택정렬 정렬의 개요와 선택정렬 먼저 비효율적인 정렬 알고리즘을 구현해보자. 뒤에서 효율적인 알고리즘과 비교하면서 효율적인 알고리즘을 작성해야 하는 이유에 대해 알 수 있다. 다음의 숫자들을 오름차순으로 정렬하는 프로그램을 작성하세요. 1 10 5 8 7 6 4 3 2 9 #include //선택정렬 //선택정렬은 많은 시간이 소비된다. // 1 2 3 4 5 6 7 8 9 10 // 10 + 9 + 8 + .. + 1 -> 등차수열 // -> 10 * (10 + 1) / 2 = 55 -> 10 + 9 + 8 + .. + 1을 더한 값. // 최소 55번의 비교연산을 해야한다. // N * (N + 1) / 2 -> 컴퓨터에서는 N값이 굉장히 크다는 가정하에 2로 나누거나 1을 더한값이 //의미가 없기 때문에 생..
알고리즘의 개요와 실습 환경 구축 알고리즘의 개요와 실습 환경 구축 ※ 여기서는 기본적인 C언어 문법에 대한 이해를 필요로 한다. 알고리즘은 프로그램의 기본이자 핵심적인 분야이다. 실전 알고리즘이란 단순히 알고리즘 공부를 하는 것이 아니라 실무에서 알고리즘이 어떻게 활용되는지를 알려주고 프로그래밍 대회를 준비할 수 있는 강의라는 의미이다. 알고리즘 소개 알고리즘이란 '문제를 해결하는 절차'이다. 알고리즘은 입력, 출력(결과), 유한성(유한한 단계를 거친 이후 종료됨), 명백성(모든 명령은 명백히 제시되야함.), 효과성(모든 명령은 실행이 가능한 형태여야함)을 만족해야 한다. 알고리즘은 분석을 통해 좋고 나쁨을 평가할 수 있다. 알고리즘은 기초 프로그래밍과 자료구조를 공부한 이후에 배우면 좋다. 알고리즘은 논리이며 수학이고 실질적인 개발에..
이클립스에서 Git Clone 하기 이클립스에서 Git Clone 하기 https://github.com/yunkangmin/new_project02 접속 먼저 레포지토리 경로를 복사한다. 위와 같이 github에서 주소를 복사한 다음 아래와 같이 clone 버튼을 누르면 자동으로 경로가 생성된다. next 클릭. next 클릭(모두 선택). finish 클릭(develop 브랜치가 선택되어야 한다.). 이클립스 하단에 원격저장소로부터 로컬에 저장소를 받아 생성하고 있는 것을 확인할 수 있다. 생성이 다되면 프로젝트 우클릭을 하여 아래와 같이 Import Projects를 클릭한다. finish 클릭. 이클립스 하단에 임포트 중인 것을 확인할 수 있다. ※ 프로젝트가 clone 되었는데 아래와 같이 target 폴더가 commit 목록에 ..
JDBC란? JDBC란? Java Database Connectivity 자바에서 DB 프로그래밍을 하기 위해 사용되는 API 데이터베이스 종류에 상관없다. JDBC 드라이버는 데이터베이스 종류마다 다르다.
conflicts with existing, non-compatible bean definition of same name and class conflicts with existing, non-compatible bean definition of same name and class 다른 패키지에 같은 이름의 클래스가 존재하여 tomcat이 구동하지 못하는 경우이다.
게시판 페이징 처리 게시판 페이징 처리 출처 : 코드로 배우는 스프링 프로젝트, 출판사 : 남가람북스 사용자가 사용하는 프로그램이 무엇이든 네트워크를 통해서 데이터를 전송받을 때는 가능하면 최소한의 데이터만을 전송받아야 한다. 페이징 처리는 사용자에게 전체 데이터중 일부분만 보여주는 것이다. 게시판 하단 페이징 처리를 한다. mysql에서 일부 데이터만 가져오는 쿼리는 아래와 같다. select ... where ... order by ... limit 시작데이터, 데이터의 개수 페이징 처리를 위해 mysql의 자가복제 기능을 이용하여 dummy 데이터를 넣는다. insert into tbl_board(title, content, writer) (select title, content, writer from tbl_boar..
게시판 CRUD구현 게시판 CRUD구현 출처 : 코드로 배우는 스프링 프로젝트, 출판사 : 남가람북스 어떤 웹 사이트를 만들던 게시판은 공통적으로 필요하다. 게시판은 기본적으로 아래와 같은 기능을 가지고 있다. 게시물의 CRUD(등록, 조회, 수정, 삭제) 페이징 처리 검색 처리 개발 준비 프로젝트 JDK 버전이 1.8인지 확인한다(프로젝트가 사용하는 JDK 버전이다). pom.xml(의존성 설정파일)에 아래와 같이 의존성이 추가되었는지 확인한다. 스프링과 mybatis가 정상적으로 연동되었는지 확인하기 위한 라이브러리 WAS 없이 테스트 가능 --> org.springframework spring-test ${org.springframework-version} org.springframework spring-jdbc ${..
Slack + GitHub 연동 Slack + GitHub 연동 Apps 우측 +을 선택한다. 아래와 같이 GitHub을 클릭한다. Add to Slack을 클릭. Continue 클릭. 채널에 연동한다. website 채널에서 아래와 같이 입력하여 깃헙 계정에 로그인하여 연결한다. Connect GitHub account 클릭 후 연결한 뒤 하단에 Success 문구가 나오면 연결 성공이다. 특정 레포지토리와 연결하기 위해 /github subscribe (github ID)/(Reposiroty 명)을 입력한다. Install GitHub App 버튼을 클릭하여 깃헙을 설치한다. 연동할 레포지토리 이름을 선택한다. 그리고 하단에 Install 버튼을 눌러 설치한다. 설치를 하면 깃헙봇이 레포지토리를 구독한 것을 확인할 수 있다. 이..