2020년 2월 12일 수요일

Corona Board 어플리케이션은 개인정보보호 방침

Corona Board 어플리케이션은 개인정보보호법에 따라 이용자들의 개인정보 보호 및 권익을 보호하고자 다음과 같은 처리방침을 두고 있습니다.

당사는 개인정보처리방침을 개정하는 경우 앱 화면 및 웹사이트 공지사항을 통하여 공지할 것입니다.

1.개인정보의 처리 목적 : 
본 어플리케이션은 개인정보를 수집하지 않는 독립 실행형 어플리케이션으로 별도의 서버를 운영하거나 정보를 수집하지 않습니다.
당사는 Firebase 서비스 기능을 이용하기 위한 특정 개인과 직접적인 관련이 없는, 개인식별이 불가능한 정보를 수집할 수 있습니다.
당사에서 개인정보를 별도로 저장하거나 이용하지 않습니다. 

2. 개인정보 파일 현황
당사는 별도의 개인정보 파일을 사용하지 않으며 저장하지도 않습니다.
당사는 쿠기를 저장하지 않으며 이용하지 않습니다.
단, 스토어 서비스가 이용하는 정보 및 광고서비스가 이용하는 정보는 해당 서비스의 SDK를 거쳐 이용하게 됩니다. 이는 당사에 저장되는 정보가 아닙니다.
이용자가 이에 대해 의문이 있다면 해당 서비스(구글)로 직접 연락해야 합니다.

3. 개인정보의 처리 및 보유기간
당사는 개인정보를 직접적으로 저장하거나 보유하지 않습니다. 
따라서 당사는 이용자의 개인정보를 처리하는 내용도 보유기간도 없습니다.

4.개인정보의 제3자 제공에 관한 사항
당사는 개인정보를 제3자에게 제공하지 않고 있습니다.

5.개인정보처리 위탁.
당사는 개인정보를 위탁하고 있지않습니다.

6.정보주체의 권리, 의무 및 그 행사방법
이용자는 개인정보주체로서 권리 행사할 수 있습니다.
1) 개인정보 열람요구
2) 오류 등이 있을 경우 정정 요구
3) 삭제요구
4) 처리 정지 요구

당사는 개인정보를 저장하거나 위탁하지 않습니다.

- 이메일 : herpod@gmail.com

2019년 10월 7일 월요일

[스프링] 클라 개발자의 스프링 삽질기...

# 나는 뭘했지?
1. 남들 자바 할때 C/C++만 하면 된다는 말을 철썩같이 믿고, C/C++만 파다 실무는 Win32개발로 시작.
2. Win32 + OpenGL 어플 개발
3. 리눅스도 안돌아가는.. OS 도 없는 임베디드 소프트웨어 개발
4. 안드로이드 개발로 전향 Java
5. 아이폰 개발로 전향 Objective-C -> Swift
6. 잠깐 다시 안드로이드 feat. Kotlin
7. 다시 아이폰 개발.

# 참고 서적
  1. 토비의 스프링 3
    그래도 굴러먹은 짬밥은 있어서 초반의 설명을 이해하는데는 큰 어려움이 없었음.
    다만, 이렇게까지 해야 되나? 하는 의문은 있었지만....

2.코드로 배우는 스프링 웹 프로젝트
   우선 MySql이 유료로 바뀌면서 회원 가입을 해야 설치가 됨.
   교재는 MySql로 되어 있었는데... 우선 PostgreSQL이란 걸로 설치 해봄
   내가 받은 스프링 개발 도구는 4.x 대 버전이었는데, 책은 3기준.
   예제 생성을 위해서는 New>Spring Legacy Project 메뉴가 있어야 하는데 없음...
   -> Eclipse Marketplace 에서 sts로 검색하여 Spring tools 3 Add-On 을 설치한다.
https://marketplace.eclipse.org/content/spring-tools-3-add-spring-tools-4#group-details
   -> 더럽게 오래 걸리는데다, 중간에 몇번 실패함... 결국 성공
   -> File > New 에 바로 표시 되는게 아니고, File > New > Project... > Spring 에 보임
   ex00 프로젝트를 생성하자 마자, 바로 에러 발생 -ㅁ-;;
   검색하니 Spring Project Nature 를 지우라고 함
   뭐 이건 되는게 하나도 없음? Run on server 메뉴가 보이지 않음
   -> 프로젝트 속성 > Project Facets > Dynamic Web Module 를 체크 하라는데, 스테틱 웹 모듈 밖에 없음 --;; 장난 하나...
   -> 이번엔 "Eclipse Java EE Developer Tools" 이걸 깔아줌..
책에는 Run on server 를 하면 기존에 존제하는 서버가 있나 본데.. 난 뭐 이렇게 일이 쉽게 풀릴리 없지.... 수동 생성으로 하나 만들기로 함.
책과 가장 근접한 "Pivotal tc Server v3.0 - v3.2 at localhost" 이걸로 만들어 봄
-> 톰켓이 없다고 생성도 안됨..
-> "brew install tomcat@8" 로 톰켓 8.5 설치
톰켓 실행
-> cd /usr/local/Cellar/tomcat\@8/8.5.46/bin
-> ./catalina start
설치는 했으나 "Pivotal tc Server" 랑은 다른듯 함.
톰켓 8.5로 변경 하고 "/usr/local/Cellar/tomcat@8/8.5.46/libexec"를 경로로 지정 해줌.
실행 하려 하니 이미 켜져 있다고 함
-> ./catalina stop
다시 실행하니 됨 (Hello world 찍는데 3시간 걸렸네;;)


# 삽질중...

2019년 5월 21일 화요일

[IONIC] 아이오닉으로 실행할때 필요했던 커맨드 명령어 모음.


  • 일단 개발 환경이 중요함.
    • MAC OS 10.14
    • XCODE 10.0
    • Android Studio 3.4.1

  • node.js 설치
    • $ brew install node

  • IONIC 설치
    • $ npm install -g cordova ionic

  • IONIC 샘플 앱 생성
    • $ ionic start myApp tabs

  • IONIC 아이폰 앱 빌드
    • 플랫폼 추가
      • $ ionic cordova platform add ios
    • 빌드
      • $ ionic build ios
    • 시뮬레이터 설치
      • $ npm install -g ios-sim
    • 앱 실행
      • $ ionic cordova  emulate ios
          

  • IONIC 안드로이드 앱 빌드
    • 플랫폼 추가
      • $ ionic cordova platform add android
    • 빌드
      • $ ionic build android
    • 앱 실행
      • $ ionic cordova emulate android
          
  • 아이폰 빌드 예외 해결용
    • xcode-select 설치
      • $ xcode-select --install
    • 10.14 버전 (Mojave) xcode-select 설정
      • $ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

  • 안드로이드 빌드 예외 해결용
    • 자바 1.8 설치 (1.8만 된다 -ㅁ-;;)
    • 자바 버전 확인
      • javac -version
    • 현재 자바 홈 확인
      • $ /usr/libexec/java_home -V
    • 자바가 여러개 깔렸을때 1.8을 홈으로 지정
      • $ export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
    • Gradle 설치
      • $ brew install gradle
    • 빌드중에 라이선스 오류가 난다면...
      • Android Studio에서 해당 항목 업데이트
           
          
          
             
          

2018년 7월 24일 화요일

[Android] 안드로이드 tools:text에 샘플 텍스트 넣기

안드로이드 레이아웃을 잡을때 샘플 텍스트를 지정 할때가 있는데, 아래와 같은 녀석을 쓰면 편리 하다.

tools:text = "이런것 대신에..."

"@tools:sample/lorem/random" , "@tools:sample/full_names" , "@tools:sample/full_names" ,"@tools:sample/cities"

2018년 7월 11일 수요일

[Kotlin] 코틀린 특징 정리 (스위프트와의 차이, 자바도..)

코틀린 특징 정리 (스위프트와의 차이, 자바도..)

1. static 키워드가 없다 (9)
2. let대신 val 사용 (85)
3. 이름 변경해서 임포트 가능 (80)
  import java.text.SimpleDateFormat as MySimpleDateFormat
4. 파일 위치와 패키지 이름은 달라도 상관 없다. (82)
5. 함수 선언 fun (91)
6. 함수내에 함수 선언 가능 (92)
7. 단일 표현 함수, 반환 타입도 생략 가능 (95)
  fun some(a: Int, b: Int): = a + b
8. 매개변수 이름을 지정 할수 있다. (95)
  fun some(a: Int, b: Int) 일때,
  > some(a = 3, b = 7) 이렇게
9. Infix 함수 (97)
  infix fun Int.testFun(x: Int): Int {
    return this + x
  }
10. 재귀 함수 생성시 tailrec 키워드를 주면 컴파일러가 일반적인 반복문으로 컴파일 함. (101)
  > 단, 재귀 호출을 마지막에 하지 않는 다면 의미가 없다.
11. """ 로 묶어 raw 스트링 표현 (110)
  > 탈출 문자가 없음
12. Any 타입과 when (112)
  > when (obj) {
    1 -> return "One"
    "Hello" -> return "String"
    is Long -> return "Long"
    !is String -> return "Not a String"
    else -> "unknown String"
  }
13. Unit, Nothing 보이드 같은 개념, 제네릭에서 추가 정리 필요 (115)
14. is 캐스팅, !is도 있음 (116)
15. 형 변환 (117)
  > var dbl = 10.toDouble()
16. 배열 생성 (118)
  > arrayOf<T>(...)
  > intArrayOf(), xxxxArrayOf()
  > Array(size: Int, init: (Int) -> T)
17. 코틀린은 switch-case가 없음 (131)
18. 배열 선언 및 초기화에 [], {} 를 사용 할 수 없다. (131)
19. if-else 구문을 표현식으로 사용 가능 (133)
  > val result = if (a > 0) "Big" else "Small"
  > 표현식으로 쓰인 경우 else 부분이 없으면 에러가 발생 한다.
  > 또한 여러 줄인 경우, 마지막 줄이 결과 값이 된다.
20. when 구문 (137)
  > 12, 10 같이 여러 조건 사용 가능
  > in 1..100 같이 범위 지정 가능
  > !in 20..100
  > in list, in array 같이 여러 데이터에 속하는지를 가지고도 분기 가능
  > if-else의 대체용으로 사용 가능
  > when도 표현식으로 사용 가능함
21. for문 (142)
  > for (i in list.indices) // list의 인덱스를 이용
  > for ((index, value) in list.withIndex()) // 인덱스와 값 모두 활용
  > for (i in 1 until 100) 1부터 99까지
  > for (i in 1 until 100 step) 1부터 99까지 2씩 증가
  > for (i in 100 downTo 1) 100부터 1까지
22. continue, break에 라벨 사용 (147)
  > aaa@ for (i in 1..3) {
      for (j in 1..3) {
         if (j > i) break@aaa   // aaa까지 빠져 나감
         println("Do")
      }
  }
23. 전개 연산자 * (149)
  > val list2 = asList(1, 2, *array, 100, 200)
24. 전개 연산자를 매개 변수로 받기
  > fun some(vararg a: String)
25. 일치 연산자 (156)
  > a === b // a와 b가 같은 객체이면 true
  > a !== b // a와 b가 다른 객체이면 true
26. 코틀린은 삼항 연산자가 없다, if-else를 이용하자. (169)

2018년 7월 8일 일요일

[Swift, RxSwift] 매번 헷갈리는 map, flatmap.

 
Single.just(1).map { (input) -> String in
        return "Value = \(input)"
    }.flatMap { (input) -> PrimitiveSequence<SingleTrait, String> in
        Single.just(input + " Desu.")
    }.subscribe(onSuccess: { (result) in
        print(result)
    }).disposed(by: disposeBag)