본문 바로가기

분류 전체보기163

[Redshift] DBeaver에서 프로시저 만들기 오늘은 Redshift에서 프로시저를 만드는 쿼리문에 대해 소개한다. 프로시저(procedure)란, DB에서 일어나는 일련의 작업을 정리한 절차를 쿼리로 작성하여 관계형 데이터베이스(RDBS) 시스템에 정리한 것을 이야기한다. 그래서 '프로시저를 돌린다' 라는 것은 프로시저를 call 하여 어떤 동작을 일괄적으로 처리하는 것을 의미한다. 굉장히 편리한 기능! 나는 AWS Redshift를 사용하고 있어 이에 따른 프로시저문을 쓰는데, postgresql에도 동일하게 적용되니 참고하자. 또한 DB를 다루는 툴로는 DBeaver를 사용하고 있다. DBeaver에서 프로시저를 만들 때의 절차는 다음과 같다. 1. script에 프로시저문을 입력한 후, 전체선택 (ctrl+A) → alt+X 눌러 프로시저문 .. 2024. 2. 29.
[Python Crawling] 크롤링 웹사이트 밑으로 내리기 - window height, scrollheight 저번 포스팅에서는 네이버 쇼핑 페이지에서 '샤인머스캣'을 검색한 후, 해당 페이지에 있는 판매자 정보를 크롤링해보았다. 하지만 저번에 했던 방법에서 보완할 부분이 있었는데, 그것은 바로 전체 페이지에 나온 상품이 전부 크롤링되지 않는다는 점이었다. 위 이미지는 내가 크롤링하려고 하는 화면이다. 자세히 보면, 검색 결과를 "40개씩 보기"로 필터링을 해 두었기에 한 화면에 상품이 40개씩 나오지만 저번 포스팅에서 만든 코드를 돌려 보면 5개의 상품만이 뽑혔다. 2024. 2. 29.
[Python Crawling] 네이버 쇼핑 검색결과 크롤링하기 (3) - 네이버 API 활용하기 저번 포스팅까지는 네이버 쇼핑 검색결과를 Selenium, Beautifulsoup 라는 파이썬 패키지를 활용하여 크롤링하였다. 이렇게 크롤링한 결과도 꽤 괜찮았지만, 여기엔 3가지 문제가 있었다. 첫번째, 중간에 안 긁어지는 부분이 있다. ➡️ 검색결과 로딩이 느려 안 긁어와지는 부분은, 페이지를 맨 끝까지 내리는 방법으로(관련 포스팅) 해결하였다. 그러나 이 외에도 검색결과를 많이 수집하는 경우(검색 결과 페이지를 5페이지 이상) 중간에 안 긁히는 부분이 발견되었다. 두번째, 이미지를 긁어오기 어렵다. 마지막으로, 많은 양을 크롤링하는 경우 시간이 많이 걸린다. 그래서 이번 장에서는 네이버 개발자센터에서 제공하는 네이버 API를 활용하는 방법을 포스팅한다. 앞서 이야기한 3가지 방법을 이 방법으론 전.. 2024. 2. 29.
온전한 내 인생을 찾는 여정, <사는 이유>를 읽고 이 책은 장인성의 에세이로, 그가 산(buy) 것들을 바탕으로 그가 사는(live) 이유를 재미있게 풀어낸 책이다. 읽으면서 이런저런 여러 생각을 하게 할 만큼 인사이트가 풍부한 책. 에세이인데도 읽는 사람의 생각을 변화시킬 수 있다니 역시 브랜딩 마케터답다. (브랜딩 마케터는 브랜드에 대한 생각을 변화시키는 일을 하니까!) 특히 내가 소비하는 것들 —먹는 거, 입는 거, 쓰는 거, 읽는 거, 나의 공간 등—이 나를 가장 잘 나타내는 것들이라는 점을 이 책에서 잘 보여준다. 오늘의 내가 어떤 생각을 하고, 어떤 루틴을 갖고, 이렇게 행동하는 것은 나의 외부 환경 때문이다. 그 환경은 다른 사람의 말, 누군가가 쓴 책, 나에게 어떤 느낌을 불러일으키는 공간 등으로부터 온다. 사는 이유 - 장인성 지음, 북.. 2024. 2. 10.
나를 가장 잘 보여주는 것은 '나의 공간' <잘되는 집들의 비밀> 나는 심심할 때마다 알라딘에 들어가서 책을 구경하는 습관이 있다. 이 책도 그렇게 구경하다 책 제목에 이끌려 읽게 된 책. 작년 5월부터 ‘미니멀 라이프’에 대해 접하게 되면서, 적게 소유하는 삶에 매력을 느꼈고 올해가 끝나가는 지금까지도 내게 필요한 최소한의 물건만 가지려 노력하고 불필요한 물건은 당근마켓에 내놓는 삶을 실천 중이다. 이렇게 내가 미니멀 라이프에 관심을 갖게 된 것은 “나는 단순하게 살기로 했다”는 책을 읽으면서부터였는데, 아직도 이 책을 처음 만났을 때 홀린 것처럼 이 책을 열심히 읽었던 게 생각난다. 아무튼, 이전부터 이런 류의 책을 몇 권 접해봤고 실제로 실천에도 옮겼기 때문에 사실 이 책 “잘되는 집들의 비밀”도 비슷한 내용이라 큰 감흥이 없었던 것 같다. 하지만 정리를 어떻게 .. 2024. 1. 16.
인간관계가 힘들 때, 있는 그대로 인정하는 것의 힘 <너는 나에게 상처를 줄 수 없다> 이 책은 12월 독서모임 책이라 읽게 되었다. ‘인간관계’ 에 대해 어려움을 겪는 것은 누구나 흔하게 겪는 일이고, 또 어렸을 때부터 노년이 되어서까지 고민하는 일이기에 언제나 인간관계는 중요하다. 나의 경우 학창시절 숱하게 겪었던 인간관계 고민을, 직장인이 된 지금은 회사에서 인간관계 스트레스를 겪고 있다(가까운 동료부터, 다른 부서 사람들에 이르기까지). 작년에는 너무 스트레스가 심한 나머지 상사와 친한 동료들에게 한 팀원으로 인해 고통받고 있다고 도움을 요청하기도 했었다. 그 팀원과 나를 업무적으로 분리시켜 달라는 나의 요청이 받아들여진 것은 아니었지만, 지금은 그럭저럭 지내고 있다. 그 사람을 바꿀 수 없기에 그 사람을 바라보는 나의 마음을 바꾸는 방법을 선택했다. 이 책을 읽으면서 지속적으로 고.. 2024. 1. 12.
<도파민네이션>, 넘치는 쾌락 시대 속에서 '중독'에서 벗어나는 방법 이 책은 작년 11월의 독서모임 책이라 읽게 되었다. 이번 책은 읽으면서 시간이 좀 걸렸는데, 읽고 싶은 책이 워낙 많다보니(ㅎㅎ) 여러 가지 책을 이것저것 골라가며 읽다가 다 읽기까지는 한달 정도 걸린 것 같다. 그런 이유뿐만 아니라 책 자체가 실험이나 연구적인 내용이 많아서 살짝 따분하기도 했으나, 책을 다 읽고 나서는 ‘도파민 중독’의 원리와 해결법에 대해서 더 깊게 알게 된 것 같아서 좋았다. 최근 ‘도파민’ 은 정말 큰 화제인 것 같다. 마약 유통이 활성화되면서 일반인들에게서도 마약을 하는 범죄들이 일어나고, SNS의 발달로 거짓된 자신의 모습을 보여주는 사람도 정말 많아졌다. 뿐만 아니라 명품 소비, 과시 소비를 많이 하는 등 정말 ‘쾌락주의’가 넘치는 시대라고 볼 수밖에 없는 요즘이다. 나는.. 2024. 1. 10.
[Airflow] DAG에 스케줄 거는 방법 (DAG schedule_interval Setting) 데이터 엔지니어링에서 자동화 배치를 만들기 위해 Airflow를 자주 사용한다. 하나의 배치를 DAG이라 하는데, 배치를 만들면 당연히 자동적으로 수행하게 만들어야 한다. 이번 포스팅에선 dag을 자동적으로 실행하기 위해 스케쥴을 거는 방법을 살펴보자. 보통 DAG에 스케쥴을 거는 데에는 다음의 코드를 사용한다. 어떤 의미인지 하나씩 알아보자. with DAG(dag_id=DAG_ID, default_args=args, start_date=datetime(2021, 1, 1, 0, 0, 0), schedule_interval="0 0 * * *", catchup=False ) as dag: start_date: DAG의 시작 지점 execution_date: 해당 Task가 실행하고자 하는 Time wi.. 2024. 1. 8.
조금 늦은 2023년 회고와 2024년을 맞이하며 쓰는 글 정말 오랫만에 이렇게 블로그 포스팅을 하기 위해 자리에 앉았다. 오늘은 2024년 1월 7일로, 2024년이 시작된지도 이미 일주일이 지났다. 사실 2023년 회고 및 2024년에 어떤 것들을 다짐했는가는 나의 개인 노션에는 이미 적어두었지만, 연말연초라 다른 약속도 많고 해서 진득하게 자리에 앉아 있을 시간이 없어서 블로그에는 오랫만에 글을 남기고 있다. (그렇다 다 핑계다...ㅎ.. 올해는 블로그 포스팅도 꾸준히 하는 게 나의 2024년 목표기도 하다!) 사진처럼 오늘은 중구에 있는 한 카페에서 이 글을 쓰고 있다. 버터프레첼과 카페라떼를 시켜서 먹고 있는데 꽤 맛있다. 그리고 카페의 분위기가 잔잔해서 여유로운 일요일을 보내기에 딱인 장소였다. (사람이 많다는 건 안비밀) 2023년(벌써 작년)에 남.. 2024. 1. 7.
'무의식'을 통해 바라보는 멋진 세계, <해변의 카프카(상)> ‘노르웨이의 숲(상실의 시대)’ 로 처음 하루키를 만났는데, 두 번째로 만나게 된 작품이다. 하루키는 여러 베스트셀러를 냈지만 그 중에서도 이 ‘해변의 카프카’가 21세기의 세계문학이라 불러도 좋을 만큼 많은 사람들에게 의미를 준 소설이라고 하여 읽게 되었다. 책 제목부터가 ‘해변의 카프카’ 이기 때문에 카프카가 해변에서 겪었던 일에 대한 이야기 같지만, 그런 이야기는 아니고 이름조차 누군지 제대로 알 수 없는 15세 소년의 가출 일기 느낌이다. 소설의 첫 시작부터 그는 누군지 알 수 없는, 자신의 무의식 속에서 존재하는 ‘까마귀 소년’과 이야기를 나누며 가출을 서서히 준비하고, 누구도 자신을 찾지 못할, 한 번도 가보지 않은 다카마쓰로 향하게 된다. 그리고 거기서 처음 만나는 사람들에게 자신을 소개할 .. 2023. 12. 1.