なんとな~くしあわせ?の日記

ClojureとかAWSの設定とかをメモする技術ブログ

AOJ - ALDS1_7_A, B, C を解いてみた

勝手に解いてろとか言わないで… 木構造を使うときの基本 ALDS1_7_A - 根付き木 get_depth ( id, nodes ) get_children ( id, nodes ) ALDS1_7_B - 二分木 get_depth ( id, nodes ) get_height ( id, nodes ) get_sibling ( id, nodes ) ALDS1_7_C - 木の巡回…

MyBatisエラー別対応とか

Wikiの方に書いた記事によくアクセスがあるようなので、はてなに移しておく。 MyBatisのエラー別対応 エラーメッセージ:"Mapped Statements collection does not contain value for クラス名" エラーメッセージ:"Mapped Statements collection already con…

アルゴリズム学びフローを作成してみる

AOJの本 本の内容とレビュー 見通しを立ててみる プロコンで解いた問題を格納 AOJの本 この本を買ってみた。プログラミングコンテスト攻略のためのアルゴリズムとデータ構造…プログラミングコンテスト攻略のためのアルゴリズムとデータ構造作者: 渡部有隆,Oz…

動的計画法で組み合わせの総数 nCr を求めてみる

もっと早い組み合わせの総数 (combination)の求め方 動的計画法 - DP(Dynamic Programming) Combinationのための動的計画法 Rubyによるサンプルプログラム 処理内容を表で表現してみる 実際使う時は 参考 もっと早い組み合わせの総数 (combination)の求め方 …

CloudflareとLet’s Encryptを同時に使ってると、Let’s Encryptが更新できない件

tls: handshake failure 解決策 Cloudflare側の設定 There were too many requests of a given type :: Error creating new authz :: Too many invalid authorizations recently.. Skipping. 解決策 tls: handshake failure Let's Encryptで更新かけるとき、…

AOJ - DSL_1_A を解いてみた

AOJ - DSL_1_A quick find で求めてみる quick-unionで求めてみる DSL_1_Aは、Coursera Algorithm I で最近習ったばかりのUnion-Findです AOJ - DSL_1_A 互いに素な集合 Union Find| データ構造ライブラリ | Aizu Online Judge quick find で求めてみる 自分…

Hadoop Hive用にDockerのイメージを作ってみた

動機 Hiveのテスト時にいちいちEMRを起動したくない リポジトリ https://hub.docker.com/r/hiroyuking/docker-hiveserver2/ https://hub.docker.com/r/hiroyuking/docker-bigtop/ 参考にしたもの DockerとDocker Composeについては以下のサイトqiita.comApac…

文系エンジニアだがCourseraの機械学習コースを修了した

動機 以下の記事をQiitaで見つけて、これはいいなと思い受講してみました。qiita.com qiita.com 感想 学習期間 2月初旬に始めていたはずなのだが、結局終わったのは5月下旬。4ヶ月かかっている。 本来3ヶ月で終わるべきだが補習授業みたいな感じで期間を…

AOJ - ITP1_7_D を解いてみた

AOJ - ITP1_7_D 行列の積をプログラムに起こすと? 問題の内容 問題の解法 行列計算の参考リンク ITP1_7_Dは、今自分の中でブームの行列の積の問題です。生で計算しないにしても、機械学習にも大いに関係があります。 AOJ - ITP1_7_D 行列の積 | プログラミ…

AOJ - ITP1_7_B を解いてみた

偉そうに書いてるが、これは序の口の問題である。。。 AOJ - ITP1_7_B 解法1 algorithm - Finding all possible combinations of numbers to reach a given sum - Stack Overflow アルゴリズム 処理フロー 結果 解法2 Given an array A[] and a number x, …

Bash/Octaveで順列・組み合わせ

Bashで計算しようとしたのだが、結論から言うと遅すぎて使えない。Octaveで計算すると早かったのでそっちを推奨する。 Bash 順列 (nPr) bash - Generate combinations of elements with echo - Stack Overflow 参考になったが、これはCombinationではなくPer…

Javaで簡単な組み合わせの総数 nCr を求めてみる

Aizu Online Judgeをやっていて、求められんかな?と思ったので。 速さとかは遅いと思う。 Java 実働してるやつ 参考 ソースコード 所感 Ruby 実働してるやつ ソースコード Java 実働してるやつ [Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ 参考 stackoverflow.com ソー…

Apache PigでZipファイルをロード

github.com 経緯 仕事でHadoopを使うとき、gzip/bzipは標準で読み込めるがzipは読み込めなかった。困る。 Hadoopの本流でzipファイルを読む機能がマージされてないまま放置されていることに気づく Hadoopがzipをサポートしていない理由 | Tech Blog [MAPREDU…

Hadoop関連ソフトウェアを手っ取り早くパッケージでインストールする

Apache Bigtop Bigtop - Apache Bigtop Bigtop is an Apache Foundation project for Infrastructure Engineers and Data Scientists looking for comprehensive packaging, testing, and configuration of the leading open source big data components. Bi…

Apache PigでShift_JISテキストをUTF-8化

Apache PigでShift_JISテキストをUTF-8化 hdfs上にファイルを取り込む際、デフォルトの文字コードはUTF-8らしい。 どうやって取り込むか悩んだが、UDFという方法を見つけた。 User Defined Function:UDF Pig ユーザー定義関数メモ(Hishidama's Apache Pig U…

Msys2でSSL certificate problem: unable to get local issuer certificateが出たとき

エラー内容 git cloneしようとして、以下のようなエラー fatal: unable to access 'https://gitlab-xxxx/yyyy/xxxx.git/': SSL certificate problem: unable to get local issuer certificate 原因 対象のGitサーバが使用している証明書のRoot証明書がmsys2…

文系プログラマーがCourseraの機械学習コースを受講中

Qiitaで話題のCourseraの機械学習コースを受講して1ヶ月ぐらいになる。 Machine Learning | Coursera無手勝流でなんとかWeek3を終わらせた。このままだと遅延しているのだが、頑張って最後までやれば証明書がもらえるらしい。 2017/03/18 Week4終了 2017/04…

ClojureとREPL駆動開発

REPL駆動開発 またClojureです。REPL使ってやりたいことが即座にできなかったので、やり方をまとめました。 REPLを自分のプロジェクトの名前空間で起動 clojure - How to Run Code Using Leiningen? - Stack Overflow user> (in-ns 'myproject.core) 名前空…

Monger + mLab + ClojureでMongoDBに触る

MongoDBはいわゆるNoSQLで、きっちり行と列を定めなければいけないRDBと違い、JSONをそのままぶっこめる。 今趣味で触っているプログラムに使おうと思い、Mongerをクライアントライブラリとして使用してみた。 準備編 Monger ClojureのMongoDBクライアント側…

leiningenで作るuberjarがmavenでできたらいいと思ったら出来なかった話

Leiningenでuberjarを作る Clojureの日本語ガイドにあるように -> Part7: どのようにして Heroku へデプロイするか Leiningenから lein uberjar と打てばいわゆるFAT Jarができる。これは依存ライブラリを全て含んでいるのでJavaさえあれば実行できる。 Mave…

HickoryでHTMLをS式化

HiccupでHTMLをテンプレートとして扱いたいのだが、元ネタのHTMLが素のHTMLの場合、どうやってS式にするか?Stackoverflowに聞いてみそ stackoverflow.com 推しアンサー Github Wikiに方法がいっぱいあるやん clojure - Is there a parser for html to hiccu…

Spring Session

Qiitaに記事を書きました。qiita.com

Clojureを使ってみる

たまたまClojureを触ってみて、なんだか良さそうだと感じたのでいろいろ書き散らしている。 環境構築が比較的容易で、WEBアプリが作りやすそうなのがよかった。あとScalaほど四角四面ではなく、Groovyほど壊れにくい*1 環境構築 yoppi.hatenablog.comまずこ…

LinuxでOS自作入門の20日目に到達

長く苦しい戦いだった…*1 画像ははりぼてOSのコンソールからhelloコマンドを打っているところ 結局はりぼてOS向けアセンブラの実装の一番の難所は3日目と6日目ぐらいで、残りは命令を実装していけば終わりました 3日目はリンカスクリプトで、6日目はCOFF…

アセンブラを再実装してOS自作入門の4日目に到達

nantonaku-shiawase.hatenablog.com以前進捗報告したのが2016-06-09、それから5ヶ月ぐらい経っているわけですが、ようやく3日目が終了しました。長かった。 これまでの流れ harib00iに出てくるアセンブリの実装に手間取る → harib00iの実装 · Issue #4 · Har…

x86 汎用命令 - ModR/M の解説

ModR/Mについては前もちょっと記事を書いたけど、まだちょっと中途半端だったのでもう一度まとめます。nantonaku-shiawase.hatenablog.com ModR/Mの実際の例 ModR/Mの構造 ModR/Mバイトの構造 '''/r'''および'''/7'''の意味 regとr/mで使われるレジスタコー…

Let's Encryptを手動更新

blog.apar.jpだいたいここの指示にしたがえばよしこんなエラーが出た。 Cleaning up challenges Attempting to renew cert from /etc/letsencrypt/renewal/freestylewiki.xyz.conf produced an unexpected error: At least one of the required ports is alr…

Heroku + Plack + plenvを試す

ある目的のためにPlackをHerokuに上げたいと思っていた。で、試したので手順を書いておく。 plack-testing 今回試したリポジトリ github.com 手順 初期設定 plenv Rubyで言うところのrbenv、結構古いPerlじゃないと依存関係がぶっ壊れる $ git clone git://g…

CMakeでNinja向けファイルを生成する

Windowsでlinux向けC++コードをビルドする際に困るのはそのビルドの遅さだ。msys2を使ってMakefileを生成すると、死ぬほど時間がかかる。今までの数年間はautomakeでMakefileを生成していた。けれどもその遅さは普通の人間なら気が狂うレベルの遅さなのでや…

Windows10でxyzzyを使い始めてみる

所用がありWindowsを家で久しぶりに使った。 前はNTEmacsを使用していたが、xyzzyを使ってみた。結論から言うとまず最初に環境変数を設定する必要がある。 環境変数 環境変数 XYZZYHOME は,どのように設定したらよいのですか? 環境変数 XYZZYHOME は,どの…

Tinyexprで文字列上の数値計算をする

C++

久しぶりにC++の記事以下のような文字列中の数値計算をどうすれば行えるか悩んでいた。これを MOV ECX,512*1024/4 これに変換したい MOV ECX,131072 Tinyexpr それには文字列型の計算式を評価して結果を返すライブラリが必要。とりあえず組み込みやすいやつ…

BitBucketでSync branchするときの方法

git

Bitbucketで分岐元ブランチのコミットが進んだ場合、こんな表示が出る $ git checkout <hash> $ git merge remotes/origin/<branch>実際この操作だけだと、mergeしたソースをpushできない。 Merge detached HEAD back to origin/master – Git cmatskas.comこのサイトを参考</branch></hash>…

お使いのGoogleアカウントは停止されました…マジか

いきなり下のようなメールが来てアカウントが停止されてしまった! 原因 原因は、パソコンや携帯以外の端末(WEBサーバ)からGmailを送ったからでした。復旧用のメール設定しといてよかった。 qiita.com

FreeStyleWikiをAWSからHostingerに移してみた

nantonaku-shiawase.hatenablog.com結構前にFreeStyleWikiをいじっていたのですが、いつの間にか使わなくなりほったらかしでした。今回は、そのデータをサルベージしてHostingerにデータを移したりしてみました。 やったこと 独自ドメイン取得 freestylewiki…

SAML認証に関する自分なりのまとめ

SAML認証に関わるプログラミングをずっと続けていたので、ここらで少しわかりやすいまとめと考察を書きたい。まず、SAMLはだいたい2種類に分けられる。SP-initiated SAMLとIdP-initiated SAMLだ。 用語説明 SPとはService Providerの略でWEBサービスの提供…

Linuxでコンソールなどの背景透過にはcomptonを使うのがよさそう

環境はDebian/sid, LXDEを使っています(最近Mateの調子が悪い)。ご覧の通り、comptonを使えば背景透過がWindowsのようにうまくできます。Qiitaの記事に従って設定ファイルを作り、スタートアップに登録すればよろしいのではないでしょうか。qiita.com

x86オペコード命令の解析 ModR/M の解説

x86 OpCode Instruction Decoding これの和訳です。stackoverflow.com I've been looking into the Software Developer's Manual of the x86 architecture trying to brush my reverse engineering skills. I know that the architecture is complex and bac…

アセンブラを再実装してOS自作入門を3日目まで進めた

30日でできる! OS自作入門作者: 川合秀実出版社/メーカー: マイナビ出版発売日: 2006/03/01メディア: Kindle版この商品を含むブログを見るすでに3日目どころか42人日ぐらいかかってるので成果報告をしておきたい。 OS自作入門とは Windows環境で、最終的…

circleci-matrixを使って、Travisのような環境変数を複数使ったビルドをする

Travisを使う場合、envというステートメントをyamlファイルに設定することで複数の条件を並列でテストできますよね。 ただ、Travis最近重くてちょっと嫌だなあと思っていたのでCircleCIを使い始めたんですが、CircleCIにはこの機能がない。しかし、有志が作…

ls: unparsable value for LS_COLORS environment variable が出た時

環境変数のパースでトチると出るらしいBug #1038914 “lucid to precise: invalid $LS_COLORS after upgrade...” : Bugs : coreutils package : Ubuntuリンク先にあるように、ワークアラウンドとしては eval "$(dircolors -b)" を実行すればいいようだ。以下…

WineでMinGWがうまく動くようになってた

Debian/sidを使っています。winetricksのパッケージの中にmingwが含まれているので使ってみました。 # apt-cache search winetricks winetricks - package manager for WINE to install software easily # apt-get install winetrickswinetricksを--guiとい…

Hostingerという無料枠の多いVPSサービスが使いやすかった件

ここです↓ ログインはOpenIDを使用しているので、Google+かFacebookのアカウントがあれば軽く済みます。 機能紹介 大まかな機能は下の画像にあるように上部のナビゲーションバーに集まってます*1 ・レンタルサーバー メイン機能です。ホームページ作成、PHP/…

第137回東京エリアDebian勉強会に参加した

私にとって2016年はRubyの年になりそうです。ところで、何回かぶりにDebian勉強会に行った。debianjp.connpass.com 当日のセミナの内容など 今回の会場はサイボウズ株式会社東京オフィスでした。 めっちゃ広い!お菓子ありがとうございます。御社はSAMLの実…

忍者ツールの広告位置を無理やり移動させる

Debian勉強会に触発されてOS自作入門をまたやりたくなってきたのでホームページを作りました。 http://buildos.xxxxxxxx.jp/ 移転しました OS自作入門メモ サーバは忍者ツールを借りたのですが、無料だと広告が出てしまう。 まあ、それはいいのだが広告ユニ…

Stackoverflow良記事紹介

UNIXコマンドで大文字のファイル名を小文字に一括変換したい stackoverflow.com rubyで衝突しないユニークな文字列を生成するには? ja.stackoverflow.com jQueryでformのHTML要素をformについたnameで選択する方法 stackoverflow.com Railsのform_forにてfo…

CSSで作るモーダルなダイアログの紹介

モーダルダイアログ。それはWEB開発では避けられない小技。普段なにげなく使われてるWEBシステムでも、たぶん「削除」や「決定」前には出てくるのではないでしょうか。でもこれホント面倒なんです、同業者しかわかってくれないだろうなあ… 昔だとどうしたっ…

winedbgを使う

このページの翻訳です WineHQ - Using the Wine Debugger 1.3. Wineのデバッガを使う この章ではWineのデバッグをどこから始めればよいか説明します。もし詰まった場所があったり、助けがほしい時は、どのようにすれば役に立つバグレポートを書けるかという…

AWSにSSL証明書を登録したりした

AWS

ELBへの証明書登録 WEBから登録できないとき httpからhttpsへのリダイレクト Amazon Certificate Manager Let's encrypt AWSはすごいのでロードバランサー*1に証明書を登録できる。ロードバランサーまではSSLで、そこからアプリケーションサーバはHTTPで通信…

HTTP GETの容量制限とか

Is there a limit to the length of a GET request? stackoverflow.comやはりStackOverflowは有能すぎる。ぼくの推しアンサーはこれ http://stackoverflow.com/a/266341/2565527 Not in the RFC, no, but there are practical limits. (RFC内には指定は無い…

Javaプログラマーが3ヶ月Railsを使って思ったこと

わたしは元SIerで、JavaによるWEBアプリを作っていた経験がほとんどだったのですが、 ついに最近Rubyでのお仕事をはじめました。これはその感想です。わりとJavaディスり気味になるかもしれません 1.これまでの経験とか フレームワーク的には ・単なるJSP/…