최신 글

more

NotificationManager 안드로이드 타겟 33 이상 권한 문제

기존에 잘 사용하던 로컬 알림이 안드로이드13 (API 레벨 33)을 타겟으로 빌드하니 작동하지 않습니다. 이유를 검색해 보니, 안드로이드 13에서는 노티피케이션을 위한 매니페스트 권한과, 유저에게 런타임 권한을 얻어야 사용이 가능합니다. 먼저 AndroidManifest.xml 에 노티피케이션 권한을 선언합니다. 런타임에서 POST_NOTIFICATIONS 의 권한을 사용자로부터 받았는지 확인하고, 받지 않았다면, 권한을 요청합니다. if (ContextCompat.checkSelfPermission (this, Manifest.permission.POST_NOTIFICATIONS) == PackageManager.PERMISSION_GRANTED) { // 권한을 이미 얻었습니다. } else { v..

Android 2023.01.17 0

전세계 UI 디자이너들은 어떤 UI 디자인 툴을 사용할까? - UX Tools 2022 디자인 툴 서베이

전세계 UI 디자이너들은 어떤 UI 디자인 툴을 사용할까? - UX Tools 2022 디자인 툴 서베이 과거에는 UI 디자인에도 전통적인 디자인 툴인 포토샵이나 일러스트레이션 같은 툴을 썼지만, 현대에는 UI 디자인을 위한 다양한 툴이 존재하고 있습니다. 현대의 UI 디자인 툴들은 디자인 뿐 아니라 다른 디자이너와의 협업 뿐 아니라 개발자와의 협업도 원활하게 할 수 있도록 도와주고 있죠. 2022년 기준으로 전세계 UI 디자이너들 또는 관계자들은 어떤 디자인 툴을 주로 사용할까요? UX Tools 에서 조사한 2022 DESIGN TOOLS SURVEY 결과에서 어느 정도 유추할 수 있지 않을까 싶습니다. 2022 설문 조사에 따르면, UI 디자인 툴은 Figma (피그마) 가 압도적인 것 같습니다. ..

IT 정보 및 뉴스 2022.12.15 0

애플, 외부 앱스토어 허용 준비중?

9to5Mac은 블룸버그 소식을 인용하여 애플이 외부 앱스토어의 허용을 준비하고 있다는 소식을 전했습니다. 애플은 지금까지 자사 앱스토어 외에 타사의 앱스토어를 허용하지 않았었죠. 하지만 유럽연합(EU)의 새로운 규정에 대비하기 위해서 외부 앱스토어를 허용하기 위해 상당한 투자를 진행하고 있는 것으로 보인다고 합니다. 다만, 내부적으로 애플이 장점으로 내세우고 있는 사용자 정보에 대한 보안 문제로 비평이 나오고 있다고 하네요. 애플 앱스토어 외부에서 설치되는 앱은 애플에서 제한하는데 한계가 있을 수 밖에 없겠죠. 예를 들자면, iOS는 안드로이드에서 문자등으로 스미싱을 통해 악성 APK를 설치하게 하여 사용자 정보를 빼돌리는것 같은게 불가능했죠. 애플측에서도 그냥 풀어주지는 않을 것이고, 외부 앱스토어를..

IT 정보 및 뉴스 2022.12.14 0

[ 정보 ]

more

전세계 UI 디자이너들은 어떤 UI 디자인 툴을 사용할까? - UX Tools 2022 디자인 툴 서베이

전세계 UI 디자이너들은 어떤 UI 디자인 툴을 사용할까? - UX Tools 2022 디자인 툴 서베이 과거에는 UI 디자인에도 전통적인 디자인 툴인 포토샵이나 일러스트레이션 같은 툴을 썼지만, 현대에는 UI 디자인을 위한 다양한 툴이 존재하고 있습니다. 현대의 UI 디자인 툴들은 디자인 뿐 아니라 다른 디자이너와의 협업 뿐 아니라 개발자와의 협업도 원활하게 할 수 있도록 도와주고 있죠. 2022년 기준으로 전세계 UI 디자이너들 또는 관계자들은 어떤 디자인 툴을 주로 사용할까요? UX Tools 에서 조사한 2022 DESIGN TOOLS SURVEY 결과에서 어느 정도 유추할 수 있지 않을까 싶습니다. 2022 설문 조사에 따르면, UI 디자인 툴은 Figma (피그마) 가 압도적인 것 같습니다. ..

IT 정보 및 뉴스 2022.12.15 0

애플, 외부 앱스토어 허용 준비중?

9to5Mac은 블룸버그 소식을 인용하여 애플이 외부 앱스토어의 허용을 준비하고 있다는 소식을 전했습니다. 애플은 지금까지 자사 앱스토어 외에 타사의 앱스토어를 허용하지 않았었죠. 하지만 유럽연합(EU)의 새로운 규정에 대비하기 위해서 외부 앱스토어를 허용하기 위해 상당한 투자를 진행하고 있는 것으로 보인다고 합니다. 다만, 내부적으로 애플이 장점으로 내세우고 있는 사용자 정보에 대한 보안 문제로 비평이 나오고 있다고 하네요. 애플 앱스토어 외부에서 설치되는 앱은 애플에서 제한하는데 한계가 있을 수 밖에 없겠죠. 예를 들자면, iOS는 안드로이드에서 문자등으로 스미싱을 통해 악성 APK를 설치하게 하여 사용자 정보를 빼돌리는것 같은게 불가능했죠. 애플측에서도 그냥 풀어주지는 않을 것이고, 외부 앱스토어를..

IT 정보 및 뉴스 2022.12.14 0

애플 WWDC 2020 에서 맥용 프로세서 Apple Silicon 발표

오늘 부터 매년 열리는 애플 개발자 회의인 WWDC 2020 이 시작되네요. 올해는 코로나19 바이러스 때문에 온라인으로 진행이 되는데, 키노트만 보고 자야겠다 싶어서 봤는데요.... 통상적인 새 iOS, iPadOS, WatchOS, macOS 발표겠거니 하고 보고 있는데, 갑자기 오늘은 역사적인 날이라고 그러길래 또 뭔 설레발인가 싶었는데.... 애플에서 맥용 프로세서 ( CPU, AP )를 만들었네요. (출처, WWDC 2020 키노트 영상) 위 사진에서 Processor 를 보면 Intel Core 어쩌구가 아니라 Apple A12Z Bionic 이라고 나와 있는게 보이시죠? 소문이야 있었지만, 옛날 부터 있던 루머인줄 알았더니.... 데스크탑쪽 AP 까지 직접 만들줄은.... Power PC C..

IT 정보 및 뉴스 2020.06.23 1

[ 소프트웨어 개발 ]

more

NotificationManager 안드로이드 타겟 33 이상 권한 문제

기존에 잘 사용하던 로컬 알림이 안드로이드13 (API 레벨 33)을 타겟으로 빌드하니 작동하지 않습니다. 이유를 검색해 보니, 안드로이드 13에서는 노티피케이션을 위한 매니페스트 권한과, 유저에게 런타임 권한을 얻어야 사용이 가능합니다. 먼저 AndroidManifest.xml 에 노티피케이션 권한을 선언합니다. 런타임에서 POST_NOTIFICATIONS 의 권한을 사용자로부터 받았는지 확인하고, 받지 않았다면, 권한을 요청합니다. if (ContextCompat.checkSelfPermission (this, Manifest.permission.POST_NOTIFICATIONS) == PackageManager.PERMISSION_GRANTED) { // 권한을 이미 얻었습니다. } else { v..

Android 2023.01.17 0

[안드로이드] EditText 모양 바꾸기 및 선택시 모양 변경

안드로이드에서 EditText 의 모양을 바꾸고 싶을 때가 많습니다. 최근의 안드로이드에서는 EditText의 기본적인 모양이 테마에 의해 일반적으로 언더바 형태이죠. 여기서는 약간 코너에 라운드가 있는 사각형의 모양으로 바꿀겁니다. 또한 선택되었을 때 (포커스가 잡혀 있을때) 사각형의 색상도 바꿔줄 것입니다. (변경전) (변경후) 1. res/drawable 에 xml 파일 하나 추가 res/drawable 에 EditText의 모양을 지정할 적당한 이름의 xml 파일을 추가합니다. 여기서는 edittext_rounded_corner_rectangle.xml 이라고 하겠습니다. 2. 아래의 샘플과 같은 요령으로, 원하는 형태의 EditText 형태를 작성합니다. 3. 모양의 변경을 원하는 EditTex..

Android 2020.01.21 1

[iOS] Xcode 11 과 iOS 13 업데이트 급한 불 끄기 (응급 처치)

iOS 를 개발 할 때에는 새 버전의 OS가 발표 되면 새 OS에 대응하기 위해 Xcode도 그 버전에 맞는 것으로 업데이트 해 줘야 합니다. 몇달 전 출시된 iOS 13 과 Xcode 11 의 경우 기존 프로젝트를 새로 빌드하면 눈에 띄는 것 두가지가 다크모드 (Dark Mode) 에서 UI 색상이 바뀌기도 하고 뷰를 모달 형식으로 띄울 때 뷰의 스타일이 페이지 시트 스타일로 나타나는 것을 볼 수 있습니다. 먼저 뷰를 모달로 띄울 경우 Xcode 11 에서 빌드하여 iOS 13에서 실행시키면, 아래 오른쪽 화면과 같이 페이지 시트 (Page Sheet)형태로 나오게 됩니다. 의도적으로 한 것이 아니라면 원치 않는 모습일 뿐더러 저 형태에서는 뷰를 쓸어 내리면 모달뷰가 사라져 버리므로 원하는 동작도 아닐..

iOS, macOS 와 Xcode 2019.11.20 0

[ 서버 ]

more

express.js 를 다른 포트에서 실행시키기

express.js 앱이 실행되고 있는 서버에서 테스트를 위해 다른 앱을 실행하려하면, 포트를 바꿔준 상태에서는 당연히 포트가 충돌이 납니다. 그렇다고 테스트를 위한 코드이지만, 포트 관련된 코드를 수정하기는 싫을때 어떻게 임시로 포트를 바꿔서 실행 할 수 있을까요? 매우 간단합니다. 아래와 같이 포트번호를 npm start 앞에만 붙여 주면 됩니다. > PORT=[원하는포트번호] npm start express.js 앱의 기본 포트는 3000 번인데, 위와 같이 실행하면 소스코드나 환경설정등을 바꾸지 않고도 원하는 포트 번호로 실행이 됩니다. 예를 들어 3500 포트로 실행을 하고 싶다면, PORT=3500 npm start 이게 끝입니다. (이미 실행되고 있는 3000포트를 사용하는 프로그램이 있어서..

NGINX & node.js 2019.03.04 0

웹에서 아이폰 또는 안드로이드 폰으로 문자 보내도록 링크 만들기

웹 페이지를 통해 스마트폰이 문자를 보내도록 할 수 있을까요? 흔한 경우는 아니지만, 필요할 경우가 있습니다. 방법을 찾아보니 역시 있더군요. 안드로이드와 iOS 모두 가능하지만 약간의 차이가 있어서 단말기 OS 구분은 해야 할 것 같습니다. 방법은, URL Scheme을 사용하면 가능합니다. 그 방법을 알아보죠. 이 글에서는 여러분이 이미 웹서버를 구동하고 있다고 가정합니다. 방법은 간단합니다. 원하는 html 에 아래와 같이 링크를 통해 사용자가 문자 메시지를 보내도록 할 수 있습니다. 1. 안드로이드의 경우 안드로이드는 제가 찾은 방법으로는 단일 폰으로 메시지를 보내는것 까지만 성공 했습니다. HTML 에 아래와 같은 방법으로 문자 메시지를 보내는 링크를 추가할 수 있습니다. 2. 아이폰의 경우 아..

Web & Blog 2019.03.03 0

[node.js] PM2 에서 express.js 앱을 npm 으로 실행하기

테스트 환경node.js v10.15.0 express.js v4.16.0pm2 v3.2.9 단순한 단일 노드 프로그램은 node js파일명 으로 실행하지만, 일반적으로 express.js 앱은 npm start 으로 실행합니다. 그러면, pm2를 사용할 때는 어떻게 실행해야 할까요? 아래와 같이 pm2 실행 명령에 npm -- start 를 붙여주면 됩니다. > pm2 start --name "사용할 앱 이름" npm -- start -- 뒤에 띄워 쓰기에 유의해 주세요. --name은 붙여 쓰고, -- start 사이에는 공백이 있습니다. 아래는 실제 사용의 예입니다. 간단하죠? 자꾸 잊어버리긴 하지만요. (C) 2019 WingsNote.com (무단 복제 및 게시 금지, 링크 허용)

NGINX & node.js 2019.03.02 0

[ 게임 개발 ]

more

cocos2d-x 3.17 이상에서 빌드 목록 작성 android.mk 대신 CMakeLists.txt 사용

얼마전 안드로이드 스튜디오가 3.3 으로 정식 업데이트 되었지요. 6개월정도 방치해 두었다가 다시 꺼내든 두개의 cocos2d-x 프로젝트 두개... 빌드하려고 하니 에러가 나면서 빌드가 되지 않습니다. 기존 프로젝트 하나는 cocos2d-x 3.16 버전, 또 하나는 더 오래된 버전으로 개발했었죠. 이유는... NDK 가 업데이트 되면서 더이상 gcc 를 지원하지 않습니다. 그래서 gradle.build 를 수정했더니... 안드로이드 스튜디오가 무한 인덱싱 빠집니다. ㅡ,.ㅡ 그냥 cocos2d-x 최신 버전으로 업데이트 하기로 합니다. 이번에도... 역시나 여기저기 바뀐 것들이 많아서 새로 프로젝트 생성하는게 빠르다고 결론이 났습니다. 현재 cocos2d-x 최신 버전은 3.17.1 이며, 일부 경고..

Cocos2d-x 2019.01.29 1

cocos2d-x 3.16 에서 구글 인앱빌링 AIDL 추가

개발 환경맥OS X High Sierra / Android Studio 3.1 / cocos2d-x 3.16 지금 cocos2d-x (버전 3.16) 을 사용하여 게임 개발 작업을 하면서, 인앱 빌링을 사용하기 위해 작업중입니다. 구글의 공식문서를 통해 인앱 빌링을 추가하려고 하니, AIDL을 프로젝트에 추가해야 한다고 합니다. https://developer.android.com/google/play/billing/billing_integrate.html 먼저, 현 시점 구글의 한글 문서 (https://developer.android.com/google/play/billing/billing_integrate.html)는 사용할 수 없습니다. 지금 사용하고 있는 안드로이드 스튜디오 3.1의 SDK Ma..

Cocos2d-x 2018.04.06 0

cocos2d-x 3.16 NDK r16 armeabi deprecated 에러

cocos2d-x 3.16 버전을 사용하고 있습니다. 오늘자 기준으로 안드로이드 스튜디오에서 NDK를 설치하니, r16 버전이 설치가 됩니다. 여기서 프로젝트를 생성하고, 안드로이드 스튜디오에서 빌드하면, Error:(81) Android NDK: Application targets deprecated ABI(s): armeabi 이라는 에러가 발생합니다. 이 에러가 발생해도, 실행이 되긴 합니디만, 이 에러 다음줄에 보면 다음부터는 이 ABI를 지원하지 않을것이라는 경고가 있으니 그대로 사용하기가 좀 꺼려집니다. 어차피 대부분 안드로이드 기기는 ARM계열에서 사용하니 (특별히 ARM기기를 사용하지 않는 분들은 알아서 설정 하시시라 생각 됩니다.), NDK 디폴트로 빌드 되도록 약간의 수정을 하면, 이 ..

Cocos2d-x 2017.12.21 0

[ 프로그래밍 언어 ]

more

THE SWIFT PROGRAMMING LANGUAGE SWIFT 5 번역 : WELCOME TO SWIFT - 스위프트로의 여행 (1)

THE SWIFT PROGRAMMING LANGUAGE - SWIFT 5 번역 이 글은 THE SWIFT PROGRAMMING LANGUAGE를 번역한 글로, 의미가 쉽게 전달되도록 하기위해 많은 부분을 의역하였음을 미리 알려 드립니다. WELCOME TO SWIFT 스위프트로의 여행 (1) 전통적으로 새로운 언어를 배울때 처음 하는 것은 "Hello, world!"를 화면에 출력하는 것입니다. 스위프트에서 아래와 같이 단 한줄의 코드로 "Hello, world!"를 출력할 수 있습니다.12print("Hello, world!")// Prints "Hello, world!"cs 여러분이 C 또는 Objective-C로 코드를 작성해왔던 경험이 있다면, 이러한 구문은 여러분에게 친숙할 것입니다. 이 한줄의..

Swift 2019.03.11 0

THE SWIFT PROGRAMMING LANGUAGE SWIFT 5 번역 : WELCOME TO SWIFT - 버전 호환성

THE SWIFT PROGRAMMING LANGUAGE - SWIFT 5 번역 WELCOME TO SWIFT 버전 호환성 이 책은 Xcode 10.2 에 기본적으로 포함된 스위프트 버전인 스위프트 5를 설명합니다. 여러분은 Xcode 10.2를 스위프트 5, 스위프트 4.2 또는 스위프트 4로 작성된 빌드 타겟에 사용 할 수 있습니다. 여러분이 Xcode 10.2를 스위프트 4와 스위프트 4.2 코드를 빌드하는데 사용한다면, 대부분의 스위프트 5 기능들을 사용할 수 있지만, 아래의 변경 사항들은 스위프트 5 코드에서만 사용 할 수 있습니다. try? 표현은 이미 옵셔널을 리턴하는 표현에 추가적인 수준의 선택성을 도입하지 않습니다.큰 정수 리터럴 초기화 표현식은 올바른 정수 타입으로 추정됩니다. 예를 들자..

Swift 2019.03.10 0

THE SWIFT PROGRAMMING LANGUAGE SWIFT 5 번역 : WELCOME TO SWIFT - 스위프트에 대하여

THE SWIFT PROGRAMMING LANGUAGE - SWIFT 5 번역 WELCOME TO SWIFT 스위프트에 대하여 스위프트는 스마트폰, 데스크탑, 서버등 코드를 실행할 수 있는 곳이라면 어디에서도 소프트웨어를 작성할 수 있는 환상적인 방법입니다. 스위프트는 광범위한 애플 엔지니어링 문화, 그리고 오픈소스 커뮤니티 기여자들로 부터 온 지혜와 현대 언어의 사고 방식을 최상으로 결합한 안전하고 빠른 대화형 언어입니다. 컴파일러는 성능에 최적화 되어 있고, 언어는 성능에 타협하지 않으면서도 개발에 최적화 되어 있습니다. 스위프트는 새로운 프로그래머들도 사용하기 쉽습니다. 스위프트는 스크립트 언어만큼 표현적이며 즐거운 산업수준의 프로그래밍 언어입니다.플레이그라운드에서 스위프트 코드를 작성함으로, 앱을..

Swift 2019.03.10 0

[ 칼럼 / 일상 ]

more

입이 즐거웠던 둔촌동 초밥집 온전히 - 골목식당 둔촌동편

오늘 점심은 백종원의 골목식당에 나왔던 초밥집을 가보기로 했습니다.상호가 '온전히' 이네요. 일부러 찾아 다니지는 않는 편인데... 사무실에서 가까우니... 지난주에 10:40분쯤 들러봤더니... 이미 마감이어서, 오늘은 아예 일찍 가봤습니다. 집에서도 걸어가면 10분거리고, 사무실에서도 걸어가면 10분 거리이고...(딱 중간쯤에 있음) 9시 50분쯤 도착한것 같은데, 이미 기다리고 있는 사람들이 있네요...그래도 거의 앞에 서기는 했네요. 그런데... 예약을... 10시 30분에 받는다고 쓰여 있네요. 쩝... 40분을 기다려야 하는....ㅠㅜ 무려... 40분을 기다려서... 드디어 예약 개시... 식사 기다리는게 아니라 예약을 40분이나 기다려 보기는 태어나서 처음.... 오늘 부터 예약 방식이 바..

둔촌동 준까스 - 요즘 골목식당에 나온다는 돈까스 집

오랜만에 먹을곳 포스팅 남기네요. 요즘 제가 오랫동안 사는 동네에서 백종원의 골목식당을 촬영한다는 얘기를 들었습니다...만....바빠서 요즘 TV를 잘 보지를 못합니다. 한때는 저도 골목식당을 즐겨서 봤었는데... 요즘은 통 시간이... 사무실에 함께 일하는 동료가 요즘 골목식당을 둔촌동에서 한다며 돈까스집을 한번 가보자고 합니다.(사무실이 둔촌동 옆 동네라 걸어서 갈 만한 거리입니다.) 운동삼아 걸어서 10여분... 신성통상이 있는 골목으로 가봅니다. 이 골목이... 사실 평소때 정말 한적한 골목입니다.점심시간때 신성통상 직원들 우르르 몰려 나올때 빼고는 평소에 한적한 동네이거든요... 이 동네에서 오래 살았지만... 이 골목에서 식사하려고 줄을 서기는 태어나서 처음입니다. 대기 명단에 이름과 연락처를..

판교 고등어소바 - 분당구 상록면

4월 24일~26일 3일동안 판교에서 NDC2019가 열렸습니다. NDC는 Nexon Deveopers Conference 의 약자로 넥슨에서 매년 개최하는 개발자들을 위한 대규모의 컨퍼런스 입니다. 그건 그렇고, 이런 행사에 올때마다 점심을 뭐 먹을지 고민됩니다. 특히 저는 보통 이런 행사에 혼자 올 때가 많기에... 그냥 사딸라(요즘 버거킹 광고)로 때워야 하나 고민 했는데, 개발자 커뮤니티의 급 추천으로... 고등어 소바에 도전해 보기로 합니다. 고등어 소바라고 하여 비리지 않을까 걱정은 되었지만... 괜찮더라는 후기들을 보고.... 우선 다리를 건너 유스페이스로... 아래 사진에 보이는 유스페이스1 의 지하에 있다고 합니다. 고등어 소바를 판다는 분당구 상록면...상호가 분당구 상록면 입니다. 점..