분류 전체보기 63

안드로이드 ID 가 변경되는 조건들 (android id) 정리

회사에서 기존 앱들 중에 사용자를 식별하기 위해 UUID 개념으로 안드로이드 ID를 쓰고있었습니다. Avoid using hardware identifiers. In most use cases, you can avoid using hardware identifiers, such as SSAID (Android ID), without limiting required functionality. android ID 는(ssaid 라고도 부르는) 구글에서 기기의 하드웨어 ID 대신 권장하고있는 식별자 입니다. 앱의 패키지 이름과 서명키에 해시값을 넣어서 생성되는 값입니다. android id는 변경될수 있기때문에 android id 를 이용해 사용자를 특정하려고 할때 주의가 필요합니다. -------- andr..

안드로이드 2021.04.14

안드로이드 10 cordova-sim 에러와 사용자 번호 읽기

회사에서 안드로이드 기기의 SIM에서 사용자의 휴대폰번호를 읽어 본인확인하는 아이오닉으로 만들어진 앱이 있었는데요 안드로이드 10부터는 구글의 개인정보 보호 정책 변경으로 IMEI, 디바이스 고유 ID등을 사용할 수 없게되어 플러그인 동작에 에러가 나더군요. developer.android.com/about/versions/10/privacy/changes?hl=ko#non-resettable-device-ids Android 10의 개인정보 보호 변경사항 | Android 개발자 | Android Developers Android 10(API 레벨 29)에는 사용자의 개인정보 보호 강화를 위해 많은 기능과 동작 변경사항이 도입되었습니다. 따라서 사용자가 앱에 제공하는 데이터와 기능을 더욱 투명하고 세밀..

안드로이드 2021.03.07

EFI 지원안되는 컴퓨터에서 EFI 파티션 부팅하기

중고 노트북을 샀는데 바이오스에서 EFI를 지원하지 않아서 기존에 쓰던EFI 로 부팅하는 윈도우가 설치된 SSD를 인식하지 못하는군요. 샌디브릿지노트북인데 이 정도 일줄이야... # 해결 UEFI 를 에뮬레이션해주는 클로버 부트로더를 사용해 레거시 바이오스에서 인식시켜봅시다. 1. USB메모리를 준비 2. 윈도우에서 boot disk utility 라는 클로버 부트로더 설치 프로그램 다운 http://cvad-mac.narod.ru/index/bootdiskutility_exe/0-5 cvad-mac.narod.ru - BootDiskUtility.exe cvad-mac.narod.ru 3. Options 메뉴에서 Configuration 항목 클릭 4. Check Now버튼을 클릭 후 최신버전을 누르고..

일상 2021.01.20

PHP 공식문서 SVN에서 Git으로 이전되었네요.

PHP 사이트와 공식문서는 SVN으로 관리되고있었습니다. 2020년 부터 문서 옮기는 작업이 되고 있다가 2021년 새해부터 전부 Git으로 이전되고 PHP 5.x 문서들이 삭제되어 PHP 5버전대는 www.php.net/manual/php5.php 에서만 확인가능합니다. Git으로 이전한 이후 여러 사람들이 참가해서 전보다 더 활발해지고 있군요! 아래는 이제는 지원이 끝난 PHP 5버전 대 문서링크입니다. PHP: PHP Version 5 Documentation Documentation for PHP 5 Introduction The PHP 5 documentation was removed from the PHP Manual in September 2020, approximately two years..

PHP 2021.01.01

코드이그나이터 3 REST api 라이브러리 문제들

코드이그나이터3에서 기본적인 URL라우팅 구조는 다음과 같습니다. 폴더/컨트롤러 클래스이름/함수이름 이런구조인데요 ci3 에서 restful api를 지원하는 라이브러리들은 저기 함수를 변형하여 login_post() / login_get() 이런식으로 함수이름 뒤에 http메서드를 넣습니다. 이제 api를 만들어보면 api폴더하위에 Reservation 컨트롤러에서 이런일이 생기죠 class Reservation extends RestController { public function __construct() { parent::__construct(); $this->load->library('ReservationService'); $this->load->library('session'); } //예약확..

PHP 2020.12.31

코드이그나이터 3에서 라이브러리 설치시 autoload 에러

코드이그나이터 4는 rest api를 기본적으로 지원하지만 3버전은 rest api관련 라이브러리를 따로 설치해야합니다. An uncaught Exception was encountered Type: Error Message: Class 'chriskacerguis\RestServer\RestController' not found 라며 컴포저로 설치한 RestController 라이브러리를 찾을 수없다고 나옵니다. 코드이그나이터 config.php파일에서 컴포저 오토로드 경로를 재설정해주면 됩니다. $config['composer_autoload'] = FCPATH.'vendor/autoload.php'; 컴포저 없이 PHP 엔진기능으로 클래스 로딩을 추가하자는 RFC 도 봤는데요 언제 될지는 모르지만 ..

PHP 2020.11.10

PHP 버전별 함수 선언과 클래스 선언방식 PHP5.3~ PHP 8.0

PHP 는 동적타입언어지만 정적타입언어들의 요소를 추가해왔습니다. 현업에서는 구버전이 꽤 있다고 들어서 정리해봤습니다. PHP코딩 권장표준안 PSR-12 규칙을 보면 {}중괄호는 다음줄에 표시하라고 나와있네요 PHP 5.3 function add($a, $b) { return $a + $b ; } function($a, $b) // 익명함수 { return $a + $b ; } 리턴타입 지정 불가능 ㅠ 주석에 적지않으면 긴 함수들은 뭐가 리턴되는지 알수 없네요 파라미터 타입 지정 array, callable만 가능 ㅠ PHP 7.0 //2015년 12월 출시 function add(int $a, int $b): int { return $a + $b ; } echo (function($a, $b){ ret..

PHP 2020.11.03

PHP 8.0 바뀐점 정리된곳

php.watch/versions/8.0 PHP 8.0: What's New and Changed PHP has come a long way with types. We now have scalar types, return types, nullable types, and even property types in PHP 7.4! PHP 8.0 comes with support for Union Types! In versions prior to PHP 8.0, you could only declare a single type for properties, p php.watch 바뀐점과 새로운 기능들을 코드 예제와 함께 설명이 잘되어있습니다. PHP 8은 아직 정식버전이 나오지 않아 php.net에는 올라와있지 ..

PHP 2020.10.25