- Today
- Yesterday
- Total
목록분류 전체보기 (375)
메이쁘
안녕하세요. Hash Table 이 아닌 암호화 해시 함수 그리고 Encryption(암호화) 알고리즘 두 방식의 간단한 정의 및 차이점에 대해 가볍지만 핵심을 담아 포스팅 하겠습니다. 암호화 Hash(해시) 함수, 그리고 Encryption(암호화) - Hash -> 해시 함수(해시 알고리즘) 을 이용하여 임의의 길이를 가진 데이터를 고정된 길이의 데이터로 맵핑하는 것. -> 단방향 암호화 기법 즉, 임의의 길이 데이터 -> 고정된 길이 데이터 (암호화) 만 가능하고, 다시 고정된 길이 데이터 -> 임의의 길이 데이터 (복호화) 는 불가능하다. -> MD5, SHA-1, SHA-256, SHA-512 알고리즘 등 이 있다. 반면, - Encryption -> 양방향 암호화 기법 즉, 평문(데이터) ->..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/sNkM8/btqFeefrd4m/0hwQebtwHstUAuKNYyN4Hk/img.png)
안녕하세요. 최근 안드로이드에서 SQLite 사용에 도움되는 Room DB 라이브러리에 대해 알아봅시다. *** Coroutine에 대해 짚고 넘어가고 싶다? https://maivve.tistory.com/154 [Kotlin] 코틀린의 Coroutine 이란 무엇일까 ? 안녕하세요. Coroutine 은 코루틴이라고 불리며 코틀린의 주요 기능 중 하나입니다. 코루틴은 2018년 10월 29일 Kotlin 1.3에서 정식 릴리즈되면서 추가된 기능 중 하나라고 합니다. 그럼 시작하겠습니�� maivve.tistory.com Room DB(Database) 란 ? - AAC(Android Architecture Component) 중 하나. - SQLite DB 를 보다 더 쉽게 사용할 수 있도록 하는 라..
오글오글이란, 오글거리는 오늘의 글귀 이다. 오늘 하루를 나타내는 한 글귀, 인상깊은 대사 또는 명언, 앞으로에 있어 기억해두면 좋은 문장 중 하나와 내 코멘트를 적는 공간이다. 과유불급(過猶不及) : 모든 사물이 정도를 지나치면 미치지 못한 것과 같다. 즉. 과하면 안하느니만 못하다. 오늘 퇴근과 회식(...?) 후 들떠있는 상태로 카페를 가기 위해 차를 타고 나서다 옆을 긁어버렸다. 나는 항상 기분 좋아서 들떠있거나 넋을 놓거나 과하게 신경쓸 일이 많아졌거나 그러다보면 큰 일을 저지른다. 항상 과해지면 무슨 일이 생긴다. 기쁨도, 바쁨도, 신경도. 매일매일 '과유불급' 을 속으로 외치면서 정신잡자. 정신잡자. 또 이러다 일 터진다. 잡아보려 하지만 항상 그렇듯 놓치는 한 순간을 파고들어 생기는 일. ..
안녕하세요. Android KeyStore 시스템을 사용하는 이유 및 방법에 대해 포스팅하려 합니다. 여기서 말하는 KeyStore 는 APK 추출 시 필요한 jks 키 가 아니라 java.security.KeyStore 라는 내장 라이브러리를 뜻합니다. 이 자체 KeyStore를 사용하여 데이터를 더욱 견고하게 암호화할 수 있어 보안성이 높아지는데요. 우선, 어디서 사용하는지, 어떻게 사용하는지 부터 알아가보겠습니다. Android KeyStore를 왜 사용하려 하는가? 서버 DB에 저장하기에는 그렇게 가끔 쓰이는 것도 아닐 뿐더러 규모도 크지 않고, 그렇다고 자주 변경되는 건 아닌데 앱 내에서 자주 사용되는 데이터. 또한, ROOM DB나 Sqlite 같은 앱 내장 DB는 배보다 배꼽이 큰 느낌이 듭..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/laLMG/btqFaMW6rGA/rTqIMvfp6Xm4c8COB0ZSe0/img.png)
안녕하세요. 안드로이드 앱을 만들거나 배포하게 된다면 앱의 퀄리티도 중요하지만 그만큼 앱의 보안성도 높아야합니다. 잘못 만들었다가 개인정보가 빠져나가거나 앱이 해킹당하면 안되겠죠 ? 그러기 위해 필요한 보안 기능 중 하나인 디바이스의 관리자 권한 여부를 체크하는 것은 필수입니다. 관리자 권한이란, 간단하게 linux로 말하면 su root, sudo 윈도우는 관리자 계정 입니다. 관리자 권한을 가지고 앱을 실행하게 된다면 크게 두 가지가 가능해집니다. - 시스템 영역을 들어갈 수 있어서 여러 환경설정이 가능해진다. - 앱 내부 파일 영역 또한 확인 / 수정 이 가능해진다. 이 두 가지만 들어도 끔찍하죠..? 그런데 관리자 권한을 얻기 위해 실제 사용하는 스마트폰을 가지고 하면 자칫 잘못하다간 벽돌이 될 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qfbuz/btqE14CBPAH/tq1IuYAaz66rlHYP6fpGSk/img.png)
안녕하세요. Matrix chain multiplication(행렬 최소 곱셈 알고리즘) 길죠. 간단하게 설명드리겠습니다! Matrix chain multiplication(행렬 최소 곱셈 알고리즘) 이란? - M : Matrix(행렬), d : dimension(차원) - Matrix는 1 ~ 4 까지 4개가 존재하고, dimension은 0 ~ 4 까지 5개가 존재한다고 하자. - 각 Matrix의 왼쪽 dimension 은 행, 오른쪽 dimension 은 열이다. - 위 알고리즘이 성립하기 위한 필수 조건은 위 그림처럼 1) 이전 Matrix의 열 과 다음 Matrix의 행 이 같다. 2) 이전의 이전 Matrix의 열과 이전 Matrix의 행이 같다. 이다. *** 행렬의 곱셈을 위한 조건과 동..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dO0ly1/btqE1ugFx6O/RtWJfP3kGbIYPvAnDFZcj0/img.png)
안녕하세요. Splash 화면을 가진 앱이 없을정도로 Splash를 사용합니다. 혹시 Splash 화면을 사용하는 이유는 아십니까? 크게 두 가지가 있습니다. 첫 번째는 이 앱의 로고나 이름을 이펙트있게 그림으로 담아 짧은 시간(1초 ~ 2초 내) 에 보여주면서 사용자에게 앱 서비스의 이해도와 기대감을 높여주는 용도 두 번째는 단지 짧은 시간 동안 보여주기만 하는 의도가 아니라 Splash 화면을 보여주면서 뒤에서는 앱 초기 설정이나 서비스 작동을 진행하여 화면 출력 준비를 마칠 경우 Splash 화면을 종료합니다. 그래서 사용자가 앱 화면 로딩을 기다리는 데 지루함과 기다림을 느끼지 않도록 하는 용도 입니다. 그렇기 때문에, 거의 모든 앱에 존재합니다. 그럼, 위와 같이 Splash 화면을 만들기 위해..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bWoZIc/btqE00AnwFq/8hRTfqSUX9hc5f2KJiaMk1/img.jpg)
안녕하세요. 안드로이드의 Dialog 종류 중 BottomSheetDialog 에 대해 알아보겠습니다. Dialog 하면 흔히 기억하시는게 가운데에서 확인 버튼 누르는 알람 창을 떠올리실텐데요(AlertDialog) 또는, 날짜를 선택하는 다이얼로그 도 있구요. 하지만 순위권에 있는 여러 앱들을 보면 종종 아래에서 올라오는 알림 창(또는 선택 창) 들이 있습니다. SnackBar와 Toast 와는 다르게 Dialog 처럼 버튼과 내용이 존재하기도 하고, 이미지도 들어가있습니다. 즉, 하단에서 Modal을 들어올리는 Dialog 입니다. (파일 공유같은) 이를 BottomSheetDialog 라고 합니다. 우선, 개발자 문서 링크입니다. https://developer.android.com/referenc..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/FjLbF/btqEVYX1sAv/SNRE1wUfxkQTVwPlLWozOk/img.png)
안녕하세요. 항상 주소창에 무슨 뜻인지는 모르겠지만 주소 맨 앞에 쓰이는 Http 와 Https 에 대해 개념을 짚기 위해 포스팅을 하게 되었습니다. 면접 때 기출 빈도가 높다고 하더군요. 그래서 깊은 지식을 얻기 위해서는 제 포스팅을 보신 후 별도로 검색하시면 엄청 많이 나옵니다. (특히 나무위키) 추가적으로 궁금한 사항은 이렇게 참고하시면 됩니다. 그럼 알아보겠습니다. HTTP (HyperText Transfer Protocol) - WWW(World Wide Web) 상에서 정보를 주고받는 프로토콜 - 즉, 서버와 클라이언트(사용자) 간에 html 같은 웹 문서를 통해 정보를 주고받는 통신 규약. - HTML을 사용자가 열어서 이미지를 요청하면 서버에서 이를 받아 HTML에 이미지를 전달해주고, 이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b2So1c/btqEPT2NZlQ/4CW3n4T4VqG0gVXwevEQN0/img.png)
안녕하세요. 간단하게 설명드리고 마치겠습니다. 안드로이드 앱에서 웹뷰를 사용한 하이브리드 앱을 웹 단에서 디버깅해보고 싶을 경우가 있습니다. 뭐, 간단하게는 크롬에서 해당 웹페이지 들어가서 F12 - 위 그림을 누르면 모바일뷰로 보여지며 가능은 합니다만 불편한 점이 한 두 가지가 아닙니다. 직접 앱 안드로이드 스튜디오, 컴퓨터 크롬 웹 두 가지를 켜서 디버깅해야지 이슈나 에러를 더 잘 수정, 보완할 수 있습니다. 전제 조건 -> 테스트하는 스마트폰이 시스템 창에서 개발자 옵션이 보여야 한다. 즉, 개발자 설정이 완료되어있어야 한다. -> 스마트폰과 컴퓨터(크롬) 이 연결되어 있어야 한다. USB든, WIFI(네트워크) 든 간에. 1단계. - 크롬 브라우저에서 chrome://inspect 에 접속한다. ..