전체 글 26

토이프로젝트 (1) - DB 설계 / 로그인, 회원가입 구현

프로젝트 아이디어를 구상하는 단계에서 프로그램에 필요한 기능 사항들을 러프하게 생각해봤다. *이미용 관리기록 프로그램 - 게시판 형태로 미용관리 기록 (요구사항, 스타일링 사진, 담당 디자이너 등)을 저장 후 재방문시 참고하는 용도 - 해당 기록을 공개/비공개 설정 가능 >> 전체공개시 다른 유저들도 볼 수 있는 별도의 게시판에 노출 (댓글 가능) - 비공개시 본인 게시글 정보에서만 확인 가능 - 게시물에 대한 좋아요, 조회수 및 북마크(찜) 기능 추가 - 카카오맵 API를 활용하여 방문장소 표시 그리고 위 내용을 바탕으로 필요한 DB 테이블을 정리해보았다. DB 테이블 중 아무래도 게시물 역할인 record 테이블이 제일 중요하다고 생각했는데, 특히 추후 방문장소의 정보를 카카오맵 API에 마커로 찍기..

프로젝트 2023.04.12

개인 프로젝트 시작!

작년 10월 말부터 국비학원에서 자바 기반 웹개발 과정 교육을 들으며 어느덧 이달 말 수료를 앞두고 있다. 프로그래밍에 대한 기초 이론부터 시작해서 2개의 팀 프로젝트를 끝내고 이제 3차 팀 프로젝트와 마무리 단계를 나아가는 중인데, 3차 팀프로젝트는 2차 프로젝트에 open API를 더 추가하여 챗봇과 연동하는 내용이라 사실 큰 틀에서의 변화는 없는 편이다. 다만, 본격적으로 취업을 준비해야하는 시기가 오다보니 아무래도 불안한 건 어쩔 수 없다보다. 그간 국비과정을 들으며 수업의 방향성과 강사님의 강의력만 괜찮다면 일단 그 과정에만 최대한 집중하자는 주의였고, 운좋게도 강사님이 인터넷 후기에서 보던 그런 무책임한 분이 아니라 열정있는 분이셔서 정말 열심히 배운 것 같다. (그날 배울 코드들을 처음부터 ..

프로젝트 2023.04.11

1차 프로젝트(1) - DB 설계 관련

본격적인 프로젝트를 시작하기 전인 현재, 기획단계에서 가장 막막했던 부분들은 구체적인 컨셉과 그에 따른 필요 기능들 선정, 역할분담, DB설계 정도로 말할 수 있을 것 같다. 현재 역할분담까진 정해진 상태여서 일단 대략적인 DB관계를 설정해보았다. db설계가 처음이다보니 구글링으로 쇼핑몰 관련 테이블과 필드들을 어떤 식으로 구성하는지 많이 참고했다. 쇼핑몰 컨셉도 가지각색이다보니 필요 기능에 따라 세부적으로 테이블과 필드들이 짜여져 있었는데 일단 최소한의 기본적인 쇼핑몰 기능 구현에 방향이 잡혀있기 때문에, 회원과 상품, 주문 관련 테이블 위주로 참고했다. ERD Cloud라는 유명한 db드로잉 툴도 인터넷으로 대략적인 사용법을 참고하여 직접 그려보았는데, 생각보다 사용법이 굉장히 단순해서 좋다! 초심플..

프로젝트 2023.02.12

첫 팀 프로젝트를 시작하며

나름 꾸준히 글을 쓰려고 했는데, 국비수업을 듣다보니 의도치 않게 블로그 관리를 소홀히 하게 되었다. (아마 끝날때까지도 그러겠지..) 대신 수업을 들으며 배운 내용들은 틈틈히 노션으로 정리하고 있다. 굳이 노션을 따로 쓰는 이유는 뭐랄까.. 블로그는 내 생각을 정리하여 기록하는 일기장 같은 공간이라면, 노션은 말 그대로 배운 지식을 정리하는 필기노트 역할에 최적화 된 것 같기 때문이다. 블로그도 기본적인 툴이나 템플릿들을 지원하긴 하지만 어디까지나 블로그 본연의 '글'을 쓰는 것에 맞춰진 느낌이라, 다양한 자료들을 첨부하고 그에따른 레이아웃을 관리하는게 솔직히 좀 불편한 감이 있다. 반면 노션은 정말 다양한 레이아웃 기능들을 지원하면서도, 마우스 드래그나 몇가지 단축키만으로 그것들을 정말 손쉽게 관리가..

프로젝트 2023.02.04

객체지향프로그래밍(OOP) (22.11.07)

객체지향프로그래밍 (Object Oriented Programming) *절차지향언어 ⇒ 주로 시스템 개발용 (C) 함수 알고리즘 자료구조 이해 *객체지향언어 ⇒ 응용프로그램/웹 개발용 (Java, C++) 클래스(Class) ⇒ 설계도 ⇒ 속성(Field)+기능(Method) 인스턴스(Instance) ⇒ 클래스로부터 생성되어 메모리에 할당된 각각의 객체(Object) 객체의 여러성질 : 다형성, 상속, 캡슐화,인터페이스, 추상화 등 클래스(Class) ⇒ 사용자 정의 타입 *객체참조변수 : 만들어진 객체(클래스)를 참조하는 변수 *new (객체생성 연산자) : 새로운 객체의 메모리 주소값 생성 => 인스턴스화(객체화) int[] arr1 = new int[5]; String str1 = new Str..

다차원배열 (22.11.04)

*다량의 데이터를 처리하는 방법 배열 ⇒ 순서, 같은 자료형 (길이 정해짐) 컬렉션 프레임워크 => List, Set, Map, Vector, Stack.. (길이 안정해짐) 다차원 배열 ⇒ 행(row), 열(colum)로 구성 int[][] arr = new int[3][4]; ⇒ 3행 4열의 배열 주소 선언 (행: 0~2, 열: 0~3), 초기값 : 0 *arr.length를 찍으면 행의 길이가 출력 ⇒ 3 *arr[0].length를 찍으면 0번째 행에 해당하는 열의 길이가 출력 ⇒ 4 arr[0][0] arr[0][1] arr[0][2] arr[0][3] arr[1][0] arr[1][1] arr[1][2] arr[1][3] arr[2][0] arr[2][1] arr[2][2] arr[2][3] ..

배열 (22.11.03)

배열(Array) 같은 타입의 여러 데이터들을 순서대로 모아놓은 집합 인덱스(번지,요소)는 0부터 시작 배열의 갯수는 고정 (컬렉션은 고정 X) 배열은 참조형(객체형) 타입(배열의 전체 주소값으로 접근) 변수(객체참조변수-객체의 주소값이 저장) ⇒ new 주소 배열의 생성과 동시에 초기화 (배열에 들어갈 값을 설정하지 않으면 0으로 초기화 됨) 주로 반복문(for)과 같이 사용 ⇒ 배열을 먼저 선언 후, for문으로 순차적으로 자료값을 배열에 대입 전체 배열의 데이터 갯수는 전체 인덱스 총 수보다 1만큼 더 큼 ⇒ 0부터 시작하므로 배열 이름에 전체 배열의 주소값을 저장 (자료값 X) DB의 데이터를 가져올 때 ⇒ foreach 사용 *정수형의 새로운 배열 생성 int[] odds = new int[5]..

반복문 (22.11.01)

*아스키코드 문자 ‘0’ : 48 대문자 A : 65 소문자 a : 97 대소문자 차이 : 32 *대문자를 소문자로 바꿀경우 대문자 코드값과 소문자 코드값의 차이인 32를 대문자 코드에 더하면 소문자 코드값 ex) ‘a’ ⇒ 97, ‘A’ ⇒ 65 ‘A’+(’a’-’A’) ⇒ ‘A’+32 ⇒ 97 ⇒ (char)(’A’+32) .next().charAt(0); ⇒ 입력한 문자열의 첫번째 값(문자)만 추출 반복문 1. for for (초기화; 조건식; 증감식) { 명령문 // 조건이 true일 때만 실행 } >> 조건이 false가 될 때 종료 for (int i=0; i> 결과 ⇒ 0123456789 *for문에서는 무조건 선처리 후증가로 실행 *for문에서 선언한 변수는 다른 for문에서도 중복 사용가..

연산자, 제어문 (22.10.31)

연산 (Operation) : 데이터를 처리하여 결과를 산출하는 것 *(변수, 타입, 연산자, 조건문, 반복문, 배열 등은 타 프로그램 언어와 유사) 연산자(Operator) : 연산을 하는 기호 피연산자(Operand) : 연산의 대상(항) ex) 1 + 2 ⇒ 연산자 : +, 피연산자 : 1, 2 1. 단항 연산자 증감 연산자 => 반복문(for문)에 많이 사용 ++ — int i = 0; i++; (1증가) i—; (1감소) i++; (선처리 후증가) // ex) println(i++); ⇒ 10 ++i; (선증가 후처리) // ex) println(++i); ⇒ 11 i—; (선처리 후감소) // ex) println(i—); ⇒ 10 —i; (선감소 후처리) // ex) println(—i); ..

객체, 스캐너 (22.10.28)

.jar : 자바 라이브러리 압축파일 형식 자바의 압축파일명 : 자바 클래스 파일을 압축 패키지 단위로 압축 ★ 패키지 : 비슷한 종류의 클래스들을 담은 폴더(디렉토리) 라이브러리 : 미리 사용할 목적으로 만들어 놓은 패키지 ex) java.lang : 자바의 기본 패키지 (임포트 불필요) java.net : 네트워크 관련 패키지 >> 자바를 배우는 것은 라이브러리를 배우는 것 >> 공식 API문서에서 확인가능 (https://docs.oracle.com/javase/8/docs/api/) 자바 프로젝트 생성 순서 ( ctrl + N ) *프로젝트 : 패키지 단위 1. 프로젝트 생성 2. 패키지 생성 >> 패키지명은 도메인의 역순 ex) org.java.variableex com.java org.java..