온라인 강의 수강생들이 각자 만든 앱을 자발적으로 발표하고 공유하는 자리를 가졌다

Zoom을 통해서 진행했는데

평소에 소수 인원(3명)으로 zoom으로 공유하다가

연사가 5명, 참관자가 10명이상의 zoom 연결 상태에서 연사만 음소거가 아닌 상태로 발표하니

피드백이 채팅과 이모지(박수, 엄지척) 뿐이니 당황스럽더라

게다가 난 나름 대로 팬시해보일려고 노션으로 준비했는데(+ amplitude, simulator로 시연)

다른 분들은 발표자료가 화려 했다..나도 키노트나 ppt로 했어야 했나...

준비는 8-9분정도로 하려고 했으나 피드백 감지가 어렵다 보니 6:15초 정도에 후다닥 끝나버렸네

그래도 이 경험 자체는 기억할만해서 자료로 남긴다

 

<앱 주소>

https://itunes.apple.com/US/app/id1527099671

 

‎AntFootPrint Managing routines

‎"Easily manage what you don't want to miss every day Like a diligent ant leaving a footprint AntFootPrint helps to manage your routines easily You can select color and alarm sound when you make routines. * main functions. - add, modify, delete your rout

apps.apple.com

www.notion.so/zeno0320/1-c9e894bbb2e542cfababd47738043222

 

데모데이 - 1. 앱 간단하게 설명

앱 (앤트, AntFootPrint)

www.notion.so

 

by 무위자연 2020. 10. 18. 11:03

관련 문서 doc.qt.io/qt-5.14/qsqlquery.html#last

 

QSqlQuery Class | Qt SQL 5.14.2

QSqlQuery Class The QSqlQuery class provides a means of executing and manipulating SQL statements. More... Header: #include qmake: QT += sql Public Types Public Functions Detailed Description QSqlQuery encapsulates the functionality involved in creating, n

doc.qt.io

QSQlQuery는 결과를 return하면 해당 결과는 테이블 형태로 반환하게 된다.

간단하게 select해서 count를 보려면 다음과 같이 처리한다.

 
QSqlQuery fileQuery(LocalDB);
QString queryString = QString("SELECT count(*) FROM file_export where cid = %1 and ccid = %2 and programid = %3")
.arg(caseID).arg(caseItemID).arg(static_cast<int>(enumValue));
 
if (fileQuery.exec(queryString) == false)
return metaDataString;
 
int numberOfRows = 0;
if (fileQuery.next()) {//한번은 next를 해줘야 1번째 결과 행으로 이동한다.
numberOfRows = fileQuery.value(0).toInt();
}
else {
return metaDataString;
}
 

이 쿼리를 db 프로그램에서 select하면 다음과 같이 나오고 0번째가 그 값이 되기 때문이다.

by 무위자연 2020. 9. 23. 14:18

 

1. 구글 admob 이란? 

- 구글에서 제공하는 광고 플랫폼  https://admob.google.com/intl/ko/home/

 

Google AdMob: 모바일 앱 수익 창출

인앱 광고를 사용하여 모바일 앱에서 더 많은 수익을 창출하고, 사용이 간편한 도구를 통해 유용한 분석 정보를 얻고 앱을 성장시켜 보세요.

admob.google.com

admob의 이익

2. 시작하기

2-0. 구글 계정을  만든다.

2-1. 구글 admob에 가입을 한다.

2-2. 광고를 추가한다. 이 때 어떤 형태의 광고를 만들지 정하게 된다(배너, 전면 등) - 여기서는 배너로 추가한다.

2-3. 추가한 광고는 다음과 같이 확인이 가능하다.

 

3. SDK를 확인하고 app에 추가한다.

관련 문서 주소 :  https://developers.google.com/admob/ios/quick-start?hl=ko

 

시작하기  |  iOS  |  Google Developers

iOS 앱을 제작 중인 AdMob 게시자를 위한 모바일 광고 SDK입니다.

developers.google.com

3-1. 2번에서 추가한 광고 타입에 따른 코드를 확인한다. 여기서는 배너타입으로 확인할 예정이다.

https://developers.google.com/admob/ios/banner?hl=ko

 

배너 광고  |  iOS  |  Google Developers

배너 광고는 기기 화면의 상단이나 하단에 있는 앱의 레이아웃 안에 게재됩니다. 사용자가 앱과 상호작용하는 동안 배너가 화면에 표시되며, 일정 시간이 지나면 자동으로 새로 고침될 수 있습�

developers.google.com

3-2. app info list에 광고 정보를 추가한다.

https://developers.google.com/admob/ios/app-transport-security?hl=ko

 

앱 전송 보안  |  iOS  |  Google Developers

ATS(App Transport Security)는 iOS 9에서 도입된 개인정보 보호 기능입니다. 새 앱에서는 기본적으로 이 기능이 사용되며, 보안 연결이 적용됩니다. 이러한 변경에 따라 Xcode 7 이상으로 생성하고 ATS를 사

developers.google.com

3-3. 배너 View를 지정하고 다음과 같이 코드를 입력하면 배너가 로드가 된다.

4. 테스트하기

4-1. 정상적으로 배너가 로드 되는지 확인하기 위해서 test unitID를 입력해서 시뮬레이터에서 확인한다.

 > test mode가 뜨는 광고 배너가 보인다면 정상적으로 로드 테스트가 끝났다.

4-2. 2번에서 생성한 광고 단위의 unitID를 입력해서 시뮬레이터에서 확인한다.

- 시뮬레이터이므로 실제 광고 단위여도 test mode가 뜬다

4-3. 빌드 버전을 실제 단말에 연결해서 확인한다.

- test unitID로 보이는지 확인한다.

- 실제 unitID로는 보이지 않는다!!!

단, 다음과 같이 테스트 단말의 device id를 입력한 경우에만 보인다.

5. 실 광고 unitID를 넣어서 AppStore에 앱을 배포하고 수일을 기다린다.(2~3일?)

- 구글 admob 페이지에서 app store 연결하기를 통해서 사용된 app과 adbmob을 연결 시켜준다.

https://support.google.com/admob/answer/2773509?hl=ko

 

AdMob에서 앱 설정하기 - Google AdMob 고객센터

도움이 되었나요? 어떻게 하면 개선할 수 있을까요? 예아니요

support.google.com

- 몇 시간을 기다리면, 다음과 같이 admob이 하단에 보이게 된다.

by 무위자연 2020. 8. 31. 13:35

최종수정일 : 20-06-10(ver 1.0)

1. 현재 상황

배를 갈랐고 내부적으로 장기를 하나 빼낸 상태라 배가 땡기고 (특히 기침하면 ㅠㅠ)

체력이 많이 떨어졌지만.

서서히 회복중

현재로선 잘 먹고 하루하루를 열심히 사는 방법뿐

1-1. 앞으로는?

- 신세포암중에 대부분(90%)은 투명(clear) 세포타입이고 해당 부분에 대해서는 치료법이 많다

하지만 난 비투명(non-clear) 세포타입이라 극히 소수라 국내 주요 병원(서울대병원, 삼성서울병원) 기준 study가 불가능할 정도로 case가 없다고 한다.

2. 발견부터 수술까지

(발견이 어려웠던 이유)

- 크레아틴 수치 정상

- 혈뇨 없음

- 옆구리 통증이 하나도 없음(신장암 주 증상중 하나)

- 담배 안 핌

- 신장 90%가 암으로 커져 있지만 혹 형태가 아니라 신장 모양의 그대로 커진 상태라 초음파로는 알수가 없는 상황

(발견)

3.27 혈뇨(검붉은색)

4.13 혈뇨(검붉은색) - 혈뇨는 붉은색에 가까울수록 요도 근처의 상처이므로 가벼운 병이고 검은색이 섞여 있으면 신장 혹은 다른 안쪽 장기에서 발생한 피가 고였다가 나오는 것이므로 심각한 상황일수 있으니 병원을 가봐야 한다!!

4.13 - 회사 근처 내과 방문하여 소변 검사함

4.16 - 신장의 정상 유무를 확인하는 크레아틴 수치는 정상, 포함된 혈뇨는 0...

결과가 지극히 정상이지만 나이가 35세 이상이시니 CT로 확인하는 것이 좋다는 의사 의견으로 회사 근처 종합병원으로 전원함

4.23 - 종합병원 외래 진료 - CT 날짜 잡음

4.29 - CT 촬영함

5.6 - 해당 종합병원에서 오른쪽 신장암으로 추정되니 수술이 시급하다는 진단을 받음 - 멘탈 나감

(확인)

5.11 관리 받던 삼성서울병원으로 전원하여 신장내과에서 CT 재확인함 - 거의 신장암이 확실하니 빠르게 수술 진행하기로 함

5.13 비뇨의학과(구, 비뇨기과)에서 신장암 및 신장에서 나와서 대정맥으로 이어지는 부분에 전이 발생여부 확인하고 수술날짜를 6.22로 잠정 정하고 6.4로 변경 가능 여부를 타진하기로 함.

암을 확인하고 소변검사를 했지만 역시나 크레아틴 수치와 혈뇨가 0. 

5.18. 다행히 수술날짜가 6.22 > 6.4 > 5.25로 바뀌는 희소식이 생김

하지만 응급 상황 발생. 그동안 신장암 진전 상황에 비해서 혈뇨가 나오거나 이상 증세가 없었으나 이날 갑자기 혈뇨가 심하게 나오면서 복통발생. 입원해서 방광에 고이는 피를 뽑아내는 시술을 주로함

이미 망가진 신장에서 나오는 피라 수술을 앞두고 할 수 있는건 피가 안 고이게 하고 몸을 최대한 안 움직이는 방법밖에 없음

진짜 침대밖을 안 나가고 가만히 있음 ㅠㅠ

(수술)

오른쪽 신장 제거, 대정맥에 이어지는 부분에 전이된 부분 제거 - 외과적으로 모든 암세포는 제거함

PET에서 발견된 갑상선은 암 아니라고 판단함.

왼쪽 부신 부은 것도 암 전이가 아니라고 판단함 - 그래서 배를 반만 갈랐음. 배꼽에서 옆구리까지

-추가 : 적출한 신장을 분석해보니 신장암 3기말, 신세포암 중 비투명성세포 타입의 종양

3. 발견전까지의 상황(2020.3 이전)

2015.9 결혼전 건강검진을 full로 받았더니 다음의 문제점이 있었다

1) 위안에 혹 - 해마다 위내시경으로 확인중

2) 지방간 - 복부 초음파를 해마다 하는 중

3) 부어있는 왼쪽 부신 - 해마다 검사했으나 특이소견 없어서 2018.12.까지 확인함

즉, 계속 복부 주변을 확인하고 있었지만....

회사의 건강검진은 홀수해에 계속 하고 있었다. 다만 복부 CT는 따로 찍지는 않았다. 

4. 보험에 대한 각성?

설계를 하면서도 크게 와닿지 않았으나 막상 갑자기 큰 수술을 받게 되니

안타깝지만 그래도 버팀목이 되어 준다.

두개 보험으로 섭섭하지 않은 수준으로 받았다~

내 생각에 갑자기 월급 없이 3개월간 생활이 가능하면서 수술비 2천을 바로 사용가능한 수준의 자금력?이면 없어도 된다.

아니라면 들어두는 것이 못 받을 걱정보다 hoxy 발생한 큰 수술에 큰 도움이 된다~

by 무위자연 2020. 6. 10. 07:44
  • sunwoo 2020.06.19 23:02 ADDR EDIT/DEL REPLY

    빨갱이 수술은 잘 끝난거야? 먼 일이래..

https://pilgwon.github.io/blog/2017/09/26/RxSwift-By-Examples-1-The-Basics.html

 

예제로 시작하는 RxSwift #1 - 기초

RXSWIFT BY EXAMPLES #1 – THE BASICS.

pilgwon.github.io

필권님의 포스팅을 따라한 부분 정리하여 남깁니다.

Functional Reactive Programming - 반응형 프로그래밍을 함수형 프로그래밍 블록(filter, map, reduce 등)과 함께 사용하는 것

ReactiveX is a combination of the best ideas fromthe Observer pattern, the Iterator pattern, and functional programming

why?

  1. 테스트 하기 어려운 notification 대신에, 신호(signal)를 사용할 수 있습니다
  2. 많은 코드를 작성해야하는 delegate 대신에, 블록을 작성해서 switch와 if를 삭제할 수 있습니다.

스마트폰은 관찰이 가능(observable) 합니다. 스마트폰은 페이스북 알림, 메세지, 스냅챗 알림 등과 같이 신호(signal)를 방출 합니다. 우리는 자연적으로 스마트폰을 구독(subscribe)하고 있고, 모든 알림을 홈 스크린에서 확인할 수 있습니다. 이제 그 신호(signal) 로 무엇을 할 지 정할 수 있습니다. 우리는 관찰자 (observer) 입니다.

따라하면서 만든 깃 - https://github.com/zapping0320/RxTable

덧> debounce? vs throttle?

* debounce는 마지막 이벤트를 초기화하는 다음 이벤트가 발생하지 않으면(T)그 마지막 이벤트가 전달되는 방식

* throttle은 이벤트가 발생하면 전달?하고 T만큼 지나는 사이에 발생한 마지막 이벤트를 전달

 

by 무위자연 2020. 4. 21. 08:51

MLinkerDemoAppliedTemplateForRelease.pdf
1.20MB

MLinker라는 ios app을 만들게 된 https://github.com/zapping0320/MLinker

#1 시작은

ios app을 만들고 싶었고

회사에 모바일 개발 능력을 보여주고 제안도 해보고 싶었다.

#2 여러 고민 끝에

firebase를 공부해보고 채팅앱으로 만들기로 결정

#3 관련 스터디를 진행하고

기본적인 기능 정리와 구현을 진행했고

#4 사내 디자이너분에게 사적으로 소정의 금액과 취지를 설명해서

디자인 검수를 받았다.

디자인 검수를 받으면서 생각해보지 않은 layout 혹은 기능을 위해서 공부를 추가로 하는 긍정적인 요소가 있었고

혼자 개발하면서 보이지 않았던 불편함이나 버그도 수정할 기회도 생겼다.

#5 프로젝트 마무리는

코드 정리 및 사내 발표(20.2.18)로 마무리하였다.

진행하면서 모바일 앱 개발의 가능성도 타진해보고 요구도 해봤지만 멀었다는 반응뿐이라 아쉽지만 제안까지가 목표였으니 감내 할 수 있다.

#얻은 것

-스토리보드를 이용한 기본앱 개발에 대한 지식은 습득했음을 확인함. 디자인 시간을 받아서 처리하는 경험도 해봄-기존 ios앱 개발은 대충 개발자들끼리 맞춘게 것이 다였음(swift든, objectiveC든)

-계속 ios app이 재미 있을 것 같아서 안드로이드는 안 쳐다봐야지 하는 마음?

by 무위자연 2020. 3. 2. 09:28

#1 QT와 C++의 심화 과정

회사내 프로그램 개발을 열심히 한 결과...

#2 토이프로젝트의 생활화 - 내년에는 안드도 이해하는 ios개발자를 목표로~

작년 기간 대비 git 커밋수나 신규 프로젝트(firebase를 이용한 채팅 프로그램)

https://github.com/zapping0320?tab=overview&from=2019-01-01&to=2019-12-31

 

zapping0320 - Overview

I'm mainly developing Windows application by QT. But I'm preparing developing iOS - zapping0320

github.com

#3 인강 현황은.

[인프런]에센스만 담은 하울의 코틀린 안드로이드(진행중)

fin

[인프런]iOS12 앱개발퍼펙트 가이드

[인프런]자바 스크립트로 알아보는 함수형 프로그래밍

[인프런]firebase 서버를 통한 채팅앱 만들기

#4 블로그 포스팅은..

3개 정도이네...내년에는 조금 더 분발해야지

 

by 무위자연 2019. 12. 26. 08:43

기록으로 남기기 위해서.

int value = 300;

int usedStorage = 9267822;//단위 MB

int totalStorage = 29284517;//단위 MB

MVS2015 / QT5에서 하기 수식을 수행하면,

int result = ceil(value * usedStorage / totalStorage);// ERROR : -51

원하는 result를 얻으려면,

각각을 일정 값 이하로 줄인 다음에 비율을 구한다.

int temp_value = usedStorage / 1024;

int temp_storage = totalStorage / 1024;

result = ceil(value * temp_value / temp_storage);//8 !!!!!

by 무위자연 2019. 7. 4. 14:22

다음 데이터를 조건에 의해서 기대 결과로 나오게 하는 쿼리

데이터 : 1, 2, 2, 3, 3, 4, 5, 5, 5

기대 결과 : 5, 1,2, 2, 3, 3, 4

#1 union all을 쓰는 방법

select * from tableA where itemid = 3605255 and name like '%.exe' group by type

UNION ALL

select * from tableA where itemid = 3605255 and isHidden != 1 and name not like '%.exe';

UNION ALL 관련 페이지 : http://intomysql.blogspot.com/2011/01/union-union-all.html

 

UNION과 UNION ALL 의 차이 및 주의 사항

ANSI SQL에서 제안하는 집합 연산 "UNION", "INTERSECT", "MINUS" 중에서 MySQL에서는 UNION 집합 연산만 제공 하고 있다. (하지만 MySQL에서 INTERSECT나 MINUS를 다른 형태의 쿼리로 풀어서 사용할 수 ...

intomysql.blogspot.com

19.5.14 추가사항

#1-1union 이 포함된 쿼리문에 정렬을 넣으려고 할 때

a. union 각 쿼리에 정렬을 한 다음에 합치는 방법

Select * from ( %1) UNION ALL Select * from ( %2 )

%1, %2가 각 정렬이 적용된 쿼리를 넣어서 사용한다.

b. union으로 합친 결과 물에 정렬을 적용하는 방법

Select * from (%1 UNION ALL %2 ) %3

%3에 "order by ..."을 적용한다.

 

 

#2 sqlite의 rowid를 사용하는 방법

select * from ( SELECT name, CASE when name like '%.exe' THEN 0 ELSE ROWID END id FROM tableA where itemid = 3605255 )x group by x.id order by x.id ASC;

오라클은 가상의 sequencial한 id가 존재하고 이것으로 정렬 등에 사용한다.

sqlite도 유사하게 rowid란 가상의 sequencail한 id가 있어서 사용할 수 있다.

rowid 개념 관련 글 : https://ohgyun.com/698 

 

sqlite: limit (오라클의 rownum 기능)

발생일: 2015.12.29 키워드: sqlite3, limit, oracle rownum 문제: sqllite 에서 오라클에서 제공하는 rownum 기능은 뭘까? 해결책: SQLite는 limit라는 기능을 제공한다. SELECT COL1, COL2 FROM TAB01 ORDER BY..

ohgyun.com

 

by 무위자연 2019. 5. 9. 14:18

김제동

19.4.17~5.2

상식적인 사회

그래서 우리가 행복지는 것에 대해서 이야기하자는 거다

헌법이 누구나 이야기할 수 있었으면 좋겠다

누가 누구를 비난하고 공격하고자하는 이야기가 아니다

국민이라면 누구나 당연히 받아야하는 권리를 보호하기 위한 것이다.

안 지켜지는 것도 있지만 최소한 방향 제시는 하고 있다

아는 만큼 더 보이지만 따뜻한 이야기다.

특정인에 대한 추모도 있고 어떤 단체나 사람에겐 비난 보단 가벼운 비판도 있다

 

http://www.yes24.com/Product/Goods/63691247?scode=032&OzSrank=1

by 무위자연 2019. 5. 3. 08:16