Mobile PRO(iOS, AOS)
Mobile PRO(iOS, AOS)(김민수)
안녕하세요! iOS를 주력으로 개발합니다. 안드로이드 및 IoT 하드웨어에도 경험이 있습니다.

근력보조 휠체어와 BLE를 통해 통신하여 칼로리 소모, 핸드림 푸쉬, 이동 거리, 경로추적, 평균속도 등의 활동정보를 일간, 주간, 월간 단위 차트로 제공하는 안드로이드 어플리케이션입니다.

16.메인페이지휠체어연결상태 복사본.jpg 26.컬렉션 복사본.jpg

27.나의휠체어 복사본.png 32.칼로리통계_일일 복사본.jpg

44.이동거리통계_일일_1 복사본.png 45.이동거리통계_일일_2 복사본.png

스크린샷 20190918 오후 3.47.48.png

좋아요 0
    댓글 0

    1.png

    2.png

    3.png

    4.png

    좋아요 0
      댓글 0

      IMG_35950.png

      IMG_3596.PNG

      IMG_3597.PNG

      IMG_3598.PNG

      IMG_3599.PNG

      좋아요 0
        댓글 0

        신구대학교 학생 포탈 모바일 버전으로 Swift4 하이브리드 앱으로 개발 되었습니다.

        좋아요 0
          댓글 0
          2018년 5월 10일 09시26분 ·  집필활동

          MDM 테스트 서버 구축

          (이번 파이3 모델은 무려 블루투스 v4.0 , 802.11n 탑재!!) 테스트 장비 : Rsapberry Pi 3 Model B  (구매처) 테스트 OS : Ubuntu Mate 15.10 Desktop (다운로드) **필수 프로그램 : Python 2.7  1. 우분투 Mate 설치 후 기본 환경 설정 2. Python 2.7이 설치되어 있지 않다면 설치 3. MDM 서버 동작을 위한 파이썬 모듈 설치   - Web.py : 일반적인 아파치 톰캣 등의 서버 구동 프로그램을 사용하지 않고 파이썬 코드로 작성된 소스파일을 웹서버로 작동하게 해주는 모듈   - M2Crypto : 파이썬 코드로 된 서버를 SSL 프로토콜을 이용하여 접속할 때 체크하는 인증서 관련 패키지   - PyOpenSSL : 파이썬 코드로 된 서버를 SSL 프로토콜을 이용하여 접속 할 때 필요한 모듈   - APNSWrapper : APNS를 통해 MDM 푸시 커맨드를 아이폰/아이패드에 전송할 때 이용되는 모듈 해당 모듈 설치 후 APNSWrapper의 connection.py 파일의 131 line을 수정해 줘야 하는데,  이유는 애플에서 보안적인 이유로 SSLv3에 대한 지원을 중단하였기 때문에 해당 부분을 TLSv1 으로 수정해 줘야 합니다. 131 line : ssl_version = self.ssl_module.PROTOCOL_TLSv1, 나머지 절차는 https://github.com/project-imas/mdm-server 대로 수행 CA 인증서 및 MDM 프로파일 생성 시 실수가 있으면 서버가 동작하지 않으니 주의해서 인증서 생성 서버의 8080 Inbound 설정 및 2195 포트 Outbound 설정 후 python server.py 커맨드를 통해 서버 동작 커맨드 실행 시 Starting Server  https://0.0.0.0://8080 로그가 찍히고 커맨드라인으로 빠져나오지 않는다면 성공적으로 동작하는 것입니다. 저는 라즈베리파이를 공유기에 물려서 서버를 구축했기 때문에 아이폰에서 같은 와이파이 접속 후  사파리 브라우저에서 https://ip 또는 host name:8080 으로 접속하였습니다. 서버 메인 페이지에서 CA인증서를 먼저 설치해야 디바이스에 MDM프로파일이 설치됩니다. 만약 서버가 구동되지 않는 다면 server.py 파일의 마지막 부분에서 에러타입 로그를 찍어서 에러를 분석하면 됩니다. 테스트 과정에서 2번의 에러가 있었는데 첫번째는 파이썬 모듈의 비정상적 설치,  두번째는 Server.crt 인증서 파일 크기가 0byte로 비정상적으로 생성되어 재 생성 하였습니다. **server.py 에러타입 확인하는 법 try: print "Debug : try" app.run() except TypeError as e: print "Debug : except" print('error:',e.args[0]) sys.exit(0) **서버 정상 동작 시 터미널에서 출력되는 로그 수고하셨습니다 ^^.....

          http://mess-developer.tistory.com/13

          좋아요 0
            댓글 0
            2018년 5월 10일 09시26분 ·  집필활동

            파이썬 기초 - Python이란?

            파이썬은 귀도 반 로썸(Guido van Rossum) 이라는 분이 심심해서(!) 만들었다고 전해지는 프로그래밍 언어의 일종. 현재 최신 버전은 Python3.x 이지만 내가 필요한건 Python2.7 이므로 2.7 기준으로 정리할 예정. 어차피 2to3라는 모듈이 있기 때문에 필요하면 Python3.x로 코드를 변환하는 것은 어렵지 않음. C언어를 할 줄 알면 배우기 쉽지만, 코드 들여쓰기 등에는 상당히 엄격한 문법 체계를 가지고 있다. (그런데 Python3.x에서는 한글도 변수명으로 사용할 수 있다는 건 함정. 유니코드를 활용하게 되면서 가능해진 듯.) iOS MDM 서버를 구축하면서.. 파이썬을 전혀 몰라서 배워야 할 필요가 있다고 느껴 파이썬을 시작하게 되었다. import this 를 하면 이스터에그로 파이썬의 정신(?) 하여튼.. 추구하는 바라던가 하는것이 나온다. The ZEN of Python Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases are not special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! 대충 해석하면 아름답고 간결하며 실용적인 코드를 작성하라는 말씀.앞으로 포스팅할 파이썬 튜토리얼은 Python.org의 비기너 가이드를 한국어로 번역 하면서 같이 공부 할 예정....

            http://mess-developer.tistory.com/14

            좋아요 0
              댓글 0
              2018년 5월 10일 09시26분 ·  집필활동

              Python Tutorial : Variables [3]

              파이썬에서는 변수에 숫자와 텍스트를 넣을 수 있다. x = 2 price = 2.5 word = 'Hello' 변수에는 공백이나 특수문자를 쓸 수 없다. 변수를 정의하는 3가지 예 word = 'Hello' word = "Hello" word = '''Hello''' 변수는 재 정의가 가능하다. x = 2 # increase x by one x = x + 1 # replace x x = 5 ...

              http://mess-developer.tistory.com/17

              좋아요 0
                댓글 0
                2018년 5월 10일 09시26분 ·  집필활동

                Python Tutorial : Text input and output [1]

                Output 화면에 텍스트 출력 print("Hello Python") 여러 줄의 텍스트 출력 print("Hello World\nThis is a message") 변수 출력 x = 3 print(x) 다수의 변수 출력 x = 2 y = 3 print(x, ' ', y) Input 텍스트 입력 name = raw_input("Enter a name: ") 실수 입력 x = int(input("What is x? ")) x = float(input("Write a number")) ...

                http://mess-developer.tistory.com/15

                좋아요 0
                  댓글 0
                  2018년 5월 10일 09시26분 ·  집필활동

                  Python Tutorial : For loops [4]

                  for 키워드를 사용하여 코드를 여러 번 반복 할 수 있다. 마지막 숫자 11은 포함되지 않는다.결과 값은 1 ~ 10 출력 for i in range(1,11): print i 파이썬은 다른 프로그래밍 언어들과 마찬가지로 0부터 계산을 시작 할 수 있다.결과 값은 0 ~ 9 출력 for i in range(0,10): print i Nested loops 루프는 중첩될 수 있다. for i in range(0,10): for j in range(0,10): print i,' ',j...

                  http://mess-developer.tistory.com/18

                  좋아요 0
                    댓글 0
                    2018년 5월 10일 09시26분 ·  집필활동

                    Python Tutorial : If statements [2]

                    파이썬의 조건연산자 > greater than < smaller than == equals != is not 조건은 항상 변수와 결합 if 구문 x = int(input("Tell X")) if x == 4: print 'You guessed correctly!' print 'End of program.' if else 구문 x = int(input("Tell X")) if x == 4: print 'You guessed correctly!' else: print 'Wrong guess' print 'End of program.' ...

                    http://mess-developer.tistory.com/16

                    좋아요 0
                      댓글 0