전체 글

깃허브 https://github.com/kimtaesoo99 알고리즘 전용 블로그 https://javajoha.tistory.com/
활동

SDC 프로젝트 후기

오늘도 오랜만에 블로깅을 작성하는 것 같다.아무래도 SDC라는 중요한 프로젝트와 취업 준비를 하다 보니 너무 바쁘게 살아왔다.저번주에 SDC 프로젝트가 끝났다. (문제가 되는 사항이 있다면 삭제할 예정입니다) SDC란? 대충 이런 내용을 담고 있다.실제 약 1000명의 교육생 중에 30명 정도만 SDC 프로젝트를 수행할 수 있는 기회가 주어진다. 여러 가지 주제가 있었는데 내가 고른 주제는 web 기반의 오토 레이블링이다.간단히 말하자면 사용자가 수동 레이블링을 진행하고 그 데이터를 바탕으로 모델을 학습시키고 다시 학습한 모델을 바탕으로 나머지 이미지를 오토 레이블링을 하는 서비스이다.이를 이미지로 표현하면 아래와 같다...  프로젝트에 대해 상세하게 다루고 싶지만 어디까지 공개를 할 수 있는지 모르기에..

프로젝트/HOTSOS

[프로젝트] 재난 알리미

이번에는 재난 알리미라는 어플을 만들었다.평소에 바쁜 일상 때문인지 나의 나태함 때문인지 글을 오랜만에 작성하게 되었다.프로젝트 전체적인 정리, 핵심기능을 작성하려 한다. 재난 알리미가 무엇인가? 위와 같이 현재 존재하는 재난 알림은 나의 위치기반으로 한 재난 알림만 받을 수 있기에 지인의 정보도 얻을 수 있도록 하고 싶었다.AED나 대피소와 같은 위치 기반 조회 시스템이 부족하다고 생각했다.인위재난의 경우 빠르게 알아채기 어렵다.이러한 니즈를 해소하기 위해 개발을 시작했다. 서비스의 특징  Spring Security 스프링 시큐리티를 활용하여 로그인을 구현하였다. Security Config더보기@Configuration@EnableWebSecurity@RequiredArgsConstructorpub..

JAVA

[이펙티브자바] 열거 타입과 애너테이션

item34. int 상수 대신 열거 타입을 사용하라int 상수 패턴public static final int APPLE_FUJI = 0;public static final int APPLE_PIPPIN = 1;public static final int APPLE_GRANNY_SMITH = 2;public static final int ORANGE_NAVEL = 0;public static final int ORANGE_TEMPLE = 1;public static final int ORANGE_BLOOD = 2;특정 경우를 상수 값으로 치환하여 표현하는 방식이다.int 상수 패턴의 단점타입 안전을 보장할 방법 x, 표현력도 안 좋음네임스페이스가 없기에 동일한 접두어가 반복됨오렌지와 사과를 대체해도 == ..

JAVA

[이펙티브자바] 제네릭

item26.로 타입은 사용하지 말라클래스 혹은 인터페이스 선언에 타입 매개변수가 쓰이면 이를 제네릭 타입이라고 한다.제네릭 타입은 일련의 매개변수화 타입을 정의한다.제네릭 타입을 정의하면 그에 딸린 raw type을 정의한다.raw type은 제네릭 타입에서 타입 매개변수를 사용하지 않은 것 ex) List, Set// 제네릭을 지원하기 전엔 컬렉션을 아래와 같이 선언private final Collection stamps = ...;stamps.add(new Coin(...));for (Iterator it = stamps.iterator(); i.hasNext();) { Stamp stamp = (Stamp) i.next(); // ClassCastException stamp.cancel();}..

JAVA

[이펙티브 자바] 클래스와 인터페이스

item15. 클래스와 멤버의 접근 권한을 최소화하라내부 데이터와 내부 구현 정보를 외부로부터 얼마나 잘 숨겼는지가 중요하다정보은닉, 캡슐화라고 함시스템을 구성하는 컴포넌트를 독립시켜 개발, 테스트, 최적화, 적용, 분석, 수정이 개별적으로 가능해야 함장점컴포넌트 간 의존성 x → 독립적인 병렬 개발이 가능 → 개발 속도 증가컴포넌트별 디버깅이 가능 → 관리 비용이 절약컴포넌트별 최적화가 가능 → 성능 최적화 적용이 쉬움컴포넌트 간 의존성 x → 재사용 가능컴포넌트별 테스트 가능 → 제작 난이도 낮아짐컴포넌트 간 의존성을 없애는 것의 핵심이 접근 제한자임 → 가능하면 가장 낮은 접근 수준을 유지private: 멤버를 선언한 톱레벨 클래스에서만 접근 가능package-private: 멤버가 소속된 패키지 ..

JAVA

[이펙티브 자바] 모든 객체의 공통 메서드

item10. equals는 일반 규약을 지켜 재정의하라 equals() 메서드는 객체의 내용이 동일한지 논리적 동치성을 확인하는 메서드이다.equals를 구현하지 않아야 할 때각 인스턴스가 본질적으로 고유할 때인스턴스의 논리적 동치성을 검사할 일이 없을 때상위 클래스에서 재정의한 equals()가 하위 클래스에서도 문제없이 이용 가능할 때equals를 구현해요 할 때상위 클래스에 equals()를 재사용할 수 없고, 객체 간의 논리적 동치성을 구현해야 할 때주로 Integer, String과 같은 값 클래스의 경우.. 등등equals() 메서드의 일반 규약null-아님 : null 이 아닌 모든 참조 값 x에 대해 x.equals(null)은 false이다.반사성 : x.equals(x)는 true이다..

JAVA

[이펙티브 자바] 객체 생성과 파괴

오늘은 이펙티브 자바를 오랜만에 다시 복습하고 중요한 부분만 간단하게 정리할 예정이다. item1. 생성자 대신 정적 팩토리 메서드를 고려하라.객체 생성을 할 때 생성자가 아닌 정적 팩토리 메서드를 객체 생성 용도로 쓰는 것은 경우에 따라 좋다.장점 1: 생성자가 이름을 가질 수 있다.예를 들면 Integer.parseInt()는 정적 팩토리 메서드이다.이름에서 무엇을 의미하는지 파악하기 쉬움 → 의도가 명확함장점 2: 매 호출 시 인스턴스를 새로 생성할 필요가 없다.public final class Boolean implements java.io.Serializable, Comparable{ /** * The {@code B..

개발일기

싸피 1학기 수료와 회고

오랜만에 블로깅을 하는 것 같다.핑계이지만, 싸피와 여러 학습을 병행하기에 시간이 없었다. 오늘은 싸피 1학기를 수료하였고 방학을 시작하여 글을 쓰기로 하였다.블로그 카테고리가 회고랑 활동이랑 섞인 느낌이어서 애매해진 감이 있긴 하다.아무튼 오늘은 회고로 작성할 예정이다. 내가 처음 싸피에 들어온 목적은 여러 가지가 있지만, 여러 사람들과 소통하며 성장하고 싶었기 때문이다.이를 달성했는지 돌아보면.. 달성한 것내가 싸피에 와서 크게 느낀 것은 좋은 사람들은 많고, 내가 성장하기 위해 스스로 열심히 해야 한다는 것이다.실제로 열심히 하는 사람들이 많아서 나 역시도 자극을 받고 여러 도전을 했었다.이전에는 자격증을 신경 쓰지 않았는데, 싸피에서 여러 사람들과 소통하며 SQLD, 정보처리기사를 시도하고 취득하..

프로젝트/Travelink

[프로젝트] 여행 정보 플랫폼

현재 여행 관련 서비스를 제공하는 웹 프로젝트를 진행 중이다. 서블릿과 jsp를 사용하여 틀을 만들었다. 우선 지금까지 만든 정보를 기록하려고 한다. 웹 서블릿과 jsp를 중점으로 플젝을 진행한 적은 처음이라 아직도 어색하고 부족한 부분이 많았다. 그래도 확실히 로우레벨로 개발을 하다 보니 기초가 많이 늘었다고 생각한다. 이후 이걸 프레임워크를 사용하여 더욱 발전시킬 생각이다. 프로젝트 내용이 많아서 전체적으로 요약하며 설명할 예정이다. 주요 기능 header와 footer를 사용하여 중복되는 화면을 재사용하였다. 다른 jsp에서 include를 사용하여 그대로 가져갈 수 있다. 또한 로그인과 회원가입의 경우 간단하게 modal 창을 사용하였다. 이전 프로젝트는 백엔드만 맡아서 진행하였기에 검증의 경우도..

활동

SQLD 합격 후기 및 공부법

SQL 개발자(SQLD*, SQL Developer)란 데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 응용 소프트웨어를 개발하면서 데이터를 조작하고 추출하는 데 있어서 정확하고 최적의 성능을 발휘하는 SQL을 작성할 수 있는 개발자를 말한다. SQL 개발자 자격시험의 과목은 총 2과목으로 구성되어 있으며 데이터 모델링의 이해 과목을 바탕으로 SQL 기본 및 활용을 수행하는 능력을 검정한다. - 출처 : 한국데이터산업진흥원 데이터자격검정 홈페이지 3월 9일에 SQLD를 응시했었고 합격하였다. 지원 동기 현재 싸 피를 진행 중인데, 데이터베이스 관련 cs스터디를 하고 있었다. 그러다 sqld도 결국 데이터베이스 관련 내용이기에 공부할 겸 지원하였다. 근데 정작 내용은 좀 많이 다른 느낌이다. 특히 쿼리..

javajoha
기록하는 개발자가 되자