본문 바로가기

전체 글357

Spring 블로그 만들기 - 17. 로그인 화면 만들기 및 레이아웃 나누기 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. Spring 블로그 만들기 - 16. 로그인화면 만들기 및 레이아웃 나누기 이제 게시판을 여러 개 만들 수 있게 되었으니 회원권한에 따라 게시판 노출을 제한하려고 합니다. 하지만 아직 로그인 기능이나 회원가입 프로그램이 만들어 져있지 않습니다. 이번 포스팅에서는 로그인 화면을 만들어 봅니다. 부트스트랩을 이용해 간단한 로그인 화면을 만들었습니다. 그런데 지난번에 만들어 놓은 메뉴바가 보이지 않습니다. 사용자의 권한에 의해 메뉴의 구성이 달라지기 때문에 로그인 화면이나 회원가입 단계 에서는 필수적인 메뉴 이외에는 노출 시키지 않는 것이 일반적입니다. 샘플용 게시판에서는 메뉴를 노출시키지 않도록 하겠습니다. 페이지에 따라.. 2019. 4. 9.
Spring 블로그 만들기 - 16. 게시판 메뉴 관리 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 블로그 만들기 - 16. 게시판 메뉴 관리 블로그에 게시판을 하나 더 추가 하려고 합니다. 현재 있는 테이블이나 소스를 이름만 바꿔서 복사해 만드는 것이 아니라 현재의 것을 그대로 이용할 수 있도록 하려고 합니다. 기억 하실지 모르겠지만 우리는 이 작업을 위해 처음 게시판 테이블(tbl_board)를 처음 생성할 때 부터 이부분에 대한 처리를 위해 컬럼 하나를 추가해 두었었습니다. 'cate_cd' 컬럼은 한 테이블에 여러 종류의 게시판을 사용 할 수 있도록 하는 최소한의 장치였습니다. 이제 이것을 이용해 다른 게시판을 손 쉽게 추가해 보도록 하겠습니다. 메뉴 관리 프로그램 메뉴 관리 프로그램을 일반 게시판 프로그램과.. 2019. 4. 4.
[Java/Spring] 클래스(Class), 객체(Object), 인스턴스(Instance)란? 자바에서 말하는 클래스(class)와 객체(object), 인스턴스(Instacne)란 무엇인가? 다른 블로그에서 우연히 클래스, 객체, 인스턴스에 대해 깔끔하게 정리되어 있는 포스팅을 보고 옮겨 봅니다. (출처 : https://cerulean85.tistory.com/149) "'객체'란 소프트웨어 세계에 구현 할 대상이고, 이를 구현하기 위한 설계도가 '클래스' 이며, 이 설계도에 따라 소프트웨어 세계에 구현된 실체가 '인스턴스' 이다." 객체는 프로그램으로 구현 할 실세계의 어떠한 대상을 가리킨다. 이러한 객체를 프로그램으로 구현하려면 세밀히 분석하고 관찰해야 하는데, 이러한 결과를 정리해 놓은 명세서(설계도)가 클래스이다. 이 명세서(설계도)를 바탕으로 프로그램으로 구현해 놓은 것이 인스턴스인 .. 2019. 4. 4.
[java/Spring] 이클립스/인텔리제이 자주 쓰는 단축키 개인적으로는 인텔리제이를 사용하고 있지만 많은 프로젝트에서 이클립스를 써야 하는 경우가 대부분 입니다. 두 프로그램의 단축키가 비슷하면서도 서로 다른 부분이 있어서 가장 자주쓰는 단축키만 정리해 보았습니다. 더 자세한 내용은 인텔리제이 키맵 파일을 첨부해 두었습니다. 일반 편집모드 기능 OS 구분 이클립스 인텔리제이 import 추가 윈도우 shift + ctrl + o MAC shift + command + o alt + 엔터 import 정리 윈도우 shift + ctrl + o (import 동일) MAC shift + command + o ctrl + alt + o 코드 자동완성 윈도우 ctrl + 스페이스 MAC ctrl + 스페이스 (한글 맥인 경우는 ctrl + 스페이스가 한/영 전환이다. .. 2019. 4. 1.
Spring 블로그 만들기 - 15. 상단 메뉴바 만들기(부트스트랩) 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 레이아웃 설정에 대한 포스팅은 아래와 같은 순서로 진행합니다.부트스트랩 Navbars메뉴바 소스 복사하기수정 및 적용 하기 블로그 만들기 - 15. 상단 메뉴바 만들기(부트스트랩) 부트스트랩 Navbars이제 게시판에 카테고리를 적용하여 여러 개의 게시판을 사용 할 수 있도록 해보려고 합니다. 여러 개의 게시판에 접근 할 수 있도록 메뉴를 만들어야 합니다. 이 게시판의 전체적인 디자인은 부트스트랩을 사용하고 있으므로 메뉴바 역시 부트스트랩을 이용해 만들 계획입니다. 예전에 게시판 디자인을 참고 했던 부트스트랩의 공식 페이지에서 Examples에 접속해 봅니다. (포스팅의 부트스트랩 버전은 4.2.1 입니다.) 스크롤을.. 2019. 3. 29.
[도서] 개발자도 궁금한 IT 인프라 (이미지 출처 : yes24) 개발자도 궁금한 IT 인프라 많은 개발자에게 IT 인프라는 별로 중요하지 않을지 모른다.하지만 아무리 멋지게 프로그램을 잘 짠다 하더라고 밑바탕이 되는 인프라가 엉망이라면 전반적인 서비스의 질은 낮아지게 된다. 따라서 개발을 잘 하는것 만큼, 인프라 구성이 잘 되어 있어야 최고의 서비스 제공이 가능하다.이 책의 주요 내용은 제목에 나와 있는 것처럼 IT 인프라에 대해 다룬다.'IT 인프라'라고 하면 보통 네트워크와 서버 구성을 떠올리는데, 이것을 일부분에 지나지 않는다.여기에 보안과 관련된 네트워크 인프라와, 데이터 백업과 관련된 장비, 그리고 백업된 데이터를 관리하기 위한 방법론,그리고 클라우드 서비스 까지 모두 인프라 영역에 속하는 부분이다.생각보다 다양하고 많은 분야가.. 2019. 3. 26.
[도서] 객체지향의 사실과 오해 (이미지 출처 : 위키북스) 객체지향의 사실과 오해 이제 좀 알겠다고 생각했는데 너무나 큰 착각이었다.자바에 대해 잘 모르고, 객체지향에 대해 잘 모르고 있었다.그래서 오래전부터 한 번 읽어봐야지 하고 생각하고 있던 이 책을 읽어 보았다.아직 기초가 부족해서 인지 내용이 쉽게 이해되지는 않았다.하지만 객체를 쉽게 이해 할 수 있도록 하기위해 비유한 '커피전문점'과 객체의 전반적인 내용과 비유되는 '이상한 나라의 엘리스'의 차용은 어느 순간 무릎을 탁 치게 만들었다.특히 추상화와 관련하여 지하철 노선도를 비유한 내용은 지금까지 보아온 추상화에 대한 설명중 최고로 잘 되어 있다고 생각된다.하지만 아직 갈 길이 멀다. 책의 내용을 반도 이해하지 못하고 있다.보다 더 기초적인 지식을 쌓고 다시 한 번 봐야겠다는.. 2019. 3. 26.
[JAVA/Spring] 널(null) 값 체크 함수 만들기 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 널(null) 값 체크 함수 만들기 공통함수모음 클래스 만들기실무에서는 공통적으로 자주사용하는 함수를 static 메소드로 정의하여 하나의 클래스에 모아두곤 한다. 이 클래스들의 명칭은 보통 Commons 나 CommonUtils, Utils 등으로 하는것 같다. 이런 공통함수의 대표적인 것에 공백(빈값) 또는 널(null) 값 체크 함수가 대표적이다. 데이터의 무결성 체크는 중요하기 때문에 여러 곳에서 자주 쓰인다. 이번 포스팅은 널값 체크를 하는 공통함수를 만들어 보는 것으로 어떻게 공통함수를 사용하는지 정리해 보려한다. common 이라는 패키지를 만들고 하위에 CommonUtils 라는 클래스를 만들어 어래와 .. 2019. 3. 19.
Spring 블로그 만들기 - 14. 위지윅 에디터 사용하기(CKEditor5) 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 블로그 만들기 - 14. 위지윅 에디터 사용하기(CKEditor5) 이번에는 게시판을 조금 업그레이드 해보려고 합니다. 현재 게시판은 단순히 textarea로 이루어져 글자의 폰트나 크기, 색상 등 쉽게 바꿀 수 있는 환경이 아닙니다. 위지윅 에디터는 한글이나 워드를 사용하는 것과 같이 쉽게 이러한 작업을 할 수 있게 도와주는 프로그램 입니다. 무료로 사용할 수 있는 위지윅 프로그램이 몇 가지 있지만, 여기서는 CKEditor5 를 가지고 다뤄 보려 합니다. CKEditor을 사용방법에는 크게 2가지가 있습니다. 하나는 CDN 방식을 이용하는 방식과 다른 하나는 CKEditor을 다운로드 받아 사용하는 방법입니다. 여.. 2019. 3. 18.
[Python] macOS Python 3.x 설치 및 Intellij 적용 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. MAC OS, Python 3.x 버전 설치하기 MAC OS 에는 기본적으로 파이썬 2.7.10 버전이 설치 되어 있습니다. 버전을 확인 하는 방법은 아래와 같습니다.그럼 이제 파이썬 3.x 로 업그레이드 해보도록 하겠습니다.(업그레이드를 한다고 해서 기존의 2.7 버전이 삭제되거나 없어지지는 않습니다.) 맥OS 에서 파이썬을 설치하기 위해서는 맥 패키지 관리툴인 brew가 필요 합니다.brew가 설치 되어 있다면 아래 방법을 따라 진행 하면 됩니다. brew의 위치는 /usr/local/bin 아래 있습니다. homebrew 사용을 위해 위 경로로 이동할 필요는 없습니다. 홈디렉토리에서 아래와 같이 명령일 실행하면 .. 2019. 3. 15.
Spring 블로그 만들기 - 13. 댓글 쓰기/수정/삭제 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 게시물 댓글 쓰기/수정/삭제 기능에 대한 포스팅은 아래와 같은 순서로 진행합니다.RestBoardController 수정 (댓글 쓰기 추가)댓글 저장 이벤트댓글 수정댓글 수정 내용 저장하기댓글 삭제 블로그 만들기 - 13. 댓글 쓰기/수정/삭제 이전 포스팅에서 댓글 기능의 DAO와 Service를 만들때 쓰기와 수정, 삭제 기능에 대해서도 메소드를 추가해 놓았습니다. 따라서 이번 포스팅에서는 컨트롤러에 댓글의 쓰기/수정/삭제 부분과 View에서 댓글이 수정 모드일때 해당 댓글을 수정 모드로 변경하여 내용을 수정할 수 있게 처리해 주면 됩니다. RestBoardController 수정 (댓글 쓰기 추가)댓글 쓰기의 Co.. 2019. 3. 14.
Spring 블로그 만들기 - 12. 댓글 리스트 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 게시물의 댓글쓰기 대한 포스팅은 아래와 같은 순서로 진행합니다.AJAX댓글 저장을 위한 테이블 생성하기DAO, Service 생성하기BoardController의 수정비동기식 Controller댓글 입력 폼 만들기 (boardContent.jsp 수정) 블로그 만들기 - 12. 댓글 쓰기 댓글 기능은 게시판의 본문 작성 기능과 마찬가지로 게시판의 중요 기능중에 한 가지 입니다. 이번 포스팅에서는 게시물에 댓글을 작성하는 기능을 추가해 보려고 합니다. AJAX댓글 작업을 하기 전에 'AJAX'가 무엇인지 개념을 알아야 합니다. 그러기 위해서 우선 '비동기 통신(Async)'과 '동기 통신(Sync)'이 무엇이고 어떤 차.. 2019. 3. 13.