데이터의 소스를 찾아서

Today I Learned 날짜 2024년 2월 27일 화요일 내용 Underscore(_) 기존의 코드들을 살펴보다가 한 가지를 발견했다. def test(): 와 def _test(): 의 차이는 무엇인가? 어떤 함수들은 정의 앞에 밑줄이 그어져 있었다. 저번에 한번 봤을 떈 오타겠거니 넘어갔는데 그런 함수가 많다! 관련된 부분을 찾아봤다. 클린 아키텍처나 클린코드 등의 책을 읽으면 수 없이 많이 나오는 이야기지만, 정의된 함수를 다른 곳에서 알 수 있게 할 것인가 말 것인가는 중요한 고민이다. 이에 대한 정답은 아직 나도 공부중이라 답변은 힘들고.. javascript에는 public, private, protected 등 접근을 제어하는 설정들이 존재한다. 반면 이 개념이 python에는 없다. 대신 표시하기 위해 관습적으로 _나 __(2개)를 사용한다. 1개인 def _test(): 는 내부적으로 사용되는 것이라 는 뜻이고, 2개는 클래스 내부에서만 사용되는 메서드나 속성에 사용된다. 결론은 여기 말고 다른곳에서 쓰지말라는 뜻. ...

2024년 2월 27일 · 2 분 · 배준수

데이터베이스 구조 고민과 Shopify App proxy

Today I Learned 날짜 2024년 2월 26일 월요일 내용 기존 로직 파악 다음 스프린트 때 구현할 기능들에 대해 코드 초안을 작성하고 있다. 기존에 구현되어 있는 방식을 이해하지 못해 막혀있는 부분과 작성했지만 개선해야 할 부분을 회의를 통해 알게 되었다. 고객의 스토어에 표시할 위젯을 Shopify theme asset에 저장할 수 도 있다. 하지만 이 때 위젯을 가지고 있는 것은 shopify가 된다. 우리 서비스에서 제공하고, 수정 및 변경이 원활하기 위해선 우리가 가지고 있는 것이 바람직하다. 우리 서비스를 설치한 스토어는 테마를 수정하는 에디터에서 앱 블록을 추가할 수 있다. 앱 블록에는 스크립트가 작성되어 있는데, “어떤 위젯이 필요하니 app proxy를 이용해 알파리뷰 서버의 특정 endpoint로 요청하라”고 적혀있다. 우리 서버는 해당 요청을 받으면 이에 맞는 위젯 HTML에 알맞은 데이터를 추가하여 보내준다. 데이터까지 입력된 완성된 HTML을 보내주는 것이다. 앱 블록은 받은 것을 출력하면 된다. ...

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