プログラミング
自分向け備忘録 下記のコードの問題点を考える。 class CustomerRecords { private Map<String, Customer> records; public Map<String, Customer> getCustomers() { return this.records; } } getCustomers() がreferenceを返してしまっているので、カプセル化に失敗していますね。 では、以下で</string,></string,>…
bashにおいて、rmコマンドを使った場合のexit statusについてです。初歩的なことだとは思いますが、自分への備忘録。 結論を先に書くと、rm $PATH_TO_FILEをした時に$PATH_TO_FILEが元々存在しない場合、-fオプションがない場合はexit statusが1となり、-fオ…
タイトルではわかりづらいかも知れません.以下の様なことをしたいときです. # このように変数 = 値が羅列されているときに・・・ listen = False command = False upload = False execute = "" target = "" upload_destination = "" port = 0 # こうしたい…
自分用のメモ。 こちらの記事のとおりです。 例えば、SSH tunnelを使って自分専用のプロキシサーバーとローカルマシンとの間を安全に繋ぎたいときなどにこんな感じに書くと便利です。 #!/bin/bash sudo networksetup -setwebproxystate Ethernet on sudo net…
自分用メモ書き.ある行列から指定した行だけ(例えば[1,3,4]みたいな感じでリストで抜き出したい行が入っているとする)でできた行列を作る. In [1]: choices = [[0, 1, 2, 3], [10, 11, 12, 13], ...: [20, 21, 22, 23], [30, 31, 32, 33]] In [3]: import …
Pythonのcollections.Counterは個人的にすごく好きなんですが,Go言語の練習を兼ねてGo言語で実装してみました. 完璧な実装ではなく,カウントできるのは文字列だけです.また,普通に実装間違えてる可能性もあります.自己責任でよろしくお願いします. Py…
Pythonの入門サイトとかだと,文字列連結に+演算子を使うことがよく例示されているようです. s = "this " + "is " + "test" print(s) ==> "this is test" ですが,Pythonにおいて文字列連結には+演算子は必要ないです. s = "this " "is " "test" print(s) …
このページのまんまです. ファイルはutf-8なのになぜか文字化ける(というか,みたいな表記になってしまう)ので,↑のように設定しました. 環境はMac OSΧ 10.10.1,git versionは2.2.1です. $ git config --global core.pager "nkf -w | LESSCHARSET=utf-8 …
かなり基本的な内容です.それと記事に一貫性があるわけではないです. 1. with statement 定番のwithです.ほとんどの場合で使えると思うので,積極的に使いましょう. Goでは同じようなことをdeferを使ったりしますね. # not good... f = open("./test.tx…
愚直にやるとめんどくさそうでしたが、結構簡単に出来たのでメモ。 一応、1-of-K表現とは、ある要素だけが1で、それ以外が0なベクトルです。 [0, 0, 1, 0, 0] みたいな奴。 ここでは、あるidxの要素が1、それ以外が0であることがわかっていると仮定する。 im…
Pythonとかではset型が標準でありますが、Go言語には標準ではなさそうなので調べてみたら便利なライブラリが見つかったので簡単に紹介。 deckarep/golang-set 使い方は以下のような感じです。 package main import ( "fmt" "github.com/deckarep/golang-set"…
結構悩んだのでメモ。あるmapやsliceなど、何かしらのデータの入った変数をファイルとして書き出して、後で利用したいことがたまにあります。 Pythonならpickleなどを使いますが、Go言語ではencoding/gobという標準ライブラリを使うと似たようなことができる…
Mac miniが2年ぶりにやっとアップデートされたので買ってきました。某掲示板では結構酷評ですが、自分は今の所満足しています。Yosemiteでの環境構築を一から書いてみます。 homeの暗号化 Mac標準のFileVaultを使用します。システムの環境設定→セキュリティ…
特にGNU/Linuxとかだと割りと頻繁にOSセットアップすることがあるので、個人的によく使うソフトを書き出してみます。 GNU/Linux (Ubuntu) Google Chrome ド定番ですね。OSを選ばず使えるのが本当に便利でよく使っています。Firefoxでもいいのですが、やっぱ…
株や統計の勉強を兼ねて、まずはPython3+matplotlibで株価の推移を見てみることにしました。 シンプルにX軸に日付、Y軸に株価(終値)をプロットしてみます。 1. データ 今回使用するデータはk-db.com様からダウンロードしました。 一部抜粋すると、以下の様な…
Go言語で予め用意しておいたAAをランダムに表示するプログラム書いてみました。 はっきり言って実用性は皆無です。text/templateを使ってみたかっただけです。 プログラムとテンプレート // aacreator.go package main import ( "fmt" "io/ioutil" "log" "os…
Go言語で簡単なN-Gramのカウント部分(tokenに分割し、カウントするだけ)を実装してみたいと思います。 ただ実装するだけではつまらないので、channelを使って少しでも早くしてみます。 以下で出てくるGo言語のソースコードで、最初の行に書かれているのはフ…
7 Python Regular Expressions Examples – Re Match Search FindAlの一部翻訳+αです。 正規表現は特に混乱することが多いのでメモ。一部端折るので必ず元記事の方も参照して下さい。 また、必要に応じてPythonの公式ドキュメントも参照しています。 Pythonの…
Go言語のArrayとSliceについて 調べるたびに忘れるのでメモしておきます。 基本的にGo Slices: usage and internals に基いています。 というかほとんど直訳です。 Introduction Sliceは他の言語のArrayに似ているが、違う部分がある。 Arrays Slice型はGo言…
bzip2とgzipのParallel版、pbzip2とpigz 巨大なテキストファイルを圧縮する必要に迫られたのですが、標準のbzip2やgzipは並列処理に対応しておらず、今どきのマシンだともったいないです。 そこで調べてみると、それぞれのParallel版が見つかりました。pbzip…
Pythonにはanyやallといった便利な関数があります。 こちらのサイトに、 しかし特にany関数では、ジェネレータ式を使用した方がパフォーマンスが良いと思う。 と書いてあったので、せっかくなのでipythonに慣れることも兼ねて簡単に計測してみました。 結果…
Skip-gramについて、詳しくはこちら 英語版のWikipediaはこんなニッチな技術も乗っていたりするんですね。びっくりしました。 コードはこちら そうとう不効率な実装になってしまったが、いい実装が思いつかない…
If sudo apt-get update command failed like this: W: Failed to fetch http://jp.archive.ubuntu.com/ubuntu/dists/trusty/InRelease-- W: Failed to fetch http://jp.archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease-- W: Failed to fetch htt…
SSHでDebian GNU/LinuxなどのUNIX系OSにログインした際,以下の様なメッセージが表示されることがあります. Linux v157-7-141-207 3.13-1-amd64 #1 SMP Debian 3.13.10-1 (2014-04-15) x86_64 The programs included with the Debian GNU/Linux system are …
Go言語でLevenshtein距離など様々な尺度で文章間の距離を測ることができるパッケージを書きました。 https://github.com/masatana/go-textdistance (現在のところ)対応している尺度は以下の通りです。 Levenshtein distance Damerau-Levenshtein distance Ja…
青空文庫のクローラをGo言語で書いてみました。 GitHub - masatana/aozorago 実際の実装はGitHubのリポジトリを見てもらえればわかると思います。 基本的にはトップページ→インデックスページ→図書カードページ→zipの流れで取ってきています。 Goroutinesを…
TL;DR Use Homebrew You can use Xcode! 1. Uninstall Macports Unfortunately, Macports and Homebrew will not coexist well together. Before installing Homebrew, you should uninstall Macports. (If you can’t uninstall it for some reason, please …
今CourseraのMachine Learningのオンライン授業を受けています。 第6週まで来たのですが、Octaveの3.6.4バージョン以上を使っている人は注意が必要です。 visualizeBoundary.mの21行目を以下のように編集しましょう。 contour(X1, X2, vals, [0 0], 'LineCo…
表題のとおりです。とある事情があって既存の環境を壊すことができなかったので、HOMEディレクトリに環境を整えてみました。 インストール時に躓いたものだけメモ代わりに残しておきます。 インストールする先は/home/{user}/binです。これだとインストール…
Web業界で有名(=僕がよく読む)なエンジニアブログをまとめてみました。順不同です。 Facebook Google Yahoo! Twitter Mixi GREE DeNA CyberAgent Hatena pixiv Evernote Microsoft Cybozu Wantedly=>Wantedly GitHub