본문 바로가기
728x90
반응형

공부하는 하스씨114

사파리는 팝업차단을 알려주지 않아. 웹 프론트엔드 개발 중. 신용카드 경제를 위해 PG사 페이지를 호출하는데 새창으로 열리도록 했더니, 아이폰 사파리에서 그냥 허연 화면만 나온다... 로딩중인가? 생각하고 기다려도 아무 반응이 없다. 요즘 브라우저들 트렌드 처럼 팝업제한이 적용되어 있는데, 이걸 해제할건지 (한번 허용? 항상 허용?) 물어보는 절차 따위 없이 그냥 안열어준다. 애플은 단호하다. 젠장. 우회 방법 구글링해보고 기억하기 위해서 블로그에 기록해둔다. 정확히는 사파리가 비공기 function 안에서 open 하는 팝업을 차단한다고 한다. 1.빈(blank) 팝업을 열고. 2.필요한 비동기콜을 수행한 후 3.아까 열어둔 팝업의 location.url을 바꾼다. 2와 1이 바뀌어도 차단된다고 한다. 또 어떤 글에서는 1,000ms 이.. 2024. 1. 24.
Uri 파싱. 찾아보면 흔한데 외우지는 못하는 신비. import java.net.Uri; public class ParseURLActivity extends AppCompatActivity { public void parseUri() { Uri url = Uri.parse("https://parkhaas.com:80/docs/sample/index.html?name=test&value=samp#SET2"); Log.d("UriParse", "scheme = " + url.getScheme()); // https Log.d("UriParse", "authority = " + url.getAuthority()); // parkhaas.com:80 Log.d("UriParse", "host = " + url.getHost()); // parkhaas.com L.. 2023. 1. 25.
급기야 웹 프론트 개발을 하게 되었다. ㅋㅋㅋㅋ 공부해야 하니까. 그 기록을 해보쟈. 2022. 12. 9.
Firebase Rules 에서 관리자 계정 처리하기. Rules 내에서 함수를 만들어서 처리하는 것이 가능한듯 한다. // 특정 관리자 계정의 uid 와 비교하고. 혹시 모르니 google.com 인증메일 인 경우를 체그 function isAdmin(request) { return (request.auth.uid == "관리자1의userID" || request.auth.uid == "관리자2의userID") && (request.auth.token.email_verified && request.auth.token.email.matches(".*@google.com")) } 규칙에서 이 함수를 활용하여 권한 체크를 수행. match /users/{uid} { allow read: if true; allow create: if request.auth.uid.. 2021. 4. 1.
gradle 어휴. 공통 : Build Types와 Flavors에서 공통적으로 설정할 수 있는 옵션 Application Id Suffix Version Name Suffix ProGuard Files Matching Fallbacks Signing Config Multi Dex Enabled Manifest Placeholders Build Types : 개발 과정에 따른 분리 (예 : 디버그 모드, 릴리즈 모드, 베타 모드 등) Debuggable Jni Debuggable Renderscript Debuggable Renderscript optimization Level Minify Enabled Zip Align Enabled Flavors : 동일한 앱의 서로 다른 버전 (예 :.. 2020. 11. 25.
Firebase - Strorage - REST API 어차피 그냥 개발자 문서지만. 다시 찾아서 보기 귀찮으므로 본문 복사. https://firebase.google.com/docs/storage/gcp-integration?authuser=0 Google Cloud Platform과 통합 | Firebase Firebase용 Cloud Storage는 Google Cloud Platform과 긴밀하게 통합되어 있습니다. Cloud Storage용 Firebase SDK는 Google Cloud Storage 버킷에 직접 파일을 저장하므로 앱의 성장에 따라 App Engine, Cloud 함수와 같은 관리형 컴퓨팅 또는 Cloud Vision, Google 번역과 같은 기계 학습 API 등의 기타 Cloud 서비스를 손쉽게 통합할 수 있습니다. Cloud.. 2019. 9. 20.
망할 구글놈들. firebase-tools 를 업데이트 했더니 node.js 8.0.0 을 내놓으라고 한다. firebase-tools v7 으로 업데이트 하면서 node.js v6 지원을 끊었다고 node.js v8 을 내놓으라고 버틴다. 하지만 나는 바보니까. node.js 를 어떻게 업데이트 해야 하는지 모른다. 젠장. 구글놈들 욕하면서 구글링 구글링. https://velopert.com/1351 [Node.js] TIP: Node.js 와 NPM 최신버전으로 업그레이드 하기 | VELOPERT.LOG 이번 포스트는 기존에 node.js 가 설치 되어있는 상태에서 Node.js 와 NPM 을 최신버전으로 업그레이드 하는 방법에 대한 팁 입니다. 주의: 일부 모듈에선 v6.0.0 을 지원하지 않습니다. # Node.js 업그레이드 다음 절차에 따라서 업데이트를 진행하세요. 현재 NodeJs 버전 확인하기 .. 2019. 6. 25.
Rounded Imageview 만들어볼까? import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Path; import android.graphics.RectF; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.util.AttributeSet; public class RoundedI.. 2019. 4. 22.
Firebase CLI 기록. 인증정보추출하기 firebase auth:export auth.json --format=json >> auth.json 파일에 1,000개 단위로 기록해준다.추출된 json 파일{"users": [{ "localId": "bVABCDEdfasfdfdsfsdasadq4wmbabcdeEhHo2WMNgvko2", "email": "asdfasdfasdf@gmail.com", "emailVerified": false, "displayName": "ldlkaalsdkjlajsd", "photoUrl": "https://sC9230", "lastSignedInAt": "1510643359000", "createdAt": "1509123154000", "providerUserInfo": [ { "providerId".. 2019. 2. 16.
베가시크릿노트A890 부활... LineageOS 14.1 커스텀롬 올리기... 1. 커스텀롬 관련 파일은 공식 배포 사이트를 이용한다.https://www.cyanogenmods.org/forums/topic/lineageos-14-1-vega-secret-note-sky-a890-nougat-7-1-rom/* 리니지OS 15도 나왔지만. 베가 시크릿노트는 대상 단말에 없다. (ㅠㅠ) 2. 필요 파일은ㄱ. 커스텀롬 이미지 >> lineage-14.1-20170726-UNOFFICIAL-ef59.zipㄴ. 구글앱스 이미지 >> open_gapps-arm-7.1-pico-20181017.zip (베가시크릿 노트는 ARM 플랫폼이다.)ㄷ. 필요에따라 커스텀 리커버리 이미지 >> twrp-3.2.3-0-ef59.img * ㄱ,ㄴ 의 이미지 zip 은 sdcard 에. ㄷ 의 img 는 콘.. 2018. 10. 18.
텍스트 뷰에서 특정 라인 문자열 가져오기! 텍스트 뷰에서 개행문자 '\n' 로만 줄이 바꾸면 split 이나 indexOf 로도 대략 유추할수 있겠지만. 대부분 멀티라인 텍스트뷰는 word-wrap에 의해서 줄이 바뀌는 만큼. 두번째 줄의 문자열.... 을 가져오려고 하면 막막하더라. 그러던 차에. 요런 트릭 (?? 사실 그냥 메소드 ㅋㅋㅋ) 을 배웠다. TextView tvTest = findViewById(R.id.textview_test); // XML 에서나, setText 호출을 통해서 여러줄의 텍스트를 입력 했다 치고. int lineIndex = 1; // 첫번째 줄은 0 번 인텍스부터다. 즉, 1은 두번째 줄. int beginIndex = tvTest.getLayout().getLineStart(lineIndex);int endI.. 2018. 8. 7.
화면 관련한 상수들을 가져오는 코드 Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); Const.RESOULTION.setScreenSize(getResources().getConfiguration(), size.x, size.y); 퍽 많은 정보를 알수 있다.. 2017. 10. 31.
728x90
반응형