Cards you may also be interested in
강제 종료 막기~
스마트메이커를 이용하여 앱을 만들긴 했는데.. 안드로이드 폰에서 뒤로가기를 실행하면 앱에서 쓰~윽 나가버리는 바람에 다시 들어가고.. 를 반복하다가 이를 코딩으로 제어하기로 마음 먹었다. 구현됐을 때의 성취감은 이루말할 수 없을 정도였다. 1. 입력란을 하나 만든다 2. 업무규칙에 폼이 시작하면 입력란에 “N”을 대입한다. 문구를 넣는다. 3. 업무규칙에 이런 함수를 하나 더 넣는다.- 이후 컴파일한다.(F11) 문단 앱종료막기 { 이 문장("학습노트를 종료하시겠습니까?")을 화면에 표시한다.('예아니오','질문') 응답결과가 '예'이면 다음 문단을 실행한다. { 파일복사("/smartlauncher/.project/SS/DEV_DB", "/smartlauncher/.project/DEV_DB") 를 실행한다. 파일복사("/smartlauncher/.project/SS/CN/DEV_DB-journal", "/smartlauncher/.project/DEV_DB-journal")를 실행한다. 입력란에 ""를 대입한다. 폼을 종료한다. } } 4. 진행관리자에서 다음과 같이 입력하고 저장한다. 5. 문제점.. 이런식으로 정해놓으면 이 폼을 닫을 때 마다 (부모폼으로 닫던, 자체적으로 닫던 항상 위의 메시지가 나오게 된다. 메시지 없이 닫고 싶으면 버튼5을 누르면 다음 문단을 실행한다. { 입력란에 ""를 대입한다. 버튼4의 상세폼보기를 실행한다. } 이와 같이 입력란에 엉뚱한 값을 넣으면 다른 폼을 열면서 부모폼을 닫게 될 때 아무런 메시지 없이 닫을 수 있게 된다.
촉수로 가득찬 '이 동물'은 누구일까? 바로!
먹이를 갈기갈기 찢을 듯한 뾰족한 돌기가 입천장과 혓바닥에 가득 차 있습니다.  마치 공포 괴수 영화에나 나올 법한 구조인데요. 과연 어떤 동물일까? 바로 바다거북입니다. 바다거북은 잡식성으로 가끔 동물성 먹이를 잡아먹기도 하지만 주로 해조류를 먹습니다. 돌기는 먹이를 씹는 것과는 전혀 무관하죠! 그렇다면 입안이 왜 뾰족한 돌기로 나 있을까? 자세히 보면 바다거북의 돌기는 역방향인 안쪽을 향해 나 있습니다. 이 돌기들이 존재하는 이유는 한번 먹은 먹이를 밖으로 다시 내뱉지 않기 위해서입니다. 바다거북은 먹이를 먹을 때 많은 양의 바닷물도 함께 삼키게 되는데요. 생선들은 아가미를 통해 입안으로 들어온 바닷물을 바로 배출시키지만, 바다거북은 그럴 수가 없습니다. 바다거북은 삼킨 바닷물을 바깥으로 다시 배출하기 위해 토해냅니다. 이때 수많은 돌기는 바다거북이 바닷물을 토해내는 과정에서 힘들게 잡아먹은 먹이가 입 밖으로 다시 빠져나가지 않게 하는 역할을 합니다. 위 사진은 바다거북이 삼킨 바닷물을 다시 토해낸 사진입니다. 마치 피를 토한 것처럼 보이지만, 아픈 것도 다친 것도 아니니 걱정하지 않아도 됩니다. 지극히 건강하고 정상적인 현상이죠. 즉, 돌기는 아가미가 없는 바다거북이 생존하는 데 꼭 필요한 요소입니다.  그러나 오늘날에도 그럴 것인지는 좀 더 두고 볼 일입니다. 우리가 바다에 버린 플라스틱, 비닐봉지 등의 쓰레기를 삼킨 바다거북이를 죽어가고 있습니다. 수억 년 동안 보지 못했던 인공 쓰레기들이 바다를 가득 채우고 있고, 이 새로운 환경 속에서 돌기는 오히려 바다거북의 생명을 위협하고 있습니다. 우리가 쓰레기를 절대 바다에 버려서 안 되는 이유입니다. 위 사진과 일러스트 자료는 생물학자인 헬렌 카이로가 만든 삽화 시리즈로, 야생동물을 보호하고 보존하기 위해 만들었습니다. 그는 "동물을 보호하자고 무작정 외치는 것보다는 보존하려는 동물에 대한 호기심을 갖는 게 근본적인 대책"이라고 말합니다. 에디터 제임수  ggori.story@gmail.com 꼬리스토리가 들려주는 동물 이야기!
스마트메이커로 자료 백업 및 복원하기
DB테이블을 관리하는 자료는 자료의 보관과 복원하는 것이 중요합니다. 많은 데이터가 모아지게 되면 더욱 자료 백업의 중요성은 커지게 마련입니다. 스마트메이커로 자료를 어떻게 백업하고 복원하는지 알아보겠습니다. 간단한 파일복사와 삭제 등의 업무규칙만으로 구현이 가능합니다. 먼저 아래와 같은 폼이 하나 필요합니다. 자료를 백업하고 복원하는 버튼을 만들어 줍니다. 그리고 업무규칙에서 백업버튼을 클릭했을 때, 복구버튼을 클릭했을 때 다음과 같이 코딩하면 됩니다. 백업은 SS폴더에 있는 DB테이블을 한단계 위인 project에 복사합니다. (SS폴더는 프로그램의 첫번째 보여지는 폼파일명입니다. 자동으로 폴더가 생성됩니다.) 그리고 복원할 때는 백업한 자료를 원래 위치에 복원하게 됩니다. 이때 주의할 점은 백업할 때 이름을 달리해도 됩니다. 여러개의 앱을 개발할 때는 같은 이름이 중복될 수 있으므로 이름을 달리하여 복사한 후 복원할 때만 제대로 된 이름으로 해 주면 됩니다. 업버튼을 누르면 다음 문단을 실행한다. { 파일복사("/smartlauncher/.project/SS/DEV_DB", "/smartlauncher/.project/DEV_DB")를 실행한다. 파일복사("/smartlauncher/.project/SS/DEV_DB-journal", "/smartlauncher/.project/DEV_DB-journal")를 실행한다. } 복원버튼을 누르면 다음 문단을 실행한다. { 이 문장("백업된 자료를 복원하시겠습니까?\n백업되지 않은 자료는 복구되지 않습니다.")을 화면에 표시한다.('예아니오','질문') 응답결과가 '예'이면 다음 문단을 실행한다. { 파일삭제("/smartlauncher/.project/SS/DEV_DB")를 실행한다. 파일삭제("/smartlauncher/.project/SS/DEV_DB-journal")를 실행한다. 파일복사("/smartlauncher/.project/DEV_DB", "/smartlauncher/.project/SS/DEV_DB")를 실행한다. 파일복사("/smartlauncher/.project/DEV_DBjournal", "/smartlauncher/.project/SS/DEV_DBjournal")를 실행한다. } } 이와 같이 스마트메이커는 자연어 방식으로 코딩하기 때문이 기존의 코딩사용자에게는 좀 낮설수도 있습니다. 그러나 익숙해지면 아주 친숙하게 코딩을 할 수 있습니다.
1
Comment
2