일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Baekjoon
- 브루트포스
- 구현
- 프로그래머스
- parametric search
- programmers
- 이분탐색
- BFS
- 코딩테스트
- CSS
- Java
- 완전탐색
- 프로젝트
- Elasticsearch
- 알고리즘
- binary search
- til
- 이분 탐색
- ES
- 계산기 만들기
- Algorithm
- SpringBoot
- OOP
- 내일배움캠프
- 객체지향
- web
- 백준
- Generics
- Spring
- 누적합
- Today
- Total
목록분류 전체보기 (46)
개발하는 햄팡이

두 번의 자바 프로젝트가 끝나고 이번주 부터는 Spring 프로젝트를 진행하게 되었다.과제의 요구사항은 간단한 CRUD가 포함된 RESTFul Api를 작성해야하는데제일 처음으로 해야할 것이 요구사항 분석 및 Api 명세서 작성이다. 이제까지 프로젝트하면서 내가 작성했던 Api 명세서의 대부분은 대충 아래 사진 같은 느낌으로 작성되어있다. 각자 파트를 맡은 팀원들과 같이 상의하면서 정하는데 가장 헷갈리는 부분이 메소드를 뭘 사용해야하는지에 대한 부분이다. 이번에라도 해당 개념을 정확하게 하고 넘어가기 위해 이 주제로 글을 써보려고 한다.1. HTTP (HyperText Transfer Protocol)http는 웹에서 데이터를 주고받는 데 사용되는 프로토콜이다. 쉽게 인터넷 상의 도로망 설계도라고 생각하..
3번째 과제는 키오스크 만들기.과제가 생각보다 까다로워서 블로그 포스팅을 아얘 못했다..생각할 것도 너무 많았고 수정할것도 너무 많아서 이 내용을 전부 블로그 글에 쓰기가 힘들었다. 어쨌든 일주일동안 고민해서 완성은 했는데완성하고 제출할려고 보니 SOLID 원칙의 S가 전혀 안지켜지고 있었던 것..S는 Single Responsibility Principle의 줄임말로 단일 책임 원칙이라는 뜻인데, 각 클래스는 하나의 책임을 가져야 한다는 뜻이다. 그런데 내 코드를 보면Kiosk 클래스에 무슨 고봉밥마냥 입출력, 계산, 메뉴 출력 등 각종 기능을 다 때려박은 것 같은 느낌이라서 이를 분리하기위해 추가 작업을 하려고 한다.(+ 내가 잘못한건 알겠는데 정확히 뭘 잘못했는지 모를땐 chatGpt한테 내가 쓴 ..

이전 포스팅https://bitj-bitbox.tistory.com/43 [JAVA][계산기 만들기-4] Lv3. Enum을 활용한 계산기 만들기https://bitj-bitbox.tistory.com/40 [JAVA][계산기 만들기-1] github 라벨 편집, Issue Template 생성, PR Template 생성저번 주에 HTML, CSS, JavaScript를 사용하여 간단한 팀소개 페이지 만들기가 끝나고이번 주 부터는 Javbitj-bitbox.tistory.com 음..제네릭을 활용해서 여러 타입을 받을 수 있게 하라고 되어있는데 나는 연산 메소드를 열거형 OperatorType에 만들어서새로운 계산기를 하나 더 만들어야 할 것 같다.OperatorType 파일을 수정하고 싶지는 않고..

https://bitj-bitbox.tistory.com/40 [JAVA][계산기 만들기-1] github 라벨 편집, Issue Template 생성, PR Template 생성저번 주에 HTML, CSS, JavaScript를 사용하여 간단한 팀소개 페이지 만들기가 끝나고이번 주 부터는 Java 기본 문법에 대해서 공부하면서 콘솔에 입출력을 받는 계산기 프로그램을 만드는 과제를 진행bitj-bitbox.tistory.comhttps://bitj-bitbox.tistory.com/41 [JAVA][계산기 만들기-2] Lv1. 클래스 사용하지 않고 기본 연산 계산기 만들기오늘은 Lv.1 요구사항을 처리할 것이다.그런데 Lv1요구사항이 클래스를 사용하지 않고 기본 연산 계산기 만들기라는 것.클래스 사용하지..

https://bitj-bitbox.tistory.com/40 [JAVA][계산기 만들기-1] github 라벨 편집, Issue Template 생성, PR Template 생성저번 주에 HTML, CSS, JavaScript를 사용하여 간단한 팀소개 페이지 만들기가 끝나고이번 주 부터는 Java 기본 문법에 대해서 공부하면서 콘솔에 입출력을 받는 계산기 프로그램을 만드는 과제를 진행bitj-bitbox.tistory.comhttps://bitj-bitbox.tistory.com/41 [JAVA][계산기 만들기-2] Lv1. 클래스 사용하지 않고 기본 연산 계산기 만들기오늘은 Lv.1 요구사항을 처리할 것이다.그런데 Lv1요구사항이 클래스를 사용하지 않고 기본 연산 계산기 만들기라는 것.클래스 사용하지..

오늘은 Lv.1 요구사항을 처리할 것이다.그런데 Lv1요구사항이 클래스를 사용하지 않고 기본 연산 계산기 만들기라는 것.클래스 사용하지 않고....라는게 무슨 말일까자바는 다 클래스인데....뭐 어쨌든 다른 클래스 만들지 말고 main에서만 하라고 하는 것 같은 느낌인데 일단 Calculator라는 패키지와 클래스를 만들고 해당 위치에 main함수를 입력하여 진행하기로 한다! 1. 숫자 입력받기첫번째로 처리해야 할 부분은 입출력.딱 봤을때부터 양의 정수를 받아야하니깐 양의 정수 범위에 있지 않은 애들은 어떻게 예외처리를 해야하지...라는 생각이 들었다.처음엔 그냥 단순하게 Scanner를 사용해서 int형을 받았다.Scanner의 nextInt()메소드로 정수를 쉽게 받을 수 있는데 음수도 받을 수 ..

저번 주에 HTML, CSS, JavaScript를 사용하여 간단한 팀소개 페이지 만들기가 끝나고이번 주 부터는 Java 기본 문법에 대해서 공부하면서 콘솔에 입출력을 받는 계산기 프로그램을 만드는 과제를 진행하게 되었다. 과제에 대한 요구사항이 노션에 쭉 쓰여있는데생각보다 좀 난이도가 있다. 요구사항은 Lv1, Lv2, Lv3으로 되어있는데 Lv1은 동작으로 하도록 구현라기Lv2는 클래스 구조로 객체화 하기Lv3은 람다, 제네릭, 스트림 등등 Java의 심화 문법 부분을 구현하기 이렇게 나누어져 있다.이게 강의가 1주차, 2주차, 3주차로 나누어져 있는데 각 주차마다 레벨이 나누어져 있는 것 같다.그리고 Lv3과제나 강의가 생각보다 높은 난이도도 세세하게 다루고 있어서Java를 다시 공부하는 내 입장에..
1. 객체 지향 프로그래밍(OOP)란?객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 데이터와 그 데이터를 처리하는 코드를 하나의 객체(Object)로 묶어 설계하는 방법이다.전통적인 프로그래밍 방법은 절차적 프로그래밍인데, 절차적 프로그래밍은 함수(절차)를 먼저 만들고, 데이터는 그 함수를 계산하기 위해 존재하는 형태라면, OOP는 데이터가 먼저 있고 그 데이터를 다루기 위한 함수(메서드)가 객체 안에 존재하는 형태이다. 객체 지향 프로그래밍을 설명하기 전에 알아야한 용어들은 다음과 같다.객체(Object)사물이나 개념을 소프트웨어로 모델링한 단위클래스(Class)객체를 찍어내기 위한 설계도인스턴스(Instance)클래스로부터 생성된 실제 객체 Java는 클래스와 객..
1. Java의 개요Java는 1995년 썬 마이크로시스템즈(Sun Microsystems)에서 발표된 객체 지향 프로그래밍 언어이자, 이를 기반으로 한 실행 환경(런타임)이다. James Gosling을 비롯한 팀이 설계한 Java는 “Write Once, Run Anywhere”(한 번 작성하면 어디서나 실행 가능)라는 슬로건 아래, 플랫폼에 독립적인 개발을 목표로 만들어졌다. 2. Java의 주요 특징플랫폼 독립성Java바이트코드로 컴파일 → JVM에서 실행JVM만 설치되어 있으면 어디서나 실행 가능Python소스코드(또는 바이트코드) 인터프리트인터프리터가 설치된 환경에서만 실행C++네이티브 머신코드로 컴파일플랫폼별로 별도 컴파일 필요Java 컴파일러(javac)는 소스 코드를 바이트코드(.clas..

1. JOIN이란?JOIN은 내가 보고 싶은 데이터들이 각기 다른 테이블에 위치할 때 한 번에 조회하기 위해 사용되는 명령어이다. 예를 들어, Members 테이블에 회원 정보가, Orders 테이블에 주문 정보가 저장되어 있을 때, 특정 회원의 주문 내역을 함께 조회하고 싶다면 JOIN을 사용한다.예시 상황: 쇼핑몰 시스템에서 회원별 구매 내역을 보고자 할 때Members 테이블: 회원 ID, 이름, 이메일 등Orders 테이블: 주문 ID, 회원 ID, 상품명, 주문일자 등 Members 테이블member_idnameemail1Alicealice@example.com2Bobbob@example.com3Charliecharlie@example.com Orders 테이블order_idmember_idpr..