본문 바로가기

분류 전체보기252

[프로그래머스] 서울에 위치한 식당 목록 출력하기(MySQL) 코딩테스트 연습 - 서울에 위치한 식당 목록 출력하기 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131118 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문제 풀이 생각 과정 우선 테이블이 두개이므로 JOIN을 사용하자 SELECT FROM REST_INFO AS I JOIN REST_REVIEW AS R ON I.REST_ID = R.REST_ID 그리고 원하는 결과값들을 SELECT에 적어준다. 조건으로 있는 주소가 서울로 시작해야한다는 것도 작성해준다. SELECT I.. 2023. 11. 21.
[프로그래머스] 조건에 부합하는 중고거래 댓글 조회하기 (MySQL) 코딩테스트 연습 - 조건에 부합하는 중고거래 댓글 조회하기 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/164673 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문제 풀이 생각 과정 우선 두가지 테이블을 사용하므로 테이블을 구분해줘야한다. USED_GOODS_BOARD를 B라 칭하고 USED_GOODS_REPLY를 R이라 칭한다. 원하는 결과값은 SELECT B.TITLE, B.BOARD_ID, R.REPLY_ID, R.WRITER_ID, R.CONTENTS, R.CREATE.. 2023. 11. 21.
[프로그래머스] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기(MySQL) 코딩 테스트 연습 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/157340 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문제 풀이 생각 과정 그전에 풀었던 연습문제에 비해서 난이도가 확 올라갔다... 우선 원하는 결과 CAR_ID SELECT CAR_ID, 그리고 기간에 10월 16일이 포함되어있는지 확인하는 AVAILABILITY -> IF, BETWEEN AND, AS 사용 SELECT CAR_ID, IF(DAT.. 2023. 11. 17.
[프로그래머스] 동명 동물 수 찾기(MySQL) 코딩테스트 연습 - 동명 동물 수 찾기 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/59041 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문제 풀이 생각 과정 우선 원하는 결과는 ANIMAL_INS 테이블에서 이름과, 이름이 쓰인 횟수 -> COUNT사용 SELECT NAME, COUNT(*) FROM ANIMAL_INS 이름이 쓰인 횟수를 집계할 것이고 집계된 카운트가 2이상인 데이터만 조회 -> GROUP BY, HAVING 사용 SELECT NAME, COUNT(*) .. 2023. 11. 15.
[퇴사 회고] 첫 번째 퇴사 개발을 공부하고 처음으로 입사한 스타트업에서 퇴사하게되었다. 자발적 퇴사는 아니고 회사 경영난으로 인해서 회사 인원의 절반 이상이 그만두게되었다... 첫직장이고 열심히 해보려는 마음이 컸어서 너무 아쉬웠다. 내가 다녔던 회사는 웹에이전시로 PHP를 주로 사용했다. 그동안 Java기반의 공부만 했었던 내게는 조금 두려운 도전이었다. 그럼에도 이 회사에 다녔던 이유는 언어는 결국 도구일뿐이다 라는 말을 자주 들었었다. 개발을 하기위한 도구이고 그것을 어떻게 사용하는지는 개발자의 몫인 것이다. 다양한 언어를 접해보고 각각의 장점을 유연하게 받아들여 잘 사용하면 되는 것이라고 생각했다. 내가 Java를 공부했다고 해서 나중에 더 좋은 언어가 나왔을 때 그 언어를 공부하지 않을것인가? 그런 것은 아니라고 생각했었.. 2023. 10. 31.
[스터디] 클린코드 스터디 4주차 클린코드 스터디 4주차: 12장 창발성12장 창발성창발성이 뭐지하위 계층에는 없는 특성이나 행동이 상위계층에서 돌연히 출연하는 것켄트 벡이 제시한 단순한 설계 규칙 4가지 (중요도 순)모든 테스트를 실행한다.중복을 없앤다.프로그래머의 의도를 표현한다.클래스와 메서드 수를 최소로 줄인다.1. 모든 테스트를 실행한다.테스트가 가능한 시스템을 만들어라.테스트가 가능한지 확인하려면 자연스럽게 작은단위로 프로그램을 구현하게 된다.그러면 결합도가 낮아져 SRP원칙을 구현하기 쉬워지고 설계 품질이 높아진다.2. 중복을 없애라소규모 재사용, 템플릿 메서드 패턴을 사용하라.추상 클래스를 만들고 중복되는 부분을 메서드화 한다.그것을 구체화한 클래스를 구현하고 해당 메서드를 이용한다. (override)3. 표현하라… 맨날.. 2023. 7. 2.
에러로그 Laravel 게시판 - 라우트 404에러 php7.4 Laravel 8 환경에서 게시판을 만들어보던 중 web.php 파일 ... Route::group(['as' => 'boards', 'prefix' => 'boards', 'middleware' => 'auth'], static function () { Route::get('/', [BoardController::class, 'index'])->name('.index'); Route::get('/oldest', [BoardController::class, 'oldest'])->name('.oldest'); Route::get('/create-page', [BoardController::class, 'create_page'])->name('.create_page'); Route::post('.. 2023. 6. 22.
[스터디] 클린 코드 스터디 2주차 클린 코드 스터디 2주차 : 4 ~ 6 장4장 주석[ 주석은 나쁜 코드를 보완하지 못한다 ]주석을 추가하는 이유는 코드가 안좋기 때문이다. 이전에 공부했던 내용으로 얘기해보면 술술 읽히지 못하고 이해하기 어렵기 때문이다. 즉 잘못 작성한 코드인 것이다. 주석을 추가하여 더 지저분한 코드를 만들지 말고 처음부터 다시 짜라![ 코드로 의도를 표현하라 ]다음은 내가 프로젝트를 진행하면서 작성한 코드이고내용은 경매 사이트에서 게시글을 삭제하는 메서드이다.public void deleteBoard(String token, long boardId) { Board target = find(boardId); // 작성자가 맞는지 체크 writerErrorCheck(target, token); //.. 2023. 6. 20.
[PHP] 배열 배열 1차원 배열 선언 $arr = array(); 참조 배열의 요소를 참조하려면 기본적으로 숫자인덱스를 사용한다. 문자열인덱스를 사용하는 연관배열은 아래쪽에서 공부한다. $arr = array('apple', 'banana', 'kiwi'); var_dump($arr[0]); var_dump($arr[1]); var_dump($arr[2]); // 출력 string(5) "apple" string(6) "banana" string(4) "kiwi" 추가 // 생성과 동시에 초기화 $arr = array('apple', 'banana', 'kiwi'); // 인덱스로 직접 추가 $arr = array(); $arr[0] = 'apple'; $arr[1] = 'banana'; $arr[2] = 'kiwi'.. 2023. 6. 20.