분류 전체보기

심지어 이슈번호 태깅도 잘못 된 것을 깨달았다.... 역시 잠을 안자니 실수를 많이 하게 되는 것 같다 #6번 이슈를 태깅했어야 했는데 다른 이슈를 태깅하여 브랜치를 만들어버렸다. 이미 작업한 브랜치에서 새로운 브랜치를 생성하고 푸쉬하려고 한다. git checkout -b feature/#6-StadiumAndTeam-service-enhancement 푸쉬하고 보니 커밋까지 이슈를 죄다 잘못 붙였다는 것을 깨달았다,,, 한탄스럽다 나자신,, 하나 하나 커밋 로그를 수정해주고 포스 푸쉬를 진행하여 해결하였다. git push -f origin feature/#6-StadiumAndTeam-service-enhancement
깃으로 협업하는 첫 프로젝트를 진행하였다. GitHub - hyunsb/baseball-management-application: Java + MySQL + JDBC + gradle + JUint5 Java + MySQL + JDBC + gradle + JUint5. Contribute to hyunsb/baseball-management-application development by creating an account on GitHub. github.com 협업 전략은 아래와 같다. 개발, 수정, 보완, 오류 해결하고자 하는 내용을 이슈로 등록한다. develop 브랜치를 베이스로 하여 featuer 디렉터리에 이슈번호를 태깅하여 개발 브랜치를 생성한다. 개발종료 후 develop 브랜치로 PR 및 ..
패스트 캠퍼스는 부트캠프 수강생들이 개발자로 성장할 수 있는 충분한 환경을 제공한다고 생각합니다. 충분한 환경이 주어졌으니 나머지는 본인이 하기 나름이겠죠 그 중에서도 가장 핵심적인 역할을 하는 것이 강사진과 멘토진이라고 생각합니다. 온라인 강의로 기초를 다지고, 실시간 강의를 통해 조금 더 실무와 가까운 지식 혹은 깊은 지식을 습득할 수 있습니다. 추가로 멘토링을 통해 공부의 방향을 잡거나 상담을 진행할 수 있습니다. 마지막으로 커리어 멘토링을 통해 취업을 위한 이력서, 포트폴리오의 방향을 잡아갈 수 있습니다. 깊게 생각은 안해봤는데 이렇게 정리하고 보니 엄청나게 많은 지원을 받고 있다는 걸 실감했네요.. 온라인 강사진 온라인 강의의 강사진은 모두 백엔드 분야에서의 전문가들로 구성되어 있습니다. 강의 ..
1. 요구사항 계좌 생성을 하기 위해서는 고객은 신분증을 은행원에게 제출한 뒤, 본인 확인이 되면 회원정보(User)가 등록되어야 합니다. 회원정보를 등록할 수 있는 테이블이 필요합니다. 은행원은 회원정보를 입력한 뒤, 계좌를 생성합니다. 계좌 생성시에 은행원은 고객에게 1000원을 받고, 1000원이 입금된 상태로 계좌가 등록됩니다. 은행원은 회원 정보를 조회할 수 있어야 합니다. 은행원이 회원 정보를 조회하게 되면, 관련된 계좌 목록을 함께 확인할 수 있습니다. 고객은 여러 개의 계좌를 가질 수 있습니다. 회원에는 어떤 정보가 필요할까요? id: (PK) 각 회원 정보의 고유한 값 username: 계정의 이름 - 검색을 위한 값 password: 계정의 비밀번호 name: 회원의 이름 created..
제어의 역전(IoC) 사람은 이름을 가진다. 이름은 사람의 상태이다. 살아가면서 스스로 관리하며 사용한다. 하지만 이름은 태어나면서 부모님에 의해 결정된다. 나 스스로의 상태이며, 내가 사용하지만 이름의 제어권은 부모님에게 있다. 심지어 이름을 변경하는 것도 공공기관의 허가하에 이루어진다. 프로그래밍 상에서 살펴보자 자신을 소개하는 기능, 명함을 만드는 기능, 등등에서 자신이 사용하는 이름을 본인이 생성하여 제어하는 것이 아닌. 외부에서 생성자혹은 메서드를 통해 주입해준다. public class Person { private Name name; public Person(Name name) { this.name = name; } public setName(Name name) { this.name = na..
패스트캠퍼스 백엔드 과정을 진행한지 어느덧 10주가 지났다. 온라인 강의 진행도 따라가랴, 실시간 강의 따라가랴, 하고 싶은 공부도 하랴 정신 없이 공부하다 보니 시간이 순식간에 지나가는 느낌이다. 이번 블로그 글을 작성하기전에 내가 얼마나 성장했는지 확인해보고자 한다. 부끄럽지만 나는 학부생 시절 C언어, 자바 강의 학점이 각각 C, D+ 이였다. 개발자로 취직할 생각도 없었던 시절이다. 개발자가 내 목표가 된 것은 3학년 부터였다. 하지만 당연히 언어에 대한 지식이 거의 없으니 개발을 잘 할리가 만무했다. 아! 학점이라도 채우자,, 노력했다. 매 학기 성적 장학금을 받을 수 있었다. 하지만 남는 지식은 없었다. 문득 생각이 들었다. 내가 개발자로 취직을 할 수 있을까? 개발 실력은 노베이스 정도는 아..
· JAVA
정보 은닉을 위해 객체의 멤버를 private로 접근을 제한하고 getter/setter를 이용하여 멤버에 접근하라고 배웠고, 많은 글에서 이렇게 사용하라 말한다. 사실 아 ’그렇구나, 외부에서 필드에 바로 접근을 해버리면 좋지 않구나‘ 하고 넘어갔었다. 이펙티브 자바라는 책을 읽으며 이에 대해 한 번 더 생각해보게 되었다. 접근자 메서드를 왜 사용해야할까? 그저 정보은닉을 지키기 위해? 나는 개발자의 의도 내에서만 필드에 접근할 수 있도록 하기 위해라고 생각한다. 외부에 필드의 직접적인 접근을 제한하고 개발자의 의도 내에서만 접근하면 어떤 점이 좋을까? 멤버의 타입을 바꿀 수 있다. 잉? 그냥 바꾸면 되는 거 아니여? 라는 생각은 아주 큰일 날 생각이다. 우리는 객체를 사용하는 사용자들을 생각해야한다...
체이닝 방식을 이용한 해시 충돌 처리를 구현해보자! 체이닝 방식은 해시 테이블에서 충돌이 발생할 경우 충돌된 키를 연결 리스트 형태로 처리하는 방법이다. 충돌이 발생하면 동일한 해시 버킷에 속한 항목들을 연결 리스트로 연결하여 저장한다. 해시를 저장할 버킷을 링크드 리스트로 선언한다. 링크드 리스트에 키값 멤버를 가진 노드를 저장할 것이다. private static final int DEFAULT_BUCKET_SIZE = 1024; private List[] buckets; private int size; private int bucketSize; public MyLinkedHashTable() { this.buckets = new List[DEFAULT_BUCKET_SIZE]; this.bucketS..
Hash 해시는 key, value 쌍으로 이루어진 데이터 구조이다. key는 구현된 hashFunction을 통해 계산된 해시 값(인덱스)으로 bukets에 저장된다. int myhashFunction(K key) { int hash = 0; for (Character ch : key.toString().toCharArray()) { hash += (int)ch; } return hash % this.bucketSize; } hashFunction은 키를 인수로 받는 키를 구현된 로직으로 계산하여 일정 길이의 해시 값을 반환한다. 이러한 해시 값을 인덱스로 사용하여 값을 저장하고 검색한다. 데이터 접근 시 hashFunction으로 키를 계산하여 데이터에 접근하기 때문에 O(1)의 시간 복잡도를 가진다..
hyunsb
'분류 전체보기' 카테고리의 글 목록 (14 Page)