본문 바로가기

반응형

전체 글

형상관리(SCM) 사용이유 왜 필요한것일까? 본문에 들어가기에 앞서 형상관리가 무엇인지에 대해 먼저 알아보아야 할 듯하다. 형상관리란 한마디로 개발과정의 시작부터 끝까지 변하는 모든 사항을 관리하는 작업이라고 할 수 있다. 많은 사람들이 개발자라면 형상관리 도구를 프로젝트에 필수적인 도구라 해서 사용하고 있지만 그 필요성을 제대로 알고 있는 사람은 많지 않을 것이다. 형상관리의 대표적인 도구인 git이나 svn을 한 번쯤 사용해보았을 것이다. git이나 svn을 사용해보면 알 수 있듯이 단순히 말하자면 변경사항을 체계적으로 관리하는 것이라고 알 수 있다. 소프트웨어 공학론을 공부하지 않는 이상 깊게 알기란 쉽지 않다. 형상관리의 구성요소로는 4가지로 구분할 수 있는데 형상 식별, 형상 통제, 형상 감사, 형상기록으로 이루어져 있다. 형상식별(Con.. 더보기
깃허브 웹 호스팅(github pages) 하기 이번에 포트폴리오를 만들면서 PDF 형식으로 만들었지만, PDF 를 다운 받기 귀찮은 사람들에게도 보여주고싶어 호스팅을 해보기로 했다. 깃허브에서 웹 호스팅을 해주는 기능이 있기 때문에 깃허브의 신뢰성을 믿고 깃허브의 웹 호스팅을 사용해 보겠다. 인터넷에 연결된 컴퓨터를 호스트라고 하는데 이런 컴퓨터를 빌려주는 것을 호스팅이라고 한다. 깃허브의 pages 라는 기능인데 무료이기 때문에 한번 따라해보면 좋을 거 같다. 가장 먼저 깃허브의 아이디가 있어야 한다. 회원가입은 다루지않겠다. 자 이제 아이디가 있어 로그인을 한 상태라면 자신의 레퍼지토리(저장소) 로 들어간다. 그 다음 상단의 New 버튼을 클릭해 저장소를 생성한다. 그러면 다음과 같은 화면이 나온다. 먼저 1번 칸에 자신이 원하는 저장소의 이름 .. 더보기
자바 아이디,닉네임,전화번호,생일 등 (더미데이터 생성기) 이번에 영화관 사이트를 만들면서 더미 데이터가 필요해졌다. 더미 데이 터란 게 많이 있으면 있을수록 좋기 때문에, 수작업 대신 자바로 생성기를 만들어보았다. 굉장히 많은 정보를 랜덤으로 생성할 때 쓸모있다. 난 오라클에 insert 할 데이터를 만들기 위해 만들었다. 필요한 부분만 뽑아서 수정, 추가해서 써도 무방하다. 원하는 데이터를 생성할 때 좋은 방법이다. 먼저 부연 설명 없이 바로 코드를 보여주겠다. - 이름 랜덤 생성 package kr.th.bo.util; import java.util.Arrays; import java.util.Collections; import java.util.List; public class IDNEW { public static String nName() { List.. 더보기
스프링(SPRING) 게시판 3탄(게시판 페이징처리) 이번엔 저번 글들에서 다루지 않았던 게시판의 꽃 페이징을 다루어보도록 하겠다. 자고로 게시판이라고 하면 페이징 기능이 제일 먼저 떠오르는데 지금까지 게시판인데 페이징이 없는 게시판은 보지 못한 거 같다. 그만큼 게시판에서 가장 중요한 기능인 페이징 처리를 해보자. 지금 보여주는 자료는 저번 스프링 게시판 1탄, 2탄 글에서 설명한 프로젝트와 같다. 예시로 회원가입만 보여줬지만, 페이징을 설명 안 하자니 게시판 설명이라고 할 수 없는 거 같아 추가하게 되었다. 먼저 페이징 처리는 https://www.w3schools.com에서 w3.css나 부트스트랩에 들어가 보면 Pagination이라고 예시를 보면 간단하게 사용 가능하다. 원하는 pagination을 가지고와 사용해보도록 하자. - Paginatio.. 더보기
스프링(SPRING) 게시판 2탄(뷰 + 비즈니스로직) 이전 글에서 게시판에 대한 기초설계와 DB 테이블 생성, SQL 작성을 해보았다. 이번에는 먼저 뷰를 만들어보도록 하겠다. 뷰는 간단하게 짜보도록 하는데 w3-css와 부트스트랩을 사용해서 간단하게 만들어보았다. Visual Studio Code를 이용해서 작업했다. 변동사항이 바로 동기화 되기 때문에 이클립스보다 편하다. - 페이지 뷰 만들기(Visual StudioCode) 위처럼 필요한 페이지의 뷰를 만들어서 이클립스로 가져가기만 하면 된다. ㅎ 만들 때 jstl로 foreach 반복할 부분 등이나 상황에 따라 다른 부분들을 생각하면 작성하면 나중에 코딩을 적용할 때 편하다. 자 이제 뷰도 만들었으니 이클립스로 가서 코딩을 시작해보자! 먼저 필요한 모든 패키지,클래스,xml등을 만들자 - 필요한 패.. 더보기
스프링(SPRING) 게시판 1탄(설계 및 설정) 이번에 게시판을 만들어 볼 건데 기초에 충실한 CRUD가 완벽하게 만들어보자. 지금 까지 개발하면서 느낀게 있는데 무턱대고 코딩부터 시작하면 한 번에 생각 안 나는 게 있기 마련이고, 또한 작업 중 까먹는 일이 다반사다. 그래서 먼저 설계와 DB작업부터 시작하는 편이다. 설계는 간단하게 개발자와 사용자의 입장에서 필요한 기능들을 메모장에 적으며 하는 편이다. - 게시판 설계 sql 문 작성하면서 완료 된 사항을 체크해주며 작업한다. 이런 식으로 대충 설계를 했다면 DB SQL문을 작성하러 간다. 그전에 테이블을 먼저 만들자 DB는 오라클을 사용했다. - 테이블 생성 필요한 기능에 맞춰 테이블을 잘 참조해가며 설계하면 된다. 회원 테이블, 게시글 테이블, 게시글 댓글 테이블, 게시글 파일 테이블, 댓글 좋.. 더보기
스프링 AOP 로그인 체크 AOP(Aspect-Oriented Programming)는 관점 지향 프로그래밍이라고 번역된다. 관점이라는 용어는 개발자들 사이에서 관심사라고 통용되는데 관심사란 개발 시 필요한 고민이나 염두에 두어야 하는 일이라고 생각할 수 있습니다. 예를 들어 파라미터가 올바르게 들어왔을까? 이 작업을 하는 사용자가 적절한 권한을 가지고 있는 사용자인가? 작업에서 발생하는 모든 예외처리는 어떻게 처리해야 할까? 이 정도 고민들을 예로 들 수 있는데, 위와 같은 고민들은 핵심적인 로직은 아니지만, 코드를 온전하게 만들기 위해서는 위 로직이 필요합니다. 그래서 AOP 이전까지는 개발자가 반복적으로 위 고민 처리를 코드에 반영하게 되었는데, 이를 AOP가 개발자의 핵심 비즈니스 로직 컴파일, 실행 이전, 실행 후 결합시.. 더보기
스프링 ZingChart 사용하기 이번에 스프링 프로젝트를 하면서 관리자 페이지에 차트를 적용했는데 구글 차트를 보다가 조금 딱딱한 느낌이 들어 zing차트를 사용해보았다. 사용법은 구글 차트와 똑같지만 UI가 더 아기자기하고 부드러워 괜찮았다. 먼저 ZingChart 사이트를 들어가 차트를 고른다. Zing Chart의 장점은 css가 매우 세밀하게 하나하나 다 개인이 설정할 수 있도록 나와있기 때문에 디자인을 입맛에 맞게 바꿔서 사용할 수 있다.(자유도 개꿀) 나는 한번에 3가지 차트가 조화롭게 세트로 되어있는 게 있어서 이걸로 골랐다. 메뉴에 html,css,JavaScript가 다 나와있어 그대로 가져가 바꿔서 쓰면 된다. 위처럼 예시가 나온다. 아이템 하나하나마다 css를 설정할 수 있다. 그래프 형식에 맞게 데이터를 만들어서 .. 더보기
반응형