안드로이드폰 개발 프로젝트에서 일하기 시작한지 어느덧 3달이 다 되어갑니다. 순수 소프트웨어를 개발하다 스마트폰개발 분야에 뛰어드니 처음에는 어리둥절하고 용어도 익숙치 않았습니다. 대기업의 프로세스도 적응이 잘 되지 않았구요.
[카테고리:] IT
컴퓨터 조립
아주 오랜만에 새 컴퓨터를 조립했습니다. 지금까지 조립한 컴퓨터는 대체로 가성비 위주의 저렴한 구성이었죠. 듀론, 애슬론XP 1800+ CPU를 사용했습니다. 인텔 제품을 사용하여 조립하는 것은 이번이 처음!
컴퓨터로 EBS 라디오 녹음하기
컴퓨터로 EBS 라디오 듣기에 대한 포스팅에 이어, mp3로 녹음하는 방법을 소개해 드리고자 합니다. 거원제트오디오와 같은 별도의 어플리케이션을 설치해야 될 줄 알았는데, 다음 팟 플레이어로 간단히 되더군요.
컴퓨터로 EBS 라디오 듣기
2010년의 소박한(?) 목표는 다음과 같습니다.
몇 가지 루비 예제 코드
루비를 제대로 공부하진 않았지만, 언어가 간결한 덕분에 여러가지 상황에서 유용하게 사용하고 있습니다. 그 동안 만들어서 사용했던 몇 가지 루비 예제 코드를 소개합니다. 여기에 소개하는 코드를 조금만 수정하면 다양한 경우에 활용할 수 있을 것 같네요.
1. 소스코드에서 32자 이상의 심볼을 사용한 라인을 찾아 출력하기
HITACHI 메인프레임 C 컴파일러가 32자 이상의 심볼을 지원하지 않더군요. 일일이 찾기 힘들어서 이를 찾기 위해 작성한 프로램입니다. 현재 디렉토리에 존재하는 소스코드를 읽어 32자 이상의 심볼을 찾은 경우 해당 라인을 라인번호와 함께 출력합니다.
Dir.foreach(“.”) { |x|
if x.include?(“.c”) or x.include?(“.h”) or x.include?(“.y”) or x.include?(“.l”)
file_array.push(x)
end
}
file_array.each { |fname|
File.open(fname) { |fp|
lineno = 1
while line = fp.gets
line.scan(/[1-9a-zA-Z_]+/) { |x|
if x.length > 32
puts “#{fname}:#{lineno}:+#{x.length – 32}:#{x}”
end
}
lineno = lineno + 1
end
}
}
2. 파일의 라인 뒤집기
매년 말 블로그에 독서 리스트를 정리할 때 사용하기 위해 작성한 프로그램입니다. 티스토리에서 목록을 뽑아 파일에 저장한 후 이를 뒤집어 독서 리스트를 읽은 순서대로 뽑아냅니다.
File.open(“ReadingList.txt”) do |file|
while line = file.gets
line_array.push(line)
end
end
ofile = File.new(“ReadingList.rev.txt”, “w”)
line_array.reverse!
cnt = 1
line_array.each do |reversed_line|
ofile.puts(“#{cnt}. #{reversed_line}”)
cnt = cnt + 1
end
ofile.close
3. 프로그램 수행 및 stderr, stdout 얻기
루비에서 다른 프로그램을 실행하고 stderr, stdout을 추출하는 예제 코드입니다. 루비를 사용하여 배치 스크립트를 작성 할 때 유용할 것 같네요.
t=Thread.new do
sh = Session.new
sh.execute( ‘ruby /home/stefano/documenti/scripts/prova.rb’ ) do |out, err|
puts “Msg: #{out}” if out
puts “Err: #{err}” if err
end
end
t.join