タグ

rubyに関するnakackのブックマーク (185)

  • GitHub - microsoftgraph/msgraph-sdk-ruby: Microsoft Graph Ruby client library for v1 APIs

  • Ruby製HTTPクライアント用gemの「Faraday」を使おう

    Faradayの役割 Faradayは、Rubyで書かれたHTTPクライアントライブラリで、RubyGemsとして提供されています。利用シーンとしては、Railsプロジェクトから外部のAPIなどにアクセスする例などが一般的でしょう。 なお、RubyにはHTTPクライアントライブラリとして標準で添付されているNet::HTTPがあり、require 'net/http'でインクルードすれば利用でき、Faradayを使わなくても実装することができます。 ただし、Net::HTTPを使うとパラメーターや設定などが複雑になってしまうところを、Faradayを使うことでよりシンプルに、HTTPクライアントとしてアクセスする部分を実装できるメリットがあります。 また、Faradayは内部的にはデフォルトでNet::HTTPを使用しています。その意味ではNet::HTTPのラッパーともいえるでしょう。

    Ruby製HTTPクライアント用gemの「Faraday」を使おう
    nakack
    nakack 2019/04/04
  • #RubyKaigi 2018 1日目に参加しました。 - @watson1978 の日記

    発表を聞きながらメモした内容を貼っておきます。 Keynote ことわざの話 ことわざ=先人の知恵 名は体を表す -> 名前重要 名前を付けてアイディアを交換する。名前付けは非常に重要。 1. 振る舞いに対して クラス、メソッド、変数などの概念 名前付けが難しいのは、概念を十分に理解しきれていないから 良い名前付けは使い勝手につながる → 良いソフトウェアにつながる 悪い例:yield_self もう少しましな名前に変更します → then version あげるコミット以外で、意味のあるコミットしたのは 5年ぶりくらい 2. プロジェクトに対して 良い名前はコミュニティーの旗印や求心力になる Ruby という名前じゃなかったら、いまのようではなかっただろう Ruby という名前付けは良かった (1993年) Google 登場前だったので、今なら Google アビリティの高いものに G

    #RubyKaigi 2018 1日目に参加しました。 - @watson1978 の日記
    nakack
    nakack 2018/06/01
  • Deep Learning Programming on Ruby

    Presented by @mrkn and @hatappi at RubyKaigi 2018

    Deep Learning Programming on Ruby
  • Crystal : The Crystal Programming Language

    Batteries includedCrystal’s standard library comes with a whole range of libraries that let you start working on your project right away. Check the API docs # A very basic HTTP server require "http/server" server = HTTP::Server.new do |context| context.response.content_type = "text/plain" context.response.print "Hello world, got #{context.request.path}!" end address = server.bind_tcp(8080) puts "L

    Crystal : The Crystal Programming Language
  • Ruby のように書きやすく C のように速いプログラミング言語「Crystal」 - DMM inside

    |DMM inside

    Ruby のように書きやすく C のように速いプログラミング言語「Crystal」 - DMM inside
  • 百花繚乱!なないろ言語で競技プログラミングをする資料まとめ - Qiita

    言語別の競技プログラミング入門資料たち それでは各言語別の入門資料たちをまとめて行きます。 Python 最近は Python競プロを始める人が激増しています! データ分析機械学習において Python がメジャーな言語となったことから、Python を学びたいという方は大勢いるでしょう。Python を勉強したいというモチベーションで AtCoder を始める方も多いと聞きます。計算実行速度の観点からは C++ に比べて不利な感があるので、ARC E 問題以上の難易度に挑むようになったら C++ などの速い言語も覚えていく必要が生じますが、AtCoder 500 点問題までの難易度帯であれば概ね通せるようです。今後 Python で書かれたアルゴリズム解説資料などが充実して行くといいなと思います。 AtCoder に登録したら解くべき精選過去問 10 問を Python3 で解いて

    百花繚乱!なないろ言語で競技プログラミングをする資料まとめ - Qiita
    nakack
    nakack 2018/03/22
  • RubyPico - Ruby Programming Environment in iOS

    RubyPico 小さな端末でも楽しくプログラミングできるRuby開発環境です。 統合開発環境 ファイルビューワ、エディタ、実行環境を含みます。スマホだけでRubyプログラムを開発、学習することができます。 iOSをRubyから操作 カメラロール画像の読み書き、他のアプリを起動などができます。 標準ライブラリ 数値計算、ファイルの読み書き、画像フィルタ、JSON、base64エンコーディングなど豊富なライブラリが同梱されています。 Web API GET, POST メソッドをヘッダ情報付きで送信することができます。 Bluetoothキーボード 物理キーボードを使ってコードを直接入力することもできます。 インストール AppStoreからダウンロードできます。 ライブラリ RubyPicoGems 他の人が書いた便利なプログラムを探す ドキュメント 20分ではじめるRubyPico Ru

    nakack
    nakack 2016/09/26
  • Ruby超入門(前編)

    こんにちは。 この連載では、ちょっと変わったRuby入門を書いていきます。 想定読者は、Rubyを学びたいプログラミング初心者です。 Ruby以外の言語でプログラミングしたことがあると理解がはかどると思いますが、 Rubyを知らなくてもわかるように、なるべく丁寧に説明していくつもりです。 Rubyをある程度知っている読者には、最初の数回は退屈かもしれませんが、 回を重ねていくにつれ、より深くRubyを知ることができるはずです。 Rubyとは? Rubyは「プログラミング言語」です。 プログラミング言語とは、コンピュータにやらせたい仕事を書くための言語です。 つまり、Rubyを覚えて、Rubyでコンピュータへの指示を書けば、 コンピュータはその指示を実行してくれます。 この指示書のことを「プログラム」と言い、特にRubyで書かれたプログラムを「Rubyプログラム」と言います。 ところで、Ru

    Ruby超入門(前編)
  • Rubyの良い書き方、悪い書き方がわかる!Software Design 2016年4月号にRubyの入門記事を書きました - give IT a try

    お知らせ タイトルにもあるとおり、Software Design 2016年4月号にRubyの入門記事を書きました。 「今すぐ実践できる良いプログラムの書き方」という巻頭特集で、「第4章 Ruby編 お作法を意識して可読性や保守性を高めよう」というパートを執筆しています。 どんなことを書いてるの? この記事ではRuby初心者によくありがちな「お作法から外れた書き方」と、それに対応する「お作法に則した書き方」を紹介しています。 また、記事の後半ではお作法に沿ったRubyプログラムを書くための考え方や学習方法を紹介しています。 ページ数は全10ページで、なかなかのボリュームです。 対象となる読者は「プログラミング初心者の方」「他の言語を使っていた期間が長い方」といった、つい「お作法」から外れたコードを書いてしまいがちな方です。 「今までは XXX をよく使ってきたけど、Rubyもちゃんと書ける

    Rubyの良い書き方、悪い書き方がわかる!Software Design 2016年4月号にRubyの入門記事を書きました - give IT a try
    nakack
    nakack 2016/03/21
  • Ruby向けの並列Webサーバー「Puma 3.1」リリース | OSDN Magazine

    Ruby向けのWebサーバー「Puma」開発チームは3月5日、最新版となる「Puma 3.1.0」を公開した。プラグイン対応を実現した3系の最新安定版となり、バグの修正が中心となる。 PumaRuby向けのWebサーバーで、速度と並列性を特徴とする。RubyのWebサーバーインターフェイスであるRackを動かすために設計されており、Rubyアプリケーション向けにHTTP/1.1サーバーを提供する。Ragelコンパイラの利用により高速性を実現、Rainbows!、UnicornといったほかのRuby向けWebサーバーと比較するとメモリ使用が少なく、1秒間に処理できるリクエスト数も2~3倍多いという。ライセンスは3条項BSDライセンス。 Puma 3.1.0は2月に公開された3系の最新安定版となる。3.0ではプラグインのサポートを実現し、tmp/restart.txtが更新された際にサーバー

    Ruby向けの並列Webサーバー「Puma 3.1」リリース | OSDN Magazine
    nakack
    nakack 2016/03/18
  • Rubyによるデータ解析 - NaCl Blog

    DataCenter とソフトウェア開発ワークショップというイベントで、Rubyによるデータ解析について発表しました。 発表資料 発表の背景 Pythonに対してこの分野でRubyが遅れを取っているということが最近よく言われていますが、まずは使ってみないと何がRubyに何が足りないのかわからないと思い、最近色々なツールを触ってみています。 スライドの24ページあたりにもあるように、主要なツールについてはRubyでも揃いつつあるのかなという印象で、実際Jupyter notebook上で色々触ってみて、結構Rubyだけでも色々できるなと感じました。 一方で、Python/R等に比べて、機能面、性能面、ドキュメント面など、まだまだ不足しているのも事実だと思います。 今回のデモ用に書いたコードも、細かいところで色々足りなくて自分で実装したりしました。 一つ一つは大したコード量ではなく、自分で実装

  • 米GitHub、Ruby向けのリファクタリング支援ツール「Scientist 1.0」を発表 | OSDN Magazine

    GitHubは2月3日、コードパスをリファクタリングするRubyライブラリ「Scientist 1.0」を公開した。重要なコードの書き直しと置き替えを安全かつ確実に行うことができるツールを目指すという。 Scientistはコードのリファクタリングを行う際に利用するツール。最初のバージョンは2014年2月に公開された。 数年前、GitHub内でアプリケーションにおいてアクセス制御のパーミッションコードなどの最も重要なシステムを書き換えるにあたって、作業を確実に行うために開発されたという。リファクタリングでは抽出レイヤを挿入する「Branch by Abstraction(BBA)」手法があるが、この手法では新しいシステムの振る舞いが置き替えたいシステムと同等かを確認できないという問題点を指摘している。一方で、テストについても、すべての可能性を網羅できないなど限界があるとしている。 Sci

    米GitHub、Ruby向けのリファクタリング支援ツール「Scientist 1.0」を発表 | OSDN Magazine
  • 米IBM、Ruby向けのOMR言語ランタイム技術をオープンソースに | OSDN Magazine

    米IBMによるさまざまな言語に対応するランタイムライブラリ開発プロジェクト「OMR」が、そのRuby向け実装をオープンソースで公開する。RubyでOMR技術を試すことができるようにと目的を語っている。 OMRは、プログラミング言語のランタイムライブラリを構築するためのライブラリ。さまざまな言語で利用でき、再利用可能で簡単に利用できることを目指して開発が進められている。JavaRubyからSmalltalkまでさまざまな言語に対応し、新しい言語でも活用できるようにするという。共通のランライムコンポーネントを利用するメリットとして、ランタイムの改善や高速化、機能の追加が容易になるとしている。 今回公開されたコンポーネントは、IBMのJava仮想マシン「J9 Java Virtual Machine」をベースにJava部分を分離したもの。Javaのセマンティックに影響されずほかの言語ランタイム

    米IBM、Ruby向けのOMR言語ランタイム技術をオープンソースに | OSDN Magazine
    nakack
    nakack 2015/12/15
  • SQL 脳から見た Ruby

    目が覚めたら、二次元配列が RDB の世界に転生してた!? -- The RubyKaigi 2016 After Party & Lightning Talks! での発表スライドです

    SQL 脳から見た Ruby
    nakack
    nakack 2015/11/08
  • http://kwatch.houkagoteatime.net/blog/2015/10/28/keight_rb_released/

    http://kwatch.houkagoteatime.net/blog/2015/10/28/keight_rb_released/
  • Ruby のココがダメ - Qiita

    タイトルは釣りです。Ruby に盲目的に惚れている迂生には Ruby の痘痕(あばた)はエクボです。 それはともかく。 メソッド名の別名がありすぎ 「あなたは map 派? それとも collect 派?」っていう問いがまず嫌い。 いや,別名にも意義があるとは思うんだけど,記憶の負担が大きい。 自分では map しか使わなくても,他人のコード読むんだったら collect を知っていなくちゃならない。 しばらく前に reduce っていうメソッド見て,そんなのあったっけ?と思ったら inject の別名だった。 map/collect と inject/reduce の名前とその背景にある発想については,Rubyist Magazine に良い記事がある: そうかと思えば,Array#delete_if と Array#reject! みたいに,働きは基的に同じだけど,削除が行われなかっ

    Ruby のココがダメ - Qiita
    nakack
    nakack 2015/10/28
  • RubyとPythonにおけるガベージコレクションの視覚化 | POSTD

    稿は、ブダペストで開かれたイベント「 RuPy 」で、Pat Shaughnessyが披露したプレゼンの内容をまとめたものです。 プレゼンの映像はここ から視聴できます。 稿は当初、 同氏の個人ブログ に投稿されましたが、同氏の了承を得て、Codeshipに再掲載します。 このイベントは「RubyPython」に関するカンファレンスなので、RubyPythonでは、ガベージコレクション(以下「GC」)の動作がどう違うのかを比較すると面白いだろうと私は思いました。 ただしその題に入る前に、そもそもなぜ、GCを取り上げるのかについてお話しします。正直言って、すごく魅力的な、わくわくするテーマではないですよね? 皆さんの中でGCと聞いて、心がときめいた方はいらっしゃいますか? [実はこのカンファレンス出席者の中で、ここで手を挙げた人は数名いました!] Rubyコミュニティで最近、Rub

    RubyとPythonにおけるガベージコレクションの視覚化 | POSTD
  • Rubyコードの健康を保つためのgem 5+1選 - Money Forward Developers Blog

    こんにちは、Railsエンジニアの鈴木(信)です。 先日31歳になったんですが、やはり30歳を超えたあたりから衰えたというか、何か体に変化があったように思います。 自身の健康はもちろんですが、コードの健康(品質)のことも気になる年頃になりました。 そこで今回は弊社で利用しているコード解析ツールをご紹介します。 brakeman - セキュリティ brakemanは、簡単なXSSやインジェクション系の脆弱性を検出してくれるgemです。 もちろんこれだけで完全に安心という訳ではありませんが、弊社ではJenkinsのBrakeman Pluginを使って、継続的にモニタリング、修正しています。 使い方 $ brakeman $ brakeman --only-files=path/to/specific_file simplecov - テストカバレッジ simplecovはカバレッジ計測ツール

    Rubyコードの健康を保つためのgem 5+1選 - Money Forward Developers Blog
  • クーポンコードの打ち間違えを防ぐために工夫した話 - クックパッド開発者ブログ

    こんにちは。会員事業部ビジネス開発グループの高田です。 クックパッドは今年、株主優待制度として、プレミアムサービス一年間無料クーポンを贈呈しました。エントリではクーポンコードを打ち間違えて、意図せず他の人のクーポンコードを使用するのを防ぐために工夫した話をご紹介します。 はじめに クーポンコードは入力のしやすさを優先して数字だけの文字列にしました。はじめは rand 関数を使って生成しようとしていたのですが、数字の打ち間違えや順序間違いで、意図せず誤使用してしまうのを防ぐためにチェックサムを加えるのがいい、と同僚から助言をもらいました。 いくつか調べて見たところ、Luhn アルゴリズムが上記を満たしていたので利用することにしました。 Luhn アルゴリズムの利用 Luhn アルゴリズムとは、誤り検出のためのチェックサム符号で、1 桁の間違いや隣接する数字の順序間違いを検出できるという特徴

    クーポンコードの打ち間違えを防ぐために工夫した話 - クックパッド開発者ブログ