본문 바로가기

반응형

전체 글

(70)
오징어 금어기를 대하는 자세 '오징어 금어기: 수산자원 보호를 목적으로 포획 및 채집을 금지하는 기간' 동네에 오징어를 주력으로 파는 식당에 붙은 안내문구다. 오징어없는 오징어 물회 식당이라니. 홍철없는 홍철팀을 뒤잇는 역설적 표현이다. 식당 사장은 어떠한 마음으로 오징어 금어기를 대할까? 식당 안 손님을 보면 알 수 있다. 통제할 수 없는 외부요인을 받아들이고, 전복과 문어를 판다. 여전히 가게는 손님으로 가득차있다. 오징어 없는 오징어 식당. 사실 오징어는 그리 중요하지 않았을지도.
복싱 6개월 차 후기 0. 시작한 이유와 목적 나는 작년 9월부터 복싱을 시작했다. 사람마다 운동을 하는 이유는 각각 다르겠지만, 나는 데일리 루틴 중에 운동 이라는 카테고리를 추가하고 싶었다. 누군가 나에게 물었다. 복싱장 다니면 줄넘기만 한 달 하는 것 아니냐고. 줄넘기만 한달하면 진즉에 관뒀다. 현재 3개월 차라는건 줄넘기만 하는 건 아니라는 의미 ​ 프로가 아닌 취미로 하는 사람을 대상으로 하기 때문에 엄청나게 빠른 속도로 진도를 나간다. 일주일 안에 잽과 스트레이트를 배우고 한 달 안에 잽, 스트레이트, 훅, 어퍼를 끝낸다. 2. 복싱장가서의 루틴은 무엇인가... ​ 복싱장을 운영하는 관장분들마다 운동철학과 루틴이 다를테니 이 녀석은 이렇게 했구나 정도로만 봐주셔요. ​ 스트레칭 - 본인 스타일에 맞춰서 충분히 줄넘..
뭐에 관심이 많아요? 누가 나에게 이런 질문을 하면 나는 이제 '사람사는 이야기' 라고 대답할 자신이 생긴다. 이 대답말고 다른 것을 이야기해보라면, 사회, 경제, 나와 전혀 접점이 없을 것 같은 이의 브이로그, 다큐멘터리 등을 꼽겠다. 그러나 결국 사람사는 이야기에 관한 호기심에서 뻗어나온 단어다. 다른 단어임에도 결국 사람사는 이야기로 이어지는 결말. 나는 사람사는 이야기가 듣고싶다. 나말고 다른 사람. 내가 애청하는 유튜버 중 한 명은 '런업'이다. (왜 갑자기 유튜버 이야기하냐구? 일단 읽어주세요) 적어도 내가 알기론 런업은 (돈이 크게 되지않는)브이로그 만들기를 좋아한다. 그리고 나는 그의 브이로그를 좋아한다. 하지만 먹고 살려면 (돈이 되는) 광고 영상을 만들어야한다. 그의 광고 콘텐츠는 주로 패션이다. 런업은 자..
조금 더 현실적인 문제해결을 위한 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..

반응형