본문 바로가기
728x90
반응형

전체 글77

[C2C컨퍼런스] 후기 개발자가 되기 위해서는 개발에 더 관심을 가지고 요즘 유행하는 트렌드를 지켜봐야한다. 또 지금은 개발분야의 아주 일부만 알고 있다고 생각하기 때문에 컨퍼런스를 다니면서 개발에는 또 어떤 영역이 있는지 탐구해보고자 컨퍼런스를 돌아다녀봐야 겠다는 생각을 했다. 그러다가 슬랙에 조철현 멘토님이 올려주신 C2C컨퍼런스를 보게 되었고 이걸 시작으로 컨퍼런스를 참여해보자는 생각을 하게 되었고 멘토님께서 주신 무료쿠폰으로 오늘 컨퍼런스를 다녀왔다. 이번 컨퍼런스가 열린 장소는 코엑스 2층 스튜디오 159이다. 이번 컨퍼런스의 주제는 산업환경의 디지털 전환을 위한 AI & 머신러닝 이다. 그냥 주제만 읽어보아도 내가 가서 알아들을 수 있는 것은 별로 없겠다 싶은 생각이 들었다. 총 6개의 세션이 진행되고 각각 30분마.. 2022. 11. 15.
[우테코프리코스] 3주차 후기 주가 거듭될수록 과제가 점점 더 어려워진다는 말이 몸소 느껴지는 주였다. 그래도 지난주에 기능목록을 작성해보아서 이번 주는 기능목록을 작성하는 것은 별 어려움 없이 잘할 수 있었다. 기능목록을 구현한 후 어떻게 코드를 짤 지 오래 생각을 했다. 객체지향적인 코드를 짜 봐야겠다는 생각으로 로또 기계를 만들기로 목표를 잡았다. 지폐투입구와 구매한 로또를 출력해주는 장치와 입력을 받는 장치를 만들어서 로또 기계를 만들면 좋을 것 같다는 생각으로 코드를 짜보았다. 그런데 클래스 하나에 생각보다 많은 기능을 담게 되었다. 처음 구상한 로또기계를 만들기는 했지만 클래스 분리 및 기능 분리 부분에서 조금 부족하다는 느낌이 들었다. 기능목록을 만들기만 했지 하나하나 구체적으로 상상을 해보지 않아서 생긴 문제인 것 같다.. 2022. 11. 15.
[우테코프리코스] 2주차 후기 엥 1주차는 어디갔느냐고? 2주차부터 블로그에 쓰기로해서 없다. 2주 차 과제부터는 코딩 컨벤션과 커밋 컨벤션이 주어졌다. 코딩 컨벤션은 하나하나 천천히 읽어보았고 인텔리제이에 환경설정을 이용하여 자동으로 맞춰주도록 설정하였다. 물론 환경설정으로 해결할 수 없는 부분은 계속 읽어보고 확인해보고 하였다. 덕분에 코딩 컨벤션에 대한 부담은 덜었으나 커밋 컨벤션은 제대로 하고 있는 건지 끊임없이 의심하게 되었다. 물론 정답이 있는 것이 아니라는 것은 알지만 조금이라도 더 컨벤션에 가깝게 작성하기 위해 구글 검색을 하여 예시를 찾아보며 학습했다. 커밋 컨벤션을 따라 기능별로 커밋을 작성해야 하는데 코드를 짜다 보니 이미 여러 기능을 짜버린 상황도 생겼었다. 여태 그렇게 코드를 작성해왔으니 그럴 법도 하다. 그래.. 2022. 11. 8.
[Java] 12-1. 지네릭스(Generics) 지네릭스(Generics) JDK1.5에 처음 도입되었고 당시에는 선택적으로 사용되었다. 하지만 이제는 지네릭스를 모르고는 Java API문서조차 제대로 보기 어려울 만큼 중요한 위치를 차지하고 있다. 기본적인 개념을 알아보도록 하자. 1. 지네릭스란? 지네릭스는 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크(compie-time type check)를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. 타입 안정성을 높인다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 다른 타입으로 잘못 형변환되어 발생할 수 있는 오류를 줄여준다는 의미이다. 지네릭스의 장점 1. 타입 .. 2022. 10. 5.
[Java] 11. 컬렉션 프레임웍(2) 8. HashSet HashSet은 Set인터페이스를 구현한 가장 대표적인 컬렉션이다. Set인터페이스의 특징대로 중복된 요소를 저장하지 않는다. HashSet은 새로운 요소를 추가할 때 add나 addAll 메서드를 사용하는데 이미 저장되어 있는 요소와 중복된 요소를 추가하려고 하면 이 메서드들이 false를 반환하여 추가에 실패했다고 알린다. HashSet은 저장순서를 유지하지 않는다. 저장순서를 유지하고 싶다면 LinkedHashSet을 사용하자. 생성자 또는 메서드 설 명 HashSet() HashSet객체 생성 HashSet(Collection c) 주어진 컬렉션을 포함하는 HashSet객체 생성 HashSet(int capacity) 주어진 값을 초기용량으로하는 HashSet객체 생성 Hash.. 2022. 9. 30.
[baekjoon] 11729 - 하노이 탑 이동순서(Java) 하노이 탑 이동순서 단계별로 풀어보기 10단계 재귀에 나오는 문제로 재귀로 풀어보자 접근법 제일 큰 원판이 우리가 목표로 하는 3번 장대(to)에 들어가야 순서대로 쌓을 수 있다. 그러기 위해서는 제일 큰 원판의 위에 있는 원판들을 2번 장대(remains)에 올려놓고 제일 큰 원판을 3번 장대에 옮겨야 한다. 케이스 1번장대(from) 2번장대(remains) 3번장대(to) 원판 1개 0개 0개 제일 큰 원판 원판 2개 0개 1개 제일 큰 원판 원판 3개 0개 2개 제일 큰 원판 ... ... ... ... 원판 N개 0개 n-1개 제일 큰 원판 이 이후에 다시 2번 장대에 있는 n - 1개의 원판들을 3번장대로 옮겨주면 된다. 원판을 옮기는 총 횟수 케이스 횟수 원판 1개 1번 원판 2개 제일 큰 .. 2022. 9. 29.
[Java] 11. 컬렉션 프레임웍(1) 컬렉션 프레임웍(Collections Framework) 컬렉션 프레임웍은 '데이터 군을 저장하는 클래스들을 표준화한 설계'를 의미한다. JDK1.2 이전까지는 다수의 데이터를 저장할 수 있는 클래스들을 서로 다른 각자의 방식으로 처리해야 했다. JDK1.2부터 컬렉션 프레임웍이 등장하면서 모든 컬렉션 클래스를 표준화된 방식으로 다룰 수 있도록 체계화되었다. 1. 컬렉션 프레임웍의 핵심 인터페이스 컬렉션 프레임웍에서는 컬렉션 데이터 그룹을 크게 3가지 타입이 존재한다고 인식하고 이를 다루는데 필요한 기능을 가진 3개의 인터페이스를 정의하였다. 그리고 인터페이스 List와 Set의 공통부분을 뽑아서 새로운 인터페이스인 Collection을 추가로 정의하였다. 인터페이스 특 징 List 순서가 있는 데이터의.. 2022. 9. 27.
[Algorithm] 공간복잡도와 시간복잡도 공간복잡도란? 공간복잡도(Space Complexity)란 프로그램이 실행되고 완료되기까지 필요한 저장공간(memory)의 양을 말한다. 필요한 저장공간은 고정공간과 가변공간으로 나뉜다. 컴퓨터의 성능이 발전하면서 공간복잡도의 중요도는 점차 줄어들고 있다. 그래서 최근에는 시간복잡도를 더 우선하여 프로그래밍을 한다. 고정공간 알고리즘의 실행에 독립적인 공간이다. 단순하게 변수나 상수등 코드를 저장하는 공간이다. 가변공간 알고리즘의 실행에 의존적인 공간이다. 문제를 해결하려는 과정에서 동적으로 필요한 공간이다. S(P) = c + S𝚙(N) c : 고정공간 S𝚙(N) : 가변공간​ 고정공간 c는 상수이므로 공간복잡도는 가변공간의 크기에 좌우된다. 공간복잡도 계산법 - 빅-오(Big-O) // 1 int x.. 2022. 9. 26.
[Java] 10-3. java.time 패키지 java.time패키지 Date와 Calendar가 가지고 있던 단점을 해소하기 위해 JDK1.8부터 java.time패키지가 추가되었다. 패키지 설명 java.time 날짜와 시간을 다루는데 필요한 핵심 클래스들을 제공 java.time.chrono 표준(ISO)이 아닌 달력 시스템을 위한 클래스들을 제공 java.time.format 날짜와 시간을 파싱하고, 형식화하기 위한 클래스들을 제공 java.time.temporal 날짜와 시간의 필드(field)와 단위(unit)를 위한 클래스들을 제공 java.time.zone 시간대(time-zone)와 관련된 클래스들을 제공 위의 표는 java.time 패키지와 서브 패키지들이다. 위의 패키지들에 속한 클래스의 큰 특징은 String클래스처럼 불변이라는.. 2022. 9. 19.
728x90
반응형