はじめに Pure Rubyな形態素解析器Suikaを作成した。開発中でバッリバリにα版だが、思い切ってリリースすることにした。 suika | RubyGems.org | your community gem host 最も有名な形態素解析器であるMeCabもそうだが、形態素解析器は食べ物の名前がつくことが多い。「Rubyなので赤い食べ物が良いかな」と考えて、文字数とかわいらしさからSuika(スイカ)とした。 使い方 SuikaはPure Rubyで作られているため、MeCabをはじめ特別なライブラリを別途インストールする必要はない。 gem install suika バッリバリにα版なので、機能はないに等しく、オプションなしのMeCabコマンドと同様となる。 $ irb irb(main):001:0> require 'suika' => true irb(main):002:
Ruby 開発チームに4週間インターン生として参加いたしました、永山 (GitHub: NagayamaRyoga) です。 私は「Ruby中間表現のバイナリ出力の改善」という課題に取り組み、Railsアプリケーションのコンパイルキャッシュのサイズを70%以上削減することに成功しました。以下ではこの課題の概要とその成果について述べたいと思います。 InstructionSequenceの概要 まず、RubyVM 内で実行される命令の中間表現、InstructionSequence (以下 ISeq と省略) について簡単に説明します。 通常の Ruby プログラムは、以下のような手順で実行されます。 ソースコードを構文解析し、抽象構文木を作る。 抽象構文木をコンパイルして、ISeq を作る。 RubyVM (YARV) で ISeq を解釈し、実行する。 ISeq は、このように Ruby
はじめに Rubyは死んだ、Railsは時代遅れという人が最近増えてきたように思えます。 私自身RubyやRailsを書いて3年位経ちますが、「終わりつつあるな」と実感することが多いです。 そう思った経緯を記事に書いていきます。 Railsの特徴 Railsの特徴というか、流行した要因としては以下の5つが大きいと私は思っています。 テンプレート、パーシャル、レイアウトをERBを使ってすばやく構築できる Active Recordによってデータベースを簡単に定義、操作ができる アセットパイプラインによってcss、jsを管理することができる チュートリアルが充実している Rubyという柔軟性の高い言語によって開発することができる 私はRailsはこの5本の柱によって支えられていると思っています。 これらの5本の柱のメリットにより、Railsは大流行しました。 すばやく簡単にプロダクトを作ること
機械学習といえばPythonがいますごい盛り上がりを見せていますが、Rubyでも最近 @mrknさんがPyCallというgemを作っていて、2月23日に行われたRuby Business Users Conference 2017で発表されたみたいです。 sssslide.com ということで Ruby + PyCallで機械学習をやってみる 以前、Python 3.5, scikit-learn, pandasでKaggleのTitanicを使って機械学習のチュートリアルを行ったのでここのコードをRuby化してみる。 saboyutaka.hatenablog.com 基となるPythonのコード Kaggleのデータ(train.csv, test.csv)をローカルのdataディレクトリに配置 pandasでデータを加工 scikit-learn RandomForestでmodel
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0062 号 バックナンバー Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist Magazine 0058 号 RubyKai
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
Meet the startup founder of HipByte who developed a disruptive toolchain to write native iOS apps of RubyMotion.BeMyApp Developer Media and Resources BeMyApp developer media is a website publishing developer resources, developer tutorials, and content that is focused on machine learning, virtual reality, artificial intelligence, and the best rapid prototyping resources. After close to six years a
RubyKaigi 2013 レポート Jose Valim、Rubyにおける並行プログラミングのためのいくつかのアイデアを提案。~ RubyKaigi 2013 基調講演 2日目 2013年5月30日~6月1日の3日間、お台場にある東京国際交流館にてRubyKaigi 2013が開催されています。基調講演をそれぞれレポートします。 2日目の基調講演の演者はJose Valimです。司会の角谷さんにより「再起動したRubyKaigiの基調講演に最もふさわしい人物の一人」と紹介をされたJoseは、Rubyにおける並行プログラミングの可能性について話しました。 自己紹介 Joseは、2006年からRubyを書き始めたそうです。それからOSSにも深く関わっており、2010年からRails coreチームにジョインしています。そして、Elixirという言語の作者でもあります。ElixirはErla
技術部の鈴木 (@eagletmt) です。 クックパッドでは8月に本体アプリケーションや API サーバ等で使われている Rails のバージョンを 3.2 から 4.1 へ順次アップグレードを行いました。 アップグレードは主に松田さん (@amatsuda) と私で進めました。 この記事ではアップレードの際に遭遇した問題の一部を紹介します。 MySQL strict mode の有効化 MySQL を使っている場合、Rails 4.0 からデフォルトで @@SESSION.sql_mode = 'STRICT_ALL_TABLES' が最初に実行されるようになりました (Ruby on Rails 4.0 Release Notes) 。 これを無効化するために database.yml で strict: false という設定が用意されています。 しかし、同じく Rails 4.0
『パーフェクト Ruby on Rails』(すがわらまさのり, 前島真一, 近藤宇智朗, 橋立友宏)を読みました。「Rails 開発に慣れてきたかな」くらいの人にちょうどいい内容だったと思います。それくらいレベルの人が少し上を目指したり、より Rails らしい設計や開発の仕方を学んだりするのにいい書籍だと思いました。Ruby 2 や Rails 4 向けの説明になっているので、新しめの情報を得たいような場合にもお薦めです。逆に、最新の Ruby や Rails でバリバリ開発しているような人には既知のことばかりで物足りないんじゃないかなという印象です。 全体的に興味はあったのですが、購入の決め手となったのは第9章「より実践的なモデルの使い方」です。どう設計するか、どうリファクタリングするかの1つの指針として読んでみたいと思いました。実際に読んだ感想としては、学びも多く、読んでよかったと
インフラストラクチャー部の成田(@mirakui)です。 Rails の OR マッパーである ActiveRecord ですが、みなさんどのように運用していますか? ActiveRecord を使うと、 SQL を直接扱うことなく、抽象化された表現で RDB にアクセスできるので、アプリケーションの開発効率という観点ではメリットが大きいです。 一方で、 ActiveRecord が駆使されているアプリケーションをサーバに配置してプロダクションとして運用する立場からすると、いくつかの問題に突き当たります。 まずはクックパッド本体アプリケーションにおける、最新の rake stats をご覧ください。 +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC
今の時代、Googleで検索するだけでたくさんの情報をみつけることができますが、見つかった情報が本当に価値がある情報なのかどうか、限られた時間で見極めるのはなかなか大変なことだと思います。 そのような時に利用したいのがキューレーションリスト。「Awesome Ruby」はRuby関連ライブラリやリソースへの厳選されたリンク集で、用途ごとに定番情報へのリンクが張られているので、ざっと概略を知りたいときに役に立ちそうです。 例えば、ファイルアップロードでは、環境構築ツールではrvmとrbenvが、ファイルアップロードではpaperclip、carrierwave、dragonflyなどのライブラリの名前が挙げられていて、このチョイスは誰もが納得するところではないでしょうか。 Ruby用だけではなく、Go、PHP、Python用のリンク集もあるようですのでこちらもどうぞ。 awsome-go /
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Docker Hub公開のアナウンスがあったので、早速Docker HubとGitHubを連携させてmod_mrubyの実行環境をDockerイメージとして作った上で、それをMac上のVagrantで動くCoreOS内のDocker環境にデプロイしてみました。 本エントリではmod_mrubyとしていますがここは重要ではなく、自身が開発しているGitHubのアプリケーションに置き換えて読んで頂けると、便利さが見えてくるかと思います。 試してみると、非常に簡単にDockerイメージを作成できた上に、迅速にmod_mrubyの軽量な実行環境をデプロイできたので、その流れを簡単に紹介したいと思います。 Docker Hubにアカウントを作ってGit
This document summarizes key aspects of memory management in RubyMotion. It discusses how Ruby uses garbage collection while iOS uses reference counting. Developers need to avoid retain cycles when objects strongly reference each other. Using WeakRef allows child objects to weakly reference parent objects to prevent retain cycles from occurring. The document demonstrates examples of retain cycles
補足: Rails Engineとは? Railsアプリケーションを再利用可能にするように、 本体にマウント可能にする ↑↓ プラグイン、gem ・Rackミドルウェアである ・routes, task等を独自に記述できる などなど 実装リスクを洗い出し、工数見積を出すため 案2・案3でプロトタイプ実装を試みる 結果 案2: OAuth providerを作るgem(doorkeeper)を使ってできた 案3: ActiveRecord establish_connectionでDBを変えれた 複数DBは、本体でテストも書かれているので大丈夫そう では、どちらにするか? 工数はあまり変わらなさそう・・ 案2 OAuth化(HTTPレイヤ) ・OAuth Provider化しても外部公開の予定はない =要件に対して、オーバースペック 案3 Rails Engine化(アプリケーション
iOSエンジニアの荒井です。 今回はXcodeプロジェクトのライブラリ依存関係を簡単に管理出来る”CocoaPods”の紹介をします。 未導入の方はオープンソースの管理が劇的に変わるので是非導入してみてください。 はじめに 最近iOSの勉強会などに参加すると、CocoaPodsを導入していることが前提で話が進む事が多くなりました。また、iOSエンジニアと話す際も「CocoaPodsで管理していますか?」という質問を頂きます。 導入していないことによって不便をきたすことがないようにしたいですね。 もちろん、単に時代の流れの面でだけでなく、メリットの部分が非常に多いと感じています。 今回のエントリでは 1. CocoaPodsのメリット 2. CocoaPodsの導入手順 に焦点を当てて紹介していこうと思います。 Cocoa Podsの導入メリット 冒頭にも書きましたが、Coco
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く