분류 전체보기(250)
-
Java 숫자야구
수업을 따라 숫자 야구를 구현하며 객체지향적으로 코드를 작성하는 시간을 가졌다. 설계도와 로직 위 그림은 https://excalidraw.com/에서 그렸다. 강사님이 사용하시길래 들어가서 사용해봤는데 사용법이 간단해서 꽤 좋았다. 객체지향적으로 설계를 위해서는, 역할과 책임의 분리가 중요하다. 이번 실습에서는 역할(관심사)에 따라 클래스로 분리했다. 또, 변경의 여지가 있는 부분은 전부 인터페이스로 설계했다. 역할에 따라 분리한 클래스 1. Baseball Class: 핵심 비즈니스 로직을 수행 2. Input: 사용자의 입력 처리 3. Output: 결과 반환 4. Numbers: 숫자 저장 5. NumberGenerator: 랜덤한 숫자 생성 6. BallCount: 스트라이크, 볼의 개수 관리 ..
2022.10.21 -
22/10/20
1. 알고리즘 한 문제 도전했다(문자열) 백준 4659: 비밀번호 발음하기 백준 4659: 비밀번호 발음하기 [Java] - 포포 코드 복사해서 반례를 찾아주시는 분께 선물 드리겠습니다(진짜임). 문제 좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 mr-popo.tistory.com 해당 포스팅에 작성한 코드로 반례를 찾아주시면 선물 드립니다.. 누군가에게 문자열은 시간 세이브하는 문제지만 나한테는 아직 어렵다.. 이번 문제는 잘 해결했다고 생각했는데 왜맞틀당했다.. 2. Java 컬렉션, Iterator, Optional, Stream에 대해 학습했다. Collection과 Iterator Optional Optional은 이전에 포..
2022.10.21 -
백준 4659: 비밀번호 발음하기 [Java] - 포포
코드 복사해서 반례를 찾아주시는 분께 선물 드리겠습니다(진짜임). 문제 좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtpzyo 같은 비밀번호를 무작위로 부여해 주기도 하지만, 사용자들은 이를 외우는데 어려움을 느끼고 심지어는 포스트잇에 적어 컴퓨터에 붙여놓는다. 가장 이상적인 해결법은 '발음이 가능한' 패스워드를 만드는 것으로 적당히 외우기 쉬우면서도 안전하게 계정을 지킬 수 있다. 회사 FnordCom은 그런 패스워드 생성기를 만들려고 계획중이다. 당신은 그 회사 품질 관리 부서의 직원으로 생성기를 테스트해보고 생성되는 패스워드의 품질을 평가하여야 한다. 높은 ..
2022.10.21 -
Collection과 Iterator
컬렉션이란 여러 데이터의 묶음을 말한다. 기본적으로 Collection은 추상체이며, 구현체의 종류로는 List, Set, Map 등이 있겠다. List, Set, Map의 구현체로는 LinkedList, HashSet, HashMap, Vector, Stack 등 자주 사용하는 자료구조가 이에 해당한다. 이번 포스팅에서는 MyCollection이라는 나만의 Collection 클래스를 정의하면서 Java의 컬렉션에 대해 알아보자. MyCollection 데이터의 묶음답게, MyCollection 클래스는 지네릭스를 이용해 어떤 타입이든 사용 가능하도록 하였다. public class MyCollection { private List list; public MyCollection(List list) { ..
2022.10.20 -
코드로 배우는 스프링부트 웹 프로젝트 후기
스프링 부트와 JPA를 실습할 수 있는 간단한 교재를 찾다가 사진에서 왼쪽에 있는 책을 많이들 추천하여 구매했다. 번개장터에서 사진 오른쪽에 있는 책을 싸게 팔고있길래 전광석화로 칼입금하고 택배 받았다. 책을 펼쳤을 때 XML 설정 + JDBC + MyBatis 관련된 내용이 보였다. 그제서야 책을 잘못샀다는 것을 인지했고, 조금 더 비싼 값을 주고 왼쪽 책을 들여왔다.. 어쩐지 싸게팔더라 책의 특징 본인은 개발 학습 서적을 읽어본 경험이 없다. 따라서 간단한 책 설명과 현재 내 수준, 실력에서 이 책을 학습했을 때 느꼈던 점 위주로 적어본다. 책 좋다는 평가는 이미 많이들 하더라. 본인은 대충 인프런에서 김영한 강사님의 로드맵(Spring, JPA)을 수강하고 Spring + JPA로 간단한 토이 프로..
2022.10.20 -
JAVA 인터페이스 기능과 디폴트 메소드(Default Method)
1. Interface의 기능 (1) 구현을 강제 모든 메소드가 추상메소드이므로, 구현을 강제한다. (2) 다형성을 제공 login() 메소드를 강제하는 Login 인터페이스가 있고 KakaoLogin, NaverLogin 두 개의 구현체가 있는 상황이다. public interface Login { void login(); } public class KakaoLogin implements Login{ @Override public void login() { System.out.println("카카오 로그인 진행"); } } public class NaverLogin implements Login{ @Override public void login() { System.out.println("네이버 로그인..
2022.10.20