タグ

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

  • Falcor 概要:もう1つのクエリー言語型 API - Qiita

    GraphQLとは別のクエリー言語型の API である Falcor 1について調べました。 Falcor とは Netflix が開発したサーバーとクライアント間のデータのやりとりの仕様です。 Facebook の GraphQL / relay と同じように、RESTful な API の問題を解決するために開発されました。 REST の問題点は Facebook の GraphQL のページにまとめられています。(参考) Falcor でも次のような問題が解決できます。 複雑なデータを取ろうとすると API を何度も呼ばないといけない。 例:一覧を取得後に、各要素の詳細を1つずつ取得する、など 不要なデータフィールドも取得してしまう。 例:name だけ欲しいのに avatar_url とかもついてくる。 準備 Falcor のサンプルの falcor-express-demo を使

    Falcor 概要:もう1つのクエリー言語型 API - Qiita
  • npm とか bower とか一体何なんだよ!Javascript 界隈の文脈を理解しよう - Qiita

    背景 Javascript で Web アプリを作ろうとすると、よくわからないことだらけで超混乱します。 npm と bower の違いは? npm はサーバーサイド用、bower はクライアントサイド用らしいよ えっ、でもなんで bower のインストールに npm が必要なの? サーバーサイドは Rails で書きたいから npm 要らないと思うんだけど・・・ ていうかサーバーサイドJSとか node.js って何? よく見る browserify って何? こういった疑問が沸き上がるのは、各ツールが生まれた文脈がよくわかっていないからです。いろいろ調べてやっとちょっとわかってきたのでメモします。間違いがあったらご指摘ください。 「CommonJS」誕生 - Javascript は汎用プログラミング言語へ その昔、Javascript 大好きおじさんは言いました。 Javascrip

    npm とか bower とか一体何なんだよ!Javascript 界隈の文脈を理解しよう - Qiita
  • 月額2650円でDBアクセス込み秒間214リクエスト捌くWebサーバ構築事例 - Qiita

    クラウド破産しないためのサービス選び 同じゲームを作った仲間がクラウド破産しそうになりました。個人で破産したくなかったのでこの時点で従量課金制であるAWSGoogleCloudは除外。さくらかConoHaかなと思っていたのですが、ConoHaがSSDプランを格安で始めていたのでConoHaを選択しました。昨年お仕事で使ってたAWS-RDSのHDDをSSDに切り替えたらCPU使用率とスループットが大幅に改善したのでSSD万能説を信奉することにしました。 サーバ構成をどう設計するか オールインワンかDB+APPサーバ構成にするか。サーバを分割した場合DBとAPP間の通信レイテンシが気になります。サーバが異なっていてもconnection poolingをちゃんと設定していれば1-5msで応答が返ってきます。オールインワンで構築すると将来DBサーバとAPPサーバを分割するときDB移管作業がとっ

    月額2650円でDBアクセス込み秒間214リクエスト捌くWebサーバ構築事例 - Qiita
  • Node.jsの人はちゃんとsleepしてください - Qiita

    Node.jsでがんばりすぎると別のプロセスに迷惑だから長いことかかる処理は sleep() みたいなのを挟みながらやりたいなー。 と思ってググった結果がこうですよ。 binding = { sleep: function(s) { var e = new Date().getTime() + (s * 1000); while (new Date().getTime() <= e) { /* do nothing, but burn a lot of CPU while doing so */ /* jshint noempty: false */ } }, だめですね。これCPU使いまくり。 まあ、CPUがいくら発熱してもいいよって思っても、制御が別のタスクに行かないのはアウトです。たとえばこれがサーバのリクエストハンドラに使われてたら、みんな一定秒数遅れてページ表示される、んじゃなく

    Node.jsの人はちゃんとsleepしてください - Qiita
  • Go のクロスコンパイル環境構築 - Qiita

    Go でクロスコンパイル Go の特徴であるクロスコンパイルの便利さと、その方法はよく語られますが、意外に「そのための準備工程」が知られてない気がしたので、ここで再度クロスコンパイル自体の便利さと、クロスコンパイル方法、そしてその準備方法を書いておきます。 クロスコンパイルの旨味 Go は、 1 つのソースコードから様々な OS 向けのバイナリを生成するクロスコンパイルをサポートしています。しかも、対象の OS が無いとビルドできないわけではなく、例えば MacWindows 用、 Linux 用、 Plan9 用のバイナリを一気に生成するといったことができます。 しかも、 32bit マシンで 64bit 用のバイナリを生成することもできます。 "Write Once Run Anywhere" でお馴染みの Java との違いは、 Java の場合は Class ファイルという形

    Go のクロスコンパイル環境構築 - Qiita
  • Ansibleでファイルの行を書き換える3つの方法 - Qiita

    - name: "設定の修正(1)" lineinfile: >- dest='/path/to/file/' state=present backrefs=yes regexp='^#?\s*ServerTokens' line='ServerTokens Prod' dest: 書き換える対象のファイル state=present: 「この行があるべき」ことを示す backrefs=yes: 正規表現内のバックスラッシュが使えるように regexp: 書き換えたい行にマッチする正規表現 line: 書き換えたい内容 他にもオプションがいろいろあるので、詳細は公式ドキュメントをどうぞ。 ひとつのファイル内で複数箇所を書き換える場合は、with_itemsと組み合わせます。 - name: "設定の修正(2)" lineinfile: >- dest='/path/to/file' sta

    Ansibleでファイルの行を書き換える3つの方法 - Qiita
  • AWSアカウントを取得したら速攻でやっておくべき初期設定まとめ - Qiita

    AWSアカウントを作成したら最初にやっておきたいことをまとめてみた。 あわせて読みたい 記事の内容を含めた最新の手順は、下記の書籍にまとまっている。 クラウド破産を回避するAWS実践ガイド AWSアカウント(ルートアカウント)の保護 AWSアカウントが乗っ取られると詰むので、真っ先にセキュリティを強化する。 AWSアカウントへ二段階認証を導入 AWSアカウントでのログインは、AWSアカウント作成時のメールアドレス・パスワードだけでできてしまう。心許ないにもほどがあるので、まずは二段階認証を設定しよう。 IAMのページを開く https://console.aws.amazon.com/iam/home 「ルートアカウントのMFAを有効化」を選択して、「MFAの管理」ボタンをクリック 「仮想MFAデバイス」にチェックが入っていることを確認し、「次のステップ」ボタンをクリック 注意書きを読ん

    AWSアカウントを取得したら速攻でやっておくべき初期設定まとめ - Qiita
  • BotkitでSlackのSlash Commandを作る - Qiita

    あけましておめでとうございます. BotkitでSlash Commandを作れることに気付いたので試してみました. (Slash Commandは /topic のようなメッセージのことです.) Slash Commands | Slack Using slash commands - Slack Help Center Outgoing Webhooks and Slash commands | Botkit Slash Commandを作るには,ドメインか固定IPを持っている必要があります. 今回はお試しなので,HerokuのFree Planを使うことにしました. Herokuでアプリを作る 事前にHerokuの登録と,Heroku Toolbeltのインストールが必要です. Getting Started with Node.js on Heroku | Heroku Dev C

    BotkitでSlackのSlash Commandを作る - Qiita
  • 開発におけるDocker導入のメリット - Qiita

    DockerのPros/Consとか今更感ある。他の仮想化技術との比較記事はよく目にするが、開発にどのようなメリット・デメリットがあるのかあまり周知されていないようなので自分なりの感想を書いておく。 Pros 同一性 複数人で開発する際に、環境の差が生まれない。 カプセル化 アプリケーション込みの環境をコンテナというカプセルに隠蔽することができる。 コンテナという単位に対するテストが可能に。 コンテナを捨てる・再生成するのが容易。 ポータビリティ(一貫性とも) 開発に使ったコンテナをCIでテストできる。 CIでテストしたコンテナをサーバーにデプロイできる。 デプロイしたコンテナをスケールできる。 Prosで防げる消耗 おれの環境では動いた。 はい。 複数の開発者で同一の環境で開発できるので防げる。 ローカルで通ったテストがCIでコケる。 開発と同一の環境でテストできるので防げる。 bund

    開発におけるDocker導入のメリット - Qiita
  • プログラムいらず!vimで手動スクレイピング - Qiita

    Webページからちょっとデータ抜き出したいときありますよね。 1回だけしか行わず、わざわざプログラム組むほどでもないならVimでやるのがおすすめです。 例:はてぶのページからリンクを取得する vimを開いて4コマンドでリンクを抜き出します。 しかもエディタ上なのでその後の加工や連続スクレイピングなどもスムーズに行えます。 # 最初の行以外はどのサイトでも共通的に使えるはず :e http://b.hatena.ne.jp/ctop/it :%s/></>\r</g | filetype indent on | setf xml | normal gg=G :%v/<a/d :%s/^.*href="\([^"]*\)"[^>]*.*$/\1/ # 完全URLにしたいなら :%s/^\//http:\/\/b.hatena.ne.jp\//

    プログラムいらず!vimで手動スクレイピング - Qiita
  • goyaccで構文解析を行う - Qiita

    go toolにはyaccというものがある。 これはunixの言語処理系で広く使われるyaccというパーサジェネレータのGoバージョンである。 稿はその使い方を説明するチュートリアルである。 対象読者 goyaccを使う - Qiitaという記事があって、これはgoのyaccを使って簡単な言語の構文解析をして使い方を説明している。 しかし、yaccについての基的な説明が完全ではなく(例えば%%とか)、yaccを触ったことがない人には若干難しい。 従って、私のようなGoの文法は理解しているがyaccを使ったことがない人向けにごく簡単な使い方を説明する。 参考資料 yacc - The Go Programming Languageが公式のドキュメントっぽいが、これもyaccの文法自体は他に任せている。 RHGの速習yaccがとても参考になると思う。 稿はあくまで取っ付き易いチュートリア

    goyaccで構文解析を行う - Qiita
  • 絶対に見逃せない投稿が、そこにはある - Qiita

    Qiita の 「見逃せない投稿」 を独自に評価してランキングするサービス Qaleidospace を作りました。 投稿では、そのようなサービスを作ろうと思った理由、投稿を評価するアルゴリズム、システム構成について書きます。 余談ですが、今なら Yearly Ranking がほぼ 2015 年の投稿ランキングとなっており、眺めていて楽しいです。 TL;DR Qiita の「見逃せない投稿」をランキングするサービス Qaleidospace を作った。 適切な評価システムがあれば、書き手も読み手もみんな幸せになれるはず。 ストック数だけで評価すると、初心者向けの投稿やキャッチーなキーワードを散りばめただけの投稿が注目されやすい。誰がストックしたのかを重視して「見逃せない投稿」を評価する。 風変わりなシステム構成: GitHub Pages でホスティング + Swift で書かれたバッ

    絶対に見逃せない投稿が、そこにはある - Qiita
  • 【たのしいな】様々なコマンド達を何も考えずにつないで遊ぶ - Qiita

    きっかけ matsuya-generator-rubyが、cowsayコマンドと組み合わせるとシュールこの上ない。 pic.twitter.com/gxaudeU377 — ぐれさん (@grethlen) 2015, 12月 6 もっと色々やってみたい。 あれ?Shell Script Advent Calendar 2015の22日目の枠残ってるじゃん。 じゃあやろう。 環境 Mac OSX Yosemite 10.10.5の端末上で実施。 zshを使って動作確認してますが、多分bashでも動きます。

    【たのしいな】様々なコマンド達を何も考えずにつないで遊ぶ - Qiita
    yasuharu519
    yasuharu519 2016/01/02
    おもしろ
  • Chainerで顔イラストの自動生成 - Qiita

    PFNのmattyaです。chainerを使ったイラスト自動生成をやってみました(上の画像もその一例です)。 20日目の@rezoolabさんの記事(Chainerを使ってコンピュータにイラストを描かせる)とネタが被っちゃったので、記事ではさらに発展的なところを書いていきたいと思います。一緒に読んでいただくとよいかと。 概要 Chainerで画像を生成するニューラルネットであるDCGANを実装した→github safebooruから顔イラストを集めてきて学習させた 学習済みモデルをconvnetjsで読み込ませて、ブラウザ上で動くデモを作成した→こちら(ローディングに20秒程度かかります) アルゴリズム 今回実装したDCGAN(元論文)はGenerative Adversarial Networkというアルゴリズムの発展形です。GANの目標は、学習データセットと見分けがつかないようなデ

    Chainerで顔イラストの自動生成 - Qiita
  • Go最後の秘宝「GUI」を探しに行く - Qiita

    Golangができること、むしろ「得意」と言われるものはすでにたくさんあります。 クロスコンパイルが得意だし依存が少ないバイナリができるから、いろんな環境で使えるコマンドラインツールを書くにはGoがいいよ パフォーマンスが高いし文字列処理もやりやすいので、高速なAPIサーバが得意。gRPCでもHTTP/2でも Webアプリケーション・フレームワークも増えてきていてウェブサービス作れるよ ビルドシステムとパッケージマネージャ内蔵なので、gitから簡単にパッケージをダウンロードしてきたり、◯makeコマンドとか◯runtとか◯owerで消耗しなくて済む gopher.jsでJavaScriptにもなる 逆に今まであまり良い解がなくて、「Goにはちょっと不向きだね」と言われ続けていたのがGUIです。鳴り物入りで出てきたGXUIが開発が止まってしまい、それと同じぐらいにshinyというものが開発が

    Go最後の秘宝「GUI」を探しに行く - Qiita
  • テクノとしてのC言語、あるいはC99的書き方のすすめ - Qiita

    以下、読書感想文としてのポエムである。 21st Century C1(以下 21CC と略)という、いささか変わったがある。C言語のプログラマの多くが1980年代の知識に固まってしまっているのを打破しようと書かれたなのだろうと、ざっと自分が1st editionを読んだ感じ2では思っている。C89 aka ANSI Cがいまだに標準だと思っている人3には、おすすめかもしれない。 「Cはパンクロックだ」 21CCでは C is Punk Rock 4 という表現が書籍の最初と最後に出てくる。このパンクロックが何であるかについての議論はしない5。ただ、パンクロックの例えが「シンプルかつ荒削りだけど力強い」言語に対するものであるというのは、個人的なパンクロックへの印象、そしてC言語の特徴をふまえれば良くわかる。 私も気がつけば30年ぐらいC言語で仕事をしていたりする。そして現在の2015年

    テクノとしてのC言語、あるいはC99的書き方のすすめ - Qiita
  • Vimで各言語のreplをすぐに開きたい…そこでrepl.vim! - Qiita

    この記事はVim advent calendar 2015の23日目の記事です! 昨日の記事は プログラミング初心者が某氏が提言していた「 Vim駆動学習 」をやってみた でした! 某氏、一体 何ぶささんなんだ…。 そこでrepl.vim! はい! 今貴方は小物のプログラムを書いています! はい、今classを書きました!! (コードの内容を理解する必要はありません) class Kawaii def initialize @messageList = [ 'おはよう、よく眠れましたか?', '朝ごはん、もうできてますよ! ずんだもち。', "モナド? 単なる自己関手の圏におけるモノイド対象だよ。\n何か問題でも?", 'むちむちじゃありません! もちもちです!', "皆のハート打ち抜くぞ〜\nずんだアローシュート!", "お口開けてください、あーん♡\nたこ焼き味のずんだもちです!" ]

    Vimで各言語のreplをすぐに開きたい…そこでrepl.vim! - Qiita
  • 中の人になる方法 - Qiita

    この記事はOculus Rift Advent Calendar 2015の16日目の記事です。 こんにちはGOROmanです。 皆さんは「中の人になってみたい!」と思ったことはありますか?私はあります。この記事では私が実際に中の人になるまでのストーリーを自分の経験を元に記載しておきます。今後皆さんが「中の人になりたい!」と思った時にお役に立てば幸いです。 くわしくはこちら 明日はkoukiwfさんの「VRにスマホ持ち込んだ話」です。

    中の人になる方法 - Qiita
  • https://qiita.com/shibukawa/private/24d1144bfd49764b8e3d

    yasuharu519
    yasuharu519 2015/12/23
    OpenGLのところ結構参考になる
  • GitHub にパスワードとかセンシティブなファイルを push してしまったときの対処法 - Qiita

    .gitignore し忘れて他人に見えちゃマズいファイル(パスワードをベタ書きしたファイルや AWS_SECRET_ACCESS_KEY を書いたファイルとか)を git commit しちゃった!そんなときは すればすぐ何もなかったことにできます。 が!そこで気付かずに GitHub へ git push してしまった!こうなると容易に何もなかったことにはできません。 この記事では、こういうときに何もなかったことにする方法を紹介します。 そのデータを無効にする 特に Public Repository の場合はすでにそのデータが他人の目に触れていた…ということも十分ありえます。AWS_SECRET_ACCESS_KEY なんかは取得用のクローラが存在するとも聞きます。ので、まずは不正利用されても影響が出ないように、パスワードの書き換えやトークンの無効化を施しましょう。 (この時点でもう

    GitHub にパスワードとかセンシティブなファイルを push してしまったときの対処法 - Qiita