さむらい君blog

20代プログラマーのブログです。

プログレスバーの実装サンプル

大量なデータを処理する際、処理の進捗率を知りたい事があります。

そんな時に進捗率を表示するプログレスバーを作成してみました。

下記方の記事を参考に、Ruby版を自分流にアレンジしております。

qiita.com

############################################
#		printProgressBar.
#@brief		プログラスバー表示関数
#@param		num 処理済件数
#@param		max 全処理件数
#@return	無し
############################################
def printProgressBar(num, max)
	
	#進捗率[%]
	rate = (num.to_f()/max.to_f()*100).floor()

	#▽プログレスバーの表示---------------------
	print "\r["
	cubeNum		= (rate/10).floor()
	for i in 1..10
		if i <= cubeNum then
			print "*"
		else
			print " "
		end
	end
	print "]"
	#△プログレスバーの表示---------------------
	
	#▽進捗率の表示---------------------------
	#0パティング
	if rate < 10 then
		print "00"
	elsif rate < 100 then
		print "0"
	end
	print "#{rate}%"
	STDOUT.flush
	#△進捗率の表示---------------------------

	#処理終了を表示(改行)
	if rate==100 then
		puts ":finish"
	end
end


使用方法は下記のイメージです。

#処理件数
max	= 1234
for	num in 1..max
	#------------------------
	#ここに処理したい内容を記述
	#処理の代わりにsleep関数を呼び出している
	sleep 0.01
	#------------------------

#プログレスバー表示
	printProgressBar(num,max)
end

ゼロから作るDeep Learningを読み始める

Deep Learningの知識を深めたいと思い、下記の入門書を読み始めました。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

 

 

オライリージャパンから出ている入門書です。

初心者でも読みやすく、プログラムの実装を進めながら理解を深めるイメージ。

 

全8章のうち、2章まで読み終えたところです。

Pythonの知識がある方は1章をスキップしても問題ないですが、

私は全く触ったことがなかったため、初めから順番に読み進めています。

 

この先大きくはまらないことを祈りつつ、年末年始に読破できればと思います。

Hello さむらい君blog

某企業の20代SEです。

この度「さむらい君blog」を開設いたしました。

 

というのも、近ごろ業務や趣味に関連する内容を調べることが多々あります。

そんな中、せっかく調べた記事のブックマークまとめが欲しくなり、

ブログを活用してみようかと思い立ちました。

 

記事としては引用が多いかもしれませんが、皆様の参考にもなれば幸いです。