뒤로
정지환
·
오마이앱 공부 히스토리
안녕하세요. 비상에서 오마이앱 스터디를 담당하고 있는 정지환입니다!
개인적으로도 오마이앱을 배우고 있기에 공부한 내용을 정리해서 올리면 저도 공부가 되고 여러분들도 공부하는 데 도움이 될 거라는 생각에 앞으로 꾸준히 내용을 정리해서 업로드하고자 합니다.
어제, 무려 일요일에! 바쁜 일정 와중에도!! 질의응답에 응해주신 오마이앱의 열정에 놀랐고 더 열심히 해야겠다고 다짐했습니다. '3시간이 넘는 시간' 할애해 주신 김동준 개발자님께 감사의 말씀드리면서 내용 정리 들어가도록 하겠습니다.
총 8가지 토픽으로 질의응답이 진행되었고 그중 중요한 5가지에 대해서 공유드리고자 합니다.
- chain
- 체인은 send블럭과 receive로 구성되어 있습니다.
- send블럭에서 신호를 보내고 receive가 신호를 받으면 작동되는 구조입니다.
- 이때 보내는 신호 값을 'key'라고 부릅니다. 그래서 이 'key'값은 중복되지않게 정의해주어야 합니다.
- chain의 활용도는 무궁무진하다고 생각하기에 많이 활용해보고 따로 정리한 글을 올리도록 하겠습니다.
- inputData
- inputData는 입력 중인 데이터라는 뜻을 가지고 있습니다.
- 'edit, create'등의 [action]에서 사용됩니다.
- 데이터를 수정 또는 등록하기 위해 입력한 값이 [inputData.id명]에 들어가는 거고 [upsert]등으로 등록해주면 [document]에(=DB에) 값이 저장되는 것입니다.
- inputData는 새 창을 띄울 때마다 값이 초기화 됩니다.
- preDocument
- preDocument는 '직전 데이터'를 일컬으며 정확하게는 '직전 row 데이터' 를 지칭합니다. (-> 이에 대해서는 'document'에 대한 이해가 필요하고 관련 내용을 따로 정리해서 올리겠습니다.)
- ref
- ref는 특정 [collection] 값을 참조하는 것 입니다.
- 예를들어 이미 [유저정보 collection]을 만들어두었는데 [다른 collection]에서 또 그것과 관련된 유저정보를 저장할 필요는 없다는 것입니다.
- 또한 ref는 참조했을 때의 값만 불러오기 때문에 참조한 데이터의 정보가 달라진다면 따로 업데이트를 해주어야합니다. 이는 [eventFlow]로 구현할 수 있습니다.
- today? 시간연산
- 오마이앱의 시간은 [date/datetime]레고로 표현할 수 있습니다.
- 이때 특정기간동안 특정 동작을 수행하도록 설정하려면 [value]값을 주어서 시간연산이 가능합니다.
- 예를들어 게시글을 올린 후 3일동안 'new'를 표시하고 싶다면 [value]값에 [day]의 값을 '-3'주면 됩니다. 왜 -3인지는 다음 그림을 보면 이해가 빠를 겁니다.
- (지금 펜이 없는 관계로 그림판으로 그렸습니다. 다음에 더 깔끔하게 정리하겠습니다.) 기준 값은 '작성시간'이 되고 설정한 [value]값은 '현재 시간'기준으로 연산됩니다. 그래서 수평선상의 시간흐름에서 갈수록 기준 값이 '현재 시간 기준 -3 값'에 도달하게 되고 그것을 초과하는 순간 조건이 무너저 실행되지 않습니다.
- 즉, 3일이 지난 게시글에는 'new'마크가 사라지는 것이죠.
다소 정제되지 않았으나 이 부분을 토대로 누구나 쉽게 이해할 수 있도록 점점 develop해나가겠습니다. 감사합니다 :)
비상(SOAR)
그룹의 글
12
댓글
로그인 후 댓글을 남길 수 있습니다.
오 오마이앱 심화 내용이군요!!
맞아요! 지금은 제가 공부하는 내용 정리했구 앞으로는 차근차근 쉬운 개념부터 정리 해나가려구요😁
오~ 지환님 이걸인다고요??
안다고요?
동준님이 많이 고생해주셨습니다 ㅋㅋㅋㅋ 앞으로 더 많이 배워가려구요!
지환님, 대단!👍 4월에 오마이앱이 더 쉬워지는 업데이트 있으니 기대해 주세요. 😆
이제야 봤네요!! 이번 업데이트 정말 최고에요..👍 앞으로 얼마나 더 개선될지 기대됩니다!
제가 말씀드린 것을 지환님이 이해하신 것을 바탕으로 깔끔하게 잘 정리하신것 같네요 :) 앞으로 어떤 개념을 지환님의 방식대로 소화하셔서 글을 작성해나가실지 궁금하고 기대가됩니다 😉
라는 큰 포부가 있었는데 일정관리에 실패해서 좀 미뤄지게 됐습니다.. 곧 스터디 시작하면서 내용정리되는대로 다시 포스팅 하겠습니다!~