タグ

ブックマーク / qiita.com (238)

  • はじめての自作gem 「Hello, Tama!」を出力してみる - Qiita

    (2021/10/5追記) ありがたいことに今もこの記事を読んでくださる方がいるのですが、2021年現在では少し古い情報が含まれていたり、内容的にそもそもあまり意味のなさそうな記述が含まれていたりするため、この記事を読まれる方は以下のポストにも目を通してくださると良いかと思います。 新しいgemをつくる こちらは2021年7月時点で新しいgemを作成する際、自分用に書いたメモです。 内容的に指摘がありましたらぜひPRなど下さい はじめに こんにちは!Tama.rbから @fuqdaさんの圧力を受け、はじめてのアドベントカレンダーを書くことになりました、Webエンジニア一年生のしおいです。 最近は「まだまだ弱い自分が、コミュニティに貢献できるまで成長するためにはどうすれば良いのだろう」…と悩んだりなどしております。 こちらに対して、Asakusa.rb(Tamaじゃない)にて激つよRubyi

    はじめての自作gem 「Hello, Tama!」を出力してみる - Qiita
    at284km
    at284km 2018/12/19
    しおいさんは一つづつちゃんとやってるのがすごいと思うし、実際に行動する人だから尊敬しています。
  • Rails Developers Meetup 2018 スライドまとめ - Qiita

    Rails Developers Meetup 2018 スライド まとめ 補足 勝手にまとめました。  問題等あればコメントをお願いします。 登壇者ご人のブログ等が見つかった場合は、そちらを優先しています。 表を書くのを簡略化するために全てリンク形式で書きました。スライドを見つけられなかったものもリンク形式になってます。 抜け漏れ等あると思いますが、随時更新させていただきます。 Day 1 時間 トラックA トラックB 11:10〜 安全かつ高速に進めるマイクロサービス化 Rails on Kubernetes on AWS 11:50〜 Microservices on “Rails “ - Wantedly のマイクロサービス事例 学校をより良くするために、エンジニアができるたった一つのこと 12:30〜 MySQL/InnoDB の裏側 ノンデザイナーのためのコンセプト & ロゴ

    Rails Developers Meetup 2018 スライドまとめ - Qiita
    at284km
    at284km 2018/03/26
    便利
  • SQLQL - Qiita

    概要 GraphQL で柔軟なリクエストができるようになれば、サーバー側の実装をせずとも新しい機能を効率よく作れて便利みたいな話を見かけた GraphQL では独自のクエリ言語でサーバーに対してデータを要求するが、クエリ言語と言えば SQL というものがあるので、どうせなら SQL をサーバーに投げつけるようにすれば、似たようなことが出来るのではないかと考えたのでやってみた サンプルアプリケーション ソースコード sqlql_sample 仕様 ユーザー ユーザーは key(Token) を持っていて、リクエストの時にヘッダーに Token をつける privacy という属性を持つ。privacy が true のユーザーは他のユーザーからは不可視となる コメント ユーザーが投稿する事ができる privacy という属性を持つ。privacy が true のコメントはコメントのオーナー

    SQLQL - Qiita
    at284km
    at284km 2017/12/24
    [sqlql]
  • vimconf2017 に参加してきた。 - Qiita

    これで3回目になるが、僕が知っているこれまでの2回と比べて、国際カンファレンス感が大幅に増した回だったと思う。 国際カンファレンス感というのは、日語を母国語としない人が理解できるように意識されているか?ということで、 同時通訳をつけたし、日人でも英語で発表した人がいた、ということ。 こういう既成事実があると、来年からは、日語を理解できなくても参加する人が増えるのではないか。 これは大きな変化だと思う。 会場も大きく、スポンサーもついてすごくちゃんとしたカンファレンスになったと感じた。 去年に続き、自分も発表者として応募し、採用されたので発表できた。 去年に続き、Atom editor 用の vim-mode-plus について話した。 自分としてはすごく思い入れの強い発表だった。聞いた人がどう思うかは別にして。 自分の発表 vim-mode-plus: The most ambiti

    vimconf2017 に参加してきた。 - Qiita
    at284km
    at284km 2017/11/07
    vim
  • 【翻訳】RSpecのリードメンテナだけど何か質問ある? - Qiita

    はじめに 先日、Redditでこんな記事が載っていました。 AMA: The authors of "Effective Testing with RSpec 3", Myron Marston and Ian Dees : ruby この記事は書籍「Effective Testing with RSpec 3」の筆者であるMyron Marston氏とIan Dees氏が、書籍に関する質問に何でも答えます、という企画です。 この2人のうち、Myron Marston氏はRSpecの開発者(リードメンテナ)です。 Q&Aを読んでいると、RSpecの開発者ならではの意見だなと思うところがたくさんあり、なかなか興味深い議論になっていました。 というわけで、この記事では先ほどのQ&Aから「これは日Rubyプログラマにも役立ちそう」と思ったやりとりをピックアップして翻訳してみます。 ピックアッ

    【翻訳】RSpecのリードメンテナだけど何か質問ある? - Qiita
  • SlackのTogetter風アプリ「Togelack」をHerokuにデプロイする - Qiita

    前回までのあらすじ Togetter的な社内Slackまとめサイトをつくった話 - Qiita 紹介の記事は書いたけどデプロイ方法がどこにも書いてなかった。1 今回はHerokuにデプロイをする手順をまとめます。 Herokuにデプロイをする前に準備する 事前準備1:Herokuのアカウントを用意する インターネットで調べてください 事前準備2:SlackAPIキーを発行する https://api.slack.com/web#authentication 上のページで発行できます。まだ一度も発行してない場合は「Create token」という緑のボタンがあるので押してください。 赤字で表示されてる xoxp-xxxxxxxxxxxxxxx みたいな文字列がAPIキーです。なんでもできて危ないので大事にしてね。 事前準備3:Slackのアプリケーションキーを発行する https://ap

    SlackのTogetter風アプリ「Togelack」をHerokuにデプロイする - Qiita
  • HTTPで「418 I’m a tea pot」を実装してはいけない(2018/10/18追記) - Qiita

    418 I’m a tea potとは ステータスコード 418 I’m a tea potは、エイプリルフールに発行されたジョークRFCであるRFC2324「Hyper Text Coffee Pot Control Protocol」 で定義されているステータスコードです。 Googleでも 418 を返すURLがあります。 Error 418 (I’m a teapot)!? https://www.google.com/teapot 昨日、golangとnodejsにおいて、418 I’m a tea pot の実装を削除するIssue が投げられています。 golang: net/http: remove support for status code 418 I'm a Teapot nodejs: 418 I'm A Teapot #14644 Issue中でも書かれている通

    HTTPで「418 I’m a tea pot」を実装してはいけない(2018/10/18追記) - Qiita
    at284km
    at284km 2017/08/08
  • LibreSSL の意義 - Qiita

    LibreSSL は OpenBSD プロジェクトによって OpenSSL から2014年にフォークされ、メンテナンスされている OpenBSD 用の SSL/TLS 通信用ソフトウェアです。 OpenBSD 用としてフォークされましたが、他プラットフォーム用に移植されたポータブル版も同じく OpenBSD プロジェクトからリリースされています。 同じものを分離独立させて独自にメンテナンスを行う理由は何でしょうか? この文章では LibreSSL の意義について考察します。 OpenSSL について はじめに LibreSSL のフォーク元の OpenSSL について簡単に説明します。 シェア No.1 の SSL/TLS 通信用ソフトウェア OpenSSL は Web サイト(Web サーバ側)が https でセキュアな暗号化通信を提供する場合に必ず使われていると言える程のシェアを持つ

    LibreSSL の意義 - Qiita
  • RubyをWindows上でVisual C++でビルドする 2016 - Qiita

    Rubyをソースコードからビルドする場合、特にtarballからではなくリポジトリから取得した場合にはbisonやsed、rubyといったUnixツールが必要です。個別に調達すると大変なので、たとえVisual C++でビルドするのだとしても、RubyInstaller 及びdevkitを取得すると一通り揃うので大変楽です。 なお、CRubyは現在Visual C++ 2015 (14) には対応していません。動くブランチはありますが、差分を見ればわかるとおり、人様に使って頂けるような物にはなり得ません。 環境変数 ビルド用の環境変数。なお、VS2013 x64 Native Tools コマンド プロンプトなどを用いてコンパイラ等の環境変数はあらかじめ設定しているものとします。

    RubyをWindows上でVisual C++でビルドする 2016 - Qiita
    at284km
    at284km 2017/07/23
  • プログラミング言語 Ruby と LibreSSL - Qiita

    プログラミング言語 Ruby では OpenSSL の API が呼び出せるようになっています。通常配布されているバイナリパッケージの Ruby は OpenSSL とリンクされていますが、LibreSSL とリンクすることもできます。 はじめに 今回の評価環境と Ruby および OpenSSL のバージョンを確認しておきます。 環境 Ubuntu 16.04 (x86_64) で動作確認をしました。 デフォルトでインストールされている Ruby のバージョンは 2.3.0p0 でした。 また OpenSSL 1.0.2g とリンクされていることを確認しました。 $ which ruby /usr/bin/ruby $ ruby -v ruby 2.3.0p0 (2015-12-25) [x86_64-linux-gnu] $ irb irb(main):001:0> require '

    プログラミング言語 Ruby と LibreSSL - Qiita
  • コードレビューの極意。それは「自分のことは棚に上げる」こと!! - Qiita

    はじめに:コードを良くするためなら遠慮は不要 昨日Twitterに投稿した内容が思った以上に拡散されていたので、タイムラインに流れてしまわないようにQiitaにも書いておきます。 内容は上に書いてあるとおりです。 コードレビューはコードの問題点を指摘し、そのコードを良くすることが第一の目的です。 そのため、少しでもおかしいと思った部分は遠慮せずにどんどんツッコむ必要があります。 しかし、レビューする側が「これ、自分もあまりできてないんだよなあ」「お前もできてないじゃん!って言われたら返す言葉もないし・・・」などと思って遠慮してしまうと、コードを改善できるせっかくのチャンスが失われてしまいます。 「自分ができているかどうか」と「そのコードを改善すること」は、それぞれ別の問題です。 なので、レビューする人は自分のことを棚に上げてでも、コードの問題点を指摘する必要があります。 また、レビューされ

    コードレビューの極意。それは「自分のことは棚に上げる」こと!! - Qiita
  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを理解することで、よりよいプログラムを書くためのもので、正確なソフトウェア工学の歴史を学ぶためのものではありません。正確な歴史を把握したい場合は、原典をあたるようにしてください。 また、想定している読者は「よくあるオブジェクト指向プログラミングの学習」を既にし

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita
    at284km
    at284km 2017/07/09
  • bowerが非推奨になったので別れを告げることを決意した - Qiita

    はじめに パッケージ管理にbowerを使っているプロジェクトがあったのですが、つい先日公式からこんな通達が... Add yarn and webpack recommendation from bower.io to readme Fixes #2298 これによって、bowerを使おうとすると ..psst! While Bower is maintained, we recommend yarn and webpack for new front-end projects! という不穏な警告が出るようになりました。 うーん、以前から「bowerはオワコン」みたいに言われてましたが、これは格的に廃止すべきですねぇ。 bowerが絡むとwebpack2.0系がうまく動かなかったりしたし。 というわけで、bowerをやめてnpmに統合した流れと注意事項を記しておきます。 構成 件のプロジ

    bowerが非推奨になったので別れを告げることを決意した - Qiita
  • Pull Requestに潜むタイポを自動的に検出し、修正を代行するBot - Qiita

    いざPull Requestのレビュー!と挑んだ瞬間、「ここタイポな」という先制パンチをくらうのはとても残念なことです。 また、これは指摘しているほうにとってもチェックが負担で、気が重いものです。 人間は人間にしかできないチェックに集中すべきですし、貴重なレビュー時間を誤字脱字の修正に使うのはもったいないです。そこで開発したのが、タイポの自動検知と修正を代行するBot。その名もtypotです。 chakki-works/typot こちらは先日公開がアナウンスされたGitHub Marketplaceと共に公開された、新しいGitHubアプリの形態であるGitHub Appsで作成しています(それまではWebhookかOAuthだった)。 GitHub AppsはOAuthのようにユーザーではなく、リポジトリにひもつく形態になります。そのため、管理者ユーザーがいなくなった(あるいは権限を失

    Pull Requestに潜むタイポを自動的に検出し、修正を代行するBot - Qiita
  • コマンドの出力をそのままcurlでPOSTする - Qiita

    To read content from stdin instead of a file, use - as the filename. This goes for both @ and < constructs. curlでファイル名を指定するのは --data @file のようにするので、ファイル名部分を - にするということは --data @- にするということだそうな。 --data だと改行がなくなってしまうので、--data-binary にすると標準出力そのまま送信できる。

    コマンドの出力をそのままcurlでPOSTする - Qiita
    at284km
    at284km 2017/05/26
  • mastodonがどうやって分散SNSを実現しているのか、その仕組をざっくりと調べてみた - Qiita

    分散SNSです 分散SNSの実現方法 Based on ActivityStreams, Webfinger, PubsubHubbub and Salmon. とのことなんで、追って流れを見ていきましょう 超ざっくり 登場人物 mastodon instance social network server こいつが誰でも立てられて連携できる pubsubで言うところのsubscriberでありpublisherである user mastodon利用者 アクション to-to tweet on twitter Reply reply on twitter Boost retweet on twitter Favorite favorite on twitter Follow favorite on twitter timeline timeline on twitter 流れ instan

    mastodonがどうやって分散SNSを実現しているのか、その仕組をざっくりと調べてみた - Qiita
  • Markdown記法 チートシート

    Markdown記法のチートシートです。 記法はGitHub Flavored Markdownに準拠し、一部拡張しています。 Qiitaでシンタックスハイライト可能な言語一覧については、 シンタックスハイライト可能な言語 をご覧下さい。 Code - コードの挿入 Code blocks - コードブロック たとえば、「Ruby」で記述したコードをファイル名「qiita.rb」として投稿したいときは、 バッククオート(`) か チルダ(~) を使用して以下のように投稿するとシンタックスハイライトが適用されます。 コードブロック内でコードブロックを書きたい場合は異なる記号を使うことで書けます。

    Markdown記法 チートシート
  • CircleCI 2.0はローカル環境で実行できるよ - Qiita

    先日CircleCI 2.0のopen betaが出ましたね CircleCIDockerネイティブサポートになったりDocker 1.10.0に縛られなくなりました ただ1.0に存在していたSSHデバッグ機能は使えなくなりました しかし恐れることありませんCircleCI 2.0はローカル環境で実行できるのです 記事執筆時はSSHが使えませんでしたが、2018年8月の時点では2.0でもSSHがサポートされました。 CircleCIをローカル環境にインストールする 以下のようにインストールします

    CircleCI 2.0はローカル環境で実行できるよ - Qiita
  • エンジニアのための「Sketch入門!」 1時間コース - Qiita

    ※「Sketch」はMac専用アプリです。Windows版はありません。 「演習ファイル+動画+演習付き」で記事を書いてます。 エンジニアの人から「Sketch使ってみたい」「日語の記事が少ない」という声を聞いて、最近社内で勉強会しました。 Sketchについて日語の記事を調べてみたところ、このレベルの記事はけっこうありました。 ただ、学びやすいか?といえばそうではないらしいので、少し工夫して学びやすいように書いてみました。 ハンズオン用などにご利用ください。 Sketchとは Sketchについて一応さらっと書いておきます。 ・アプリやWebのデザイン・UI設計などに使われるMac用アプリケーション IllustratorやFireworksのようなツールです。 ・$99 買いきり(2016/02 現在) 有料です。 ちなみにApp Storeでは買えなくなりました。ショバ代かかるか

    エンジニアのための「Sketch入門!」 1時間コース - Qiita
  • 「後付の型システム」の活用についてFlowtypeとReduxから考える - Qiita

    FlowtypeやTypeScriptは静的解析によって事前に型違反を検知することができる。JavaScriptは動的型付けの言語であり、来はランタイムにしか型が出現しない。 FlowtypeとTypeScript、ともに「それ自身がランタイムではない」というのが特徴であり、一種のLintツールだと言うことができる。ランタイムではないがゆえに、嘘の事前条件を与えることでそれらを騙すことができるし、自らに有利な制約を追加できるという柔軟性を持つ。 JavaScriptの現実においての型 例を出そう。 type MyUtil = { foo(v: string): number; }; const util: MyUtil = new HogeUtil(); util.foo(1) //=> type error HogeUtil は何かしらのユーティリティ関数の詰め合わせだが、fooにしか

    「後付の型システム」の活用についてFlowtypeとReduxから考える - Qiita