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

「そしてそれゆえ、知識そのものが力である」 (Nam et ipsa scientia potestas est.) 〜 フランシス・ベーコン

ruby

JSONを階層構造を保ったままCSV化

Herokuで公開しているアプリ aqueous-everglades.herokuapp.com無かったので作りました サンプル { "glossary": { "title": "example glossary", "GlossDiv": { "title": "S", "GlossList": { "GlossEntry": { "ID": "SGML", "SortAs": "SGML", "GlossTerm":…

Neo4jRBでグラフDBをRailsから使う

Neo4j単体でも面白いのだけど、結果を現実世界に出すにはWEB画面を作るのが楽。というわけでNeo4jRBに触れてみる。とりあえず環境構築のみ。 環境構築 とりあえずDebianで環境構築をやってみる neo4jの準備 各環境にあったパッケージリポジトリを使用しまし…

Hanami + Vue.jsでTODOアプリを作った

REST APIで動くSPAを作ってみたかったので、TODOアプリ*1を作った。まずはバックエンドとフロントエンドの分離を目指したかった。構成はこんな感じ: バックエンド:Hanami フロントエンド:Vue.js with webpack vue-hanami-todo.herokuapp.com 資料 やった…

RSpecでファイル読み書きテストをやる

Rubyには Tempfile というクラスがあるので、それを使えばOK Ruby 2.4で試してます File.read するときはエンコード指定したほうがよいかも class Tempfile (Ruby 2.5.0) RSpec.describe ModuleXXX do before(:all) do @module = ModuleXXX.new end context …

AtCoder - AtCoder Beginner Contest 012 (バスと避けられない運命) を解いてみた

前回の競プロ! 解法 Rubyによる解答 TLE D言語による解答 AC! 前回の競プロ! ダイクストラ法を学んでようやくスタート地点に立てました。ダイクストラ法については以下のエントリを参照。nantonaku-shiawase.hatenablog.com 解法 Rubyによる解答 TLE アル…

AOJ - ALDS1_12_B (ダイクストラ法) を解いてみた

問題設定 最短経路問題の分類とアルゴリズムの使いどころ グラフをGraphvizでビジュアル化する アルゴリズム 疑似コード 自分の解答 AOJ - ALDS1_12は、重み付きのグラフアルゴリズムです。最短経路 ダイクストラ法 | アルゴリズムとデータ構造 | Aizu Onlin…

AOJ - ALDS1_12_A (プリム法) を解いてみた

問題設定 グラフをGraphvizでビジュアル化する アルゴリズム 疑似コード 自分の解答 コードの工夫など AOJ - ALDS1_12は、重み付きのグラフアルゴリズムです。最小全域木| アルゴリズムとデータ構造 | Aizu Online Judge 問題設定 最小全域木というのは、 重…

AOJ - ALDS1_11_A,B,C (グラフアルゴリズム) を解いてみた

ALDS1_11_A (隣接行列) 自分の解答 ALDS1_11_B (深さ優先探索) アルゴリズム 自分の解答 ALDS1_11_C (幅優先探索) アルゴリズム 自分の解答 AOJ - ALDS1_11は、グラフアルゴリズムです。グラフの表現 | アルゴリズムとデータ構造 | Aizu Online Judge 深さ優…

AOJ - DPL_1 D (最長増加部分列) を解いてみた

最長増加部分列の基本 問題設定 アルゴリズム 線形探索版のプログラム - O(N^2) 二分探索版のプログラム - O(N log N) サンプルプログラム 線形探索版のプログラム - O(N^2) 二分探索版のプログラム - O(N log N) AOJ - DPL_1 Dは、最長増加部分列(Longest I…

JRubyに挑戦2

REST APIを作ってみる 作りたいもの Hanami - ドキュメント 新規アプリの追加 新規Action/Viewの追加 新規Entity/Repositoryの追加 モデルは単数形になることに注意 employeeのDBのテーブルを作成 JSONを返す部分を追記 hanami-modelについての見解 もとの記…

JRubyに挑戦1

JRuby ターミナル 日本語化 JRuby on Rails Hanami on Jruby Hanamiについての見解 MVCにService層を追加する Hanamiの試みとは? もとの記事は JRuby - FreeStyleWiki JRuby 環境構築最初はJavaでSpring-bootを使おうとしたけど、連携の面倒さに辟易したの…

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 - 木の巡回…

AOJ - DSL_1_A (Union-Find) を解いてみた

AOJ - DSL_1_A quick find で求めてみる quick-unionで求めてみる 計算量の削減 O(α(N)) DSL_1_Aは、Coursera Algorithm I で最近習ったばかりのUnion-Findです AOJ - DSL_1_A 互いに素な集合 Union Find| データ構造ライブラリ | Aizu Online Judge quick f…

Stackoverflow良記事紹介

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

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

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

Emacsの対Ruby用装備を整える

去年の前半はScalaでわいわいやっていて、Emacsもensime前提で設定していたのですが去年の暮れから今年にかけてRubyを書かなくてはいけなくなったのでRuby用のelispをそろえていきます。 Ruby用elisp しかしアレです。Emacs+Java/Scalaだと情報が少ないので…

Chefで実行結果が失敗だとしても無視してレシピを実行する方法

バッドプラクティスです ・「|| true」 とレシピに記述すれば必ず実行結果がtrueになるので、エラーをガン無視できます execute "start_foo" do command "killall java || true && service tomcat start end

ちょっとしたRubyスクリプトで日付の加算減算

get next/previous month from a Time objectstackoverflow.comちょっとしたRubyスクリプトで日付の加算減算をやろうとしたとき、何かとRailsを使わされそうになるようだ。自分的にはベストアンサーはこれ。これなら特にimportするライブラリもない。ruby - …

Rubyる

引き続きRubyを使ってみる、また他の言語とくらべてみる リストを使う処理 Ruby書いてると他の言語でmain関数を忘れてしまう… Ruby [Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ list = Array.new() list.push("a") list.push("b") list.push("c") list.each{|str| puts(s…

不思議なRuby

Rubyを練習がてら使おうとしているのだが不思議な現象に出くわした ["Ruby" "is" "wonder" "?"].each { |str| print(str, "\n") } [ 0,1,'A','B'].each { |x| puts x } これを実行すると以下の出力が得られる Rubyiswonder? 0 1 A B[Wandbox]三へ( へ՞ਊ ՞)へ…