const 와 readonly 의 차이

C#/기본 2012. 5. 2. 15:08 Posted by 퓨어레드

const : 상수화

*. 초기화와 동시에 값을 셋팅해야 된다.

*. 자동으로 static 으로 선언된다.

 

readonly : 읽기 전용

*. 초기화를 안해줘도 괜찮다.

*. 딱 한번만 값을 설정할수 있다.

*. static 키워드를 붙이지 않으면 static 으로 동작하지 않는다.

 

'C# > 기본' 카테고리의 다른 글

날짜형 파싱하여 DateTime 형으로 만들기  (0) 2012.06.13
C#.NET 입출력 관련 정리  (0) 2012.05.24
C# 컬렉션 - 1  (0) 2012.05.02
foreach 랑 indexer  (0) 2012.05.02
Dictionary .. (Generic 으로된 Hashtable)  (0) 2012.05.02

C# 컬렉션 - 1

C#/기본 2012. 5. 2. 15:07 Posted by 퓨어레드

컬렉션의 기본 인터페이스 : System.Collections

IEnumerable 과 IEnumerator 인터페이스

IEnumerable : 컬렉션 클래스가 구현을 해야 되는 인터페이스
IEnumerator : 컬렉션 클래스가 IEnumerable 을 구현했다면 IEnumerator 을 이용하여 데이터 접근 가능

IEnumerable 은 GetEnumerator 을 구현해야한다.


기본 예제 )

string [] a = {"A", "B", "C", "D", "E", "F"};

IEnumerator e = a.GetEnumerator ();

while (e.MoveNext ())
{
System.out.println ((String) e.Current);
}

ICollection 인터페이스
- ICollection 은 IEnumerable 을 상속한다.

- 주요 맴버
- Count : 컬렉션의 객체수 반환
- IsSynchronuzed : 컬렉션에 대한 접근 동기화 여부
- SyncRoot : 동기화 객체

ICollection c = a; // 배열은 ICollection 으로 캐스팅이 가능하다.

 

'C# > 기본' 카테고리의 다른 글

C#.NET 입출력 관련 정리  (0) 2012.05.24
const 와 readonly 의 차이  (0) 2012.05.02
foreach 랑 indexer  (0) 2012.05.02
Dictionary .. (Generic 으로된 Hashtable)  (0) 2012.05.02
ini 파일 Class  (0) 2012.04.19

foreach 랑 indexer

C#/기본 2012. 5. 2. 15:07 Posted by 퓨어레드

foreach 문법도 완전 초햇갈려 아웅 미쳐

foreach (타입 변수명 in 배열 또는 컬랙션)

{

}

->

foreach (int a in intArr)

{

}

이당

Indexer

public 데이터타입 this[int index]

{

get { }

set { }

}

이다.

당연한것이지만 get 은 리턴을 해야된다 -_-;;

 

'C# > 기본' 카테고리의 다른 글

const 와 readonly 의 차이  (0) 2012.05.02
C# 컬렉션 - 1  (0) 2012.05.02
Dictionary .. (Generic 으로된 Hashtable)  (0) 2012.05.02
ini 파일 Class  (0) 2012.04.19
오버라이딩  (0) 2012.04.19

Dictionary .. (Generic 으로된 Hashtable)

C#/기본 2012. 5. 2. 15:05 Posted by 퓨어레드

특별히 많이 쓰는 자료구조인 Hashtable

C# 에서도 Hashtable 이 있긴하지만 Object 기반으로 되어있다.

Generic 기반으로 된 Hashtable 은 Dictionary 이다.

 

// 생성

Dictionary<String, Member> memberList;

 

// 데이터 추가

memberList.Add (member.userID, member);

 

// 데이터 가져오기

return memberList[userid];

 

 

Enumerator)

//////////////////////////////////

IDictionaryEnumerator myEnum = memberList.GetEnumerator ();

while (myEnum.MoveNext ())
{
    if (((Member)myEnum.Current).stat != MemberStat.OFFLINE)
        connectCnt++;
}

등으로 잘 되어있다.

그외 메서드는 그냥 인텔리센스 보면 대충 뭔말인지 아니깐 인텔리 센스를 참고하자~

 

'C# > 기본' 카테고리의 다른 글

C# 컬렉션 - 1  (0) 2012.05.02
foreach 랑 indexer  (0) 2012.05.02
ini 파일 Class  (0) 2012.04.19
오버라이딩  (0) 2012.04.19
텍스트 파일 한번에 읽고 쓰기  (0) 2012.04.19

[warning C4996] "_CRT_SECURE_NO_DEPRECATE"로 해결

C++/기본 2012. 5. 2. 15:03 Posted by 퓨어레드

결론은 stdafx.h 에

#define _CRT_SECURE_NO_DEPRECATE

을 추가해주면 된다.

'C++ > 기본' 카테고리의 다른 글

UTF-8 -> Unicode  (0) 2012.06.13
TCHAR 용 스트링 함수  (0) 2012.06.13

EL 중 list 데이터 존재 여부 확인

Java/JSP 2012. 5. 2. 15:01 Posted by 퓨어레드

<c:if test = "${empty listData}">

</c:if>

 

empty 연산자~

 

'Java > JSP' 카테고리의 다른 글

fmt:formatDate 쓰기  (0) 2012.11.02
JSTL 에서 List Size 구하기..  (0) 2012.05.03
No-Cache 설정  (0) 2012.05.02
EL  (0) 2012.04.18
JSTL (JSP Standard Tag Library) 1차 정리  (0) 2012.04.18

No-Cache 설정

Java/JSP 2012. 5. 2. 15:00 Posted by 퓨어레드

JSP에서 No-Cache 설정하는 방법

웹개발 하다보면 캐쉬된 페이지때문에 가끔 웹브라우저가 재시동하거나, 웹서버를 재시동하는 경우가 있었을 것이다. 그런 경우 캐쉬에서 불러오는 것이 아니라 항상 최신의 페이지를 보여주도록 하는 방법입니다. 데이터가 넘어가는 경우에만 '만료된 페이지입니다' 라는 메시지를 보여주게 되져

다음은 각각의 케이스별 No-Cache 설정방법입니다.


HTML인 경우
<META http-equiv="Expires" content="-1">
<META http-equiv="Pragma" content="no-cache">
<META http-equiv="Cache-Control" content="No-Cache">

ASP인 경우
<%
Response.Expires = 0
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "Cache-Control","no-cache,must-revalidate"
%>

JSP인 경우
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires",0);
if (request.getProtocol().equals("HTTP/1.1"))
response.setHeader("Cache-Control", "no-cache");
%>

PHP인 경우
<?
header("Pragma: no-cache");
header("Cache-Control: no-cache,must-revalidate");
?>



헌데 Struts Framework 사용시에는 아래와 같은 설정을 꼭 해주셔야 위의 내용이 적용이 된다고 하네요.(스트럿츠를 안써서리 잘 모르겠지만...)


processNoCache()는 struts-config.xml설정파일의 <controller>설정에서 nocache attribute가 true로 설정되어 있을 경우 호출된다.

만약 true라면 response객체의 header에 Pragma, Cache-Control, Expires가 추가되게 된다. 스트러츠 Framework에서는 struts-config.xml설정파일에 단지 true로 설정해주면 Cache가 적용되지 않는다.

즉 <controller nocache="true" />라는 설정을 struts-config.xml에 추가하면 끝.


 

'Java > JSP' 카테고리의 다른 글

fmt:formatDate 쓰기  (0) 2012.11.02
JSTL 에서 List Size 구하기..  (0) 2012.05.03
EL 중 list 데이터 존재 여부 확인  (0) 2012.05.02
EL  (0) 2012.04.18
JSTL (JSP Standard Tag Library) 1차 정리  (0) 2012.04.18

JavaMail 사용시 501 Syntax error 해결방법

Java/오류해결 2012. 5. 2. 15:00 Posted by 퓨어레드

모든 501 에러 처리 방법은 아니다. Exception 이 아래와 같이

 

javax.mail.MessagingException: 501 Syntax error

 

at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1363)
at com.sun.mail.smtp.SMTPTransport.helo(SMTPTransport.java:838)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:375)

 

 

떨어졌을때 해결방법

 

이 문제는 평소에 잘 되던 시스템에서 타 시스템으로 갔을 때 아주 간혹 생기는 문제 -_-;;;;;;;;; 인데;;

완전 초난감 했던 문제이다.. ㅠㅠ... 결국 외국 사이트를 뒤지고 뒤져도.. 원인을 찾을 수 없었는데 ㅠㅠ;;

그나마 검색 신공을 이용하여... SMTPTransport 에 해당 하사는 소스를 찾게 되었다..

 

문제의 부분을 보면

 

private void helo(String domain) throws MessagingException {
	if (domain != null)
		issueCommand("HELO " + domain, 250);
	else
		issueCommand("HELO", 250);
}

 

바로!! 838 라인 때문에 생기는 문제이다.. 다시 말해 SMTP 명령어를 HELO 만 쓰면 501 Syntax 에러가 발생하고

HELO HIHI 이렇게만 써줘도 에러가 안나는데.. 838번 라인을 타게 되는 이유는 domain 이 셋팅이 안되서 였다..!!! 두둥 -_-

이걸 알아내느라 안되는 영어로 외국사이트 까지 뒤진 내가 신기하다.. ㅋㅋ 암튼 해결방법은!!

 

이 문제가 발생했다면.. 가장 먼저 의심해볼것이 바로 컴퓨터 이름이 없거나.. 한글이 섞여있는지 확인한다 ㅠㅠ

 

그렇다.. ㅠㅠ 문제는 컴퓨터 이름이 한글이여서 생긴 문제인것이였다!!!!!!!!!! 두둥.. 코드엔 전혀 문제가 없었던... 것...............

완전.................... 개삽질............ -_- 암튼.. 컴퓨터 이름을 바꾸지 않아도 해결할수 있는 방법도 있다.

 

javamail 관련 property 설정시 mail.smtp.localhost 부분을 추가하는것이다.

 

Properties props = new Properties ();
props.put ("mail.smtp.host", smtpServerAddr);
props.put ("mail.smtp.localhost", smtpServerAddr);
props.put ("mail.debug", "true");
props.put ("mail.smtp.auth", "true");

session = Session.getInstance (props, null);

 

 

 

이러면 해결 된다......................................................................................................................................

사는게 다 그렇지뭐 -_- ㅠㅠ

 

'Java > 오류해결' 카테고리의 다른 글

JavaMail 로 Gmail 보내기  (0) 2016.05.03

특정 용량 이상 파일 찾기 및 삭제

Server/Linux 2012. 5. 2. 14:57 Posted by 퓨어레드

find [디렉토리] -size +10M -exec ls -lh {} \;

10M 이상 파일을 찾는다.

Ex) find ./ -size +10M -exec ls -lh {} \;

-----------------------------

10M 이상 파일을 삭제한다.

find ./ -size +10M -exec rm -f {} \;

------------------------------

파일 용량별 소팅

ls -lS

LS 관련 자세한 명령어 : http://blog.naver.com/heyboogi?Redirect=Log&logNo=50028112325

 

IIS 에서 FLV 파일 인식을 못할때..

Server/Windows 2012. 5. 2. 14:55 Posted by 퓨어레드
IIS 서버 설정 , : .flv 파일 인식 안될때, iis의 mime type 추가

On the Windows 2003 server, open the Internet Information Services Manager.
Expand the Local Computer Server.
Right-click the local computer server and select Properties.
Select the MIME Types tab.
Click New and enter the following information:
Associated Extension box: .FLV
MIME Type box:flv-application/octet-stream
Click OK.
Restart the World Wide Web Publishing service.

출처 : Tong - journae님의 Windows 통