전체 글 64

우아한테크코스 7기 프리코스 중간 소감

우아한 테크코스(이하 우테코) 프리코스 3주차 미션을 마치고 작성하고 있습니다.저는 우테코에 대해 큰 기대를 하고 있었습니다. 어디에 나와있는 것은 아니지만 개발 지망생들에게 알려진 바로는 부트캠프 1티어 중에 1티어라고 알려졌기 때문이죠. 그 중에서도 강점은 코드리뷰 시스템에서 드러난다고 들었습니다. 이러한 우테코의 코드리뷰 시스템을 프리코스를 하며 작게나마 체험해볼 수 있었습니다.  프리코스는 크게 과제, 코드 리뷰로  나눌 수 있습니다. 이 중에서 과제만 필수이고 코드리뷰는 선택입니다. 하지만 프리코스를 진행하면서 있었던 대부분의 성장은 코드리뷰 활동에서 이뤄졌다고 생각합니다. 1주차 과제를 보면 지금의 코드와 엄청난 차이가 느껴지는데요.    3주차 미션을 마친 시점에서 제가 이 코드를 피드백해보..

스트림(2) - Stream API의 다양한 연산

스트림 API가 지원하는 다양한 연산에 대해서 알아보자. 요약  필터링.filter()filter 메소드는 predicate(boolean을 반환하는 함수)를 인수로 받아서 true를 반환하는 모든 요소를 포함하는 스트림을 반환한다.List vegetarianMenu = menu.stream() .filter(Dish::isVegetarian) .collect(toList());// 채식요리 .distinct()스트림 요소의 중복을 제거하는 distinct 메소드도 지원한다.(중복 여부는 equals와 hashCode로 결정된다)List numbers = Arrays.asList(1,2,3,4,..

Java 2024.10.26

정보처리기사 필기, 실기 후기(+ 팁)

정보처리기사 2024년도 2회 기사 시험 필기, 2024년도 3회 기사 시험 실기를 보고 합격했다.시험을 봤다는 기록도 남길겸 블로그에 소감을 남기려 한다 나는 비전공자로써 진로를 개발쪽으로 틀은 것은 불과 1년 밖에 되지 않았다.정보처리기사에 나오는 유형 중 내가 알고 있는 것은 SQL, 프로그래밍 언어가 전부였다.그것도 겉핥기 식이었다.SQL은 DDL 밖에 알지 못했는데 DML, DCL이란 것도 나온다또한 내 주 프로그래밍 언어가 Java였는데 C언어, 파이썬도 함께 나온다 하지만 난 주전공에서 기사를 이미 한번 따본 경험이 있다.결국 기사 시험은 똑같을 거란 생각에 책도 사지 않은 채 내 방식대로 공부했다. 내 방식은 이 공부법 영상과 일치한다. 자격증, 기사 시험을 앞둔 사람들은 꼭 봤으면 하는 ..

카테고리 없음 2024.10.26

equals와 hashCode

내가 만든 객체로 List를 만들었는데 List 내에 중복되는 객체가 있다면 제거하고 싶다고 가정해보자.List peopleList = new ArrayList();people.add(new Person("loopy"))people.add(new Person("loopy"))Set peopleSet = new HashSet(people);if(peopleList.size() != peopleSet.size()) { throw new IllegalArgumentException();} 이 코드를 진행했는데 Exception이 발생하지 않고 다음 코드로 넘어간다. 왜일까?정답은 내가 만든 객체에서 equals와 hashCode 메소드를 재정의(override)하지 않았기 때문이다.  equals와 ha..

Java 2024.10.25

스트림(1) - Stream API 개요

스트림이란?데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소 스트림은 함수형 프로그래밍 언어와 데이터베이스에서 일반적으로 지원하는 연산을 지원한다. 예를 들어 filter, map, find, match, sort 등으로 데이터를 조작할 수 있다. 스트림 연산은 순차적으로 또는 병렬로 실행할 수 있다.  예시를 보자.menu.stream() .filter(dish -> dish.getCalories() > 300) .map(Dish::getName) .limit(3) .collect(toList());  1. 데이터 소스 menu는 연속된 요소를 스트림에 제공한다.2. stream()을 통해 스트림을 얻고3. 데이터 처리 연산(filter, map, limit, collec..

Java 2024.10.23

람다, 메소드 참조 활용하기

https://poloopy.tistory.com/50 람다 표현식람다 표현식은 메소드로 전달할 수 있는 익명 함수를 단순화한 것이다. 특징익명보통의 메소드와 달리 이름이 없다.함수메소드처럼 특정 클래스에 종속되지 않아 함수라고 부른다.전달람다 표poloopy.tistory.comhttps://poloopy.tistory.com/51 메소드 참조메소드 참조는 람다 표현식을 더 간결하게 작성할 수 있는 기능이다.람다 표현식이 단순 기존 메소드를 호출하는 경우 사용할 수 있다. 메소드 참조의 기본 구조 클래스 또는 객체 이름이중 콜poloopy.tistory.com 람다와 메소드 참조에 대해 이론적으로 익혔다면 어떤식으로 활용할지 알아보자.좋은 예시로 List API의 sort() 메소드가 있다. sort ..

Java 2024.10.21

메소드 참조

메소드 참조는 람다 표현식을 더 간결하게 작성할 수 있는 기능이다.람다 표현식이 단순 기존 메소드를 호출하는 경우 사용할 수 있다. 메소드 참조의 기본 구조 클래스 또는 객체 이름이중 콜론(::) 연산자메소드 이름예시는 다음과 같다.Integer::parseInt   메소드 참조의 종류메소드 참조에는 4가지 유형이 있다. 1. 정적 메소드 참조 (Class::staticMethod)다음과 같은 람다 표현식에 사용할 수 있다.(String str) -> Integer.parseInt(str) 위의 식은 메소드 참조를 활용하면 다음과 같이 변경된다.Integer::parseInt 2. 다양한 형식의 인스턴스 메소드 참조 (Class::instanceMethod)다음과 같은 람다 표현식에 사용할 수 있다.(S..

Java 2024.10.21

람다 표현식

람다 표현식은 메소드로 전달할 수 있는 익명 함수를 단순화한 것이다. 특징익명보통의 메소드와 달리 이름이 없다.함수메소드처럼 특정 클래스에 종속되지 않아 함수라고 부른다.전달람다 표현식은 메소드 인수로 전달하거나 변수로 저장할 수 있다.간결성코드가 간결해진다. 람다 표현식은 파라미터, 화살표, 바디로 이루어진다.파라미터(Apple a1, Apple a2)화살표->바디a1.getWeight().compareTo(a2.getWeight()); 그렇다면 람다 표현식은 어디에 사용할 수 있는걸까?바로 함수형 인터페이스의 구현에 사용 가능하다 함수형 인터페이스란?함수형 인터페이스의 예시에는 Predicate, Comparator, Runnable 등이 있다public interface Predicate { ..

Java 2024.10.21

MySQL 문법 정리

AS (별칭 정의)속성이나 테이블에 별칭을 설정하는 것SELECT 절에서의 AS:SELECT 절에서 정의된 별칭은 WHERE 절에서 사용할 수 없다.ORDER BY, GROUP BY, HAVING 절에서 사용할 수 있다.FROM 절에서의 AS (테이블 별칭):FROM 절에서 정의된 테이블 별칭은 쿼리의 모든 부분에서 사용할 수 있다.서브쿼리에서의 AS:외부 쿼리에서는 사용할 수 없다. 단, 해당 서브쿼리를 직접 포함하는 상위 쿼리에서는 사용할 수 있다. WITH (반복 함수)복잡한 쿼리를 쉽게 풀어쓸 수 있다.임시 테이블 생성WITH절은 쿼리 내에서 임시로 사용할 수 있는 이름을 붙인 서브쿼리를 생성한다.재사용성동일한 서브쿼리를 여러번 써야할 때 WITH절을 통해 한번만 정의하고 여러번 참조할 수 있다...

DB/SQL 2024.08.30

Spring 처음 시작할 때 설정

1. spring 설정 initializrhttps://start.spring.io/ gradle - java - 최신버전 - 그룹명(회사명) - 이름(애플리케이션 명) dependenciesSpring Data JPA : JPA와 Data JPA가 동시에 의존성 주입됨lombok : getter나 setter와 같은 개발자들에게 반복되는 코드들을 줄여주는 툴사용하는 DB : DB 의존성을 가져와야 연결 가능Spring Web : Apache Tomcat을 이용해 Spring MVC 애플리케이션을 만들어주는 의존성 generate - 압축 풀기 - ide에서 build gradle 파일 open  2. build 속도 향상 설정settings - build 검색 - Gradle - Build and Ru..

Java/Spring 2024.08.28