최상단

컨텐츠

전체

59

  1. 일본어 무작정 따라하기 약 2년 후기 2017.05.17
  2. Javascript Jquery $.cookie가 불러와지지 않을때 2017.05.17
  3. Java replace 함수 2017.03.20
  4. "나는 몇 등?"에서 "나는 어때?" 2017.03.03
  5. JLPT 하루 남았다. 2016.12.03
  6. 코딩 실력을 평가하는 것 2016.11.30
  7. 유튜브 구독자 늘리기에 대한 고찰 (1) 2016.11.22
  8. 묵혀뒀던 블로그를 다시 시작합니다 ... 2016.11.20
  9. ListView adapter 오류 : 뒷 부분이 반복된다? 2016.10.11
  10. 파일 불러오는 함수! (1)2016.08.13

일본어 무작정 따라하기 약 2년 후기

글 정보

Category
2017.05.17 13:17

본문

일본어 무작정 따라하기(기본편) + 일본어 무작정 따라하기(심화편) 패키지
저자 : 후지이 아사리
출판 : 길벗이지톡 2014.08.27
상세보기



일본어 무작정 따라하기 책을 구매한 후 정확하게는 1년 9개월 정도 지났습니다. 보통 구매한지 오래 되면 잊어버리기 마련인데 이 책이 일본어 학습에 큰 도움이 되었습니다.

이 책으로 입문한 지 1년 지나고 JLPT N3에 바로 합격했습니다. 흥미가 생겨서인지, 자신감이 생겨서 일본어에 대한 흥미를 잃지 않았고 이후 계획에는 없었던 다른 책을 구매하면서 일본어 실력이 향상된 것 같습니다.

일본어 현지회화 무작정 따라하기, 현지 일본어 듣기 무작정 따라하기 시리즈 등 지겹지 않은 주제들이었기에 자연스럽게 구매를 하게 된 것 같습니다. (무작정 따라하기 7권 정도 시리즈 모두 가지고 있습니다 ^^)

지금 일드나 애니메이션을 보면 70%정도는 알아듣는 수준이 된 것 같고 일본 여행 가서 대화를 시도해봤는데 부족하지 않을 만큼 소통이 가능했습니다.

책 정말 강추합니다!

신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

Javascript Jquery $.cookie가 불러와지지 않을때

글 정보

Category
프로그래밍노트
2017.05.17 13:05

본문

1. $.cookie is not a function 

html head 태그에 아래 코드 넣어주면 동작한다.

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>



2. $.cookie("쿠키 이름") 에서 값이 undefined 일때

쿠키가 없거나 쿠키가 http only 로 되어있을 경우 undefined이다.




Node js 기준으로 아래 코드처럼 httponly가 활성화되어 있다면 jQuery에서 쿠키 가져오기가 불가능하다.

res.cookie('foo', '홍길동', {
    httponly:true maxAge: 60 * 60 * 1000 * 24 * 30 // 1 month
});


httponly가 있는 경우 없애주자.

신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

Java replace 함수

글 정보

Category
프로그래밍노트/Java_Android
2017.03.20 15:31

본문

replace("원래 문자", "바꿀 문자");

String str = "Hello world!";

String tmp = str.replace("Hello", "yellow");


tmp 값 출력시 "yellow world!" 로 출력됨.

신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

"나는 몇 등?"에서 "나는 어때?"

글 정보

Category
기타, 리뷰
2017.03.03 03:01

본문

 주로 하는 게임들 중 osu!라는 리듬게임을 한다. 난이도도 어려운 것들 위주로 있고, 음악을 좋아하는 것도 있기에 아주 즐겨 한다. 키보드도 기계식 적축 키보드를 구매해서 게임 플레이를 하고 있고, 리듬에 맞춰 노트를 칠 때 마다 스트레스도 아주 풀리는 것 같다. 유튜브의 굇수 분들의 플레이 동영상을 보면서 나도 저렇게 하고 싶다고 생각한다. 엄청 복잡하게 꼬여 있는 노트들을 어떻게 치는가 싶다.


 osu!의 특이한 점이라면 다른 게임들과는 다르게 미션이나 목표가 없다는 점이다. 레벨이 있지만 오른다고 해서 아이템을 주는 것도 아니다(애초에 osu!에는 아이템 같은 건 존재하지 않았다). 멀티 플레이에 들어가 16명이 함께 플레이를 해서, 1등을 하면 기분이 좋아져서 자신감이 생기기도 한다. 그 중에서도 특이한 거라면 내 세계 랭킹 등수를 알려 준다는 점이다. 요새 게임들 보면 퍼센테이지로 알려 주기도 하긴 하지만... 이건 정말 세세하게 알려준다. 세계 랭킹 뿐만 아니라 국내 랭킹도. 참고로 현재 세계 랭킹은 16000등 정도이다. 


 너무 자세하게 나오다보니 랭킹을 올리기 위해 플레이를 계속 하게 되고 더 좋은 성적을 얻어내기 위해 노력하게 된다. 마찬가지로 보상은 주어지지 않는다. 지인 중 세계 랭킹이 600등 정도인 사람이 있는데, 나도 어느새 모르게 저렇게 되고 싶다고 생각하게 됬고 지금도 분명하진 않지만 랭킹을 조금이라도 올리기 위해 플레이한다.


 나는 소프트웨어(프로그래밍), 음악(악기연주나 작곡), 영상, 음향, 조명, 일본어 등 폭넓게 공부하고 있는데, 어느새 나도 모르게 "내가 이 사람 보단 잘하겠지", "모르니까 내가 가르쳐줄게" 라는 식으로 남과 계속 비교하려고 했었다. 나보다 수준이 약간 높은 사람이 있다면 그 사람보단 뛰어넘어야 되지 않을까? 라고 계속 생각했다.


 국민대학교 소프트웨어 캠프의 강연 때 질문을 던진 것이 있다. 구체적으로 기억은 안 나지만 프로그래밍 실력을 명확하게 측정하는 것에 대해, 그리고 내 실력은 왜 늘지 않는 것처럼 느껴질까를 질문했었다. 그때 답은 "그건 중요하지 않다"였다. 그때 깨달은 것이 몇 가지 있는데, 하나는 프로그래밍이란 것은 결국은 창작 툴에 불과하다고 깨닫게 되었다. 프로그래밍이 중요하지 않다는 것을 이야기 하고 싶은 것이 아니라, 그림 편집 툴에 비유를 해 보자면, "C를 쓸 것인가 Java를 쓸 것인가"에 대한 것은 "포토샵을 쓸 것인가 사이툴을 쓸 것인가" 에 대칭이 가능했고, "프로그래밍 언어 문법은 어떻게 쓰는 것인가"에 대한 것은 "포토샵에 있는 붓 툴은 어떻게 사용하는 것인가". 이 밖에도 여러가지가 있을 것이다. 프로그래밍은 문법은 그다지 중요하지 않고 필요할 때 찾아보면 되는 것이다.  또 하나는 결국 프로그래밍으로 무엇을 만들 것인지, 어떻게 효율적으로 개발할 것인지가 중요하다고 깨닫게 되었다. "하드코딩을 해야 할까"는 "포토샵에서 기본 레이어의 백그라운드 색을 입히려면 무작정 붓 가지고 칠해야 할까" 정도로 생각을 할 수가 있었다. 포토샵에서 레이어에 백그라운드를 입히려면 여러가지 방법이 있다. 앞서 이야기한 것 처럼 "붓으로 무작정 색칠하는 것"이 있고 조금씩 더 효율적인 방법을 생각해 본다면 "붓의 크기를 최대 크기로 키워서 색칠하는 것" 또는 "사각형을 레이어 크기만큼 크게 만들어서 래스터화 하는 것" 등등.. (이걸 생각하게 된 이유는 내 노트북에 포토샵을 깔고 보니 도구 모음에 페인트 통이 없었던 것이었는데, 난 포토샵을 잘 못쓰므로 별 생각 안하고 붓으로 무작정 그리는 방법을 계속 사용하다가 익숙해져 버려서..) 프로그래밍도 같은 것 같다.


 그래서 프로그래밍을 잘 하고 못 하고가 중요한 것이 아니라 프로그래밍을 통해 무엇을 만들 것인지, 그리고 그것을 어떻게 효율적으로 만들어 비용을 절약할 것인지를 깨달은 것이다. 서론에 이야기 한 게임과는 다른 것 같다. 사람들에게 똑같은 문제를 주었을 때 제각기 다른 방법으로 해결하기에 다 다르다. 그래서 비교가 가능하고 등수가 나올 수 있는 것. 프로그래밍을 잘하고 못하고를 따질 게 아니라 프로그래밍으로 무엇을 만들었는지, 그 소프트웨어로 우리에게 어떤 영향을 끼치는지를 따지는 것이 중요한 것 같다. 

 현재 아이디어가 여러 가지 생겼고 몇 가지 프로젝트를 혼자 진행하고 있는데 쉽지 않은 것 같다. 진행 속도도 느린 편이고. 하지만 머릿속에선 어떻게 구현해야 할지 또는 이 방법이 좋은지 라던가... 생각이 정리가 잘 되는 것 같다. 개발 비용을 줄이는 것과 효율을 올리는 연습이 필요하다. 그리고 알고리즘만 좀 더 공부하면 최고의 툴 사용자가 될 수 있을 것 같다 ㅎㅎ.

- 지극히 개인적인 생각을 서술한 것입니다. 틀린 부분이 분명 있을 거라 생각합니다. 지적해 주신다면 정말 감사하겠습니다. ^^*

신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

JLPT 하루 남았다.

글 정보

Category
日本
2016.12.03 11:31

본문

일본어를 시작한지는 1년 2개월, 공부기간은 11개월 정도 된다. 그 정도 했는데 공부는 많이 된 것 같다.

내일 JLPT시험을 치는데, 책 한권 풀면서 책에 있는 모의고사 문제집을 2개정도 풀었더니 잘 풀리는 편이였다. 그래서 합격이 될지에 대해선 안심이 된다.

시험이 어떨지는 모르겠지만 그냥 재미있게 치고 오고 싶다.


신고

'日本' 카테고리의 다른 글

JLPT 하루 남았다.  (0) 2016.12.03
[펌]일본어 공부 순서  (0) 2015.09.29

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

코딩 실력을 평가하는 것

글 정보

Category
분류없음
2016.11.30 00:40

본문

요즈음 내가 얼마나 코딩을 잘 하는가, 프로그래밍을 잘 하는가이다. 페이스북 생활코딩 그룹이나 페이스북 친구에게 프로젝트 결과물을 동영상으로 보여 줄 때는 정말 잘 만들었다고 생각한다. 근데 나는 그정도 프로그래밍을 잘 하지 못하는 것 같고 지금 당장 만들어보라고 하면 만들지 못할 것 같은 느낌도 난다. 


그런 면에서 봤을 땐 나는 프로그래밍을 조금 못하는 편이 아닌가 싶기도 했다. 또한 나는 알고리즘에 대한 것은 거의 모르고 있고, 어제 버블정렬이라는 것을 한번 해 본 정도다. 그것도 그럴 게, 안드로이드를 공부하면서 어플리케이션을 개발하는 것만 신경을 썼고 정렬이라든지 배열을 다루는 것에 대한 건 Java나 안드로이드에서 이미 좋은 걸 제공하고 있었다. 그런 것을 사용하다 보니 자연스럽게 다루지 않게 되고 고찰을 점점 하지 않게 되었다. 게다 구지 정렬이니 뭐니 하는 알고리즘을 사용하지 않아도 안드로이드라면 무엇이라도 자신있게 만들 수 있을 거 같은 아주 한심한 생각을 한 때도 있다.


현재는 안드로이드에 대한 것은 다 아는 편은 아니다. 간단한 어플리케이션이라면 바로 만들 수 있을 지도 모르겠다. 근데 내가 프로그래밍을 잘 하는가 고민하면서 한가지 빼먹은 것이 하나 있었다. 내가 생각한 건 코딩을 잘 하는 거라면 구글에서 구지 레퍼런스를 찾아보지 않아도 만들 수 있는 정도로 생각하고 있었다. only 내 생각이지만 구글 없이 코딩이 가능한가 라고 했을 때 전혀 아닌 것 같았다. 아무리 잘 해도 레퍼런스를 찾아가면서 해야 안정적으로 프로그래밍을 짤 수 있다고 생각했다.


그러면서 내가 맨 처음에 프로그래밍에 입문하게 된 계기인 아두이노를 생각해봤다. 아두이노에서 어떤 걸 만들려면, 사용하는 모듈, 센서의 라이브러리를 가져 와야 된다. 라이브러리는 그 모듈의 제조사의 홈페이지나 github에 있을 수도 있고, 네이버 블로그나 카페에서 찾아 볼 수도 있다. 그리고 그 라이브러리의 함수 예제들을 참고를 해야 사용하는 것이 가능했고, 그렇게 어떤 걸 만들어 동작을 하게 된 경험이 있다.


그래서 지금 생각하고 있는 건, 코딩을 얼마나 잘 하느냐라는 건 별로 중요한 건 아닌 것 같다고 생각한다. 코딩을 해서 뭘 만드는가가 가장 중요한 것 같다. 무엇을 만들려면 결국엔 구글을 통한 레퍼런스, 또는 예제가 필요하고, 그렇게 해야 좋은 프로그램을 짤 수 있다고 생각한다. 알고리즘이라든지, 그런 것도 예제를 통해 알게 될 것이라고 생각한다.


물론 경험이 그다지 있는 편이 아닌 내 생각은 맞을 수도 있고 틀릴 수도 있다. 그냥 그렇게 느끼고 있다는 것이다..!

신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

유튜브 구독자 늘리기에 대한 고찰 (1)

글 정보

Category
기타, 리뷰
2016.11.22 03:04

본문

친구와 함께, 유튜브 채널을 하나 운영하고 있고 약 2개월 정도 되었습니다. 일주일에 하나 올릴 정도의 간격으로 아직 활성화된 채널은 아니지만요.

처음 유튜브 채널을 만들 때 구독자 수에 관한 고민을 많이 했었습니다. 검색을 해 가면서 찾고 여러 가지를 시도해봤습니다. 다른 블로그에서 찾지 못한 방법들을 몇 가지 조금씩 적어보려고 합니다.



1. 맞구독방(?)


 찾다 보니, 0 ~ 10대 사용자 층에서 맞구독방이라는 컨텐츠를 발견했습니다. 서로 구독하자는 취지에서 아주 짧은 동영상 컨텐츠입니다. 맞구독방 컨텐츠의 채널을 구독하고, 댓글로 구독완료를 표시하면, 그 사용자도 자신의 채널을 구독하여 구독자 수를 늘려 주겠다는 것입니다.

 

 자신이 구독한 사용자의 컨텐츠를 접하게 되면서, 그 사용자도 자신의 컨텐츠를 접하게끔 만든다는 것입니다. 동시에 자신의 컨텐츠의 조회수는 늘어 나갈 것이라는 거죠. 


 단점도 있습니다. 맞구독방 컨텐츠를 업로드하는 사용자들중 일부는 구독자 수만 올려 주고, 구독 정보는 자세히 들여다 보지 않는 것이 될 수도 있지요. 하지만 구독자 수는 인지도가 올라가는 수이기도 하기에 올리면 올릴 수록 좋긴 하죠. 그렇다고 해도 구독을 했다면, 이렇게 일부러 안 보지 않게 되지 않을겁니다.


 자신의 채널에 맞구독방 컨텐츠를 올리는 것은 최대한 삼가하셔야 합니다. 채널의 전체적인 질이나 분위기를 좋지 않게 만들 수도 있으니까요. 물론 처음 만드신 분이라면 하셔도 괜찮다고 생각합니다. 구독자를 늘린 후 지우고 구독자 수만 그대로 새로운 채널로 시작하셔도 되니까요.




2. 맞구독방 계정 2개 이상?


 계정 2개 이상 구독 완료 해 준다는 건, 하나는 자신의 본 계정으로, 그 나머지는 부계정으로 구독하겠다는 것이고, 부계정에서는 컨텐츠를 시청하지 않겠다는 의미이겠고 조회수가 올라가지 않습니다. 계정 2개 이상을 구독 해줘도 나쁠 것은 없지만, 시끄럽게 하는 알림 설정이나, 불편하게 구독자끼리 소통을 요구합니다. (알림 수를 클라이언트에서 직접 볼 수 있는지는 정확하게 모르겠습니다.) 그런게 아니라면 구독을 걸어 봅시다.





 

신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

묵혀뒀던 블로그를 다시 시작합니다 ...

글 정보

Category
기타, 리뷰
2016.11.20 17:37

본문

사람인지라 한번 마음 먹은 걸 계속 붙잡고 있기가 어렵더군요..


신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

ListView adapter 오류 : 뒷 부분이 반복된다?

글 정보

Category
프로그래밍노트/Java_Android
2016.10.11 00:34

본문

안드로이드에서 ListView를 사용하던 중에 원하지 않는 결과가 나왔다.



위는 실행시킨 후 정상적인 모습이다. 하지만...



아래쪽으로 스크롤해보니 이상하게 반복되었다.



다시 올려봤다. 뒷부분이 반복되는것 뿐만 아니라 이렇게 데이터가 꼬이기도 한다.

그리고 디자인도 오류다..



위처럼 실행 시킨 코드 중에, Custom Adapter중 getView 함수에 문제가 있었다.
내가 짠 잘못된 커스텀 Adapter의 코드는 다음과 같다. 

@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int pos = position;
final Context context = parent.getContext();
if ( convertView == null ) {
LayoutInflater inflater = (LayoutInflater) context.
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.item_wordview, parent, false);

ViewHolder vh = new ViewHolder();

vh.korean = (TextView) convertView.findViewById(R.id.korean);
vh.word = (TextView) convertView.findViewById(R.id.wordtx);
vh.hiragana = (TextView) convertView.findViewById(R.id.hiraganatx);

convertView.setTag(vh);

word n = m_List.get(position);
if (n != null) {
ViewHolder holder = (ViewHolder) convertView.getTag();
holder.korean.setText(n.korean);
holder.word.setText(n.word);
holder.hiragana.setText(n.hiragana);
}
}



getView 함수 중 convertView라는 것이 있다. 이 convertView는 ListView의 성능 향상을 위해 재활용되기도 한다.

5번째 줄 if 문에서, convertView == null 일 경우 실행하는 코드가 있다. 어플리케이션을 시작하고 나서 이 함수가 처음 실행될 때, convertView는 null이다. 즉 convertView에 view를 추가해 줘야 한다.

그런데, 그 후에는 convertView가 null이 아니다. 내가 저질러버린 실수는 converView가 null인 경우 모든 것을 실행해버리고, 재활용되어 null이 아닌 경우는 아무것도 실행을 하지 않는다.


@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int pos = position;
final Context context = parent.getContext();
if ( convertView == null ) {
LayoutInflater inflater = (LayoutInflater) context.
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.item_wordview, parent, false);
}
ViewHolder vh = new ViewHolder();

vh.korean = (TextView) convertView.findViewById(R.id.korean);
vh.word = (TextView) convertView.findViewById(R.id.wordtx);
vh.hiragana = (TextView) convertView.findViewById(R.id.hiraganatx);

convertView.setTag(vh);

word n = m_List.get(position);
if (n != null) {
ViewHolder holder = (ViewHolder) convertView.getTag();
holder.korean.setText(n.korean);
holder.word.setText(n.word);
holder.hiragana.setText(n.hiragana);
}

단순히 if문을 닫는 위치만 바꾸어 줬다. 






신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

파일 불러오는 함수!

글 정보

Category
프로그래밍노트/Java_Android
2016.08.13 01:51

본문

public String loadFile(String FileName) {
String dirPath = "/sdcard/test";
File file = new File(dirPath);
String content = "";
String initword = "파일이 없음";

if( !file.exists() ) {
file.mkdirs();
return initword;
}

if ( file.listFiles() != null ) {
for (File f : file.listFiles()) {
String str = FileName;
Log.v(null, "fileName : " + str);
String loadPath = dirPath + "/" + str;
try {
FileInputStream fis = new FileInputStream(loadPath);
BufferedReader bufferReader = new BufferedReader(new InputStreamReader(fis));

String temp = "";
while ((temp = bufferReader.readLine()) != null) {
content += temp;
}
Log.v(null, "" + content.toString());


} catch (Exception e) {

}

}
} else {
}
return content;
}

코드는 내가 봐도 마음에 안 들지만 일단 작동하기에 대충 메모만 해 둡니다.

담에 바꾸는 걸로 해야지.

신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 1

댓글 목록

  1. Edit/Delete REPLY

    비밀댓글입니다 2016.08.29 14:39

댓글 쓰기

페이징

PREV NEXT

1 2 3 4 ··· 6

TOP