전체 글
[Android&Kotlin] gps tracking
이전에 진행했었던 프로젝트 내용으로, 요구사항은 백그라운드에서 주기적으로 사용자의 위치를 파악하여 특정 위치에 사용자가 있다면, 알림을 띄우는 내용이였다. 활용으로는 아마, 광고성 알림도 있을것이고 또는 미세먼지나 각종 상황을 경고해줄수도 있고, 해당 지역의 정보또한 제공해줄수 있는 다양한 방법으로 활용 할 수 있을거같다. 우선적으로, 주기적으로 위치를 파악하는 문제가 있는데 당연하게도 앱이 꺼져있는 상태에서도 위치를 파악할수가 있어야했다. 그래서 백그라운드상에서 일정시간마다 해당 기기의 gps정보를 받아오는 방법을 택했고, 거기에 사용된 녀석은 AndroidX jetpack에 있는 work manger란 녀석이다. *참고 사이트 android developer https://developer.andro..
[kotlin] 프로그래머스 level1 - 크레인 인형뽑기 게임
우선적으로 크레인이 어느지점까지 내려가야 하는지 알아볼 필요가 있었다. board는 2차배열이기 때문에 세로의 길이는 board의 length로 확인할수 있고, 가로는 moves에 있기때문에 board.length 만큼 반복문을 돌려서 크레인이 제일 하단까지 확인할 수 있게끔 할수 있다. 또한 moves는 몇번째의 가로 인덱스인지 알려주는 역할도 있지만, 더불어 크레인이 몇번 작동하는지도 알수 있다. 그렇기에 크레인이 작동하는 횟수만큼의 반복문과 크레인이 최하단까지 갈 수 있는 반복문 총 2개가 필요하다 우선, 크레인의 반복 횟수와 내려가는 만큼의 반복문을 만든다면 //크레인의 작동 횟수 moves.forEach { move -> //board의 길이 board.forEachIndexed{ index, ..
ex 대신 e.g.
과거 학부생때, 과제를 재출하고 교수님께 꾸중 들은적이 있었다. 그 이유는 ex) 라는 표현때문이였는데, e.g.,) 를 사용하라고 하더라. 한국에서는 너무 자주 써온 표현이라 이것이 잘못되었다고 인식을 하지 못했었는데. 실제로 찾아보니 위키피디아 ko.wikipedia.org/wiki/EX 위키 낱말사전 ko.wiktionary.org/wiki/ex oxford language 이외 다른 페이지를 찾아봐도 for example 이라는 뜻을 표기해주는 곳은 없었다. 관련된 외국계 블로그 포스팅을보면 blog.prepscholar.com/ie-vs-eg-vs-ex-definition I.e. vs E.g. vs Ex.: Which Is Which? What's the definition of i.e. vs..
[메모] activity launchMode 삽질
우선 필요로 하는기능은, activity stack에서 중복된 activity가 호출했을때, 기존에 등록되어있던 동일한 activity를 지우고, 새로 스택에 쌓고싶었다. 나의 경우는 activity가 이런식으로 호출되는 경우였는데, A - B - C - D - B 마지막 B를 호출했을때 원하는 결과는 A - C - D - B 이고, B를 호출하지 않을 경우에는 A - B - C - D 가 유지되는 경우였다. 왠지 launchMode에서 해결할 수 있겠다 싶어서 launchMode를 singleTask로 실행해보니.. A - B (이전에 있었던 자리로 되돌아감 이후 스택 제거후 B의 onResume 호출) singleTop으로 실행해보니 A - B - C - D - B (기존 스택 지워지지 않음) sin..
[Spring Boot/ldaps] AD 연동
모기업에서의 AD연동을 Ldaps로 요청하여 작성하게 되었다. 추후에 Okta도 작성하겠지만, 최근 대기업에서의 Ldaps 비중은 점점 낮아지는 듯 한 느낌. 그래서 구글에서 찾아봐도 한국말로된 연동관련 포스팅은 찾아보기가 힘들다.. ..... 우선 Ldaps가 무엇인지 알아야하는데, AD ( Active Directory ) 를 사용하는 일종의 사용자관리 서비스 생각하면 편할듯하다. ldap / ldaps ? ldap은 http 통신, ldaps는 ssl인증을 통한 https 통신이라고 생각하자. ( 인증서 필요 ) pom.xml에 따로 security-ldap 을 추가하는 경우도 있는데, 사실 이번 프로젝트의 경우 ldaps의 인증값으로 stragy 전략을 짜는게 아니라, 내부적으로 존재하는 user..
[GraphQL] Spring Boot + 그래프QL 사용하기 (CRUD)
그래프 QL이란 기존 굳건하게 지켜온 Rest API를 대체할만한 수단이다. post, get, patch 등등 url을 달리해야만 했던 Rest API와는 달리 endpoint가 하나인 그래프QL은 controller가 필요 없다는 점에서 기존 작성했던 방법보다는 확실히 생산성이 높은 편이다. 예를들어, ex ) Rest API /api/post /api/post/:id /api/post/:id/postinfo /api/user . . . 이런식으로 url을 계속 파고들고, 복잡해진다는 느낌이 있는데, 그래프QL 같은 경우 (defualt 값으로) /graphql 이거 단 한개면 끝이다 물론 service단에서 어떤 도메인을 요청하는지 다 구분하지만, rest api는 service + controll..