IT교육

    [Spring] Spring Service, Bean, 의존성 주입

    [Spring] Spring Service, Bean, 의존성 주입

    코드프레소 Java 웹 개발 체험단 활동 중 Spring Boot 웹 개발 입문 강의에서 Spring Service, Bean과 의존성 주입에 관련 포스팅을 할려 한다. Spring Bean은 정말 많은 개념이 있고 관련하여 의존성 주입도 하는 방법에 대해 글을 작성할 것이다. Spring Service 시스템의 핵심 비즈니스 로직을 구현하는 계층이다. SNS 시스템의 경우 이미지, 글 등의 컨텐츠 정보를 저장 사용자가 선호할 한 컨텐츠를 추천 회원가입, 로그인, 회원 탈퇴 등의 회원 관련 처리 view의 종류와 DB 종류에 영향을 받지 않는 독립적인 계층이다. Service의 구현 클래스에 @Service 에노테이션 사용 파라미터로 전달된 데이터들의 검증 작업 수행 Repository 계층을 활용하여 ..

    [데이터베이스] SQL 문 (INSERT, SELETE)

    [데이터베이스] SQL 문 (INSERT, SELETE)

    코드프레소 Java 웹 개발 체험단 활동 중 '처음 시작하는 SQL 프로그래밍' 강의에 SQL 문법에 대해 작성하려 한다. 전에 백엔드 개발자 CS 면접 대비 글을 업로드를 했었는데 SQL에 데이터 조작, 정의, 제어문이 있는데, 이것을 DDL, DML, DCL 이렇게 부른다. 공부를 하면 1시간만에 금방 외울 것이며, 외워서 나쁠 것이 없는 게 정보처리기사에 꾸준히 나오는 기출문제다. 현재 작성 중이긴 한데 정보처리기사 후기 및 예상 문제 리뷰를 게시할 예정이다. (시간이 잘 안난다...ㅠ) 일단 3가지 먼저 분류하고 정의부터 설명한 다음 강의 내용을 포스팅할 것이다. DDL, DML, DCL이란? 명령어 종류 명령어 설명 데이터 조작어 (DML:Data Manipulate Language) SELEC..

    [데이터베이스] MySQL 실습 환경 구축, 초기 실습

    [데이터베이스] MySQL 실습 환경 구축, 초기 실습

    코드프레소 Java 웹 개발 체험단 활동 중 이번엔 '처음 시작하는 SQL 프로그래밍' 강의를 수강했다. 데이터 CRUD 조작과 트랜잭션 커밋에 개념을 알아야 웹 어플리케이션에서 데이터를 가공하고 사용할 수 있다. 이번엔 MySQL 초기 환경 구축과 간단한 실습에 대해 포스팅하려 한다. 데이터베이스 (Database)란? 데이터는 다양한 방법으로 관리 가능 (파일, 엑셀 등) 여러 사람이 공유하여 사용할 목적으로, 통합하여 관리되는 데이터의 집합 자료 항목의 중복을 없애고 자료를 구조화하여 저장함으로서 자료 검색과 갱신의 효율을 높인다. DBMS (Database Management System) 데이터베이스를 관리하기 위한 프로그램 DBMS의 종류 (RDBMS) : MySQL, Oracle, Postg..

    [Spring Boot] Spring 웹 개발 입문 (Spring Controller, HTTP, REST API 문서)

    [Spring Boot] Spring 웹 개발 입문 (Spring Controller, HTTP, REST API 문서)

    전 게시물은 Spring 프로젝트 생성에 관한 내용을 작성했다. 코드프레소 Java 웹 개발 체험단 활동 중 이번엔 REST API, Bean, DI(의존성 주입) 강의를 수강하여 이에 관한 포스팅을 하려한다. 계층형 아키텍처 패턴 웹 서비스 개발에 주로 사용되는 패턴 SW를 서로 다른 역할을 하는 3~4개 계층으로 구분 Presentation Layer Application Layer Business Layer Data Access Layer 계층 간에 호출을 하고 데이터를 주고 받으며 협력하며 전체 웹 서비스 구성 Presentation Layer의 역할 Client로부터 요청을 받아 Application Layer에 처리를 위임 Application Layer의 결과를 최종 Client로 전달 Ap..

    [Spring Boot] Spring 웹 개발 입문 (Spring 프로젝트 생성)

    [Spring Boot] Spring 웹 개발 입문 (Spring 프로젝트 생성)

    드디어 대망의 Spring boot (스프링 부트) 강의를 수강하게 되었다. 코드프레소 Java 웹 개발 체험단 활동 중 아직 객체지향 개념과 실습이 부족하지만 프레임워크를 다룬다는 것이 너무 고대하던 순간이였다. 아직 모든 강의가 안올라와 환경설정 및 HTML, CSS 개념 정도 올라왔지만 그래도 공부를 위해 포스팅한다. Spring Framework는 러닝 커브가 매우 높으며, Java의 객체 지향 설계 원칙과 디자인 패턴, loc, DI, AOP, Bean과 Context의 개념이 필요하다. Spring Framework는 웹 개발만을 위한 Framework는 아니지만, 주로 웹 어플리케이션 개발을 위해 활용된다. 작은 게시판과 같은 웹 어플리케이션부터 Netflix 수준의 대규모 어플리케이션을 개..

    [Clean Code] SW 유지보수성 향상을 위한 Clean Code

    [Clean Code] SW 유지보수성 향상을 위한 Clean Code

    코드프레소 Java 웹 개발 체험단 활동 중 이번엔 SW 유지보수성 향상을 위한 Clean Code 강의를 수강했다. Clean Code는 앞으로 실무와 프로젝트를 겪게 되면 가독성이 협업에서 굉장히 업무 효율성을 영향을 미치게 될 것이다. 이와 관련하여 Clean Code에 대해 포스팅을 하려 한다. 왜 Clean Code가 중요한가? SW Lifecycle의 총 비용 중 SW 개발 비용은 7%, 유지보수 비용은 무려 64% 차지하는 통계를 확인했다. 개발하는 SW를 장기간 유지보수 해야 하는 상황 단순히 동작하는 코드를 빠르게 작성해야 하는 것 읽고 이해하기 쉬운 코드를 주의 깊고 세심하게 작성하는 것 Naming A B 개발 속도를 위해 약어를 써야 한다. Manager와 같은 접미사 사용해야 한다..

    [Git] Git을 활용한 프로젝트 관리

    [Git] Git을 활용한 프로젝트 관리

    코드프레소 Java 웹 개발 체험단 활동을 1주차 하면서 Java와 Git의 개념을 다시 잡고 새로운 지식도 습득해서 많은 공부가 되고 있다. 현재 실무자가 알려주는 Git 활용한 프로젝트 관리 강의를 듣고 있는데 이번 강의는 Git Flow의 전반적인 내용을 수강하고 있다. 이번엔 Git 브랜치 전략 및 실습 관련 포스팅을 하려 한다. 브랜치(Branch) 본래의 소스코드로부터 파생한 독립적인 작업 공간 최신 커밋을 가리키는 일종의 포인터 매우 가볍다. 생성, 이동, 병합(merge)이 매우 쉽다. Git은 기본적으로 master 브랜치를 생성한다. 현재 작업중인 브랜치를 확인하는 명령어 $ git branch $ git branch -v -v 옵션은 브랜치들의 버전을 볼 수 있다. master 브랜치..

    [Git] Git의 입문과 기본 개념

    [Git] Git의 입문과 기본 개념

    올해 졸업 예정자가 되고나서 졸업 전 입사 서류를 여러 번 쓰고, 면접도 두 세번 정도 보았다. 그러나 모두 단골멘트인(귀하의 역량은 충분했으나, 한정된 채용인원으로 인해...) 탈락 메일과 문자가 와서 한숨쉬며ㅠ 인스타그램을 보다가 광고로 코드프레소를 처음 접하였다. 코드프레소에서 무료로 Java 웹 개발 트랙 체험단 지원자를 모집한다하여 늘 공부해야겠다 다짐한 Spring으로 프젝 경험을 쌓고자 급하게 하루 전날 자소서를 작성하고 다다음 날인가 면접을 보게 되었다. 면접은 크게 어렵지 않으며 학사 수준의 간단한 cs지식, 학업 열정 정도만 있으면 된다. 이후 메일로 합격 결과가 발송되어 현재 1주차인 Git과 Java의 입문 과정 이러닝을 수강하고 있다. 이번 포스팅은 코드프레소 Java 웹 개발 체..