タグ

Rubyに関するHHRのブックマーク (64)

  • Semantic Versioningの闇 - knqyf263's blog

    今回も誰も興味ないシリーズなので今まで書いてこなかったのですが、Semantic Versioningに関して幻想を抱いている人がいる可能性があり、そういう方にどうしても現実を知っておいて欲しかったので書きました。3行要約(と可能なら余談)だけでも読んでいただけると幸いです。 3行要約 Semantic Versioning 2.0.0にはバージョン"比較"の定義はあるが、バージョン"制約"(>= 2.1.3みたいなやつ)の定義がない その結果、同じsemver準拠ライブラリでも制約の解釈が異なり結果が真逆になる というかそもそもsemver使ってるエコシステムが少なすぎる 背景 セキュリティアドバイザリでは特定のバージョンが脆弱であることを示すためにバージョン制約が使われることが多いです。例えば >=1.2.0 <1.2.6みたいなやつです。この場合、1.2.5は脆弱だが1.2.6は修正

    Semantic Versioningの闇 - knqyf263's blog
    HHR
    HHR 2020/11/11
    バージョン比較
  • Ruby/論理演算 [Ore Base]

    HHR
    HHR 2017/12/05
    選択的代入
  • メモリとスタックとヒープとプログラミング言語 | κeenのHappy Hacκing Blog

    κeenです。 今回の話は別にRustに限ったものではないのですが、よくRustを始めたばかりの人がスタックとヒープが分からないと言っているのをみかけるので少しメモリの話をしますね。 厳密な話というよりは雰囲気を掴んで欲しいという感じです。 メモリは配列 プログラム(プロセス)のメモリには実行するプログラム(機械語)やグローバル変数/定数、関数の引数やローカル変数、その他プログラムで使うデータ領域などを置きます。 プロセスに割り当てられるメモリというのは、1つの巨大なのっぺらな配列みたいなものです。サイズも決まってます。64bit OSなら2^64 byteです。 0 2^64 +--------------- ----+ | | | | | ~~ | | +--------------- ----+ これは仮想的なメモリなので実際の物理メモリに2^64 byteの配列がドンと確保される訳

    メモリとスタックとヒープとプログラミング言語 | κeenのHappy Hacκing Blog
  • PHPのround関数とは一体なんだったのか - hnwの日記

    (7/3 14:05追記)Javaに関する記述について誤認があったので盛大に書き換えました。Java 6、Java 7、Java 8それぞれで実装が変わっていたようです。 (7/13 23:55追記)記事中ではroundを四捨五入と言い切ってしまっています。これは筆者がC99のroundを基準に考えているためですが、言語によっては偶数丸めになっているround関数も珍しくありません。ご注意ください。 PHPのround関数について、ネット上で次のような記述を見つけました。 PHP 四捨五入の計算を間違える唯一の言語として畏れられていましたが、そのバグは治っているかもしれません(治ってないかもしれません) 主要なプログラミング言語8種をぐったり解説 - 鍋あり谷あり 各言語を面白おかしく紹介する内容とはいえ、ずいぶん雑な理解だなーという印象です。ゆるふわな話だけでPHPがdisられ続けるの

    PHPのround関数とは一体なんだったのか - hnwの日記
  • 長文日記

    HHR
    HHR 2016/07/01
    最近、Rubist=エモい。みたいなdisりが増えた
  • Rubyが今のPythonの地位にいない理由

    _ Rubyが今のPythonの地位にいない理由 歴史のことなんぞなんも知らんけど、「技術的には今のPythonの地位はRubyでもよかったのに、そうならなかった」のが何故か、その理由を書いてみよう。僕はRuby歴史なんて知らないし、以下の文章は全部、まるで見てきたかのように書いてますが、適当に書いたくせに何故か断言口調になっている怪文書の類いです。 https://twitter.com/mametter/status/741950239662170112 まめさんの書いた理由リストはどれも関係ない。いやカスってるけど。難しいというのも関係ない。 僕がRubyを知ったころ…最初に書いた通りRuby歴史なんて知らないので、別に早くもないわけだけど…Rubyというのは全く使われていない言語だった。どっかの好き者がPerlの替わりに単純な処理に使って、「ウフ、美しくかけた、グフッ」とかつぶ

    HHR
    HHR 2016/06/16
  • [速報]Google App EngineがRubyとNode.jsのサポートを発表。GCP Next 2016

    [速報]Google App EngineがRubyとNode.jsのサポートを発表。GCP Next 2016 Googleは同社のクラウドに関するイベント「GCP Next 2016」を3月23日、24日の2日間にわたり米サンフランシスコで開催しています。 初日の基調講演では、同社がエンタープライズ市場へ注力すること、次世代のクラウド基盤としてコンテナが主役になること、そして機械学習サービスの充実などが語られました。

    [速報]Google App EngineがRubyとNode.jsのサポートを発表。GCP Next 2016
  • Rubyで%記法(パーセント記法)を使う - Qiita

    Rubyの%記法まとめ。 以下の例では%の後に全て「()」記号を使っているが、他の記号でも代替可能。自分が好きなものを使って問題ない。 1. %、%Q ダブルクオートで囲う場合と同等。 シングルクオートやダブルクオートのエスケープが不要になる。 後述の%q()と違い、変数・定数の展開もできる。 str = %(Programming language "Ruby") puts str # => Programming language "Ruby" ruby = "Ruby" str2 = %(Programming language "#{ruby}") puts str2 # => Programming language "Ruby"

    Rubyで%記法(パーセント記法)を使う - Qiita
    HHR
    HHR 2016/03/24
  • FXや株の自動取引ツールの作り方 - A級リーグ指し手1号

    私はFXやら株やらの投資に多少手を染めているのですが、一時期その自動取引をするツールを自作したことがあります。先日やはり自動取引に興味のある方とその話をしていたのですが、自動取引のやり方というのはどうもあまり知られていないようです。Web製作サイドでは割と一般的な技術を使っているだけ(だと思う)で、そんな大したことをやってるわけではないのですが、その業界以外ではたしかにあまり知られていない技術かもしれないので、参考にされる方もいるかもしれないと思い、ご紹介しておきます。 世の中にはFXや株の自動取引ツールというものがいくつか出回っています。FXだとMetaTraderというのが有名です。ただ、どのツールも大体、為替なり株価なりの時系列情報だけを用いた単純なテクニカル分析を対象としており、いろんな情報源を利用してある程度複雑なロジックを実現することは(私の知る限り)できないはずです。そのよう

    FXや株の自動取引ツールの作り方 - A級リーグ指し手1号
    HHR
    HHR 2016/02/24
  • ツールを使いたいだけの人のための bundler 入門 (例: vagrant + veewee) - Qiita

    目次 なぜ bundler? ruby を入れておく rubygems を入れておく bundler を入れておく Gemfile を作る bundle install で gem をインストールする bundle exec で使う まとめ bundle update で更新する bundle clean で古い gem を削除する 0. なぜ bundler? 普通に gem install veewee でインストールしようとすると、依存関係の解決で出来るだけ最新を入れようとするだけで、うまく試行錯誤してくれず、うまく解決出来ない状態になると Gem::DependencyError で諦めてしまいます。 たとえば今最新の veewee をインストールしようとすると以下のように失敗します。 % gem install veewee ERROR: While executing gem

    ツールを使いたいだけの人のための bundler 入門 (例: vagrant + veewee) - Qiita
  • dotenvで秘密情報を扱う件 〜 Ruby, PHP, PaaS, CI について 〜

    .envファイルに環境変数を書いておくdotenv って何かと一言で言うと Foreman の提供している .env ファイルから環境変数をセットする機能を Foreman 環境以外でも利用できるようにしたもの。 えーと。何のこと?って感じですね。 dotenv という言葉は意味する範囲がやや曖昧なんだけど、自分の場合は「.env ファイルに sh script のように環境変数を記述しておくと、アプリが実行時に自動的に環境変数として取り込むことができる系の機能の総称」と捉えている。 で、実装がそれぞれにある。いちばん有名な Ruby バージョンだと予想通り Dotenv gem で、他の言語でも似たようなものがいくつもある。 bkeepers/dotenv なぜ.envファイルから環境変数をセットするのか環境変数から設定を取得したり環境判別用の情報を取得しようという話は決して新しい話では

    HHR
    HHR 2016/01/29
    .envの歴史
  • 正規表現 (Ruby 2.5.0)

    [edit] メタ文字列とリテラル、メタ文字とエスケープ 式展開 文字 任意の1文字 文字クラス 特別な文字列に対するマッチ 繰り返し キャプチャ グループ 部分式呼び出し(subexpression call) 選択 アンカー 条件分岐 オプション エンコーディング コメント フリーフォーマットモード 非包含オペレータ (absence operator) (実験的) 一覧 特殊変数 参考文献 正規表現(regular expression)は文字列のパターンを記述するための言語です。また、この言語で記述されたパターンも正規表現と呼びます。 正規表現を用いると、文字列が指定したパターンを含んでいるかどうかを判定し、また含んでいるならばそれが文字列中のどの場所であるかを知ることができます。 /pat/ %r{pat} などの正規表現リテラルや Regexp.new などで正規表現オブジェク

    HHR
    HHR 2015/04/19
    なぜほってんとりかわからないけど、良くまとまってる。
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    HHR
    HHR 2014/08/31
    pit
  • 技術的負債をなくすには - Qiita

    技術的負債をなくすには http://apps.wiki.fc2.com/wiki/%E6%8A%80%E8%A1%93%E7%9A%84%E8%B2%A0%E5%82%B5%E3%82%92%E3%81%AA%E3%81%8F%E3%81%99%E3%81%AB%E3%81%AF C# Objctive-cだけ使う VisualStudio Xcodeだけ使う VisualStudio Xcodeを機能をフル活用する WindowsServerを使う 一定のシェアを獲得したDBを使う デザパタを覚える コミュニケーションはOffice 365やredMine,イラレGit Svnを使う 社会的に技術的負債をなくすには 動的言語は使わない。 動的をすべて捨てる(人の手に渡るような捨て方はしない ちり紙交換がよい) 動的DBは使わない。リレーションのない動的DBは使わない(mongoDB

    技術的負債をなくすには - Qiita
    HHR
    HHR 2014/06/02
    ブコメみると案の定
  • 開発用プロキシ、「CocProxy」が便利 - プログラマでありたい

    CocProxyというツールがあります。名前の通りプロキシサーバーなのですが、用途が開発用です。置換プロキシと言うらしいですが、これがとっても便利です。例えば、クローラーの開発や、HTML,CSS,JavaScriptの修正をする際に、このCocProxyを利用するとダウンロード待ちのイライラが解消され、効率アップ間違いなしです。ローカルのみで完結するのと、Webへのアクセスが必要とするのでは、スピードが数十〜数百倍違います。一回だけでみたら、数百ミリSecの差ですが累積で考えると大きいですよ。 CocProxyとは? Ruby製のProxyServerです。かつ標準ライブラリで動くことを目標としているので、Rubyの環境があれば、ダウンロードして直ぐに使えます。また基的には1ファイルで完結するので、導入も簡単です。Ruby1.9をベースにしていますが、Ruby 2.0でも特に問題なく動

    開発用プロキシ、「CocProxy」が便利 - プログラマでありたい
    HHR
    HHR 2014/05/06
    むかしあまちゃんがはてぶ高速化に使ってたやつだ。
  • PHP・⌒ ヾ(*´ー`) ポイ Rubyist is better than PHPer | つい全力ツッコミしてしまうエンジニアCEOのブログ | sumyapp

    株式会社アクトキャットのCEOのブログです。Web系スタートアップ・ベンチャー企業に興味がある人や就活生に役立ちそうな事を自由に考えて投稿しています。 Rubyist is better than PHPer、ルビー使いがペチパーより優れている理由を3つ上げます。PHPおよびPHPerはコードを書くのが嫌いPHPerは実はHTMLに毛が生えた程度しか使えない人が多いPHPは低級プログラマと過去の負債に引きずられるRubyとだけ比較してますが、Pythonと比較しても、Node.jsと比較しても別に良いでしょう。結果は一緒です。さぁPHPを投げ捨てよう!PHPおよびPHPerはコードを書くのが嫌いこの根拠は、PHPがほかの言語に比べてPaaSで動きにくい、というのを根拠にしています。PaaSで動くためには、少なくても下記の条件を満たしている必要があります。DB Schemeをコードで管理して

    HHR
    HHR 2014/04/30
    こういうのってPerlの髭おじさんとともに引退したと思ってた…
  • ついに顕在化しはじめたArrayリスク : 404 Blog Not Found

    2013年03月11日18:15 カテゴリTipsLightweight Languages ついに顕在化しはじめたArrayリスク JavaScript: The Definitive Guide (Kindle ed.) David Flanagan [邦訳:JavaScript 第6版] 以下のようにした理由は、実はJavaScriptのArrayが配列ではないことに起因します。 404 Blog Not Found:Algorithm - Ruby 2.0 や Haskell の遅延リストを JavaScript で これに対して、List.Lazyではmapやfilterを関数合成で実現しています。JavaScriptのArrayが、(整数個のデータ構造が順序よくならんだ古典的な意味での)配列でないことは、以下のように確認できます。 JavaScript var ary = ne

    ついに顕在化しはじめたArrayリスク : 404 Blog Not Found
    HHR
    HHR 2013/03/18
    リスク。。。かな?
  • PHPを愛する試み - maeharinの日記

    僕はRubyが好きだ。プライベートではRubyばっかり使っている。でも、仕事ではPHPを使わなければならない。これまでPHPは書きにくいーと思い込んでいてあまり好きではなかったのだけど、仕事で使う以上PHPを好きになった方がきっと幸せになれる。何かを好きになるにはどうすればよいか。そう、相手のことを知る努力をすればいいんだ!ということで、PHPについて知る努力をしてみた。 PHP The Right Wayを読む http://ja.phptherightway.com/ ☆PHPへの愛が100上がった☆ これは... PHP好きになれるかも! 普段Rubyで書いてるコードをPHPで書いてみる 折角なので自分が普段Rubyを使っていて便利だなーと感じていることをPHPではどう書くのか(厳密では無いにしても大体同じ内容はどう書くか)試してみた。Rubyは1.9.2、PHPは5.3.10。 多

    PHPを愛する試み - maeharinの日記
    HHR
    HHR 2013/01/21
  • vim使っているrubyistで、これ入れていないのはヤバいプラグインまとめ 9個 (2013-10-04更新) - Qiita

    vim使っているrubyistで、これ入れていないのはヤバいプラグインまとめ 9個 (2013-10-04更新)RubyVimctags Rubyの開発効率を高めたい! vimRubyRails開発するときに、デフォルトの状態では非力ですよね。 開発効率を高める9つのプラグインを紹介します。 alpaca_tags   ctagsの非同期生成 neosnippet   Rails/sinatra/rspec等の補完 swtich.vim    .present?:.brank?など対応するキーワードを切り替える rubocop    文法エラー、スタイルチェック vim-rails    Railsプロジェクト用プラグイン unite-rails    Railsプロジェクト用Unite-source vim-endwise   if...endなど対応するキーワードの自動補完 rub

    vim使っているrubyistで、これ入れていないのはヤバいプラグインまとめ 9個 (2013-10-04更新) - Qiita
  • Rubyやってみる!(新おっぱいスクリプトもあるぉ) - ゆーすけべー日記

    プロジェクトRuby on Rails使うっていぅんで 「アジャイルWebアプリケーション開発」なんて買ってチュートリアルとかやってます。 ただ、Ruby自体なにも分からないので、Rails覚えてもどれだけできるかがよく分からなす。 ってことでRubyを勉強する!と先ほど書いてみた4つのスクリプトをご紹介。間違ってたらツッコミよろしくおくんなまし。 とはいえ簡単なやつだよ!でも新しいおっぱいダウンロードスクリプトもあるよ! open-uri.rb まずは、Perlで言うLWP的なもの、つまりHTTPクライアントでこの日記のHTMLを取得してみるよー。 あら、簡単だねっ。 require "open-uri" html = open("http://yusukebe.com/").read; p html twitter-search.rb お次に「お得意の」APIを叩く系をやってみる

    Rubyやってみる!(新おっぱいスクリプトもあるぉ) - ゆーすけべー日記
    HHR
    HHR 2012/05/21
    このおっさんかわんねぇな