충민이의 개발블로그

AWS SAA 합격 후기
요즘 같은 AI시대에 클라우드는 필수라고 생각한다.마침 학교에서 무료로 한달간 AWS 자격증 취득과정을 진행하는 것이었다.바로 신청을 박고 학교에서 주말마다 AWS 실습과 이론을 공부하게 되었다.정말 클라우드 시대에 맞게 수강생이 내 또래부터 60대까지 다양했다.(자신의 분야도 아닌데 대단하다 생각이 들었다...!)교육과정을 마치고 AWS Certified Cloud Practitioner와 Associate중 고민을 하던중 이왕 따려면 높은거 따야겠다는 생각이 들었다.못먹어도 고! 그렇게 한달간 배웠던 AWS실습과 이론지식 + 그동안 클라우드를 다뤄왔던 실력으로 시험을 치뤘지만 결과는 699점으로 한두 문제? 정도 차이로 떨어진것!!!!!!!!!! 720점이 통과다...눈물을 머금고 2주뒤에 시험을 다..

Fitbit developer Application 등록하기
이번 글에서는 Fitbit developer Application을 등록해볼 것이다! 📌 왜 등록해야하나? Fitbit에서는 아래 사진과 같이 여러가지 정보들을 제공한다. 이러한 정보들을 마음대로 쓰기 위해서는 Fitbit developer Application 을 등록해야한다! 그러면 등록을 해보자 📖 Application 등록 우선 아래 링크를 접속한다. Login dev.fitbit.com 접속한 사이트에서 로그인을 한 후 Register an application 버튼을 클릭하자! 그러면 아래 사진을 볼 수 있다 아래 정보들은 기호에 맞게 잘 적어주시고 Register버튼을 누르면 등록이 완료될 것이다. 그 후 Manage my apps를 클릭하고 자신이 만든 앱에 들어가보자 들어가게되면 만들게된..

Fitbit이란?
랩실 첫 산학공동프로젝트 주제로 2가지가 있었는데 그 중에서 Fitbit이라는 애플워치랑 비슷하게 생긴 구글에서 만든 웨어러블 디바이스로 수면주기를 분석하여 건강관리를 하는 CRS or CRM(휴서카디안)어플에 대해 공부하기로 하였다. 아직 베타버전의 출시되지않은 어플이다. (면역력이 약해 자주 아픈 나는 자연스럽게 이 주제에 끌렸다...) 이 주제를 수행하기 위해 나는 먼저 Fitbit에 대해 조사하여야 했다. 📖 Fitbit이란? Fitbit은 웨어러블 기술을 사용하여 건강과 피트니스를 추적하는 장치와 앱을 제공하는 회사이다. Fitbit의 제품군은 걸음 수, 심박수, 수면, 운동, 음식 섭취 등과 같은 여러 가지 건강 및 활동 지표를 측정하고, 이 정보를 사용자가 목표를 설정하고 달성하는 데 도움이..

[Part 2] 템플릿 적용하기 #6
위에 zip파일은 템플릿이다 우선은 템플릿을 이용하여 만들어보자 zip을 다운하여 압축을 풀어준다. 그리고 pages => tables우클릭=> 연결프로그램 => 메모장 이렇게 html코드가 뜨게되는데 모두 복사한다음 list.jsp에 위에 선언부 빼고 붙여넣는다. 그리고 서버를 실행하면?? 이렇게 깨져서 나온다. css나 js파일이 없기때문이다. 고쳐보자 서버를 먼저 멈추어주고 여기서 폴더들만 복사하여 resources라는 곳에 붙여넣어주자 하지만 바로 템플릿이 적용되어지진 않는다. 경로가 다르기때문이다. 지금부터 이 경로를 수정에 들어갈 것이다. 우선 list.jsp에 ../vendor의 경로를 바꿔주어야한다. ctrl+F를 하고 ../ ==> /resources/로 replace All 을 해주자 ..

[Part 2] Controller 게시물 목록/등록/수정/삭제 #5
📌 웹 계층의 구현 웹 계층에서 가장 먼저 설계하는 것은 URI의 설계 URL이동 : Redirect 방식 📌 진행 작업의 순서 목록 페이지 - 모든 진입 경로인 동시에 입력을 가는 링크 등록 입력 / 처리 - 게시물 등록 및 처리, 처리 후 이동 조회 - 목록 페이지에서 특정 게시물로 이동 수정 / 삭제 - 조회 페이지에서 수정 / 삭제 선택해 처리 📌 BoardController 목록의 처리 게시물(BoardVO)의 목록을 Model에 담아서 전달 📝게시물 목록처리 자 그러면 컨트롤러를 만들어보자 위의 사진처럼 BoardController.java라는 이름의 컨트롤러를 만들고 로그에 list.........를 찍어서 test로 확인해보려고한다. test클래스를 만들어주자 코드 더보기 package o..

[Part 2] 비즈니스 계층 #4
비즈니스 계층은 똑같은 일을 두번하여 비효율적으로 보일지 몰라도 서비스를 확장할 때 꼭 필요하다. 📝비즈니스 계층 (서비스 계층) 고객의 요구사항을 반영하는 계층 업무의 단위로 설계 트랜잭션(거래)의 단위 여러개의 Mapper나 DAO를 사용하는 경우가 존재함 xxxService의 형태로 작성 📌서비스 패키지 설정 인터페이스와 클래스를 설정하고, root-context.xml에 등록 우선 패키지와 인터페이스와 클래스를 만들어준다. 인터페이스를 목적은 하나다. 실제 객체를 모르게하는 것이다. 실제 객체를 몰라도 타입만 알고 만들수 있게 유연하게 만드는 것이 목적이다. 의존성 주입과 인터페이스를 결합하면서 굉장히 유연한 코드가 되는 것이다. root-context.xml에 가셔서 context를 추가해주시고..

[Part 2] 게시물 조회/삭제/수정 #3
여기서부터 이제 리턴타입이 생긴다. 조회부터 해보자 📌 Read (조회) 리턴타입이 있어 void는 빼고 BoardVO로 들어가고 primary key인 bno를 괄호 안에 넣어준다. BoardMapper.xml에도 select태그를 생성해주고 다음은 test코드를 생성해주는 것이다. 이제 너무 예상이 갈정도로 익숙할 것이다. ㅎㅎ 현재 내 DB에는 6개가 담겨져 있다. 그중에서 6번 데이터를 뽑아보는 코드를 작성해보았다. 원하는 결과가 잘 조회 되었다. 📌 Delete (삭제) 이제 삭제를 해보자. 마찬가지로 리턴타입이 있다. 그리고 primary key로 구분할 것이다. xml에도 delete태그를 작성해주고 Test코드도 작성해준다. 결과는? DB에서 1번만 잘 삭제되었다. 📌 Update (수정)..

[Part 2] BoardVO클래스와 매퍼테스트 #2
이번 글에서는 VO클래스를 생성하고 매퍼테스트를 해보겠다. package를 생성하고 그 밑에 VO클래스를 만든 후 위 사진과 같이 코드를 넣는다. Mapper 인터페이스 작업을 해보자. BoardMapper라는 인터페이스를 org.zero.mapper 패키지 아래에 생성해준 후 방금 위에서 만든 VO와의 연결을 확인하기위해 아래와 같이 코드를 작성한다. BoardMapper.java package org.zero.mapper; import java.util.List; import org.zero.domain.BoardVO; public interface BoardMapper { List getList(); } 그리고 아래의 사진처럼 org.zero.mapper라는 폴더를 생성하시고 BoardMapper...

[Part 2] 스프링 프로젝트 구성 #1
Part 2 에서는 Part 1에서 공부했던 것들을 바탕으로 게시판을 만들어볼 것이다. 이번 글에서 Part 1 했던 것들을 다시 쭈르륵 빠르게 세팅하면서 알아보면서 진행해보자! 스프링에 대해 어느정도 지식이 있는 분들은 Part2부터 진행해도 무방쓰!~~ (다만 세팅하다가 조금씩 건너띄는 부분은 Part1 참조 ㅎㅎ) 시작해보자! 일반적인 웹 프로젝트의 구조는 3-Tier의 구조를 활용 스프링 MVC를 이용하는 예제의 구성 📌 각 영역의 네이밍 규칙 xxxController: 스프링 MVC에서 동작하는 Controller 클래스 xxxService, xxxServiceImpl: 비지니스 영역을 담당하는 인터페이스는 'xxxService'라는 방식을 사용하고, 인터페이스를 구현한 클래스는 'xxxServ..

[Part 1] Spring Controller #10
📝Controller의 파라미터 @Controller - 해당 클래스의 인스턴스를 스프링의 빈으로 등록하고 컨트롤러로 사용 @RequestMapping - 특정한 URI에 대한 처리를 해당 컨트롤러나 메서드에서 처리 - 스프링 4.3 이전에는 @RequestMapping(method = 'get' ) 방식으로 사용 - 스프링 4.3이후에는 @GetMapping, @PostMapping등으로 간단히 표현 📌Model이라는 데이터 전달자 Model 객체는 JSP에 컨트롤러에서 생선된 데이터를 담아서 전달하는 역할을 하는 존재 모델 2 방식에서 사용하는 request.setAttribute()와 유사한 역할 과거에는 ModelAndView Model에 담는 데이터 => 파라미터가 아니라.. 다른 곳에서 발생한..