분류 전체보기 53

Kotlin 컬렉션 정렬 sort, sorted, sortedby, sortDescending, sortWith

1. sort() / sorted() 정렬을 잘 알지 못하고 쓰다보니 어쩔 때는 sort만 되고 어쩔 때는 sorted만 될 때가 있어서 당혹스러울 때가 있었다. 또 정렬을 했는데 왜 안바뀌지? 하고 무지하던 때도 있었다. 😥 이러한 경험을 토대로 이 2개를 위주로 정리해 보기로 했다. //예시 1 val list = listOf(5,4,8,2,1,10) list.sort() // error //예시 2 val list = listOf(5,4,8,2,1,10) list.sorted() println(list) // [5, 4, 8, 2, 1, 10] 1-1 sort() - 변경이 가능한 mutable 리스트의 순서를 변경 - 리스트 자체의 순서를 변경 (리턴 x) val list = mutableList..

List, Map, Set 정리

강의를 듣다보니 과거에는 쉽게 이해하기 어려웠던, 특히 map과 set의 차이가 어이없게도 왜 어려웠지 싶을 정도로 이해가 됐다. ​ List - 중복 가능 - 순서가 필요할시 혹은 기본적인 목록 (순서인 index와 값으로 구성) ​ Map - 중복 불가 - 순서는 중요하지 않고 key, value로 구성 ​ Set - 중복 불가 - 순서는 중요하지 않고 value로만 구성 ​ ​ 3가지 예시를 통해 구분해보자! 1. 일주일간 야근 목록 2. 로또번호를 저장 3. 날짜별 판매 수량 ​ ⬇️ ​ 1. 일주일동안 같은 사람이 야근할 수 있으니 중복가능, 목록 - List ​ 2. 숫자만 필요하며 ,중복이 불가함 - Set (2,12,44...) ​ 3. 날짜별 한 개의 값으로 중복불가 , 판매 수량이라는 ..

개발 공부 2022.07.03

[android] SharedPreferences 파헤치기

간단하게 정보를 저장할 경우 SharedPreferences를 많이 사용하고 있다. 키-값으로 데이터를 저장하고 있으며 Int, Long, String, Double, Float, Boolean으로 저장 가능하다. 1. 사용 방법 val sharedPref = getSharedPreferences( "이름", Context.MODE_PRIVATE) //저장 sharedPref.edit { putString("이름","저장 정보") //String 형으로 저장 putInt("이름",0) //Int 형으로 저장 } //값 꺼내기 sharedPref.getString("이름","") // sharedPref.getString("이름") 이렇게도 가능 sharedPref.getInt("이름",0) 1-1 값 가..

[android] ripple drawable 버튼 클릭시 효과

버튼을 클릭할 때 클릭한 느낌을 주도록 효과를 주고 싶을 때! 배경색을 바꾸고 싶을 때! ripple을 사용하면 버튼 클릭시 간단하게 효과를 줄 수 있다. 터치한 부분에 따라 퍼져나가듯이 반응을 한다. //color #9ADFED #286189 //Drawable //클릭시 변경할 색 부분 //기본 색 부분 //layout Q.음영(shadow)을 없애고 싶다면? - xml 버튼에 추가해주면 끝! android:stateListAnimator="@null"

Coroutines/코루틴 기초 1

코루틴이란? 코루틴은 비동기적으로 실행되는 코드를 간소화하기 위해 (Android에서) 사용할 수 있는 동시 실행 설계 패턴. 사실 나 같은 초보 개발자에게는 설명을 읽어도 무슨 말인지 잘 모르겠다. 그래서 기초지만 내가 이해한 대로 다시 정리! → 보통 코드를 작성하면 순서대로 동작을 하게 되는데 코루틴으로 작성을 하게 되면 루틴의 순서대로 동작하게 되는 것! → 모든 루틴이 끝날 때까지 기다려주는 것(끝난 후에 return) → routine에 delay가 있을 경우(thread sleep 같은 역할) 딜레이 만큼 다른 루틴을 실행 후 (중단) 다시 재개 1. launch / runBlocking / delay - launch와 runBlocking은 새로운 coroutine을 생성 (- runBlo..

문과 개발자의 소소한 회사 일기1

국비지원 학원을 다녔었고 매우 부족한 실력이어서 반 포기 상태였던 약 2달 전쯤 어렵사리 회사에 들어갔다. 실제로 낸 곳은 그리 많지 않았지만 회사 공고를 보면 들어갈 수 있는 곳이 없었기에 ㅎㅎ (국비지원 학원이었어서 자바밖에 못해서 더 그랬다...) 나름 분위기가 괜찮고 불러주기에 그냥 갔다 ㅋㅋㅋ 들어가자마자 중고마켓과 채팅을 넣는다며 밤낮 주말 없이 일했다. 지금은 이제 심사가 끝난 상태라서 마음의 여유를 되찾긴 했는데... 하다보니 정말 많을 걸 느꼈다... 정말 계속 질리지 않고 공부할 수 있는가? 포기하지 않고 답을 찾을 수 있는가? 개발적 사고가 잘 돌아가는가? 저 순서대로 정말 중요함을 많이 느꼈다.. (특히 1,2번!) 나는 안드 개발자로서 들어갔던 거고 사수도 없었고ㅠ 나 혼자서 다 ..

개발 일기 2021.09.13

[카페24] jQuery 이미지에 마우스 올리면 상세 내역 뜨게 하기 /mouseenter/mouseleave/id

★목표★ ↓상품들의 사진만 쭉 나오게하고 상품명등 상세내역은 마우스를 올리면 뜨게 하는 레이아웃↓ html 코드 {$new_icon}{$soldout_icon} {$product_name_title} : {$product_name} {$price_unit_head}{$product_price|numberformat}{$price_unit_tail} {$new_icon}{$soldout_icon} {$product_name_title} : {$product_name} {$price_unit_head}{$product_price|numberformat}{$price_unit_tail} 처음에 CSS mouseover(:hover)로 시도하려고 했으나 선택자의 문제인건지 제대로 동작을 하지 않아서 결국 js/..

개발 공부/웹 2021.07.08

[카페24] 폰트 추가하기 / 폰트 여러개 / 폰트 수정 / css font

1. 카페24 FTP에 개인 폴더를 만들어서 안에 font 폴더를 만들었습니다. - 생략가능! (폴더는 자유롭게 만들면 됩니다.) 2. font 파일 안에 적용할 폰트 파일을 넣습니다. - FTP에 넣기만 파일을 넣기만 하면 됩니다! 저는 나눔고딕이랑 나눔고딕코딩을 넣었습니다. 3. font.css파일을 생성합니다. @font-face { font-family: "NanumGothicCoding"; src: url("web/yongd/font/Nanum/NanumGothicCoding.ttf"); } @font-face { font-family: "NanumGothic-regular"; src: url("web/yongd/font/Nanum/NanumGothic.ttf"); } @font-face { f..

개발 공부/웹 2021.07.02

[JAVA] Stack - Linked List로 구현(스택/링크리트리스트)

[전체 코드] public class LinkedListStack { private Node head; private Node top; private class Node{ private Object data; private Node next; Node(Object data){ this.data = data; } } public void push(Object data) { if(head == null) { head = new Node(data); top = head; return; } Node node = new Node(data); top.next = node; System.out.println("push, top.next "+top.next); top = node; System.out.println("..

[android] ClickableViewAccessibility 해결/2중 레이아웃 터치 문제

//JAVA 코드 작성 2중 레이아웃을 쓰다가 터치 되면 안되는 하단의 레이아웃의 뷰가 클릭되는 문제 발생! (캘린더를 띄워서 날짜를 선택하는 것이었는데 날짜 선택을 여러개 해야하다보니 띄운 상태에서 다른 날짜를 클릭하면 해당 날짜가 변경되는 현상...) [기존의 캘린더 부분 레이아웃 xml] [첫 번째 시도] - 해당 뷰에 터치 리스너 달기 결과 : 반성공(동작은 된다) 오류 : 'ClickableViewAccessibility'가 뜸 performClick을 해달라는 것 같음.. (@을 달아도 그대로라서 신경쓰임) 다른 방법 검색.. [두 번째 시도] - performClick @Override public boolean onTouch(View v, MotionEvent event) { switch(..