Le.blog

プログラミングやガジェットについて興味があります。

連想配列の処理される順序について

ついこの間から、ふとしたことでPythonの勉強を始めていました。

Pythonにはタプル、リスト、ディクショナリが存在していると。

テストで簡単なディクショナリのプログラムを書いてみると、

dict

これを実行してみると、

{}
{'MONTH': '06', 'DAY': '26', 'YEAR': '2015'}

 

入れたはずの、順番とは異なって出力されてしまった。

qiita.com

どうやらPythonでは順序は保証されないようです。

collections.OrderedDict()を使用すると、順序が保証された、連想配列を作成することもできるらしい。

 

最初はPythonのせいにしていたけど、よくよく調べてみると他の言語でも実行時の連想配列の順序は保証されないらしい。

 

目からウロコだった。。。

「サインイン(サインアウト)」と「ログイン(ログアウト)」の違いについて

サービスを作っているときに、ユーザ認証ページを作成しようと思ったときに、

と思った。

調べてみると、

www.724685.com

どっちでもいいらしい、Windows8からはサインイン、サインアウトになったらしい。

でもサインインの時は、ユーザを新規登録する際にはサインアップだけど、ログインの時はどうなってたのかと思ったり・・・

github.com

Githubはサインインでした、海外はサインインなのかな

 

日本ではログイン、ログアウト、新規ユーザ登録のほうがわかりやすくていいのかも。

 

・・・・・・

「ログオン」という言葉もあるらしい

RubyでExif情報を取得する

・・・・・・・・・・・・・・・・・・

Twitterで最近さまざまな人がカメラを購入して楽しんでいるので、ひとつRubyExif情報を取得してみようとしました。

 

RubyExif情報を取得するライブラリはいろいろあるらしいのですが、今現在でも開発が続けられている?ライブラリはExifrというやつらしいのでこいつを使用してみます。

 

 

でインストールすることができます。

width、height、exif?(True or False)、model、date_time、exposure_time.to_s、f_number.to_f
の情報に加えGPS情報の緯度、経度も取得することができます

ruby exifr example

 

配列に直接落とすことができます。

 

puts等で書き出し可能になりました。

 

・・・・・・・・・・・・・・・・・・

Nikon D7000 18-200mm VR Ⅱ レンズキット買いました!!

 

f:id:lehanto:20140730203124j:plainヤフオクで、D7000 18-200mm レンズキットが即決で81,800円で出てたので買ってしまいました。IYH!!!

 

Nikon デジタル一眼レフカメラ D7000 18-200VRII キット D7000LK18-200
 

 

 

もと展示品でしたけど、状態もよくてよかったです。謎だったのが、片方の三角環が紛失になっていたので、ヨドバシにひとっ走りして買ってきました。100円もしなかった。・・・ガイドがついてたから非常に取り付けやすかった、三角環。

 

ついでにアマゾンで欲しかった単焦点の35mmとレンズフィルタとSDカードもろもろを購入しました。

 

Kenko カメラ用フィルター PRO1D プロテクター (W) 52mm レンズ保護用 252512

Kenko カメラ用フィルター PRO1D プロテクター (W) 52mm レンズ保護用 252512

 

 

 

Kenko カメラ用フィルター PRO1D プロテクター (W) 72mm レンズ保護用 252727

Kenko カメラ用フィルター PRO1D プロテクター (W) 72mm レンズ保護用 252727

 

 

 

 

 

Nikon 単焦点レンズ AF-S DX NIKKOR 35mm f/1.8G ニコンDXフォーマット専用

Nikon 単焦点レンズ AF-S DX NIKKOR 35mm f/1.8G ニコンDXフォーマット専用

 

 

D7000にはデュアルスロットでSDカードを挿入できるので、片方はJPGで保存して、もう片方はRAW保存用に容量大きい、SDカード買いました。JPG用は元からあったFlashAirを流用。

 

この一眼を使ってバシバシ撮っていきたい。

旅行いきたいです、お誘い待ってます。

 

写真はtumblrで更新してます。

 

lehanto's Blog

 

 

初めてのPerl 第6版 3.11 練習問題を解いてみる

1. 文字列のリストを(1行に1個ずつ)にゅうりょくの終わりになるまで読み込んで、そのリストを逆順に表示するプログラムを書いてください。キーボードから入力する場合には、入力の終わりを示すために、UnixでCtrl+D、WindowsでCtrl+Zを入力する必要がある。

 

2. 数のリストを(1行に1個ずつ)入力の終わりになるまで読み込んで、いかに示す人名のリストかわ、数に対応する人名を表示するプログラムを書いてください。(この人名のリストは、プログラムの中にハードコードしてください。つまり、プログラムのソースコードの中に、人名のリストが直接書かれている事になります。)

fred betty barney dino wilma pebbles bamm-bamm

 

 

3. 文字列のリストを(1行に1個ずつ)入力の終わりになるまで読み込んで、読み込んだ文字列をコードポイント順に表示するプログラムを書いてください。つまり、文字列fred、barney、wilma、bettyを入力したら、出力ではbarney betty fred wilmaの順に表示されるはずです。すべての文字列が1行に出力されますか、それとも別々の行に出力されますか?

 

問題の正誤については、責任を持たないのであしからず

 

 

初めてのPerl 第6版

初めてのPerl 第6版

 

 

Perlでのリストコンテキストでの標準入力

一般てきにPerlでの行入力演算子で<STDIN>がありますが、スカラーコンテキストで使用する場合は、一行を読み込み返すが、リストコンテキストは指示があるまで、ファイルの終わりまで読み込み、個別の要素のリストとして返す。

 

キーボードから入力させている際に「ファイルの終わり」というのを表すためにはCtrl+Dを(Macでは)、WindowsではCtrl+Zを入力します。

 

ここで入力したCtrl+Dが画面に表示されるかもしれないが、Perl的には関係がないので"気にしなくて良い"。

 

いや、ずっと気になってたことが、解決した。

Perlでのリストのかきかた

一般的に配列の要素の文字列に対して、クォート記号でくくらないとダメですが、

 

Perlだとqwというショートカットを使うと

クォート記号でくくらなくても書けます。

 

だけど、これ個人的には可視性悪いからキライ