https://blog.asamaru.net/2017/08/14/top-10-es6-features/

 

개발자가 필히 알아야 할 ES6 10가지 기능

ES6(ECMAScript 표준의 6번째 에디션, ECMAScript2015)에 대한 이야기를 하기 전에 자바스크립트와 ECMAScript에 대한 것부터 간략히 소개한다. 넷스케이프(Netscape)에서 1995년 개발한 자바스크립트(javascript)는 웹 브라우저에서 동적인 기능을 제공하기 위한 언어다. 현재는 대부분의 브라우저에서 이 언어를 제공하고 있다. 그런데 표준 규격없이 여러 브라우저에서 독자적인 특성이 추가되면서 호환성 문제가 발생하기 시

blog.asamaru.net

https://meetup.toast.com/posts/85

 

지금 바로 시작하는 ES6 : TOAST Meetup

지금 바로 시작하는 ES6

meetup.toast.com

다른건 몇번 봐서 알고 있었지만 Promises까지 포함인건 이번에 알게 됬다...

jetbrains 에서 datagrip이라는 db툴이 있는데..

intellij 와 UI가 매우 흡사하다...

아래 이미지 처럼 로그도 한글로 잘 나오고 쿼리 결과도 한글로 잘 나오는데...

빨간 박스처럼 저렇게 시스템 메뉴라고 해야 되나?? 머라고 해야 되나?? 


한글이 깨진다...그래서 이것저것 찾아보다 드뎌 찾았다...

Setting -> Appearance & Behavior -> Appearance 에서 Use custom font에 체크를 하고 한글 지원하는 font로 변경해주면 된다.

지금은 나눔고딕코딩으로 했더니 시스템 한글도 안깨지고 잘~ 나왔다~ 

인텔리J나 안드로이드 스튜디오도 비슷 할거 같다...아마도...;;;


끄으으으읕~~~~~



https://www.androidhuman.com/lecture/proguard/2017/02/16/reduce-method-count-with-proguard/

위 링크대로 해봤더니 실제로 메소드가 반이 줄어드는 놀라운 마법이 펼쳐짐...와우

파일:

.idea/workspace.xml

.gradle

local.properties


디렉토리:

build/

.idea/libraries/

app/build/

app/debug/

app/release/


Match:

*.iws


프로젝트별로 설정을 해줘야 한다. 

http://codingsmith.tistory.com/entry/%EC%BB%A4%EC%8A%A4%ED%85%80-%EB%A6%AC%EB%88%85%EC%8A%A4-OS-iso-%ED%8C%8C%EC%9D%BC-%EB%A7%8C%EB%93%A4%EA%B8%B0


일단 링크만 남겨놓고 나중에 한번 써봐야 겠다...


파일 업로드 설명이 잘 되어 있는 사이트.

https://steemit.com/kr-dev/@capslock/java-sftp-using-jsch-sftp

그놈만 쓰다보니 KDE가 그리워서 뭐를 써볼까 하다 No.1 리눅스를 설치해서 써봤다...

근데...뭐랄까...하루에 한번씩은 걍 먹통이 되는 현상이 있어서 왜 그런지 모르겠다...ㅡㅡ;;

아놔~ 개발하는 PC인데 한번씩 먹통이 되면 안되기에 이번엔 페도라를 설치 했다..

KDE를 쓰겠다는 강한 의지로 인해...ㅎㅎ 근데...페도라도 같은 증상이 있어서 다시 밀고 토요일인 오늘...점심 먹고...느즈막~히 출근을 해서 마지막이란 심정으로(이번에도 안되는 걍 민트 19 설치할 생각...) 쿠분투로 설치했는데...

어떨려나 모르겠다...ㅡㅡ;;

RecyclerView Item에 버튼이나 체크박스가 있을때 발생되는 이벤트를 Adapter에서 처리 할수도 있겠지만, 어쩔수 없이

Activity에서 처리를 해야 할때도 있다...이럴때 구현하는 방법을 남겨본다...이렇게 라도 안하면...까먹어서..ㅠㅠ

내가 알고 있는 방법은 두가지가 있다. 첫번째를 Tag를 이용하는 방법과, 이벤트 리스너를 만들어서 하는 방법이 있는데,

이벤트 리스너를 만들어서 처리 하는 방법으로 남긴다.

우선 class가 하나 필요 하다.

(activity에 inner 클래스로 만들어도 된다.)

public class ListEventListener {

private OnViewItemClickListener onViewItemClickListener;

public interface OnViewItemClickListener{
public void onViewItemClick(Map<String, String> item);
}
}

리스트에 있는 특정 view에서 이벤트가 발생이 되면 해당 item에 대한 데이터 전체를 받을 거라서 인자값을 Map으로 했다..


Activity에서는 아래 처럼 이벤트가 발생 했을때 처리할 리스너를 구현해 준다.

ListEventListener.OnViewItemClickListener onViewClickListener =
new ListEventListener.OnViewItemClickListener() {
@Override
public void onViewItemClick(Map<String, String> item) {
Toast.makeText(OrderAddActivity.this, "이벤트 테스트", Toast.LENGTH_SHORT).show();
}
};

그리고 RecyclerView Adapter 생성자에 onViewClickListener를 넘겨주고

OrderAddAdapter adapter = new OrderAddAdapter(this, onViewClickListener);


Adapter에서는 아래처럼 이벤트가 발생했을때 인자로 넘긴 이벤트 리스너를 호출해 주면 Activity에 구현된 

이벤트 리스너가 실행이 된다...

holder.ivDelete.setOnClickListener { v ->

onViewClickListener.onViewItemClick(item)
}


알면 참 쉬운데...모르면 개고생 인듯...ㅡㅡ;;;

listview, recyclerview를 사용하면서 리스트 안에 checkbox를 넣어야 할경우

체크된 상태를 유지를 못하게 된다.

대부분 아래 코드와 같을 거라 본다...

holder.cbFavoritItem.setOnCheckedChangeListener(
CompoundButton.OnCheckedChangeListener { buttonView, isChecked ->

if (holder.cbFavoritItem.isPressed){
onCheckedChange.onViewCheckedChange(isChecked, item)
}
})

이렇게만 해서 리스트를 구현을 하게 되면 나타나는 증상은 체크박스에 체크를 하고 리스트를 아래로 스크롤을 하고 다시 체크한 항목이 있는 위치로 오게 되면 체크가 풀려 있는 현상이 나타나게 되거나 또는 스크롤을 아래로 내리다 보면 체크가 안되어 있는 항목이 체크 되어 있는 등의 증상들이 나타나게 된다. 


holder.cbFavoritItem.setOnCheckedChangeListener(null)

이럴때는 위 코드 처럼 이벤트를 등록하기 전에 null로 초기화 후 이벤트를 등록해 주면 된다.

만약에 리스트에 들어갈 데이터에 특정 상태값에 따라 체크를 바꿔줘야 한다면, 


holder.cbFavoritItem.isPressed

위 코드를 통해서 사용자에 의해 발생된 이벤트인지 여부를 판단해서 처리해 줘야 하는것도 까묵지 말자...


전체 소스중에 해당되는 부분만 추려 보면 아래와 같다.


holder.cbFavoritItem.setOnCheckedChangeListener(null)

if (isFavorit == "T") {
holder.cbFavoritItem.setChecked(true)
}
else{
holder.cbFavoritItem.setChecked(false)
}

holder.cbFavoritItem.setOnCheckedChangeListener(
CompoundButton.OnCheckedChangeListener { buttonView, isChecked ->

if (holder.cbFavoritItem.isPressed){
onCheckedChange.onViewCheckedChange(isChecked, item)
}
})


Source: StatCounter Global Stats - OS Market Share



윈도 점유율은...역시나 어마어마 하구만~ 

리눅스...1.48% 

후훗~ 그럼 난 전세계 1%에 속하는구마잉~ ㅋㅋㅋ

이런거라도 1% 클럽에 들수 있어서...가문에 영광 이구만~ ㅎㅎ

리눅스 쓰면 전세계 1% 클럽에 들수 있어요~~ 리눅스 쓰세요~ ㅋㅋㅋㅋ


+ Recent posts