2013-04-30

Scala Collection method 適当なまとめ

最終更新が2年くらい前かよ… 気にせず書きます。

今更
http://www.scala-lang.org/docu/files/collections-api/collections.html
(の日本語訳)を読んでいるんですが、会社で使ってる Scala のバージョンが 2.8.2 だからいいよねって事で
半年くらい前まで 2.7.7 使ってたんですよ…酷い
単純に読み辛いからみやすくしただけです。Travarsable のところ。

Addition

  • ++

Map operations

  • map
  • flatMap
  • collect (map + flatMap)

Conversions

  • toArray
  • toList
  • toIterable
  • toSeq
  • toIndexedSeq (Vector 等 IndexedSeq に変換)
  • toStream
  • toSet
  • toMap

Copying operations

  • copyToBuffer
  • copyToArray

Size info operations

  • isEmpty
  • nonEmpty
  • size
  • hasDefiniteSize

Element retrieval operations

  • head
  • last
  • headOption
  • lastOption
  • find

Sub-collection retrieval operations

  • tail
  • init
  • slice
  • take
  • drop
  • takeWhile
  • dropWhile
  • filter
  • filterNot
  • withFilter

Subdivision operations

  • splitAt
  • span
  • partition
  • groupBy

Element tests

  • exists
  • forall
  • count

Folds

  • foldLeft
  • foldRight
  • /:
  • :\
  • reduceLeft
  • reduceRight

Specific folds

  • sum
  • product
  • min
  • max

String operations

  • mkString
  • addString
  • stringPrefix

View operations


うおー min,max はいつも math 使ってたアホす…

2011-06-27

ImageMagick install

こんなの個人ブログにかけやクソが!と言われたので移転した。

すごくはまったのでメモ。
環境はubuntu(on VMWare)です。

1 Install ImageMagick -- ggr
2 Install libMagick -- ggr

Is ImageMagick installed? -- $ convert --version
Is there needed format? -- $ convert -list format | grep -i 'gif'

注意点
pngとjpgがはいっていないので、libpngをインストール(する前にzlibが必要ですが)そして、再度ImageMagickをビルドする必要があります。
ImageMagickのmakeが遅いのでやり直しを何度もすると時間ばかりかかる


pngに関して、一部の画像が扱えない状況。透過png
気になる記事があった。

macでidentify hoge.pngとすると以下のように解析されるpng画像が
hoge.png PNG 240x300 240x300+0+0 8-bit DirectClass 1.06KB 0.000u 0:00.029
ubuntuだとこうなる
identify: UnableToOpenConfigureFile `delegates.xml' @ warning/configure.c/GetConfigureOptions/589.
identify: NoDecodeDelegateForThisImageFormat `hoge.png' @ error/constitute.c/ReadImage/532.


ちなみにubuntuでもGIMPだと扱える。

2011-06-23

csv to MySQL

よくExcelからMySQLに入れるデータを作成しているけれど、csvにすれば一行でできる、ような・・・

for i in `cat inserttabledata.csv `;do mysql -u username -p databasename -e 'insert tablename value ('$i');' ; done

しかしこれではいちいちパスワード入力するのがめんどい。



mysql -u username -p databasename -e 'select * from tablename;' | sed -e "s/\t/,/g" > table-data.csv

出力系は便利だと思うけど、入力をシェルスクリプトでやるのは怖いかもしれないです。

社内のエンジニアブログというものに書こうと思ったけど内容が非エンジニア向けだったからやめた。
シェルスクリプトが言葉を話すように書けたら人生が楽しいと思う。

2011-06-16

Android開発メモ

主にはまったところ

Androidのタップで出てくるオレンジ色の選択範囲っぽいものは -webkit-tap-highlight-color:rgba(0,0,0,0); で消せる。 user-selectだと思っていたのでものっそいはまた。

android2.2はtransform-scaleが効かない
http://code.google.com/p/android/issues/detail?id=12451
対処法
-> http://androidscalebug.appspot.com/

2011-03-18

MySQLWorkbenchすごい

弊社ではMySQLデータは、ローカル、テスト、本番にそれぞれある。

複数人で開発を行っており、Workbenchでデータを共有してる。

テストと本番は整合性が取れている(筈な)のだけれど、ローカルのdatabaseはけっこうぐちゃぐちゃ。引き継ぎとかもあったし。
それで、WorkbenchのデータとローカルでSyncしてみたらかなり差異があった。
Workbenchも個々が勝手にテーブル追加してるだけなので、正しいかどうか怪しい。
そこで、データの正しいテスト系からWorkbenchに取り込めたらWorkbenchのデータがきれいになるよねてことで、試してたらものっそい普通にできてしまい、感動したのでエントリ書いてる。

(要点)
EERモデルを作成して、Database -> Reverse Engineer Databaseで、Connection MethodをStandard(TCP/IP) over SSHというのを選択すると、sshでアクセスする必要があるサーバのMySQLでもデータが取得できます。

個人的にはWorkbenchは定義を決めたテーブルを自動でsql文を作成してくれるすごいツールであるくらいにしか思っていなかったのだけど。

2011-02-28

gitでトラブル

Gitに限らず、しくみを理解していないとVCSでは取り返しのつかないことになる可能性があり・・・

Git で no branch に commit した時の対処法

SubversionのときはTortoiseSVNが神がかっていてあんまりトラブルもなかったが、そろそろそういうのにも卒業せねばというのと、Win->MacBookに乗り換えたため

2011-02-23

group by と having

groupIdがあるテーブルがあって、groupIdが3以上のところを調べたいというとき
select groupId, count(groupId) from grouptable group by groupId having count(groupId) >= 3
要はgroup by と havingくらい覚えとけよこの (゚Д゚)カス!!
ってことでしたおわり。