목록분류 전체보기 (446)
코딩항해기
예를 들어 마이페이지에서 특정 member의 프로필 이미지를 출력하는 기능을 구현하려고 한다.하지만 DB에 바로 이미지 파일을 저장할 수 없다는 점에서 해당 기능을 기존 id, 이름 출력처럼 진행하기 어려울 것으로 보인다. 그럼 어떻게 해야할지 MVC 대로 정리해보자. M먼저 Model 파트다.Model파트(이하 M)에서는 DB에 이미지 파일을 저장할 수 없기 때문에 서버에 저장된 이미지 파일의 경로를 DB에 저장한다. 지금은 이미지 저장이 아니라 출력이므로, 이 저장되어있는 경로를 원하는 조건에 맞춰 Controller(이하 C)에게 반환한다. CController는 마이페이지로 이동하는 요청이 오면, 페이지를 로드할 때 프로필 이미지가 뜰 수 있도록 마이페이지 Action class를 만든다. M로..
한 계정에서 여러 프로젝트의 테이블을 생성할 수 없는 것은 아니지만, 관리를 용이하게 하고, 팀프로젝트에서 JDBCUtil을 사용할 때 팀원 모두가 공통된 아이디와 비밀번호를 가질 수 있도록 할 때 등등 계정을 생성하곤 한다. SQL 계정을 생성하기 위해서는 먼저 cmd창을 열어준다. cmd 창이 열리면 sqlplus를 입력한다. sqlplus 입력하면 로그인 창이 뜨는데, 관리자 권한을 가진 관리자 계정으로 로그인해 계정을 생성해 줄 예정이다.sys as sysdba user-name으로 해당 아이디를 입력한 후 오라클 등을 설치할 때 정의한 비밀번호를 입력한다.입력이 보이지 않지만 정상적으로 입력되고 있는 것이 맞다. 로그인에 성공하면 Connected to:라는 메세지가 뜨며 연결이 됐다고 안..
업무 일지와 비슷한 일지 같다. 작성일, 작성자, 팀명(있을 경우), 맡은 파트를 작성하고, 오늘 할 일을 작성한다.이후 오늘 분의 개발이 마무리 되면, 실제로 작업한 일, 만났던 에러 및 해결 방안, 내일의 할 일을 작성한다. 전체 계획은 별도로 잡고 매일 전체 계획에 맞춰 개발일지를 작성하면 될 것 같다.노션으로 전체 계획을 잡아 작성할 때, 노션은 아무래도 수정이 매우 자유롭다보니 정확하게 계획에 맞춰 진행 중인지 파악이 어려웠는데, 별도의 개발일지를 남겨두면 확인이 쉬울 것 같다. [작성예시]
팀명 : 붕어빵 원정대 (6인)(Model 파트 2인) 담당 : Model 파트장 담당 Oracle프로젝트 단계 : 중간 중간 프로젝트(중간 프로젝트 전 연습단계) [파트분배]miniBcake(HJY - J) : board, image, category 테이블(DTO, DAO) 담당M(model파트 팀원) : member, like, reply 테이블(DTO, DAO) 담당 [CRUD 분석]
팀명 : 붕어빵 원정대 (6인)(Model 파트 2인) 담당 : Model 파트장 담당 Oracle프로젝트 단계 : 중간 중간 프로젝트(중간 프로젝트 전 연습단계) 1. 개념적 설계 > 2. 논리적 설계 > (물리적 설계 단계는 정규화 이후로) > 3. 정규화 1차 > 4. 정규화 2차 > 5. 정규화 3차> 6. 피드백 > 7. 수정 > 8. 물리적 설계 > 9. 구현 > 10. 추가 요청사항 반영 > 11. 물리적 설계 > 12. 구현 (진행 단계 중 노란 밑줄 친 부분만 블로그 글로 기록 남겼다. 전체 기록은 팀 회의록에 파트 회의록에 기록을 남겼다.) 1. 개념적 설계유저붕어빵 가게 (중프에서 진행)게시글댓글비밀번호가게명제목댓글내용이름장소내용작성자닉네임(중복없음)메뉴이미지작성일시포인트영업일작성..
ROLLUP주어진 그룹 기준에 따라 계층적인 소계를 계산한다. 주로 데이터의 총합, 부분합을 구할 때 사용한다. 예를 들어, 부서별, 직급별 급여 합계를 구하고 전체 합계를 구할 수 있다. 계층적이기 때문에 앞쪽 열부터 소계가 계산되고, 마지막에는 전체 합계가 포함된다. 예시: ROLLUP(a, b, c)(a, b, c) : a, b, c별 소계(a, b) : a, b별 소계(a) : a별 소계() : 전체 소계 CUBE주어진 그룹 기준의 모든 조합에 대해 소계를 계산한다. ROLLUP과 달리, 모든 가능한 그룹 조합의 소계를 계산하며, 각각의 열에 대한 소계, 그리고 전체 합계도 함께 계산한다. 매개변수의 순서가 달라져도 값에 영향이 없다. 예시: CUBE(a, b, c)(a, b, c) : a, b,..
NULL 아직 정의되지 않은 값으로 0 또는 공백과 다르다. (0은 숫자이고, 공백은 문자다)테이블을 생성할 때 NOT NULL 또는 PRIMARY KEY로 정의되지 않으면 NULL을 포함할 수 있다. NULL을 포함하는 연산의 결과도 NULL이다 ( 1 + NULL = NULL) row에서 연산을 할 때 (컬럼1+컬럼2) NULL이 있다면 결과값은 NULL이 되며,집계함수를 사용할 때 column에 NULL이 있다면 해당 NULL을 무시하고 집계한다.NULL과의 비교는 무조건 false가 반환된다. (IS NULL, IS NOT NULL을 사용해야 비교가 가능하다) NULLIF(표현식1, 표현식2)표현식1이 표현식2와 같으면 NULL을, 같지 않으면 표현식1을 리턴한다.특정 값을 NULL로 변경해야 ..
JSON데이터를 직접 받아와서 뭐든 페이지 구현해보기아이디 중복체크 해보기 JSON데이터를 직접 받아와서 뭐든 페이지 구현해보기일단 JSON 데이터가 필요하므로, JSON 파일을 만들어 데이터를 넣었다.[ {"type":"text", "placeholder":"텍스트 타입"}, {"type":"password", "placeholder":"패스워드 타입"}, {"type":"number", "placeholder":"넘버 타입"}] JSON 데이터를 이용하여 type과 placehloder를 지정하여 input 태그를 만들어줄 예정이다.다음으로는 ajax를 할 페이지에 script 태그를 열고 ajax를 작성했다.$(document).ready(function(){ $.ajax({ type : "G..
Ajax (Asynchronous JavaScript and XML) JavaScript와 XML을 이용한 비동기적 정보 교환 기법이다. 과거에는 XML로 데이터를 전달했기 때문에 XML로 정의되어있지만, 요즘에는 JSON을 주로 사용한다. (태그로 이뤄진 xml과 달리 가독성도 높고 데이터도 더 가볍다) HttpRequest를 이용해 페이지를 새로 가져오지 않고도 페이지 일부를 변경할 수 있도록 자바 스크립트를 통해 데이터만을 별도로 요청하거나 전달하는 기술이다. HTTP 프로토콜을 이용한 비동기 통신이며 브라우저는 정적 HTML 파일과 CSS파일, 데이터를 어떻게 요청하면 되는지를 설명한 javascript를 통해 HTML,CSS를 이용해 골격을 먼저 형성하고 ajax 실행 부가 담긴 javascr..
POJO (Plain Old Java Object)오래된 방식의 간단한 자바 오브젝트라는 말로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어이다.여기서 오래된 방식의 간단한 자바 오브젝트란 특정 기술에 종속되지 않은 순수한 자바 객체를 의미한다. POJO를 지향해야하는 이유스프링 이전에는 원하는 엔터프라이즈 기술이 있다면 그 기술을 직접적으로 사용하는 객체를 설계했다. 즉, 특정 기술과 환경에 종속된 것으로 가독성이 떨어지고 유지보수에 어려움이 생겼다. 그리고, 특정 기술의 클래스를 상속받거나 직접 의존하게 되어 확장성도 떨어지게 됐다.객체 지향의 장점을 잃어버리게 되므로, 객체 지향의 장점을 가지고 있었던..