書いたぞ。 ginpei/docker-rails-example 日本語版の方をセルフ転載します。最新版はGitHub↑のほうで。 関連: Docker公式イメージでWordPress環境を用意する。 | Ginpen.com →English DockerでRailsアプリを作ったり動かしたりするサンプルとチュートリアルです。 Windowsの方 コマンドプロンプトやPowerShell入力時、 `pwd` を %CD% に置き換えてください。 じゃないと例えばこんな感じのエラーになります。 docker: Error response from daemon: create `pwd`/app: “pwd/app” includes invalid characters for a local volume name, only “[a-zA-Z0-9][a-zA-Z0-9_.-]”
Ruby技術者認定試験のGold、合格しました。 だいぶ出遅れたけど、ギリギリだけど、Ruby Gold試験合格!やったー! 出題傾向や対策方法の記事は既に沢山あるので、この記事では感想と私の勉強法を書いていきたいと思います。 実は過去に一回受けてました Silverを取ったのが4年程前。 www.yuki3738.net しばらくしてGoldも受けたのですが落ちてしまいました。 Silverは対策本さえしっかりやれば取れたので同じようにGoldも本で対策すればイケるでしょと思ってたのですが、当時の自分はそもそも対策本ですら難しく理解できないような状態でした。 とても太刀打ちできないと気づいたのは申し込んでしまった後でした。 ヤケクソで受けてみましたが案の定不合格。上位試験の厳しさを痛感しました。 それから特に必要に迫られもしないのでずっと受けてませんでした。 再受験したけたきっかけ 今回
開発部 R&D グループで研究開発をしている CRuby コミッターの村田 (mrkn) です。 2/23 に渋谷で開催された Ruby Business Users Conference 2017 *1 でキーノートスピーカーとして講演をさせていただきました。 内容は、Ruby で統計分析や機械学習ができない現状についての解説と、その状況を打破するために私が現在開発を進めている pycall.gem のデモンストレーションでした。 カンファレンス当日に使用した資料は私個人の Speaker Deck で公開していますので、そちらをご覧ください。 カンファレンスの発表後、当日カンファレンスで一緒だった YassLab の安川さんがデモ部分の動画を facebook で公開し、twitter で拡散してくださいました。 .@mrkn さんの PyCall を使ったデモがスゴい!😆 #RBU
はじめに Infrastructure as Code の実現に向けて Itamae や Serverspec を使おうと ドットインストール で一通りの導入はやってみたけれど、いざ自分用のホストを Vagrant で構築しようとしたらRubyユーザでないために Gem やら Bundler やら rbenv が気になって作業が進まないのでまとめてみます。 適切な書籍を購入すればまとめて書いてありそうな内容ですが、サクッと解決出来ないかと思いググってみるとやはり同じような悩みを持った方がちらほらと。 頭が弱すぎてruby + rbenv + gem + bundle + (+rails)の仕組みが理解できない・・・ - K.Komaib BLOG Bundlerの使い方 - Qiita Bundlerを使ったGemパッケージの管理 - RubyLife Rubyのrvmやgemってなんだ?
アメリカ人です。 Hello 👋 この記事の目的 多くの日本人は自分の英語力には自信がないではないでしょうか。残念ながら「英語がわからん」、「英語が全然できない」という声をしょっちゅう聞いています。でも、今まで英語ができて意味がちゃんと伝わる何人かの日本人に会ったがあります。完璧な英語ではないけど(外国人も英語でミスる時もある...)、がんばって話そうとするので充分仕事ができる人たち。そういうがんばる姿勢はオープンソースのプログラムや英語圏のプログラムに手を出すためには一番大事なことだと思います(外国人側もすごく助かります)。日本の文化では「私はできる!」と自慢することは少ない中、この記事を通して、流暢に話せなくても自分のプログラミングの命名の仕方にはちょっとだけでも自信を持たせたいなと思います。完璧じゃなくていいです。Let's go! 合わせて読んでいただきたい 【日本人エンジニア必
ツイッターのTLを眺めていたら、mirichiさんがVSCodeでrubyを動かしているのを見て「俺もやりたい!」となって試しにデバッグ出来るところまでやってみました。結構大変だったので試行錯誤の過程を記録しておきます。 Visual Studio Code、通称VSCodeはオープンソースで開発されているソースコードエディタです。 Visual Studio Code(via wikipedia) https://ja.wikipedia.org/wiki/Visual_Studio_Code 【注意!】下記記事を読んでいる事が前提です インストールに辺りこちらのサイトの2016年04月19日の記事を主に参考にさせて頂きました。ありがとうございます。 Visual Studio CodeによるRubyのデバッグ(via Developers.IO) http://dev.classmet
PythonからRubyのメソッドを呼べるようにするライブラリを作った。メソッドチェーンやイテレータなどもある程度自然に使えるので紹介する。 作った経緯 科学技術計算のジョブ管理をするRailsアプリを開発しており、RubyのAPIで挙動を制御できる様になっている。しかし、科学技術計算の分野の人はPythonユーザーが多いのでRubyではなくPythonのAPIがほしいというリクエストが多かった。 何ができるか? 例えば、以下のようなRubyのコードがあるとする。 class MyClass def m1 "m1" end def m2(a,b) "m2 #{a} #{b}" end def m3(a, b:) "m3 #{a} #{b}" end def m4(a) Proc.new { "m4 #{a}" } end def m5 enum = Enumerator.new{|y| (
VAddyとCSRFトークン VAddyは脆弱性診断を実行する際に、CSRFトークンを最新のものに更新しながら動作します。そのため「どのパラメータがCSRFトークンか?」を判断するロジックが存在しています。最近あるフレームワーク(後述)について「CSRFトークンを正しく認識できない」というバグを修正したのですが、良い機会なのでメジャーなフレームワークやCMSを中心にCSRFトークンの実装をざっと追ってみました。一覧にしても面白くないので、仮想インタビュー形式にまとめてあります。GitHub上で軽く追ったものが多いので、最新のバージョンでなかったり、解釈が間違っている箇所があるかもしれません。 それでは、どうぞ。 Ruby on Rails 金床(以下、金)「こんにちは。ようこそ。」 RoR「こんにちは」 金「相変わらずシェア高いようですね。」 RoR「はい、おかげさまで。この間はルマン24
ちなみに、最初に結論だけ言っておくと、まずSandi Metzの「オブジェクト指向設計実践ガイド」を読め、という話です それだけで終わってしまいたい気持ちはあるが、不親切過ぎるしもうちょっとRails向けの話を書こうと思う。 ただ言いたいことは、よく分かってないのに使うのは止めろということ。 自分も本で書いたりした手前、それが参考にされた結果なのかもしれないが、世の中には本当に酷いクラスが存在するもので、雑にサンプルで書くと以下の様な感じのコードが存在したりする。 class HogehogeService # Hogehogeはモデル名まんま def process(hogehoge, option_a: nil, option_b: nil, option_c: false) history = hogehoge.histories.last unless hogehoge.activ
初めまして、qsona (tw) と申します。Ruby on Rails Advent Calendar 2016 6日目の記事になります。 Rails歴は10ヶ月で、もちろんAdvent Calendarへの参戦も初です。 全体的に生意気な内容と思いますが、 じゃんじゃんマサカリ投げてください お手柔らかにお願いします。 はじめに 環境 JSONを返すAPIで、データベースはRDBを想定してます。 あんまり関係ないですが一応、Rails5 (api mode) + MySQLを想定しています。 マイクロサービスとしてのバックエンドに使う技術スタックの必要な要件 マイクロサービスの良いところは、サービスごとに合った別々の技術が使えるということです。 とはいえ、一般的な組織であれば、学習コストの面などから、ファーストチョイスとなる言語があり、普通の要件に対してはその言語を使う、ということにな
この記事はRuby Advent Calendar 2016の5日目です。 昨日はiguchi1124さんの「Railsアプリケーションでより良いリソース設計を実装するためのテクニック」 でした。 明日は、tomokane@githubさんの記事になります。 はじめに 最近、個人的なプロダクトを久しぶりにRailsで書いています。 自分の場合、Rubyはテキスト処理とかスクレイピングとかそういったスクリプトで使う用途が多いので、 Railsをまともに触るのは実に2以来。そのせいで5を触るにあたって大分忘れてたことや時代に取り残されたところがありました。 あと、Herokuも本格的に使ったことは無かったのですが、今回Dockerに完全対応したということで使ってみたので、 Heroku Container Registryを使ったDockerによるRails環境について備忘録がてら、今年はまと
友だちが「Rubyはいろいろなメソッドがあって柔軟だから、 そっちに慣れちゃうとPython書くときちょっと困るんだよね」と言っていました。 たしかに、Rubyは「配列やハッシュに対してこんな機能があればいいな」と感じたとき、 そのデータ型のリファレンスを調べれば大抵見つかります。 しかし、Pythonでもいろいろな便利な関数を使って同等の機能を実現することができます。 ただし、Rubyに比べてオブジェクト指向っぽくないところがあり、 オブジェクトからメソッドを呼び出すのではなく関数やラムダ式を利用する必要あるので、 最初は少し戸惑うかもしれません。 そこで、「Rubyの便利なメソッドを、Pythonのコードで自然に書くならこうだろう」という記事を まとめてみることにしました。 といってもキリがないので、配列とハッシュのメソッドを中心にします。 Rubyは2.2.2、Pythonは3.4.
前回までの続き。 Unixプロセスとリソースの基礎を再確認した - えいのうにっき プロセスとの情報のやりとりについて再確認した - えいのうにっき プロセスの適切な扱い方を再確認した - えいのうにっき Unixプロセスとシグナルの基礎をRubyで再確認した - えいのうにっき 今回は、「パイプ」と「ソケット」を使った複数のプロセス間で情報をやりとりする方法について。「プロセス間通信」(IPC : Inter Process Communication)と呼ばれる分野の話。 パイプを用いたプロセス間での情報のやりとり 「ストリーム」と「メッセージ」、そして「ソケット」 読んでいるのは なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 - 達人出版会 。 tatsu-zine.com パイプを用いたプロセス間での情報のやりとり プロセス間での情報のやりとりを行うための方法のひとつ
前回までの続き。なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 - 達人出版会をまだ読んでいる。遅読。 Unixプロセスとリソースの基礎を再確認した - えいのうにっき プロセスとの情報のやりとりについて再確認した - えいのうにっき プロセスの適切な扱い方を再確認した - えいのうにっき 今回は、Unixプロセスとシグナルの基礎について再確認していく。 Unixシグナル・事始め Unixシグナルの「いろは」 シグナルを再定義する シグナルハンドリングの注意点 Unixシグナル・事始め 前回、子プロセスの終了を待ち受けるのに用いた Process.wait は、実行するとそこで自身(親プロセス)の処理を止めて子プロセスの終了を待った。これは ブロッキング呼び出し と呼ばれる。 では「親は親で何か別の仕事をしたいとき」はどうするかというと、これから見ていくシグナルを上手に使うと実
Pythonプログラマーというか、元々Python(ときどきR、C言語)で数値シミュレーションをしていた学生が、就職してRubyでWeb開発を行うにあたって勉強したことを書き連ねていくだけの記事です。 もし自分と同じような立場の人(これから後輩としてもどんどん増えていくかも!)がいたら、「ここを押さえておけばRubyは問題なく書けるよ」と教えられるように書いておきます。というのも、レビューを行っていた先輩とのプログラミングのスキルとの開きがあり、先輩も私も「どこが分かってないのか説明できない」状態になってしまってお互いに困ってしまった経験があるからです。 RubyとPythonはよく似ているのですが、思想や見た目で違う部分が多く、片方を勉強するともう片方の理解も深まります。 たまに2ちゃんねるのオカルト板である「見たことある世界によく似た異世界に迷い込んだ」みたいな感覚で、なかなか面白い経
技術部の牧本です。 今日はモンキーパッチの話をします。 モンキーパッチとは何か そもそもモンキーパッチ (monkey patch) とは何でしょうか? 端的に言えば、言語の組み込みクラスやライブラリ、その他外部ライブラリの挙動を、動的に拡張する仕組みをモンキーパッチと呼びます。 *1 例えば、Ruby のモンキーパッチのすごく単純な例として以下のようなものがあります。 module NilClassExtension def empty? true end end NilClass.prepend(NilClassExtension) インスタンスが空であるかどうかを判定するメソッドとしての #empty? は String や Array など様々なクラスに存在しますが、 nil を唯一のインスタンスとする NilClass には本来は存在しません。 このモンキーパッチを導入することで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く