최상단

컨텐츠

프로그래밍노트

12

  1. Javascript Jquery $.cookie가 불러와지지 않을때 2017.05.17
  2. Java replace 함수 2017.03.20
  3. ListView adapter 오류 : 뒷 부분이 반복된다? 2016.10.11
  4. 파일 불러오는 함수! (1)2016.08.13
  5. 안드로이드에서 파일 저장하는 함수! 2016.08.12
  6. Toolbar에 아이콘 추가하기 2016.08.11
  7. php를 통한 파일 업로드 시 에러 2 2016.05.19
  8. php gd 라이브러리 설치되었는지 확인하기 2015.11.19
  9. 파이썬 string 숫자만 구별하기 2015.10.07
  10. list index out of range 에러 2015.10.07

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

댓글 쓰기

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

댓글 쓰기

안드로이드에서 파일 저장하는 함수!

글 정보

Category
프로그래밍노트/Java_Android
2016.08.12 00:12

본문

MainActivity든 다른 액티비티나 클래스이든 Java파일에서:

public void saveFile(String FileName, String str) {

String dirPath = "/sdcard/testname";
File file = new File(dirPath);
if( !file.exists() ) {
file.mkdirs();
}
String testStr = str;

File savefile = new File(dirPath+"/"+FileName);
try{
FileOutputStream fos = new FileOutputStream(savefile);
fos.write(testStr.getBytes());
fos.close();
} catch(IOException e){}
}

AndroidMainfest.xml 의 <mainfest>안에 넣을 것.


<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />


코드 리팩토링 전혀 안된 메모용 코드이다...

신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

Toolbar에 아이콘 추가하기

글 정보

Category
프로그래밍노트/Java_Android
2016.08.11 17:03

본문


위처럼 아이콘 버튼을 추가하는 방법입니다.


MainActivity.java


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scrolling);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setNavigationIcon(getResources().getDrawable(android.R.drawable.ic_menu_save));

toolbar.setNavigationIcon(getResources().getDrawable(android.R.drawab.아이콘이름));


주의할 점은 setSupportActionBar(toolbar); 아래줄에 넣어야 합니다.

신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

php를 통한 파일 업로드 시 에러 2

글 정보

Category
프로그래밍노트/PHP
2016.05.19 11:24

본문

PHP를 통한 파일 업로드 시 이러한 문제가 발생합니다.

파일 업로드 시 디버그 내용은 print_r($_FILES); 으로, 에러 코드만 볼 때는 echo $_FILES['userfile']['error']; 만 작성해서 오류 내용을 볼 수 있는데요.


에러 코드가 2인 경우를 살펴 보겠습니다.

테스트로 어떤 파일을 올려 보았는데, 에러 코드 2가 반환됩니다. 이 에러 코드를 php.net 에서는 다음과 같이 설명합니다.

UPLOAD_ERR_FORM_SIZE, 업로드한 파일이 HTML 폼에서 지정한 MAX_FILE_SIZE 지시어보다 큽니다.


하지만 MAX_FILE_SIZE에는 30000이라는 큰 숫자를 넣었는데 오류가 걸립니다. 그래서 저는 문제가 다른 곳에 있다고 생각했습니다.


그런데 저 MAX_FIKLE_SIZE의 단위가 KB(킬로바이트) 단위가 아닙니다. 그냥 B(바이트) 단위이더군요. 그래서 바이트에 맞게 입력을 해야 됩니다.


일단 이 문제인지 확인 하고 아래처럼 늘려봤습니다. 간단히 해결됬습니다.


1000 byte = 1Kb입니다. 코드 작성할 때 참고하세요.

신고

TAG

#php

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

php gd 라이브러리 설치되었는지 확인하기

글 정보

Category
프로그래밍노트/PHP
2015.11.19 00:13

본문

호스팅을 사용하다가 gd 라이브러리 설치에 대해 궁금했습니다. 아무것도 모르고 gd 라이브러리를 설치하려고 찾아봤는데 제가 아는 방법인 zip 파일을 다운받아서 ftp에 압축을 푸는 라이브러리가 아니더군요.

물론 gd 라이브러리 예제를 넣어 잘 되는지 확인할 수도 있습니다만, 확실하게 가능한지 알 수 있습니다.  결론적으로는 호스팅에서 gd 라이브러리를 지원했지만요. 

확실하게 되는지 알아보는 방법은 간단하게 phpinfo 함수에 있습니다. 

아무 파일을 새로 열고 php 여러가지 정보가 나오는 phpinfo 함수를 입력해줍니다.

phpinfo(); 

그리고 Ctrl+F 를 눌러줍니다. (Ctrl+F 는 해당 페이지 내에서 검색하는 기능을 열어주는 단축키입니다.) 그럼 여기에 gd라고 입력해주면 되겠죠.


gd에 관한 버전, 등 여러가지 정보가 있으면 gd가 설치가 되어있다는 뜻이겠고 여러가지 라이브러리를 사용할 수 있다는 말이겠죠.

신고

TAG

Ctrl+F, gd라이브러리, php, phpinfo, 검색, 라이브러리

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

파이썬 string 숫자만 구별하기

글 정보

Category
프로그래밍노트/Python
2015.10.07 23:11

본문

import re

string = "3rv2890r23v09un"

string = re.sub('[^0-9]','',string)

print string

import re

string = "Hu765adjH665Sdjda"
string = re.sub('[^0-9]', '', string)
print string


http://stackoverflow.com/questions/19483988/how-can-i-print-only-integers-numbers-from-string


신고

'프로그래밍노트 > Python' 카테고리의 다른 글

파이썬 string 숫자만 구별하기  (0) 2015.10.07
list index out of range 에러  (0) 2015.10.07

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

list index out of range 에러

글 정보

Category
프로그래밍노트/Python
2015.10.07 16:32

트랙백과 댓글 여닫기

Trackback: 1 Comment: 0

댓글 쓰기

페이징

PREV NEXT

1 2

TOP