전체 글 (26) 썸네일형 리스트형 [자료구조]큐(Queue)는 무엇일까 학교를 다니면서 수없이 많이 들어오고 배웠던 큐와 스택, 큐와 스택이 머냐고 물어보면 항상 후입 선출과 선입선출이라고 답했던 기억이 난다. 큐(Queue)는 한쪽만 뚫려 있는 스택과 달리 양쪽이 뚫려 있는 원형의 통이라고 생각하면 쉽다. 앞뒤가 뚫려 있고 한쪽 방향으로만 자료가 삽입되고 다른 한쪽 방향으로만 자료를 출력한다. 따라서 먼저 들어간 자료가 먼저 나오게 되는 구조이므로 FIFO(First In First Out)(선입선출)이라고 불린다. 큐는 접근이 제한된 자료구조이며 행위적 측면을 부여받은 추상적 자료형이기 때문에 큐를 조작하는 방법은 두 가지로 나뉜다. 큐를 조작 하는 방법은 put 동작과 get 동작이 있다. 큐에 자료를 넣을때는 뒤(rear)에 put 동작으로 넣고 자료를 꺼낼때는 앞(.. [자료구조][정렬 알고리즘]삽입 정렬(Insertion Sort) 삽입 정렬은 선택 정렬과 함께 가장 많이 사용되는 정렬 방법이자 아주 간단한 정렬 방법입니다. 선택 정렬이 많은 비교와 적은 교환으로 특징지워진다면 삽입 정렬은 반대로 적은 비교와 많은 교환이 특징입니다. 출처: https://www.youtube.com/watch?v=ROalU379l3U 위 동영상은 삽입 정렬을 춤으로 표현한 영상으로 함께 보시면 조금이 나마 이해가 가실 겁니다. 삽입 정렬을 java 코드로 구현해 보았습니다. 코드를 간략히 설명 드리자면, 우선 위의 함수는 숫자형 배열을 받는 함수로 arr = {20, 1, 35, 23, 5, 6} 이 들어왔다 가정하겠습니다. 첫 번째 for문에서 인덱스가 0이 아닌 1 , 즉 배열의 두 번째 요소부터 정렬이 시작됩니다. temp라는 변수에 arr .. [Java][Spring]SMTP를 이용한 이메일 인증 기능 개인적으로 만들고 있는 프로젝트의 회원가입 페이지에 이메일 인증이 필요하여 SMTP를 이용하여 이메일로 인증번호를 보내고 보낸 인증번호를 확인하는 이메일 인증 기능을 만들어보았다. SMTP - 간이 전자 우편 전송 프로토콜(Simple Mail Transfer Protocol) 필요 라이브러리 먼저 필자는 gradle을 사용하기에 gradle에 필요한 라이브러리를 넣어준다. 필요한 라이브러리는 spring-context-support와 javax.mail 두 가지이다. ※ spring-context-support는 프로젝트에 쓰고 있는 스프링과 같은 버전을 사용하여야 한다. compile group: 'javax.mail', name: 'mail', version: '1.4' compile group: .. [자료구조][정렬 알고리즘]선택 정렬(Selection Sort) 선택 정렬은 가장 간단한 정렬 알고리즘입니다. 선택 정렬은 우리가 실생활에서 가장 많이 사용하는 알고리즘 이기도 하며, 기준 위치에 맞는 원소를 선택해 정렬하는 방식입니다. 출처 : https://youtu.be/Ns4TPTC8whw 위 동영상은 선택 정렬을 포크로 표현한 동영상으로 한번 보시면 어느 정도 감이 잡히실 겁니다. 선택 정렬을 Java 코드로 구현해 보았습니다. 코드를 간략히 설명드리면 우선 위의 함수는 숫자형 배열 arr과 배열의 크기인 max를 인자로 받는 함수입니다. 위의 함수에 배열 arr 이 {20, 1, 35, 23, 5, 6} max값이 6이 들어왔을 경우 첫 번째 for문이 시작되고 초기 minIndex는 0 min은 20이 들어가게 됩니다. (40,41 라인) 그리고 기준값은.. [intellij] spring mvc + gradle 프로젝트 생성 오늘은 intellij(인텔리제이)를 사용하여 spring mvc + gradle로 프로젝트를 만들어 보겠습니다. 우선 제 개발 환경은 아래와 같습니다. 운영체제 : mac 10.12 java : 1.8 Gradle version : 3.3 tomcat : tomcat8 IDE : intellij IDEA ultimate ※ gradle과 tomcat, java는 별도로 설치를 해주셔야 합니다. 설치 방법은 인터넷에 찾아보면 많으니 생략하겠습니다. 본인은 intellij ultimate 버전으로 무료 버전인 intellij communty 버전과는 다소 다를 수 있습니다. (mac에서 tomcat 설치 : http://compunication.tistory.com/9) 우선 intellij를 실행해봅시다.. [java.spring]jsp 날짜 포맷 형식 변환 java spring에서 mysql에 datetiem필드로 되어있는 값을 가져오면 포맷이 이상하게 바뀌어서 들고 오는 것을 확인하였다. 그래서 일반적으로 보기 좋은 yyyy-MM-dd HH:mm:ss 형식으로 바꾸고 싶어 고민하였다. 우선 컨트롤러에서 처리하여 넘겨주는 방법이 있고 컨트롤러에서 jsp로 넘겨받은 후에 바꾸는 방법이 있는데 나는 jsp에서 바꾸는 방법으로 결정하였다 방법은 생각보다 간단하다. jsp상단에 아래 소스를 추가해준다. 그 다음 데이터를 출력하고자 하는 위치에 아래 소스를 추가해준다. 그리고 확인해보면 정상적으로 바뀌어 출력되는 것을 볼 수 있다. ※ 필자는 아직 배울 것이 많은 초보 개발자입니다. 잘못된 부분이나 고쳤으면 하는 부분은 댓글을 통해 알려주시면 감사하겠습니다. 도움이.. [coding convention]파스칼 케이싱, 캐멀 케이싱 파스칼 케이싱(Pascal Casing) : 단어의 첫 번째 글자는 모두 대문자, 나머지는 모두 소문자. EX) BackColor 캐멀 케이싱(Camel Casing) : 맨 첫번째첫 번째 단어를 제외한 단어의 첫 번째 글자는 대문자, 나머지는 모두 소문자. EX) backColor 출처 : http://www.dotnetspider.com [네트워크.통신]공유기의 포트포워딩을 이용한 외부 접속 허용 지난 포스팅에서 django 개발용 서버의 외부 접속 허용 방법을 설명하였다. http://compunication.tistory.com/4 [python]django 서버 외부접속 허용 및 포트번호 변경 django를 이용하여 개발용 서버를 띄울 때 python manage.py runserver 이렇게 사용하게 되면 포트 번호는 기본적으로 8000번으로 지정된다. 만약 기본으로 지정된 8000번 이외의 포트 번호를 사용하고 싶다 compunication.tistory.com 만약 공유기를 사용하지 않고 외부 IP를 그대로 사용한다면 문제가 되지 않지만 공유기를 사용한다면 공유기에서 외부 접속 -> 내부 IP로 연결이 되지 않기에 포트 포워딩이 필요하다. 공유기 설정 페이지는 192.168.0.1 위의.. 이전 1 2 3 4 다음 목록 더보기