프로그래밍 공부

    [android] context 란

    정말 흔하게 사용되는 context. 아무 생각없이 공기처럼 사용되는 녀석이지만 잘못사용할 경우 memory leak이 빈번하게 발생 할 수 있다. https://developer.android.com/reference/android/content/Context Context | Android Developers developer.android.com 응용 프로그램 환경에 대한 전역 정보에 대한 인터페이스입니다. Android 시스템에서 구현을 제공하는 추상 클래스입니다. 애플리케이션별 리소스 및 클래스에 대한 액세스는 물론 시작 활동, 브로드캐스팅 및 인텐트 수신 등과 같은 애플리케이션 수준 작업에 대한 상향 호출을 허용합니다. 라고 설명이 되어있는대, 크게 애플리케이션의 현재 상태 값, 액티비티 / ..

    [Slack] slack bot message

    [Slack] slack bot message

    협업툴로 어떤 것을 사용하는지도 기업에선 꽤나 고민이 깊다. 그중에서 메신져로써는 Slack이 가장 흔하게 사용되는 듯 하고, 에자일 형식의 프로젝트 관련은 Jira를 많이 사용한다. 카카오톡이나 Discode 등에도 존재하듯, Slack에도 Bot이 있다. loging이나 error등을 빠르고 직관적이게 확인 할 수 있기 때문에 꽤나 활용하기 좋다. 우선 채널을 만든 후에, 채팅창 옆 +버튼을 눌러 봇을 추가시켜보자. 여기서 Webhook을 검색해주자. 클릭한 후 , 버튼을 눌러주자 추가할 채널을 선택해주면, ID와 이름 설정란이 나온다. Webhook URL을 복사해준 뒤, public static void sendSlackMessage(String text) { try { ObjectMapper m..

    naver cloud platform - MSA

    naver cloud platform - MSA

    네이버에서 진행하는 MSA 설명을 들을 기회가 있어 한 번 들어봤다. 근데 참 아쉽다.. 그림도 어수선하고 설명해주는 사람도 그다지 숙달된 느낌은 아니었다. 차라리 글이라도 영어로 되어있다면 오히려 구글링 하기 편하지 않았을까 싶다. 이건뭐 기술이름만 영어로 해놓으니 장단점 적어놓은게 기술 이기종성 이렇게 적어놓는데 진짜 한글이 훨씬 어렵다. 도메인 경계를 정의 하라는대 Service isolated -> DDD(Domain Driven Design) 이런식으로 말한다거나.. 말은 한글로 할지언정 문서까지 한글로 되어있으니 너무 난잡하고 용어혼동이 너무..

    [android-kotlin] firebase notification / message

    2021.07.27 - [프로그래밍 공부/Spring Boot] - [Java] spring boot - firebase message server [Java] spring boot - firebase message server 이제는 없으면 안되는 firebase. 웹에서 작성한 알림메세지를 서버로 전송하여 각각의 디바이스로 뿌려주는 간단한 코드를 작성하고자 한다. 대략 플로우는 이런식이다. Web ( notification UI/UX ) -> Spri ttubeoki.tistory.com 이전 포스팅에서 백단에서의 메세지요청을 만들었으니, 앱에서의 메세지받는 코드를 작성해보자. 우선 디펜던시부터 받아오고~ implementation platform('com.google.firebase:firebase..

    [java] spring boot oauth2 refresh token 고민

    local stragy 전략을 사용하다가, 모바일에서 문제가 터졌다. login을 하면 보통 token을 발급받고 retrofit interceptor에서 token을 심고 header로 보내는 방식이었는데, login을 안하고 상시 백그라운드 작업이 들어가면서 token 만료기간이 문제가 된 것. 이 문제를 해결하기 위해 retrofit auth 를 설정해 줄 수 있지만 ( 401이 떨어졌을때 token을 재발급 받아 다시 요청해 줄 수 있음 ) 현재는 발급 조건이 login에만 붙어있기 때문에 비밀번호를 받을 수는 없었고, 만료된 토큰을 서버단에서 체크 한 후 다시 발급해주는 로직이 필요했다. 하지만 현재 개발중인 서비스에서는 user 관련 테이블에 token값을 저장하지 않고 있었고 (jwt 인증만..

    [android] migration 진행중 ... kotlin v, IDE v, library v...etc...

    [android] migration 진행중 ... kotlin v, IDE v, library v...etc...

    최근에 작업하던 프로젝트의 kotlin 버전을 업그레이드 하면서 참 많은 문제가 터졌다. 우선적으로 kotlin plugin을 최신화 하기 위해선 IDE를 재설치 해야한다. 2022년3월29일 기준으로 stable version인 bumblebee를 다운로드 받았다. android studio 4.2v 이상으로 넘어오니 지원하던 kotlinx.android.synthetic 이녀석이 사라졌다. 이런식으로 아이디만 가져오면 자동으로 매핑해주는 친구였는데 ViewBinding으로 바꾸도록 가이드가 되어있다. 관련한 자세한 내용은 링크로 대체한다. https://medium.com/androiddevelopers/use-view-binding-to-replace-findviewbyid-c83942471fc U..

    [Kotlin] java POI 를 이용한 write / download

    @GetMapping(value = ["/excel"]) fun excel(res: HttpServletResponse,excelReq: ExcelReq/*, excelForm: ExcelForm*/) { val savePath = "/Users/jwkim_macbook/Desktop/exceltest.xlsx" try { XSSFWorkbook().use { wb2 -> ByteArrayOutputStream().use { fileOut -> FileOutputStream(savePath).use { fos -> val sheet1: Sheet = wb2.createSheet("Sheet1") val style: CellStyle = wb2.createCellStyle() style.setBorderB..

    [osx/mac] wordpress local test

    [osx/mac] wordpress local test

    최근 wordpress를 이용할 기회가 생겨서 한번 배워보려고 한다. 굳이 공부하는대에 가상서버를 띄울 필요는 없기 때문에 local test로 진행하고, 실제 서버에 있는 데이터들을 조작하고, 변경해서 바꿔봐야겠다. 우선 MAMP를 다운로드 받아야 하는데, MAMP는 Mac, Apache, Mysql, PHP 의 약어라고 한다. 로컬 테스트용으로 필요한 모든 기능을 담고있으니 편리하지만.. PHP라니!.. PHP.. 우선 테스트를 해보고 판단해봐야 할 듯 하다. https://www.mamp.info/en/downloads/ Downloads - MAMP & MAMP PRO NAMO DNS AppThe perfect MAMP companion Access your MAMP websites under a..