본문 바로가기

반응형

분류 전체보기

(69)
오징어 금어기를 대하는 자세 '오징어 금어기: 수산자원 보호를 목적으로 포획 및 채집을 금지하는 기간' 동네에 오징어를 주력으로 파는 식당에 붙은 안내문구다. 오징어없는 오징어 물회 식당이라니. 홍철없는 홍철팀을 뒤잇는 역설적 표현이다. 식당 사장은 어떠한 마음으로 오징어 금어기를 대할까? 식당 안 손님을 보면 알 수 있다. 통제할 수 없는 외부요인을 받아들이고, 전복과 문어를 판다. 여전히 가게는 손님으로 가득차있다. 오징어 없는 오징어 식당. 사실 오징어는 그리 중요하지 않았을지도.
뭐에 관심이 많아요? 누가 나에게 이런 질문을 하면 나는 이제 '사람사는 이야기' 라고 대답할 자신이 생긴다. 이 대답말고 다른 것을 이야기해보라면, 사회, 경제, 나와 전혀 접점이 없을 것 같은 이의 브이로그, 다큐멘터리 등을 꼽겠다. 그러나 결국 사람사는 이야기에 관한 호기심에서 뻗어나온 단어다. 다른 단어임에도 결국 사람사는 이야기로 이어지는 결말. 나는 사람사는 이야기가 듣고싶다. 나말고 다른 사람. 내가 애청하는 유튜버 중 한 명은 '런업'이다. (왜 갑자기 유튜버 이야기하냐구? 일단 읽어주세요) 적어도 내가 알기론 런업은 (돈이 크게 되지않는)브이로그 만들기를 좋아한다. 그리고 나는 그의 브이로그를 좋아한다. 하지만 먹고 살려면 (돈이 되는) 광고 영상을 만들어야한다. 그의 광고 콘텐츠는 주로 패션이다. 런업은 자..
조금 더 현실적인 문제해결을 위한 SQL 쿼리짜기 2탄 - R을 곁들인 코드 0. 들어가며 이 문제 유형은 한 헬스케어 회사에서 백엔드 개발자로 있는 쭈니에게 받은 문제유형이다. 쭈니는 나에게도 풀어보라고 던져준다. 현업의 문제를 간접적으로 경험하며 어떤 요청사항들을 받는지 알 수 있어 좋다 :) 진심이다. 이번에 받은 문제유형 데이터가 발생하지 않은 날짜의 데이터 집계하기 로 요약할 수 있다. 이런 유형이 어려운 유형 중 하나다. 하지만 그렇게 큰 걱정은 없다. 나에겐 구글이 있으니깐. 외쳐 갓구글 앞선 글인 https://dangdo.tistory.com/70 조금 더 현실적인 문제 해결을 위한 SQL 쿼리짜기 부제 : 8월에 한 번 구매한 고객 중 9월 달에 구매한 이력이 없는 고객은? 0. 들어가며 현실적인 비즈니스 문제를 풀기위한 쿼리는 복잡한 편이다. 그 이유 중 하나..
조금 더 현실적인 SQL 쿼리짜기 - R 코드로 같은 결과만들기 0. 들어가며 앞선 두 글을 통해 쿼리문을 통해 특정상황의 데이터를 추출하고, 다음 글에서는 리팩토링하는 과정을 거쳤다. 그동안 SQL을 공부한다고 R을 잘 안다루었다. 겸사겸사 같은 Raw데이터가 주어져있을 때 SQL과 같은 결과물을 R코드로 작성해보고자 마음 먹었다. 1. 데이터 살펴보기 R에서 작업하기 위해서는 데이터를 다루기 위해서 데이터와 일부 라이브러리를 불러와야한다. 패키지는 dplyr과 lubridate를 사용했다. library(dplyr) library(lubridate) setwd("c:/R") df % 체인 연산자인데, 조금 과장해서 무지성으로 해도 체인 연산자 하나만 있으면 뚝딱이다. (체인연산자 사랑해) 조건1과 조건2에 해당하는 데이터를 df2라는 이름으로 저장했다. 처음 글에..
조금 더 현실적인 문제 해결을 위한 SQL 쿼리 - 리팩토링 하기 0. 들어가며 앞선 글에서 8월에 한 번 구매한 고객 중 9월 달에 구매한 이력이 없는 고객은? 이라는 질문에 대답을 하는 쿼리를 짰다. https://dangdo.tistory.com/70 조금 더 현실적인 문제 해결을 위한 SQL 쿼리짜기 부제 : 8월에 한 번 구매한 고객 중 9월 달에 구매한 이력이 없는 고객은? 0. 들어가며 현실적인 비즈니스 문제를 풀기위한 쿼리는 복잡한 편이다. 그 이유 중 하나는 고객을 '정밀하게' 타겟팅하 dangdo.tistory.com 이 때는 답을 내는 것에 가장 우선적인 목적을 두었다면, 이번에는 이전보다 코드의 가독성을 높이고, 보다 간단한 쿼리를 작성하는 것에 초점을 맞추었다. 1. 처음 작성한 쿼리의 구조 select b.customer_id from ( se..
조금 더 현실적인 문제 해결을 위한 SQL 쿼리짜기 부제 : 8월에 한 번 구매한 고객 중 9월 달에 구매한 이력이 없는 고객은? 0. 들어가며 현실적인 비즈니스 문제를 풀기위한 쿼리는 복잡한 편이다. 그 이유 중 하나는 고객을 '정밀하게' 타겟팅하기 위함이다. 이는 비즈니스의 '비용의 최소화, 수익의 극대화'를 위한 방법 중 하나다. 일상에서 접하는 광고유형 중 하나도 부제와 같은 맥락의 고민이 시작했다. 이전에 구매한 이력이 있지만, 더 이상 우리의 제품과 서비스를 이용하지 않는 고객을 타겟팅 한다. 고객이 우리의 제품/서비스를 잘 이용하다가, 제품/서비스 사용을 중단한 까닭을 여기선 차치하자. 왜냐면 그 이유가 너무 많기 때문에. 이 글에서는 다 못다룬다. 이유는 차치하고, 이전에 구매한 이력이 있고 더 이상 제품/서비스를 이용하지 않은 고객의 주문..
[TIL] window function partition in SQL SQL의 윈도우 펑션기능을 소개합니다. 다행히도 엑셀팡션은 아닙니다. 진짜 시작 파티션함수의 형식 SELECT 집계함수([컬럼명]) OVER (PARTITION [컬럼명]) FROM 테이블명 파티션 함수는 그룹별 집계, 순위 등을 구할 때 사용합니다. 그룹별 집계를 위해 예시 데이터를 만들고자 합니다. Postgresql을 사용했습니다. 우선 아래와 같이 테이블을 만들어봅니다. create table citizen ( id INT, sex INT, city varchar(100), region INT, primary key (id) ) 데이터를 집어 넣습니다. insert into citizen values(1,1,'서울',1) insert into citizen values(2,2,'서울',1) ins..
TestDome SQL리뷰 및 면접경험 0. 들어가며 취준을 하면서 다양한 기업 인터뷰에서 SQL 테스트를 봤다. 한국에서는 국내 코딩테스트 플랫폼으로 프로그래머스가 대동단결 된 것 같다. 프로그래머스 서비스의 UI는 익숙하지만, 문제 난이도는 회사별로 차이가 상당하다... 분석가에게 요구하는 수준이 다 다른가보다. 면접을 보았던 한 회사는 프로그래머스를 사용하지 않고 TestDome라는 사이트 링크를 전달주었다. 면접 이후 3일 이내로 풀어 제출해달라는 요청을 받았다. 프로그래머스가 아니라 신선함도 있었다. 참고로 전형은 서류검토 -> 비대면면접 & SQL 테스트 -> 최종결과 순의 프로세스를 거쳤다. 1. TestDome은 무슨 사이트인가 이번에 본 TestDome 이란 사이트는 인터뷰 중 컴퓨터활용능력/프로그래밍 실력 검증을 위한 웹솔루..

반응형