Clean Code이란 무엇인가? 왜 필요한가? (1)
WEB study/Clean code

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. 코드를 유지보수하는데 정말 중요한 개념인 Clean Code에 에 대해서 알아봅시다~ 고고! 이번엔 'SW 유지보수성 향상을 위한 Clean Code' 강의를 듣고 공부한 내용을 정리하여 네 번째 포스팅을 진행하겠습니다. Clean Code를 왜 배워야 하는가? 프로그램은 우선 사람이 이해할 수 있어야 한다. 컴퓨터에서 실행되는가는 부차적인 문제다. - Donald Knuth 컴퓨터가 이해하는 코드는 어느 바보나 작성할 수 있다. 좋은 프로그래머는 사람이 이해하는 코드를 작성한다. - Martin Fowler SW 엔지니어는 코드를 작성하는 시간의 10배를 코드를 읽고 이해하는데 쓴..

Java 프로그래밍 초급(5) - 컬렉션 프레임워크 : List
프로그래밍 언어/Java

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. Java의 정말 중요한 개념인 컬렉션 프레임워크 : List 에 대해서 알아봅시다~ 고고! 이번엔 'Java 프로그래밍 초급' 강의를 듣고 공부한 내용을 정리하여 다섯 번째 포스팅을 진행하겠습니다. List 자료구조 컬렉션 클래스에 대한 이해 앞 게시물에서 언급했던 주식 데이터 기억나시나요? List 자료 구조 데이터는 저장되는 데이터에 순서가 존재합니다. 중복되는 데이터가 저장될 수 있습니다. List 자료 구조를 위해 정의된 인터페이스 여러 건의 데이터의 하나의 객체로 관리합니다. 입력된 데이터에 순서가 존재합니다. 순서 정보의 관리를 위해 인덱스 개념 존재합니다. Collect..

Java 프로그래밍 초급(4) - 컬렉션 프레임워크 : 개념, 제네릭
프로그래밍 언어/Java

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. Java의 정말 중요한 개념인 컬렉션 프레임워크 : List 에 대해서 알아봅시다~ 고고! 이번엔 'Java 프로그래밍 초급' 강의를 듣고 공부한 내용을 정리하여 네 번째 포스팅을 진행하겠습니다. 컬렉션 프레임워크(collection framework)란? 여러 건의 데이터를 다루기 위해서 Array와 같은 데이터를 다루기 위한 자료구조의 구현체가 필요하다. 다양한 특성을 가진 데이터를 다루기 위해서는 그에 적합한 자료구조가 필요하다. 다양한 자료구조의 구현을 위한 클래스와 인터페이스의 집합이다. 필요성 다양한 자료구조의 구현체를 클래스 라이브러리 형태로 제공합니다. 1. 만약 매 ..

Java 프로그래밍 초급(2) - 객체지향 고급(상속)
프로그래밍 언어/Java

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. Java의 정말 중요한 개념인 객체지향 고급에 대해서 알아봅시다~ 고고! 이번엔 'Java 프로그래밍 초급' 강의를 듣고 공부한 내용을 정리하여 두 번째 포스팅을 진행하겠습니다. 상속의 개념(inheritance) 일반화된 특성이 정의된 User 클래스가 있다고 가정합니다. 또, 일반화된 특성을 모두 가지면서, 특수한 특성까지 정의한 클래스인 PaidUser가 있다고 가정합니다. 이렇듯 일반화된 클래스의 멤버들을 가지면서 자기 자신만의 멤버를 갖게 되는 것을 '상속'이라고 합니다. User가 추상적이고 PaidUser가 더 구체적입니다. 상속을 하는 클래스는 부모(Parent) 클래..

Git 브랜치의 이해 (4) - Git 브랜치 병합, 충돌 해결, Git Tag
WEB study/Git, GitLab

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. 이번엔 git 브랜치 병합과 충돌이 발생했을 때 어떻게 해결하는지 알아보는 시간을 갖겠습니다. 추가적으로 Git Tag에 대해서 기본적인 내용에 대해서도 보겠습니다. 이번엔 '실무자가 알려주는 Git 활용한 프로젝트 관리'의 Git 브랜치의 이해 강의를 듣고 공부한 내용을 정리하여 포스팅을 진행하겠습니다. 이슈 해결이 완료되면? 이슈 해결이 완료되면 branch를 master로 합병하는 git merge를 진행하게 됩니다. git merge에 관련하여 실습을 진행하겠습니다. 브랜치 병합(merge) 기준이 되는 브랜치로 이동해서 병합을 진행해야 합니다. issue 브랜치 -> mas..

Git 브랜치의 이해 (3) - Git 브랜치 이동 및 이슈 발생, 실습
WEB study/Git, GitLab

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. 이번엔 git 브랜치 이동과 이슈가 발생했을 떄 어떻게 하는지 알아보는 시간을 갖겠습니다. 이번엔 '실무자가 알려주는 Git 활용한 프로젝트 관리'의 Git 브랜치의 이해 강의를 듣고 공부한 내용을 정리하여 포스팅을 진행하겠습니다. 이전 게시물에서 feature-login이라는 브랜치를 git branch feature-login이라는 명령어를 통해 만들었습니다. 이제 feature-login으로 브랜치를 이동해보겠습니다. 브랜치 이동 git checkout feature-login(이동할 브랜치명) git checkout (브랜치명)을 통해서 현재 작업 중인 master branc..

Java 프로그래밍 초급(2) - 객체지향 메소드
프로그래밍 언어/Java

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. Java의 정말 중요한 개념인 객체지향 그리고 메소드 대해서 알아봅시다~ 고고! 이번엔 'Java 프로그래밍 초급' 강의를 듣고 공부한 내용을 정리하여 두 번째 포스팅을 진행하겠습니다. 메소드의 개념과 기초 활용 메소드(Method) 객체는 속성과 행위를 갖고 있고, 메소드는 객체의 행위를 정의합니다. 메소드는 함수(function)과 거의 유사합니다. input과 output이 존재하며 특정 작업을 수행합니다. 차이점은 메소드는 특정 객체에 포함되어 있습니다. 독립적으로 존재하지 않습니다. 함수(function) 특정한 작업을 수행하기 위한 코드들의 집합입니다. 특정 작업의 코드들..

Java 프로그래밍 초급(1) - 객체지향 기초
프로그래밍 언어/Java

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. Java에 대해서 좀 더 자세히 공부해보겠습니다. Java의 정말 중요한 개념인 객체지향에 대해서 알아봅시다~ 고고! 이번엔 'Java 프로그래밍 초급' 강의를 듣고 공부한 내용을 정리하여 첫 번째 포스팅을 진행하겠습니다. SW 개발 방법론 SW는 매우 복잡하고 거대해지고 있습니다. 요구사항대로 동작하는 SW를 정해진 기간/예산 안에 만드는 것이 어렵습니다. 큰 규모의 SW를 잘만들고 관리하기 위해 SW 개발 방법론이 나오게 되었습니다. 요구사항 수집 요구사항 분석 고수준 설계 상세 설계 구현 테스트 의 흐름으로 진행됩니다. 알려진 방법론으로는 구조적 방법론 정보공학 방법론 객체지향..

Git 브랜치의 이해 (2) - Git 브랜치 개념, 실습
WEB study/Git, GitLab

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. 이번엔 git 브랜치에 대해 알아보는 시간을 갖겠습니다. 이번엔 '실무자가 알려주는 Git 활용한 프로젝트 관리'의 Git 브랜치의 이해 강의를 듣고 공부한 내용을 정리하여 포스팅을 진행하겠습니다. 이번 게시물에서는 HEAD 개념도 함께 들고 브랜치 생성 실습을 해보겠습니다. HEAD Head는 현재 브랜치를 가리키는 일종의 포인터입니다. 현재 브랜치의 마지막 커밋에 대한 스냅샷이라고 할 수 있습니다. 자 이제 두번째 커밋을 생성해보겠습니다. 그림과 함께 branch를 이해해보겠습니다. 첫 커밋을 진행할 때는 하지만 이제 커밋이 계속 추가가 되면 마지막 커밋을 중심으로 HEAD 가 ..

Git 브랜치의 이해 (1) - Git 브랜치
WEB study/Git, GitLab

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다! 코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다. 이번엔 git 브랜치에 대해 알아보는 시간을 갖겠습니다. 이번엔 '실무자가 알려주는 Git 활용한 프로젝트 관리'의 Git 브랜치의 이해 강의를 듣고 공부한 내용을 정리하여 포스팅을 진행하겠습니다. branch 브랜치 본래의 소스코드로부터 파생한 독립적인 작업 공간입니다. 최신 커밋을 가리키는 일종의 포인터입니다. 매우 가볍습니다. 생성, 이동, 병합이 매우 쉽습니다. Git의 브랜치 브랜치 실습을 위한 디렉토리 생성하였습니다. git은 기본적으로 master브랜치를 생성합니다. 현재 작업 중인 브랜치를 확인하는 명령어는 git branch 입니다. 지금은 아무런 작업을 하지 않아서..