This domain may be for sale!
![hatebu.me](https://cdn-ak-scissors.b.st-hatena.com/image/square/052ef90c9c5802132ac765a6da257f5d7cab5cf8/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fnetcraft3%2F20170602%2F20170602111338.png)
この記事は、技術系同人誌としてまとめるはずだった原稿をほぼそのまま転載しています。諸事情により向こうかなり長い間同人誌即売会に売り手として参加することが難しくなったためです。 長いですが、お楽しみいただければ幸いです。 まえがき この本は、Rubyコミッタである卜部昌平に、その妻である私、卜部一恵がRubyのtrueとfalseについて突っ込んで聞いてみた話です。本文は両者の対話形式で進んでいきます。 私は昌平と同じ大学同じ研究室に所属していたのでプログラミングについての基礎は一応ありますが、エンジニアとして職を得たことはありません。つまり、プログラミング初級者です。この本はそのくらいのレベル感の本だと思います。 私自身が初級者なりにRubyを使っていて、if文が思った通りに動かない、そんなときに抱いた疑問からこの本が生まれました。 同じような疑問を抱いている方の一助になれば幸いです。 は
(English article is here) こんにちは、吉岡([twitter:@yoshiokatsuneo])です。 みなさんはiPadを使っていますか? メールやWebサイトの閲覧、簡単な文書作成、表計算、プレゼン、写真や動画の編集・操作などにも使えて便利ですよね。今や非常に多くのアプリケーションが利用できますし、PCより使いやすい場面もあるかと思います。 このiPadを使って、Web開発ができたら便利ですよね。 そこで今回は、ブラウザ上でウェブ開発などができるクラウドIDEサービス「PaizaCloud」を使って、iPad上で開発をしてみたいと思います。 PaizaCloudを使えば、ブラウザからクラウド上のLinux環境が操作できます。 PaizaCloudはiPadからの利用にも対応しており、開発に必要なファイル編集、ターミナル、ブラウザ、ファイル管理など、開発に必要な
エイチームライフスタイル アドベントカレンダー2017、17日目は株式会社エイチームライフスタイル、コード書くの大好きデザイナー@seiraが担当します。 Ruby?Rails?ど、どうしよう、、 2017年春頃、弊社が運営しているWordPressサイトをRuby on Railsに移行することになり、いきなりRailsのフロント実装担当を拝命しました( ̄□ ̄;)!? WordPressテーマ作成などを数年間担当していましたので、PHPについては多少知見がありますが、とはいえ数行のコードが書ける程度。 Ruby?Rails? で、できないよ~、、、、(でもやりたい!) Rubyって?Railsってなんぞや?レベルだった私ですが、予備知識も全くないところから、Railsのフロント実装をこなせるようになるために、最初にやったこと、覚えたことを書きたいと思います。 これからRuby/Rails
コマンドラインツールについて語るときに僕の語ること - YAPC::Asia Tokyo 2014 コマンドラインツールが好きで昔からつくってきた. 今年のYAPCで,そのコマンドラインツールをつくるときにどういうことを意識して作っているのか?どのような流れで開発しているのか?といったことを語る機会をもらえた. 具体的な内容については,是非トークを聴きに来てもらうとして, スライドをつくるにあったって過去に読んだ資料や,よく参考にしている記事を集め直したので,その一部を参考資料としてまとめておく. UNIXという考え方 UNIXという考え方 Mike GancarzによるUNIXの思想や哲学をまとめた本.古いが全然色あせてない. コマンドラインツールの作り方を書いた本ではないが,これらの思想の上で動くツールはこの思想に準拠して作られるべきだと思う.何度も読んで考え方を染み付かせた. 小さい
自分を含めRubyに不慣れなひと数人でRubyで書かれたコードのレビューをしていたときに、「rubyって最終行の評価結果が返り値になるから、返り値不要のメソッドの場合、どう書くのが良いのか知りたさある」という発言が出たのが発端となり、ググって分かる程度のことをまとめた。 空のreturnを書く派閥 【return絶対書くよ派】 返り値不要なら、空のreturnを明示する ”最後に評価された値を返す”という言語仕様が気持ち悪いので、そもそも全てのメソッドでreturnを書く 【空のreturnだけ書くよ派】 返り値不要なら、空のreturnを明示する ”最後に評価された値を返す”という言語仕様なので、返り値がある場合はそれに従って値を返す return書かない派閥 【return書くとちょっと遅いよ派(旧世代のパフォーマンス重視派)】 ver1.8まではそうだったが、ver1.9からはそんな
小ネタ。 Rails 5から、production environmentでのDB破壊系のtaskの実行を防止する仕組みが入りました。 例えば、production environmentでdb:dropを実行しようとすると、下記のようなエラー(ActiveRecord::ProtectedEnvironmentError)が発生します。 $ RAILS_ENV=production ./bin/rails db:drop rails aborted! ActiveRecord::ProtectedEnvironmentError: You are attempting to run a destructive action against your 'production' database If you are sure you want to continue, run the sa
概要 Rails5から、productionモードでは、db:dropなどのDBを破壊する系のコマンド実行を防止する機能が追加された。 下記はproductionで rake db:drop する時の手順。 ar_internal_metadataテーブルのenvironmentをproductionにする まずは、developmentやstagingなどの違う環境のDBをdumpして、productionのDBに入れたときなどに起こるエラーの対処法についてです。 productionでrake db:dropする方法のみ知りたい方は、次の項目へ進んで下さい productionになっていないとこんなエラーが出る $ RAILS_ENV=production bundle exec rake db:drop rake aborted! ActiveRecord::EnvironmentM
「プロを目指す人のためのRuby入門」を読んだ 仕事でRubyを使うことになったので、本腰を入れて勉強しようと「プロを目指す人のためのRuby入門」(通称:チェリー本)を購入しました。 昔個人的にRubyを勉強していたころ、著者である伊藤淳一さんの技術ブログをよく参考にしていたのでこれは!と予約して購入しました。 通勤や昼休みなどに毎日少しずつ読み進めていきました。 とても良い書籍だったのでおすすめポイントなど紹介します。 プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)posted with amazlet at 18.02.13伊藤 淳一 技術評論社 売り上げランキング: 4,221 Amazon.co.jpで詳細を見る おすすめポイント エンジニアとしてのこだわりがたくさん詰まっている書籍だと感じま
MySQLには文字列の照合順序(collation)というのがあって、MySQL側でのcharset utf8のときのデフォルトの照合順序はutf8_general_ciです。 ActiveRecord::Migrationでは明示的に照合順序を指定しない場合、charset utf8で照合順序utf8_unicode_ciのデータベースを作成しますが、これは少なくとも日本語圏では多くの人が期待する挙動ではないと思われるので注意が必要です。 たとえば、以下のようなファミリーテーブルをrake db:migrateすると # coding: utf-8 class CreateFamilies < ActiveRecord::Migration def change create_table :families do |t| t.string :name t.string :relation
こんばんは。エンジニアになれるか不安なopiyoです。 今日はWebサイトの情報を取得することが出来る、Webスクレイピングという技術をRubyでやってみます! Webスクレイピングとは Webサイトの情報を取得する技術ってイメージですが、wikipediaでちゃんと調べてみました。 ウェブスクレイピング(英: Web scraping)とは、ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。ウェブ・クローラー[1]あるいはウェブ・スパイダー[2]とも呼ばれる。 通常このようなソフトウェアプログラムは低レベルのHTTPを実装することで、もしくはウェブブラウザを埋め込むことによって、WWWのコンテンツを取得する。 nokogiriのインストール Gemfileにnokogiriを記述します。 # Gemfile gem 'nokogiri' ターミナルで、いつも通りbundl
Sequel3.29というちょっと古いのと戯れました。 そこで分かったこととかを忘れないようにメモっておきます。 ※古いバージョンなので執筆時現在の最新バージョン4.14とは異なる部分もあるかもしれません。 実行されるSQLを確認する方法 http://sequel.jeremyevans.net/rdoc/files/doc/opening_databases_rdoc.html#documentation http://sequel.jeremyevans.net/rdoc/files/doc/cheat_sheet_rdoc.html#label-Logging+SQL+statements ここらへんに記載されているとおりですが、標準添付ライブラリのloggerを使うことで Sequelから実行されるSQLを出力することができます。 require 'sequel' require
Google+ボタン はてなブックマークボタン 更新日時: 2014年02月26日(水) 作成日時: 2013年09月09日(月) 前の記事 / 次の記事 目次 そもそも何なのか? どうやって使うのか? 嵌まらないようにする(エラーをraiseさせる) 仮想属性でも定義が必要 参考 そもそも何なのか? 例えば次のようなカラムを持つArticleテーブル(記事テーブル)があって、 更新時には headline と content だけを更新して user_id は変更したくない場合。 (user_id は 記事の作成者を識別するidとして使う。) class CreateArticles < ActiveRecord::Migration def change create_table :articles do |t| t.integer :user_id t.string :headlin
railsを触っていたらStrong Parametersというものが出てきたので調べてみました。 初心者ですので間違っている部分ありましたらご指摘いただければと思います。 この記事で言いたいこと Strong ParametersはDBに入れる値を制限することで、不正なパラメータの入力を防ぐ仕組みであること Strong Parametersの概要 Rails4系から追加された仕組みです。 Rails3系まではMassAssignmentを使っていたのだが、そこに脆弱性があったためStrong Parametersが導入されたとのことです。 簡単に言うとDBへ入れたり更新したりするパラメータを制限してくれる仕組みです。 MassAssignment脆弱性にまつわるニュース↓ https://www.infoq.com/jp/news/2012/03/GitHub-Compromised
この記事は Ruby 2.5.0 preview1 時点のものです。Ruby 2.5 リリース版については http://tmtms.hatenablog.com/entry/2017/12/30/ruby25 を見てください。 Rubyは毎年クリスマスにバージョンアップされます。 今年も問題なければ12/25にRuby 2.5が出ると思います。 https://docs.ruby-lang.org/en/trunk/NEWS.html を元に変更内容を調べてみました。 言語仕様 トップレベル定数参照 rescue/else/ensure 節 文字列内式のRefinement Unicode バージョン 10.0.0 組み込みライブラリ Array#append, #prepend 追加 Dir.children, Dir.each_child 追加 Dir.glob :base オプショ
この記事はOpal Advent Calendar 2016の14日目の投稿として書いています。 またまた遅刻です。OpalでElectronアプリをつくろうとしたのですが、なかなか苦労してしまいました。 残念ながら今回の記事だけで完結しなそうです。 この記事には間違いがありました。詳しくは15日目の記事にゆずりますが、ここから先を読むときは注意してください。 electron_opalというのがあるので、これで楽勝なんじゃないかと思ったらこれがなかなかちゃんと動いてくれません。 とりあえず、ElectronでOpalのコードを実行できたのでそこまでの道のりをその1として書こうと思います。 まずはgem installと思いきや、RubyGems.orgに登録されていません。一応gemとして作られているので、git cloneしてきてGemfileに
以前からテキストベースで仕様書(PDF)などを管理したいと思っていたのですが、ようやくその環境が整い、一度実際に運用してみてかなりいい感じだったので紹介したいと思います。 基本テキストは AsciiDoc で記述する UML は PlantUML で記述する フローチャートとかは必要に応じて mermaid.js も使う つまり基本テキストで表現・管理できるものはテキストで書く 成果物は PDF形式。目次(Table of Contents) はつける。 動作確認環境 macOS Sierra 10.12.3 ruby 2.3.1 Asciidoctor 1.5.5 Asciidoctor PDF 1.5.0.alpha.14 Asciidoctor Diagram 1.5.4 mermaid 7.0.0 AsciiDoc とは AsciiDoc Home Page 軽量マークアップ言語の
GitLab CE が AsciiDoc ドキュメントへの PlantUML埋め込み に対応しました。また、AsciiDoc JebBrains Plugin を使えば、IntelliJ Idea で AsciiDoc をプレビューすることができます。(しかも、PlantUML に対応しています) 今まで難しかった設計書の管理を GitLab CE/EE でできそうな気がしてきました。まだどこかの開発で使ったという話ではありませんが、調べてみた結果を掲載します。また、マニュアルを書くのにもとても役に立ちそうです。 はじめに AsciiDoc とは? AsciiDoc は公式サイトでこのように書かれています。記事やドキュメントや書籍などを書くためのフォーマットで、HTMLやPDFやEPUBなどに出力できます。 AsciiDoc is a text document format for wr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く