목록TIL (20)
개발지식 먹는 하마 님의 블로그
문제 발견!스터디에서 CS25 서비스 기반으로 CS 공부를 하는 도중 오류를 발견하였다!서술형 문제 풀이 과정에서 분명히 정답이라는 결과가 나왔으나,해당 문제가 틀린 문제 다시 보기 페이지에서 보인 것이다.맞았는데 왜 틀린 문제에서 조회되는 거지?원인 파악AI가 정답을 채점할 때 우리는 분명 "정답"으로 시작해라고 프롬프트에 확실히 명시하였다.그에 따라 AI가 사용자의 답안을 정답으로 판단했는지에 대한 여부를 아래의 코드처럼 확인한 것이다.boolean isCorrect = feedback.startsWith("정답"); 그런데 일부 피드백이 "- 정답 : " 형태로 구성되는 것을 확인하였다.앞에 "-"와 공백이 붙으니 위의 코드를 기반으로 정답 여부를 판별할 때,정답으로 시작하지 않으니 오답으로 판별한..

내일부터 프로젝트 고도화 작업을 시작하고자 한다.가장 먼저 수정할 부분으로 이메일 발송 방식을 디자인 패턴 기반으로 쉽게 변경할 수 있도록 바꾼 부분을 선정하고자 하였다.그 당시에도 튜터님들의 의견이 서로 다르셔서 약간 애매했던 부분이 있는데 바로,해당 구조를 전략 패턴과 팩토리 메서드 패턴 중 무엇으로 불러야 할 지에 대한 것이었다.메일 발송 방식 변경 구조메일 발송 방식을 변경하는 구조는 다음과 같다.메일 발송 시, 사용하는 서버가 달라지더라도 공통으로 실행되어야 하는 행위들이 있다.메일 내용 구성 + 메일 발송 요청 -> sendQuizMailRateLimiter 적용먼저, 위와 같은 공통된 기능을 상위 객체 인터페이스로 추상화하였다. = MailSenderStrategy그 후, MailSender..
데이터를 주고 받기 위해 API에 관한 내용과 사용 방법을 공부했다.[오늘의 학습 키워드]# API[학습 내용 정리]아직 정리를 끝내지 못했다.[학습하며 겪었던 문제점]1. API 그 자체API는 과거 정보처리기사를 공부하면서도 잘 못 들어본 것 같다.검색만으로 관련 정보를 공부하려니 검증, 신뢰성이 있는 정보 등을 확인하면서 공부하니 조금 어려움이 있었다. [ 내일 학습 할 것 ]1. API 사용법 완벽 이해 후 적용하기

프로젝트 진행에 집중했다.진전은 있는데 디자인에 자꾸 신경 쓰다 보니 가계부 기능 구현은 못했다.(그렇지만 본판 구성은 중요해...!)브라우저 보안으로 인한 오류를 해결하는 데 시간을 다소 할애했다.[오늘의 학습 키워드]#브라우저의 보안으로 인한 오류 해결[학습 내용 정리]웹 페이지 구성- 왼쪽 위의 버튼을 누르면 offcanvus 형식의 내비게이션 창 표시- 왼쪽 aside 영역에 프로필, 이름 표시 (가계부 기능 구현 후, 이번 달 예산, 현재까지의 지출 등의 내용을 표기할 예정)- 오른쪽의 콘텐츠 영역 (아직 구현 중)웹 페이지 디자인의 일관성을 위한 코드 재사용웹 페이지의 똑같은 디자인을 유지하기 위해 페이지 html마다 같은 코드를 복사하는 것은 비효율적으로 느껴졌다.코드를 재사용할 수 있는..

Java 네트워크 프로그래밍에 대해 정리했다.웹 스토리지에 대한 개념을 학습했다.특정 프로필을 선택해 로그인 시, 해당 프로필 이름을 출력하는 기능을 추가하고웹 페이지 디자인을 다시 구상했다.[오늘의 학습 키워드]#네트워크 프로그래밍 #웹 스토리지[학습 내용 정리]네트워크 프로그래밍https://devhippo.tistory.com/51 Java - 네트워크 프로그래밍[ 네트워크 프로그래밍 ]컴퓨터 네트워크 : 컴퓨터들이 서로 데이터를 주고받을 수 있도록 연결된 조직네트워크 프로그래밍 : 네트워크를 통해 데이터를 주고 받는 프로그램 작성네트워크 상devhippo.tistory.com 웹 스토리지필요한 모든 정보를 모두 웹 서버에 저장하는 것은 저장 공간의 크기, 트래픽 증가 등의 여러 문제를 유발하기 ..
Java 전공책의 스레드 관련 내용을 복습했다.네트워크 프로그래밍도 복습했는데 아직 정리를 마치지 못했다.이분 탐색 알고리즘 문제를 3개 풀이했다.[오늘의 학습 키워드]#스레드 #이분 탐색[학습 내용 정리]스레드https://devhippo.tistory.com/45 Java - 스레드(Thread)[ Thread ]우리는 컴퓨터에서 여러 개의 작업을 동시에 진행하는 것이 가능하다. 한 개의 CPU가 작업을 잘게 쪼개어 모든 작업을 차례로 짧은 시간 동안 실행한다.CPU가 여러 개이거나 하나의 CPU에devhippo.tistory.com 문제 풀이https://devhippo.tistory.com/46 1920번 - 이분 탐색 - 수 찾기[ 풀이 ]정수의 범위가 너무 커서 배열을 통해서 이전에 찾은 값을..

Java 전공책의 배열과 리스트 관련 내용을 복습했다.가계부 프로젝트의 로그인 페이지를 완성했다.[오늘의 학습 키워드]#배열과 리스트[학습 내용 정리]배열과 리스트https://devhippo.tistory.com/43 Java - 배열과 리스트[ ArrayList ]Java에서 사용할 수 있는 동적 배열이다.ArrayList에 요소를 추가할수록 ArrayList의 크기가 자동으로 늘어난다.ArrayList 변수명 = new ArrayList(초기 배열 크기);ArrayList 변수명 = new ArrayList(); //타devhippo.tistory.com 프로젝트 4일차프로필 선택 시, 생성되는 비밀번호 입력창을 구현했다.숫자만 입력 받기, 한 개씩 따로 입력 받기, 자동으로 포커스 바꾸기 등의 기..

Java 전공책의 인터페이스 관련 내용을 복습했다.가계부 프로젝트의 로그인 페이지 디자인을 완성했다.밀린 집안일 해결과 로그인 페이지 완성에 집중하기 위해코딩 문제는 Solved.ac의 클래스 레벨을 올리기 위한 간단한 문제만 풀어서 따로 정리하지는 않았다.[오늘의 학습 키워드]#인터페이스 [학습 내용 정리]인터페이스https://devhippo.tistory.com/41 Java - 인터페이스[ 추상 클래스 ]메소드 정의 시, 몸체를 생략반환 타입 앞에 abstract 추가추상 메소드가 하나라도 포함되면 그 클래스는 추상 클래스가 된다.객체를 생성할 수 없다.public abstract class MyShape { //추상devhippo.tistory.com 프로젝트 3일차어제 구상한 디자인을 기반으로..

Java 전공책 복습을 이어갔다.오버라이딩 부분을 공부했다.동적 탐색법 문제를 풀려고 했는데 이분 탐색을 알아야 했다.이분탐색을 공부하고 관련 문제를 하나 풀어본 후, 해당 문제 풀이를 완료했다.가계부 프로젝트를 진행했다.정말 나만 쓰려고 했는데, 프로젝트 개발 이야기를 들은 친구가 자기도 쓰고 싶다고 얘기했다.보안 문제와 데이터 베이스 사용량 때문에 고민했는데한 명 정도는 괜찮을 것 같아서 흔쾌히 수락했다.친구에게만 배포 후, 필요한 기능을 추가해나가는 과정이 재밌을 것 같았다.따라서, 친구와 나를 구분해줄 로그인 페이지를 먼저 만들기로 했다.[오늘의 학습 키워드]#오버라이딩 #이분 탐색 #동적 계획법 #로그인 페이지 [학습 내용 정리]오버라이딩https://devhippo.tistory.com/39 ..

Java 전공책 복습을 이어갔다.상속 부분을 중심으로 공부했다.하노이의 탑 문제를 복습하며 원리를 이해하고자 했다.하노이 탑에 비해 색종이 만들기 문제는 너무 쉬웠다.나만의 가계부를 웹으로 개발하는 프로젝트를 시작했다.원래 엑셀로 정리했는데, 엑셀에는 어느 정도 코딩에 한계가 있다고 느끼던 차에웹 개발 강의를 통해 firebase와 bootstrap 사용법을 알게 되었고 이를 이용하면 좀 더 쉽게 개발할 수 있을 것 같아서 프로젝트를 시작했다.[오늘의 학습 키워드]#상속 #하노이탑 #프로젝트 입력 구성[학습 내용 정리]상속https://devhippo.tistory.com/31 Java - 상속[ Superclass와 Subclass ]수퍼클래스 : 먼저 정의하는 일반 클래스를 말한다. (부모)서브클래스..