문자열을 여러번 출력하는걸 도와주는 함수


안녕하세요.
고코더 입니다.


 1. 만약에 ASP상에서 "========" 이런식으로 반복되어 여러번 출력하는 문자열을 표현하면 어떻게 하시겠나요?

첫번째 하드코딩으로 그냥 그대로 출력한다?
두번째 for문을 쓴다?

가장 간단하게 사용 가능한 String 함수를 사용한다가 정답입니다. 이 함수는 문자열을 원하는 숫자만큼 반복하여 실행 가능합니다
String(반복횟수, 문자열)


 2. 예제소스를 살펴보겠습니다. 문자열 그대로 반복한다면 큰 따옴표 안에 문자열을 넣습니다. 그리고 두번째는 아스키 코드 10진법을 코드를 넣으면 해당 문자열이 출력 됩니다.
1
2
3
4
5
<%
Response.Write String(10"G")
Response.Write String(1065)
%>
 
cs

 3. 과 화면입니다. 65는 아스키코드로 보면 A 입니다. 반복되는 문자열이 있을때는 해당 함수를 사용하세요. 편리합니다.



마무리


반복을 줄이는것이 프로그래밍의 기초중 하나 이므로 하드코딩은 금지!



댓글을 달아 주세요


string을 다루는 3가지 클래스의 차이점


안녕하세요.
고코더 입니다.


이번 시간에는 자바에서 문자열을 저장하는 클래스인 String, StringBuffer, StringBuilder의 차이점을 알아보려고 합니다. 이 클래스들은 string 값을 저장하고 관리하는 기능을 한다는 건 모두 알고 계십니다. 그런데 대체 무슨 차이가 있을까요? 그 차이점을 알아봅니다.



String 클래스의 큰 특이점 : 불변성


 1. String pool에 저장
가장 대표적인 차이는 역시 string은 리터럴을 통해 생성해 인스터스 메모리 공간을 차지합니다. 즉 변하지 않는 값이 됩니다. 다시 한번 설명합니다. string class를 사용해 문자를 생성합니다. 그럼 "String pool"이라는 공간에 생성됩니다. 이 메모리는 변하지 않는다는 말이죠.

 2. 새로운 문자열을 만들면?
1
2
3
String str1 = "Go"
String str2 = "Coder";
str1 = str1+str2; 
cs

예시 코드처럼 str1에 새로운 문자열을 만들면 기존 str1이라는 변수가 변하는게 아니라 새로운 String 클래스 객체가 만들어져 문자열을 저장합니다. 그러면 메모리에 남아 있는 걸 가비지 콜렉터가 삭제하게 됩니다. 그런데 이 메모리 누수는 언제까지 이어질지 모르니 성능이 떨어지게 됩니다.

 3. 언제 사용하기 좋은가?
String 문자열 사용이 적은 경우에 사용하면 좋습니다. 조회 연산에서는 제일 속도가 빠르다는 장점이 있기 때문입니다. 그리고 멀티쓰레드 동기화 환경을 신경쓸 필요가 없습니다.


StringBuffer, StringBuilder 특이점 : 변경 가능



 1. 변경이 용이한 특징
먼저 이 클래스들은 문자열 연산이 자주 있을때 사용하면 성능이 좋습니다. 다양한 문자열을 연산할때 눈으로 보이는 성능 차이가 엄청납니다. mutable(변경이 가능)한 특징이 있습니다. 한번 생성된 클래스의 메모리 값을 사용해 연산을 합니다.

 2. StringBuffer 특징
멀티쓰레드 환경에서 동기화가 가능한 특징이 있습니다. 덕분에 멀티쓰레드 환경에서 사용하기 용이 합니다.

 3. StringBuilder특징
동기화를 지원하지 않는 싱글 쓰레드 환경에서 사용할때 연산처리가 빠른 장점이 있습니다. 


마무리


JDK 1.5 이상 부터는 String에서 연산시에 StringBuilder를 사용하여 컴파일 합니다. 하지만 객체 생성은 동일합니다. 그러므로 문자열 연산이 많을때는 사용하지 않는걸 추천 합니다.




댓글을 달아 주세요


PHP 형변환 방법 


안녕하세요.
고코더 입니다.


PHP에서 cint() 혹은 parseint() 같은
문자를 숫자로 형변환 하는걸 찾고 계셨군요

PHP는 다른 언어들 보다 더 쉽고
직관성 있게 형변환을 사용할 수 있습니다.

▼ 바로 예제 소스를 보시겠습니다.
1
2
3
4
5
6
7
8
9
10
<?php
    // PHP는 (int)를 원하는
    // 변수에 붙이면 형변환이 된다.
 
    echo (int)1.1;    // 1
    echo (int)"2";    // 2
    echo (int)-3.1;    // -3
    echo (int)"고코더";    // 0
 
?>
cs

앞에 (int)만 붙혀주면 형변환이 완료 됩니다.
길게 설명하기가 미안할 정도네요

그밖에 변환 가능한 형변환 종류는 아래와 같습니다.

(string) 문자열
(int) 정수
(double) 실수
(bool) 부울
(array) 배열
(object) 객체

사용법은 (int)와 똑같이 변수 앞에 붙혀주면 됩니다.





마무리


언어마다 형변환 함수가 
다르니 헷갈려 죽겠네요


댓글을 달아 주세요



ASP 형변환 Cint, Clng, Cdbl, Cstr, Csng, Cdate


▼ 형변환 방법은 아래처럼 간단하다.
1
2
3
4
<%
value = "1004" '// 스트링으로 담고
TestVal = CLng(value)     '//형변환을 통해 long으로 반환
%>

cs

실무에서 사용하는 대부분의 형변환 객체는 아래와 같다.
대부분 긴 숫자때메 Clng을 많이 사용하게 된다.

문법
변환
Cint
integer
Clng
long
Cstr
string
Csng
single
Cdate
date






마무리



int는 너무 작아서 clng로 꼭 바꾸게 되네요





댓글을 달아 주세요