본문 바로가기

분류 전체보기

(115)
월간 방문수가 꾸준히 늘고 있어서 기분이 좋다 오늘 내일 포함하면 200명정도 더 추가될듯
2019 Summer 네이버 핵데이 후기 글쓴이는 2018년 Winter 네이버 핵데이 때도 참가를 했었다. 그때는 서버를 해보겠다고 객기를 부리던 때라, 서버 쪽으로 참가를 했었다. 그리고 그때 스프링을 처음 해보고 온갖 매운맛 다봤었다. 그래도 그 매운맛 덕분에 스프링을 교양수준으로는 익힐 수 있었고, 그 '교양 스프링'은 아직까지 나에게 유효한 지식이 되고 있다. 그렇기 때문에, 이번에도 핵데이를 나가면 많은 것을 배울 수 있으리라.. 하고 생각하고 안드로이드 쪽으로 참가 신청을 하게 되었고, 이번 회차 또한 정말 감사하게도 뽑아주셨다. 아 혹시나, 네이버 핵데이에 관심이 많아 검색을 통해 이 글을 보게 되는 분들을 위해 몇가지를 써보자면.. 일단 전체적으로 깃헙을 많이 보시는 것 같다. 나는 원래 뭔가 꾸미는걸 좋아해서 깃헙을 이쁘게 꾸..
RxJava와 Room DB 자기 전, 갑자기 생각나서 정리를 해야할 것 같아서 쓰는 ROOM DB와 RxJava의 조합 에 관한 글. Room DB는 Andriod Jetpack에 포함된 SQLite를 대체하는 데이터베이스이다. 특징으로는, 간단한 insert, update, delete 등등의 기본적인 함수를 SQL문을 이용하여 적지 않아도 된다는게 큰 특징이다. 사용해보면 알겠지만 SQLite와 DBHelper를 쓰는 등의 기존 방식보다 훨씬 편리하고 마음이 놓인다는 장점이 있다. 마음이 놓인다는 이유는.. 제가 DB지식이 적어서 SQL문이 오류날까봐 항상 전전긍긍하는데 SQL문을 덜 적어도 되기 때문.. 이다... ㅋㅋㅋ 또한 특징이 하나 더 있는데, RxJava를 연동해서 쓸 수 있다는 점이다. 예를들어, DB에서 getU..
Android Action Mode 안드로이드에서 Text를 Select했을 때 나오는 메뉴에 뭔가 추가하고 싶을 수도 있다. 예를 들면, 이런식으로, Important를 꾹~ 눌려서 (Long press) Text를 Select한 뒤에 나오는 메뉴에서 '퀵번역'을 추가 하고 싶을 수 있다. 이런걸 구현하려고 하면 간단하게 함수 하나만 override하면 된다. @Override public void onActionModeStarted(final android.view.ActionMode mode) { Menu menu = mode.getMenu(); menu.add("퀵번역") .setEnabled(true) .setVisible(true) .setOnMenuItemClickListener(item -> { //해당 메뉴를 눌렸을 때 수..
Android View Stub View Stub란? 레이아웃을 include 태그처럼 외부의 layout을 들고오는건데, 여타 include 태그와는 다르게 동적으로 필요할 때 inflate 할 수 있는 태그이다. 예를 들면 와 같은 main activity layout이 있다고 치자. 그리고 와 같이 my_inflate_layout.xml이 있다고 치자. 이렇게 되면, 액티비티에서는 View inflatedView = ((ViewStub) findViewById(R.id.my_stub)).inflate(); TextView text1 = inflateView.findViewById(R.id.text_view_1) 와 같이 my_inflate_layout을 ViewStub 태그가 있는 위치에 inflate할 수 있다. 또한 my_in..
안드로이드 Picture In Picture (PIP) 깃 헙 주소 : https://github.com/5seunghoon/PipExample PIP기능은 아래와 같다 이렇게 재생되던 동영상을, 홈키같은걸 눌리게 되면 이렇게 작은화면으로 전환되고, 다른 앱 위에서 동영상이 계속 재생될 수 있는 기능이다. 유튜브나 네이버TV등에서 자주 볼 수 있는 기능이다. 이를 간단하게 구현해보자. 먼저 깃헙 주소는 게시글의 최상단에 미리 적어놓았다. 1. 매니패스트의 액티비티 부분을 다음과 같이 수정하자 보면, android:resizeableActivity과 supportPictureInPicture이 설정되어 있는 것을 알 수 있다. 2. 액티비티 xml 수정 먼저 VideoView를 리니어 레이아웃의 최상단에 두고, 스크롤뷰를 그 밑에 둔 다음 그 스크롤뷰에 이것저..
SW expert academy 1824 혁진이의 프로그램 검증 기본적인 풀이는 DFS이다. DP[i][j][memory][direct]는 "i, j의 위치에서 memory의 값을 메모리에 저장해놨을 때, direct로 프로그램이 진행되고 있는 상황에서의 프로그램이 끝날 수 있는 지의 여부"이다.그 결과값이 1이면 끝날 수 있고, 2이면 끝날 수 없음을 의미한다. 혁진이의 프로그램이 무한루프가 돈다는 것은, 같은 memory와 direct의 상황에서 같은 i,j를 방문했다는 것으로 체크하면 된다. #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #inc..
SW expert academy 1238 Contact #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int len, start; int main() { for (int tc = 1; tc > from; cin >> to; adj[from].insert(to); } queue next; bool isVisit[101]; for (int i = 0; i < 101; i++) { isVisit[i] = false; } //isVisit[start] = true; next.push(start); next.pus..