목록전체 글 (37)
백엔드 개발 공부 일지
● 탐색이란? 많은 데이터 속에서 원하는 데이터를 찾는 것으로 웹에서 특정 문자를 가진 웹문서를 찾거나 신용카드나 버스카드 역시 검색 알고리즘을 사용한다. 탐색의 종류는 다음과 같이 많은 것들이 있다. 완전탐색 이분탐색 깊이우선탐색 너비우선탐색 문자열탐색 KMP BM 이 포스트에서는 가장 기본이 되는 완전 탐색, 이분 탐색, 깊이우선탐색, 너비우선탐색 만 다룰 예정이다. ● 완전탐색 브루트 포스(Brute Force)라고도 불리며 컴퓨터의 빠른 계산 성능을 활용하여 가능한 모든 경우의 수를 탐색하는 효율성 관점에서 최악의 방법으로 소개된다. (물론 그만큼 풀리지 않는 방법이 없다는 장점이 있다.) 대표적인 완전탐색의 구현 방법은 반복문과 재귀함수(완전 탐색 외의 동적 계획법, 백트래킹, 탐욕법등 다양한 ..
● 배열이란? 자료가 연속으로 나열된 구조 배열을 사용하면 자료형이 같은 자료 여러개를 한 번에 관리가 가능하다. Python에서도 list, tuple, dict, ndarray등 여러가지 자료형에서 배운 내용과 동일하나 자료형이 같아야 하는것이 JAVA 배열의 특징인듯 하다. 자료형[ ] 배열 이름 = new 자료형[개수]; or 자료형 배열 이름[ ] = new 자료형[개수]; 자바에서 배열은 선언하는 동시에 각 요소의 값이 초기화 된다. (정수 : 0, 실수 : 0.0, 객체 : null) 값을 넣고 초기화 하고 싶은 경우 다음과 같이 작성하면 된다. (값을 넣어 초기화시 자료형 개수 넣으면 error 발생) int [ ] studentIDs = new int[ ] {101, 102,103}; o..
● This 예약어 this가 뭔데? 1) 자신의 메모리를 가리키는 this this는 간단히 설명해, 생성된 인스턴스 스스로를 가리키는 예약어이다. 아래의 코드를 통해, BirthDay class를 만들고 this와 BirthDayclass를 출력해본다. package thisex; class BirthDay{ int day; int month; int year; // 태어난 연도를 지정하는 메서드 public void setYear(int year) { this.year = year; // bDay.year = year; 와 같다 } // this 출력 메서드 public void printThis() { System.out.println(this); } } public class ThisExampl..
● 접근 제어자 자바에서 사용하는 접근 제어자는 다음과 같이 있다. public : 외부 클래스 어디에서나 접근할 수 있다 protected : 같은 패키지 내부와 상속관계의 클래스에서만 접근할 수 있고 그 외 클래에서는 접근할 수 없다. private : 같은 클래스 내부에만 접근할 수 있다. 미작성 : 같은 클래스 내부에서만 접근 할 수 있다. 아래의 코드는 studentName을 private으로 생성한 경우, studentName은 다른 클래스에서는 사용이 불가능하다. 사용이 필요할 경우 아래와 같이 get, set 메서드를 public으로 생성하여 다른 클래스에 활용이 가능하다. package classpart; public class Student { int studentID; private ..

Do it Django 웹개발 프로젝트 현재 Do-it-Django 파이썬 웹개발의 정석 책을 통해 하단과 같이 블로그를 개발해놓았다. (AWS를 통해 IP가 배포되어 있고 도메인 연결전 단계까지 완료) 블로그는 나름 그럴싸하게 나온 모양이지만 책을 보고 따라했으므로 아직 Django의 기능들을 이해하며 수행하지는 못하는 단계이다. 천천히 블로그에 정리해보면서 Django의 기능을 세세히 다시 이해해보고 다음 단계인 Java Spring을 통해 웹개발을 시도해볼 예정이다. ● 웹사이트의 작동구조 장고(Django)는 대표적인 웹 사이트의 개발을 지원해주는 프레임워크이다. 장고를 배우기전 웹사이트의 기본적인 개념을 이해해보자. 웹사이트는 크게 2개로 나누면 아래와 같이 프론트 엔드와 백엔드로 나누어진다. ..