자바 31

[Java] 자바의 String 클래스의 특별성 간단 정리

https://www3.ntu.edu.sg/home/ehchua/programming/java/J3d_String.html String is Special - Java Programming Tutorial A Brief Summary of the String Class A Java String contains an immutable sequence of Unicode characters. Unlike C/C++, where string is simply an array of char, A Java String is an object of the class java.lang. Java String is, however, special. Unlike an or www3.ntu.edu.sg 참조 원문입니다. ..

[Java] 자바 자료형(primitive, reference) 에 대한 고찰 - 자바 Integer에 캐시가 있다고?

자바 자료형에 대한 고찰 - 자바 Integer의 캐시기능 참조링크 원문: https://medium.com/@njnareshjoshi/java-integer-cache-why-integer-valueof-127-integer-valueof-127-is-true-e5076824a3d5 Java Integer Cache — Why Integer.valueOf(127) == Integer.valueOf(127) Is True posted by Naresh Joshi on November 25, 2018 medium.com https://nulpointerexception.com/2018/01/06/int-vs-integer-java-application-memory-usage/ 초반부 내용은 다음 원문을 번..

[우아한테크코스] 6주차후기 - 점진적 리팩토링과 데이터베이스 적용

날짜 TODO 추가 공부 6/10(월) 프로그래밍 (로또) 졸업시험 6/11 (화) 강의 (프로젝트의 요소와 리팩토링) 6/12 (수) 프로그래밍 (로또) 학교과제 6/13 (목) 프로그래밍 (로또) 학교과제 6/14 (금) (동생졸업식) 6/15 (토) 프로젝트 3요소 이번 강의는 "프로젝트 3요소인 비용, 일정, 품질 을 다 좋게할 수 있을까?"에 대한 캡틴의 짧은 언급이 있었다. 일정과 품질에 대해 생각해 볼 수 있는 좋은 기회였다. 많은 경우에서 일정이 품질보다 우선시 되는 경우가 있다고 한다. 그렇다면 일정 > 품질 이라는 것이 나쁜 일 인가라는 의문이 들 수 도 있다. 그렇다고 품질에 집중해서 일정을 놓치면 안된다. 왜냐하면 품질에 대한 명확한 기준이 없기 때문이다. 클린코드를 구현한 프로젝트..

[우아한테크코스] 5주차후기 - 데이터베이스 개론 및 과제 피드백

이번 주 글은 후기와 피드백을 같이 적어본다. 날짜 TODO 추가 공부 6/3 (월) 로또 리뷰 - 6/4(화) 강의 (데이터베이스) 책-객체지향과 디자인패턴 6/5 (수) 프로그래밍 (로또 리뷰) 객체지향 사실과 오해 6/6 (목) 예비군 6/7 (금) 휴무 로또 웹 UI 적용 6/8 (토) 운동 이번 주는 휴무와 겹쳐서 여유가 조금 있는 한 주 였다. 강의: 데이터베이스 개론 준 코치님께서 데이터베이스에 대해 강의를 해주셨다. 준 코치님은 볼때 마다 항상 웃는 모습으로 인사를 해주셔서 너무 좋다. 강의는 간략한 개론으로, 강의 후 자기주도적으로 공부를 하면 되었다. 데이터와 정보의 차이 데이터 - 현실 세계에서 관찰하거나 측정한 사실 또는 값 정보 - 의사결정에 활용하기 위해 데이터를 처리한 결과물 ..

[JDBC] MySQL 드라이버 Class.forName()의 비밀 - 로드만 했을 뿐인데 getConnection()이 가능하다고?

도대체 JDBC드라이버는 Class.forName()으로 로딩만 했을 뿐인데 어떻게 DriverManager 에서 사용이 되는 것일까? Class.forName의 호출 Class 클래스는 JVM에서 동작할 클래스들의 정보를 묘사하기 위한 일종의 메타 클래스이다. 객체의 참조 카운트가 0가 되면 해당 인스턴스는 더 이상 가리키는 참조 변수가 없는 것이므로 GC의 대상이 된다. 그런데 JDBC는 생성시키고 끝난다. 그러면 GC가 되지 않도록 하는 무언가가 있다고 한다. JDBC 드라이버와 같이 인스턴스를 별도로 관리하지 않는 대부분의 클래스의 경우, 그 클래스가 스스로의 인스턴스를 정적 블록을 통해 생성하고 관리한다. 정적 블록을 갖는 클래스들은 Class.forName() 만 호출해도 초기화가 수행된다. ..

[우아한테크코스] 4주차 후기 - 전략패턴의 적용

날짜 TODO 추가 공부 5/27 (월) 좌표계산기 리뷰 - 5/28 (화) 강의 (Exception), 책-객체지향과 디자인패턴 5/29 (수) 프로그래밍 (로또) 5/30 (목) - 책-객체지향과 디자인패턴 5/31 (금) 강의 (프런트엔드 기본) 책-객체지향과 디자인패턴 6/1 (토) 캡스톤 서류 정리 이번 주는 조금 여유가 있는 상태였기 때문에 로또 프로그램을 빨리 구현하고 개인 공부를 했다. 주말일정은 몸이 좋지 않아서 예정되어 있던 테니스 시합을 취소하고 집들이를 다녀올 예정이다. 로또 미션: 전략 패턴의 적용 전략패턴(Strategy Pattern) 개발자가 반드시 정복해야할 객체지향과 디자인 패턴이란 책에서 이론적 내용을 학습 및 정리 후 프로젝트에 적용한 내용입니다. 로또 생성의 문제: ..

[우아한테크코스] 3주차 후기 - if 문 없이 개발하기

날짜 TODO 추가 공부 5/20 (월) 사다리 타기 리뷰 - 5/21 (화) 강의 (Git, ), 페어 프로그래밍 (좌표 계산기) 책-객체지향과 디자인패턴 5/22 (수) 페어 프로그래밍 (좌표 계산기) 5/23 (목) 페어 프로그래밍 (좌표 계산기) 함수형 인터페이스 5/24 (금) 공부 (책-객체지향과디자인패턴), 강의 (페어프로그래밍 회고) 팩토리패턴 5/25 (토) 캡스톤 개발 - 5/26 (일) 피드백 (좌표 계산기) - 팩토리 패턴 이번 주차 실습과 과제에서는 팩토리 패턴을 이용하는 부분들이 자주 등장하였다. 팩토리 패턴이란? 어떤 클래스의 인스턴스를 만들지 서브클래스에서 결정하는 패턴 조건에 따른 객체 생성 부분을 자신이 직접하지 않고 팩토리 클래스에 위임하여 객체를 생성하는 방법이라고 할..

[우아한테크코스] 2주차 과제 피드백 후기

이번 과제는 사다리 타기를 구현하는 프로그램이다. 몇 가지 중요했던 피드백들을 정리해 보았다. 일급 컬렉션 기존 코드 public class Players { private List players; public Players() { players = new ArrayList(); } public void add(Player player) { if (checkDuplicateName(player)) { throw new IllegalArgumentException("이름은 중복될 수 없습니다"); } players.add(player); } public void addAll(List players) { this.players = players; } private boolean checkDuplicateNa..

객체 지향이란 무엇인가 - 절차지향과의 차이점

객체지향 개념 간단 정리 본 내용은 "개발자가 반드시 정복해야할 객체 지향과 디자인 패턴 - 최범균" 을 읽으며 정리한 내용입니다. 1. 절차 지향과 객체 지향 1.1 절차지향 절차지향이란 프로시져(procedure)로 프로그램을 구성하는 기법이다. 프로시져는 대체로 데이터를 중심으로 구현한다. 단점은 데이터 타입이나 의미를 변경해야 할 때, 함께 수정해야 하는 프로시저가 증가하는 것이다. 1.2 객체 지향 객체는 자신만의 데이터와 프로시져를 갖는다. 객체는 자신만이 기능을 제공하며, 각 객체들은 서로 연결되어 다른 객체가 제공하는 기능을 사용할 수 있다. 2. 객체 2.1 객체의 핵심은 기능을 제공하는 것 객체 지향의 가장 기본은 객체이다. 예를들어, 소리 크기 제어 객체가 있다고 생각하면 이 객체가 ..

프로그래밍 2019.05.15

[우아한테크코스] 1주차 후기 - 단위테스트에 대해서

우아한테크코스 1주차 후기 날짜 TODO 추가 공부 5/7 (화) OT 5/8 (수) 강의 (단위 테스트란 무엇인가) 어떻게 공부할 것인가 고민... 5/9 (목) 페어 프로그래밍 (자동차 경주 게임 구현, 계산기 프로그램 구현 -> 단위테스트 중점) JUnit5 공식 문서 정리 5/10 (금) 강의 (피드백), 페어 프로그래밍 (과제 마무리) AssertJ 공식 문서 정리 1주차 진행 테이블이다. 내용은 통합하여 정리하려고 한다. OT 후기 새로 지은 교육장에 처음 간날 오티가 진행이 되었다. 조끼리 앉았지만 그 날만 해당이 되는 부분이었다. 아이스 브레이킹 시간을 갖고 교육이 어떻게 진행되는지 전반적인 설명과 Q&A를 가지는 시간이었다. 다들 열정이 가득해보였다. 첫 강의: 단위 테스트란 무엇인가 첫..

반응형