또메일~

Today I Learned 날짜 2024년 4월 12일 금요일 내용 고객의 서비스 활성화 확인을 끝마치고, 사용자 이메일 개선작업을 시작했다. 이 Task 자체는 이메일 템플릿을 만드는 거라 난이도 자체가 어렵진 않다. 상당하 귀찮고 성가실 뿐.. 대신 이 작업이 끝나고 전반적인 이메일 관련 레거시 코드를 처리해야 하는 부분이 꽤 클 듯하다. 회고 라라스윗 팥모나카 맛을 먹었다. 팥으로 만든 하모니카 모양이라 팥모니카 인 줄 알았는데 모나카였다. 디저트 이름이라고 한다. 잘 배웠습니다!

2024년 4월 12일 · 1 분 · 배준수

파이썬 알고리즘 : 실패율

2024년 4월 12일 알고리즘 문제풀이 문제 실패율 난이도 Lv. 1 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 def solution(N, stages): answer = [] arr = [0 for _ in range(N+2)] arr_f = [0 for _ in range(N+2)] for i in range(len(stages)): now = stages[i] for j in range(1,now+1): arr[j] += 1 arr_f[now] += 1 tmp = [] for i in range(1,N+1): if arr[i] == 0: tmp.append([0,i]) else: tmp.append([(arr_f[i]/arr[i]),i]) tmp.sort(reverse=True, key=lambda x : (x[0],-x[1])) for i in range(N): answer.append(tmp[i][1]) return answer

2024년 4월 12일 · 1 분 · 배준수

파이썬 알고리즘 : 나누어 떨어지는 숫자 배열

2024년 4월 11일 알고리즘 문제풀이 문제 나누어 떨어지는 숫자 배열 난이도 Lv. 1 코드 1 2 3 4 5 6 7 8 9 10 def solution(arr, divisor): answer = [] for i in arr: if not i%divisor: answer.append(i) answer.sort() if answer: return answer else: return [-1]

2024년 4월 11일 · 1 분 · 배준수

Shopify app block

Today I Learned 날짜 2024년 4월 9일 화요일 내용 고객들의 기능 활성화 여부를 체크하는 기능을 만들었다. 코어스크립트 고객이 위젯을 스토어에 설치하기 위해선, “코어 스크립트”를 활성화 해야한다. 위젯이 정상적으로 작동하도로록 해준다. 우리 서비스에서 위젯은 핵심적인 부분이기 떄문에 코어스크립트가 활성화되어 있지 않다는 의미는 우리 서비스를 제대로 활용하지 못하는 뜻이다. 각 서비스(알파리뷰, 리스트 디자이너)는 제각각 코어스크립트를 가지는데 이를 활성화했는지를 알아봐야한다. 스토어가 사용하고 있는 메인 테마를 찾아야 한다. Shopify로 요청을 보내면 된다. 이렇게 목록들이 나타나니 원하는 값을 찾으면 된다. 한번도 활성화한 적이 없는 항목은 나타나지 않는다. 따라서 없거나, “disabled”가 true일 떄가 비활성화인 상태다. ...

2024년 4월 9일 · 2 분 · 배준수

파이썬 알고리즘 : 소수 찾기

2024년 4월 9일 알고리즘 문제풀이 문제 소수 찾기 난이도 Lv. 2 코드 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 32 33 34 35 36 37 from itertools import permutations def check_prime(n): if n < 2: return False elif n<4: return True if not n%2: return False for i in range(2,int(n**(0.5))+1): if not n%i: return False else: return True def make_arr(arr): result = [] n = len(arr) tmp = [] for i in range(1,n+1): tmp += list(permutations(arr,i)) for a in tmp: result.append(int("".join(a))) return result def solution(numbers): answer = 0 result = set() arr = list(numbers) arr = make_arr(arr) arr = set(arr) for i in arr: if check_prime(int(i)): result.add(int(i)) return len(result)

2024년 4월 9일 · 1 분 · 배준수

리뷰 임포트 고치기

Today I Learned 날짜 2024년 4월 8일 월요일 내용 아마존에서 리뷰를 Import하는 기능을 열심히 고쳤다. 이미지를 사이즈별로 저장하기 2주 전 금요일이였나? 급하게 이슈 관리가 발생했었다. 아마존에서 리뷰를 가져올 때, 이미지를 사이즈 별로 원본, 중간 크기, 작은 크기, 썸네일 별 링크로 저장한다. 원본과 썸네일을 제외한 사이즈 사진이 나타나지 않았던 문제였다. 이미지의 사이즈는 파일명 가장 뒤에 숫자를 이용해 조절한다. 아마존에 있는 사진의 파일명 가장 끝은 “_SY” 가 붙어있는 형식인데 이 뒤에 숫자에 따라 크기가 조절된다. 예를 들어, 썸네일은 {파일명_SY88.jpg}, 중간 크기는 {파일명_SY300.jpg} 로 저장하면 된다. 문제가 되었던 사진은 “_SY”가 없이 숫자만 저장되어, 사진을 찾을 수 없다는 오류를 출력하고 있었다. ...

2024년 4월 8일 · 2 분 · 배준수

파이썬 알고리즘 : 전화번호 목록

2024년 4월 8일 알고리즘 문제풀이 문제 전화번호 목록 난이도 Lv. 2 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 def solution(phone_book): answer = True arr =dict() for phone_number in phone_book: arr[phone_number] = True for phone_number in phone_book: temp="" for num in phone_number: temp +=num if temp in arr and temp!=phone_number: answer = False return answer

2024년 4월 8일 · 1 분 · 배준수

파이썬 알고리즘 : 옹알이 (2)

2024년 4월 6일 알고리즘 문제풀이 문제 옹알이 (2) 난이도 Lv. 1 코드 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 def search_index(arr,k): result = -1 if k in arr: result = arr.index(k) return result def solution(babbling): answer = 0 arr = ["aya", "ye", "woo", "ma"] for word in babbling: idx = 0 n = len(word) last_find_idx = -1 while idx <= n: if not n: answer += 1 break tmp = word[:idx+1] search_result = search_index(arr,tmp) if search_result != -1 and search_result != last_find_idx: last_find_idx = search_index(arr,tmp) word = word[idx+1:] n = len(word) idx = 0 else: idx += 1 return answer

2024년 4월 6일 · 1 분 · 배준수

일복

Today I Learned 날짜 2024년 4월 5일 금요일 내용 개발보단, 팀이 나아갈 방향에 대해 하루종일 고민했다. 리퀴드 쇼피파이에서는 리퀴드를 쓴다. 리퀴드는 루비를 기반으로한 HTML 템플릿 언어이다. 쇼피파이에 올라간 데이터들을 주고 받는게 Liquid로 작성된 앱블록에서 이루어지는데, 정말 놀랍게도 Shopify 정책상 1개의 앱이 사용할 수 있는 앱블록의 총 용량은 고작 100KB로 정해져있다. WOW 그리고 수 많은 위젯을 구현한 우리 서비스는 한계에 봉착했다. 더이상 여유 용량이 없다. 해결을 위한 여러 고민들을 더 자세히 쓰고 싶은데, 들은걸 100% 이해하지 못해서 못쓰곘다! 결론은, 새로운 앱을 만들되, 서버와 DB는 같이 쓰고, 어드민 페이지도 하나로 유지하기로 했다. 별개의 앱 사용자들이 하나의 서버와 어드민으로 들어오기 떄문에 이에 대한 여러 장치가 필요하다. 그리고 앱을 출시하는 과정 자체에 대한 공수도 필요하고.. 자연스레 할 일이 많아졌다! ...

2024년 4월 5일 · 1 분 · 배준수

파이썬 알고리즘 : 없는 숫자 더하기

2024년 4월 5일 알고리즘 문제풀이 문제 없는 숫자 더하기 난이도 Lv. 1 코드 1 2 3 4 5 def solution(numbers): answer = -1 arr = set(numbers) answer = 45 - sum(arr) return answer

2024년 4월 5일 · 1 분 · 배준수