TIL - 2023/090/02

Hoony·2023년 9월 2일
0

Daily

목록 보기
26/30

💼 오늘 작업 내용

1. [화담] 슬랙 에러 메시지 세팅

prod에서 에러가 나면 실시간으로 트랙킹이 가능해야 됨.

해당 트래킹을 위해서 에러 발생시 슬랙으로 메세지 발송.


  • Slack Pro가 아니더라도 슬랙 Incoming Webhook 호출 가능한지 체크 필요.

  • 각 커스텀 에러를 middle error에서 캐치해서 이를 슬랙으로 발송할 수 있는 구조 구축


2. [화담] 화담 백엔드 구조 파악 및 공부 (+스타트업 무료 AWS/GCP 파악)

화담 백엔드 구조 및 서비스 플로우 파악.

저번에 고객 클라이언트 구조를 통해 고객 서비스 플로우 파악 완료.

이번에는 꽃집 사장 클라이언트 구조를 통해 고객 서비스 플로우 파악 필요.


3. 디비버 설치 및 사용법 익히기

디비버는 DB GUI툴로 요즘 많이 사용되고 있음.

MySQL Workbench가 오류도 많고 안 되는 게 많아서 해당 툴로 옮기기로 결정

+화담에서 디비버를 GUI 툴로 사용한다고 해서 나도 사용해보기로 함.


4. 코딩테스트 공부

  • programmers - 144854 - 조건에 맞는 도서와 저자 리스트 출력하기
-- 코드를 입력하세요
SELECT BOOK_ID, AUTHOR_NAME, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d')
FROM book
LEFT JOIN author ON book.author_id = author.author_id
WHERE category = '경제'
ORDER BY PUBLISHED_DATE ASC

  • programmers - 12913 - 땅따먹기
def solution(land):
    answer = 0
    dp = [[0 for _ in range(4)] for _ in range(len(land))]
    
    for i in range(4):
        dp[0][i] = land[0][i]

    def get_max_score(y,x):
        max_prev_score = 0
        for k in range(4):
            if(k == x): continue
            if(max_prev_score < dp[y-1][k]):
                max_prev_score = dp[y-1][k]
        dp[y][x] = max_prev_score + land[y][x]
    
    for i in range(1,len(land)):
        for j in range(4):
            get_max_score(i,j)
    
    
    return max(dp[len(land)-1])

  • programmers - 12949 - 행렬의 곱셈
def solution(arr1, arr2):
    answer = []
    
    for i in range(len(arr1)):
        row = []
        for j in range(len(arr2[0])):
            sum = 0
            for k in range(len(arr1[i])):
                sum += arr1[i][k] * arr2[k][j]
            row.append(sum)
        answer.append(row)
    
    return answer




💡 새로 알게된 점

1. MYSQL에서 DATE Formatting 하는 방법

MYSQL에서 DATE를 특정 형식으로 지정할 수 있는 방법은 DATE_FORMAT 함수를 이용하는 것이다.

DATE_FORMAT(DATE변수, '형식 지정 문자열')

이런 식으로 사용할 수 있다.

이때 형식 지정 문자열은 다음과 같은 형식으로 들어갈 수 있다.

  • Year : %Y %y

  • Month : %M %m

  • Day : %D %d


2. 행렬 곱셈 구현

두개의 행렬 A,B가 있다고 해보자.

그러면 행렬의 곱셈은 A의 한 행와 B의 한 열을 곱한다.


이를 코드로 구현하면, 다음과 같이 A의 열 개수와, B의 행 개수로 반복문을 구현하면 된다.

  • 곱할 수 있는 행렬이라고 가정
for i in range(len(A)):
	for j in range(len(B[0])):
		#곱셈 코드
profile
Just Do it!

0개의 댓글