タグ

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

  • YAPC Asia 2015「Google Cloud Platformの謎テクノロジーを掘り下げる」のまとめ - Qiita

    YAPC::Asia Tokyo 2015、ロゴのとおりに熱いイベントでした...今年で最後なのはほんとに惜しいです。最初にして最後の参加となった私は、「Google Cloud Platformの謎テクノロジーを掘り下げる」というタイトルでトークをさせていただきました。 スライドはここに上げてありますが、これだけ見ても意味不明と思われるので、話した内容の要約をまとめブログ代わりに書こうかな、と思ったらかなり長文となってしまいました。基ポジショントークですが、しかしGoogleに入る前からGoogleクラウドに対して持ち続けている気持ちでもあるし、ここはイケてないなーと思った部分は素直にそう書くようにしました。 しかし謎は謎のまま... Twitter上の反応まとめを見ますと、「謎が謎のまま終わった」とのご指摘も多く、これはほんとに私の不徳の致すところです、申し訳ありません……。スライド

    YAPC Asia 2015「Google Cloud Platformの謎テクノロジーを掘り下げる」のまとめ - Qiita
    JULY
    JULY 2015/08/26
    Google のプラットフォームがすんごいのは分かるけど「このクローズドソース野郎!」だよなぁw。
  • セキュリティ要件を定義しよう(Webアプリ編) - Qiita

    高いセキュリティレベルが要求されるシステムの開発を依頼される場合があります。 その場合には、システムをセキュアに作るだけではなく、お客様に「何が」「どう」セキュアなのか、説明する必要があったり、場合によっては担保する必要があります。 この場合、何を元に説明したり、担保したりすればよいのでしょうか? ここで使われるのがセキュリティ要件定義書です。 OWASP(後述)のセキュリティ要件定義書をベースに、セキュリティ要件定義書の作り方、入れるべき内容を学びましょう! 要件定義書に書くべきこと セキュリティ要件に書くべきことは、セキュリティ対策のためにベンダーが「具体的に何をやるか」です。 どんな攻撃が想定されていて、どんな防御方法を取るか、セキュリティ要件定義書を使ってそれを説明し、方針についての合意を獲得します。 ただし、「どんな攻撃が想定されていて」の部分は、最終的な要件定義書には書かれてい

    セキュリティ要件を定義しよう(Webアプリ編) - Qiita
    JULY
    JULY 2015/07/05
    ソルトは、あくまでもレインボーテーブル対策。ストレッチングはオフライン・ブルートフォース対策。故に、ストレッチングが不要にはならない。強いて言う予測不可能なソルトが完全に秘匿化できる場合は不要、かな。
  • OracleとGoogleの判決文を斜め読む - Qiita

    (7/7追記)僕は斜め読みだったんですが、もっときちんと読んだ上で解釈を書いてくれている方がいます。僕も時間をとって全文を読みたいとは思っていますが、まだ時間がかかりますし、yudaiさんの会社の方が妥当性は高いと思いますので、そちらをご参照ください↓ 朝っぱらから色々衝撃が走った第一四半期の最終日ですが、OracleGoogleの裁判について、どのあたりが問題だったとされるのか気になるので判決文等を読んでみました。 経緯 2010年8月、OracleGoogleを訴える。当初の争点は特許侵害 (publicKey1) 2012年4月、サンフランシスコ連邦地裁の法廷開始 2012年5月、Googleの特許侵害はないとの陪審評決。ただし、フェアユースは意見が別れる。 2012年6月: OracleGoogleJava/Android訴訟、損害賠償金ゼロで合意。今回議論された37件のJ

    OracleとGoogleの判決文を斜め読む - Qiita
  • FacebookとGoogleだけ、やたら遅い場合の対処 - Qiita

    犯人は、フレッツ光です。(ということらしいです。2014年10月現在) 最近、IPv6対応サイトが増えて来た所為か、特定のサイトだけアクセスしにくくなるケースが増えています。「GitHubは普通に繋がるのに、なんでFacebookとGoogleに繋がらないの??」ということないですか? 「天下のGoogleがそんなにしょっちゅう落ちてる訳ない!」と思いつつも、「海外サイトが繋がらないのはプロバイダのIPがBANされてるのかな...」とか、「ルータの調子が悪くなることもあるよね」とかあきらめてませんか? 対策は簡単でした。フレッツ止めるか、「IPv6を使わない」こと。 ブラウザのIPv6機能をオフにする OSレベルでIPv6の機能をオフにする のどちらか。後者の方が確実ですが、AirDropが使えないとか、Bonjourが使えないとかの問題もあるので、ケースバイケースで。(業務用ルータであれ

    FacebookとGoogleだけ、やたら遅い場合の対処 - Qiita
    JULY
    JULY 2015/07/01
    プロバイダとの接続で IPv6 が有効になっていない場合で、かつ、参照している DNS サーバが AAAA レコードを返す場合、という話。大手のプロバイダだと、IPv6 無効の時は、AAAA レコードはフィルタされると思うけど。
  • どの環境でも使えるシェルスクリプトを書くためのメモ ver4.60 - Qiita

    シェルスクリプトは環境依存が激しいから…… などとよく言われ、敬遠される。それなら共通しているものだけ使えばいいのだが、それについてまとめているところがなかなかないので作ってみることにした。 「どの環境でも使える=POSIXで定義されている」と定義 「どの環境でも使える」とは、なかなか定義が難しい。あまりこだわりすぎると「古いものも含め、既存のUNIX全てで使えるものでなければダメ」ということになってしまう。しかし、私個人としては 今も現役(=メンテナンスされている)のUNIX系OSで使いまわせること にこだわりたい。 とはいっても全てのOSやディストリビューションについて調べられるわけではないので、この記事では基的に最新のPOSIXで定義されていることをもって、どの環境でも使えると判断するようにした。(飽くまで「基的に」ということで) 従って、互換性確保のため、シェルの中で使ってよい

    どの環境でも使えるシェルスクリプトを書くためのメモ ver4.60 - Qiita
  • IT業界で横行する恥ずかしい英語発音 - Qiita

    プログラマやデザイナと話してるとしょっちゅう変な英語発音に出くわします。 例えばheightを「ヘイト」と発音したり。 そういう時、私は心では「ヘイトじゃないよハイトだよ!」と呟きつつ、口では「そうですね、ではヘイトは80pxにしましょう!」なんて言ってるのであります。 まあ、所詮我々が話しているのは英語ではなく、日語の中に出てきた英単語をカタカナで発音しているに過ぎないですし、テレビのテロップでmainをメーンと表記する時代ですので正解などは無いと思っています。 ですから、何でもかんでも正しい英語っぽく発音するべきなどとは思っていませんが、やはり「こいつ適当にスペルを日語読みしてるだけだろ!」ってのが明らかな場合は、聞いているこっちが恥ずかしくなってしまうものです。 というわけで、この業界で横行してる妙な発音をまとめてみました。 間違って発音すると恥ずかしい英語 これらは間違って発音

    IT業界で横行する恥ずかしい英語発音 - Qiita
    JULY
    JULY 2015/06/16
    height をヘイトという人は周りにいないけど、半径2メートル以内に「デニー」という人間が多く、その度に「デナイ、ね」と言っているのだが、全く浸透しない。
  • 三項演算子は可読性を落とすか - Qiita

    しばしば三項演算子やdo-while構文が禁止されているコーディング規約に遭遇する。それは今すぐ撤廃すべきという論理武装を考えてみよう。事例はPHPだが、このことはすべての言語にいえる。 例 あるサービスから何らかのデータを取り出し、それをクライアント側で使うという手続きを考える。 ここで、サービス側のAPIとクライアント側のAPIに仕様ギャップがあったとしよう。$service は古く、うまく行かなかったとき例外ではなく null 的なもの(PHPではもしかするとfalseかもしれない)を返す習慣で作られていた。いっぽう $client は null を入力される想定がない。何もしないで欲しいときは空の array を入力する仕様だった。 以下の実装例を見てほしい。 <?php $data = $service->getSomeData(); if ($data === null ||

    三項演算子は可読性を落とすか - Qiita
    JULY
    JULY 2015/03/28
    もっと古典的に「goto 文を使うな」の同じで、それを使っていたずらに複雑な構造を作り込むことがダメなのであって、機械的に禁止するのは間違い。あと、根底に、保守はワンランク下、という偏見があると思う。
  • C言語分かってなかった (I Do Not Know C) - Qiita

    Dmitri Gribenko氏によるBlog記事 "I Do Not Know C" より訳出。原文および訳文のライセンスは CC BY-SA 3.0 に従う。 この記事の目的は、皆に(とくにCプログラマに)「C言語分かってなかった」と言わせることです。 C言語の死角は思っているよりも身近にあり、よくある単純なコードですら 未定義動作(undefined behavior) を含む可能性があると示したいと思います。 記事は質問に対する回答の形をとります。全ての例示コードは別々のファイルに分かれていると考えてください。 (訳注:Qiita/Markdown表現の制約から、読中ネタバレ防止のため文章順序を変更しています。前半には質問のみを、後半には質問と回答の対を訳出しました。) 質問編 1.

    C言語分かってなかった (I Do Not Know C) - Qiita
    JULY
    JULY 2015/03/09
    パッと見てすぐにわかったのは 6 と 9 だけだった。言語仕様として未定義になっているケースだとか、「あくまでも負数を2の補数表現の場合」みたいなのは知らなかった。
  • JK・おっさんプロトコル - Qiita

    JKとおっさんの間で、個人情報を一切漏らすことなく円滑なコミュニケーションが行えるように工夫したプロトコルです。現在は次の二つのプロトコルがありますが、ニーズに合わせてもっと色々考えたいと思っています。 高校生判定プロトコル 登場人物 ここには次のような登場人物がいると仮定します。 JK 自分が高校生であることを証明したいが名前や住所、所属する学校などは保護したい おっさん ある人間について、その人間の性別や年齢といった個人情報はどうでもいいが、高校生であるということは確定させたい このような仮定があるので、例えばJKが、JKの所属する学校の発行する学生証を用いておっさんに身分を示すということは、学校名などといった個人情報が流出するので使うことはできません。 概要 次のような構成になります。 おっさんは自分が 信頼できる カラオケ・理髪店・映画館をいくつかピックアップして、そのリストをJK

    JK・おっさんプロトコル - Qiita
    JULY
    JULY 2015/03/09
  • Pythonを書き始める前に見るべきTips - Qiita

    Pythonを使ってこの方さまざまな点につまずいたが、ここではそんなトラップを回避して快適なPython Lifeを送っていただくべく、書き始める前に知っておけばよかったというTipsをまとめておく。 Python2系と3系について Pythonには2系と3系があり、3系では後方互換性に影響のある変更が入れられている。つまり、Python3のコードはPython2では動かないことがある(逆もしかり)。 Python3ではPython2における様々な点が改善されており、今から使うなら最新版のPython3で行うのが基だ(下記でも、Python3で改善されるものは明記するようにした)。何より、Python2は2020年1月1日をもってサポートが終了した。よって今からPython2を使う理由はない。未だにPython2を使う者は、小学生にもディスられる。 しかし、世の中にはまだPython3に

    Pythonを書き始める前に見るべきTips - Qiita
  • 社内プロキシに虐げられてる人たちはVPSとか借りて社外にプロキシ立ててsshトンネルで繋ぐとウハウハですよってお話 - Qiita

    概要 社内プロキシに様々なサイトへのアクセスをブロックされたり、社外サーバにsshできなかったりする人向けに社外プロキシを立ててあらゆるサイトにアクセスする方法のまとめです。(後述しますが半分くらいネタポストです。) 他にも以下のような効果がありますので、プロキシフリーな会社にお勤めもし良かったら参考にして頂ければと思います。 なぜか2015年になっても存在するカフェとかホテルとかでの保護されていなかったりする無線wifiを使っても盗聴されない。 日からアクセスできないサイトにアクセスできる。(海外のデータセンタ上のVMを使った場合) なお、非認証プロキシを例にしてます。認証プロキシでもあまり変わらないとは思いますが、環境が無いため未確認です。また、プロキシの挙動や設定方法はプロキシサーバの種類や設定によって多岐に渡るため、全てのプロキシで同じ方法が使えるとは限らないとは思います。 最後

    社内プロキシに虐げられてる人たちはVPSとか借りて社外にプロキシ立ててsshトンネルで繋ぐとウハウハですよってお話 - Qiita
    JULY
    JULY 2015/01/13
    Dynamic Port Forwarding を知らないんだろうなぁ。正直、Proxy で制限するのは、あまりよい手じゃないし、やるならクライアント側のセキュリティソフト。
  • 関数型言語のウソとホント - Qiita

    追記 こんな記事を読むより、まともな関数型プログラミング言語を使ってまともに関数型プログラミングを学ぶほうが、関数型プログラミングについてよほど正確な理解を得られます。少しでも関数型プログラミングに興味のある人は、まずは真面目なHaskellの教科書やすごいHを読んだり、やさしいHaskell入門を読んだりしながら、実際に関数型プログラミングのコードを書いてみることをお勧めします。 繰り返しますが、この記事はあんまり読む必要はないです。関数型プログラミングを理解するには実際に自分でコードを書いてみるのが一番です。関数型プログラミングあるいは関数型プログラミング言語を理解するもっとも確実な方法は、Haskellをあなたのマシンにインストールして何かまとまったアプリケーションを書いてみることです。Haskellでアプリケーションが書けたら、自分は関数型プログラミングを理解しているし使えると胸

    関数型言語のウソとホント - Qiita
  • そこそこセキュアなlinuxサーバーを作る - Qiita

    先日「サーバーのセキュリティ設定がなにすればいいかわからない」と相談をうけまして。 自分も初心者の時どこまでやればいいかわからず手当たりしだいにやって沼に入っていたのを思い出しながら自鯖構築したときのメモを元にまとめてみました。 注意 セキュリティ対策は用途や場合などによって違います。 自分で理解したうえで自己責任でおねがいします。 対象読者 Linuxのサーバーを建て慣れていない人 Linuxはある程度さわれる人(自分でパッケージを入れたり、サービスを止めたりできる) ラインナップ ☆は導入の重要度と導入の容易さから個人的偏見からつけた値です。 4つ以上が"最低限やること"だと思ってください。 sshd

    そこそこセキュアなlinuxサーバーを作る - Qiita
    JULY
    JULY 2014/12/29
    「バージョンを見えなくする」は、星4つもないと思うなぁ。きちんとアップデートする方が重要。
  • 「Rubyのここがイケてない」を論破したい - Qiita

    職場のPythonistaとプログラミングについての話をすると、ことごとくRubyディスの流れに持ってかれてしまいます。 Railsは流行ってるけど Rubyはそうじゃないよね 絶滅しそうなプログラミング言語にRubyが選ばれたのは 順当 GithubRailsで作られているというのは 都市伝説 (大規模開発に向いてるとは思えない) Rubyのrequireは 仕様不備 なぜそんなに嫌うのですか? TMTOWTDIは悪 TMTOWTDIとは"There's More Than One Way To Do It."の頭文字で、「やり方はひとつじゃない」という意味の、Perlのモットーです。 Rubyでは、その思想を受け継いでるためなのかわかりませんが、組み込みクラスの多くのメソッドに別名が定義されています。 例えば Enumerable#map,find,inject,select,inc

    「Rubyのここがイケてない」を論破したい - Qiita
    JULY
    JULY 2014/12/26
    まぁ、どんな言語にもイケててないところはあるよ。python だって、文字列長を取得するのに、なんで str.len じゃなくて len(str) なんだよ、って思った。
  • 【Vim入門】ノーマルVimで使えると便利かもなコマンド10つ - Qiita

    この記事は Vim Advent Calendar 2014 の 17 日目の記事です。 16日は Kuniwak さんの「vimrc アンチパターンを自動でチェックする」でした。(私の vimrc も多くのアンチパターンがあったので、戒めていくとともに、vint でチェックしようと思います。。) プラグインなしのvimをつかう 先日のVACでも紹介されていたincsearch含め、プラグインは便利で私も色々使っているのですが、あえて、今回はVim(7.2以上)であれば使える基コマンドで、私自身がよく使っているコマンド(Exコマンド含む)を10つに絞って紹介したいと思います。 #最近、サーバー系の作業が増えて、プラグインなしのvim使うことも増えてきました。 人によってなじんだキーバインドの設定はあるかと思いますが、実際のところこれだけ覚えとけば(プレーンなvimでも)それなりに不自由し

    【Vim入門】ノーマルVimで使えると便利かもなコマンド10つ - Qiita
    JULY
    JULY 2014/12/17
    仕事で使っていると、ノーマルな状態の vim に慣れておく事が大切なので、参考になった。
  • インフラエンジニアとしてよく使うコマンド集 - Qiita

    私がよく使うコマンド集となります。 参考に頂けたら幸いです。 随時更新するかと思います。 コマンドを打つ前に覚えておく事 ①サーバに負荷がかかるコマンドを打つ場合、下記をコマンドの先頭に付けましょう $ ionice -c 2 -n 7 nice -n 19 # -c 2:ディスクI/Oの実行優先度をベストエフォートで実行 # -n 7:さらにこのコマンドの優先度を低くする # -n 19:プロセスの実行優先度を一番低くする

    インフラエンジニアとしてよく使うコマンド集 - Qiita
  • ruby の改行 - Qiita

    ruby は改行がどうなるのかが大変わかりにくい。 まあ、こうなるだろうと想像できる感じに書くと想像通りになるので普通は困らないんだけど、微妙なケースが結構あって、そういうときにはほんとうに全然わからない。 微妙だな、と思わないように書けばいいんだけど、他人のソースに微妙なパターンがあるとドキドキする。 私自身はほとんど利用したことがないけど、ruby にはバックスラッシュによる行継続がある。 あるんだけど、C/C++ の行継続とは異なり、文脈によって行継続したりしなかったりする。 というわけで、いろいろ試した。 全て、ruby 2.1.3p242 での動作結果。 + による結合 p(3+4) #=> 7 ※ 当たり前 p(3+ 4) #=> 7 ※ ここで改行してもよい p(3 +4)#=> エラー。なんでだかわからない。p(3;+4) で 4 が出ると思ってた。 p((3 +4))#=

    ruby の改行 - Qiita
  • CentOS 7でOS管理者パスワードを忘れた時に変更する方法 - Qiita

    従来との違い 管理者のパスワードを忘れてログインできなくなった場合はシングルユーザモードに入ってパスワードを変更する、というのがCentOSのみならずLinux全般でのお作法であった。 しかしCentOS 7では旧来のシングルユーザモードに相当するレスキューモードに入ってもrootユーザのパスワードを要求されるので、その手は使えなくなっている。 エマージェンシーモード(レスキューモードとの違いはルートパーティションだけ読み取り専用でマウントする)というのもあるが同様にrootユーザのパスワードを入力する必要がある。 CentOS 7では以下のURLに書かれている方法を使用するが、検証の結果、手順に多少誤りがあるようなので、より良い手順を書き出しておく。 https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linu

    CentOS 7でOS管理者パスワードを忘れた時に変更する方法 - Qiita
    JULY
    JULY 2014/09/28
    商用 UNIX では、かなり昔からシングルユーザモードでパスワードを要求されていたので、ようやく、という感じ。ま、カーネルのオプションで init を置き換える手はまだ残ってるけど。
  • 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い - Qiita

    はじめに 関数型プログラミングとオブジェクト指向の抜き差しならない関係について整理して考えるという記事がkenokabeさんという方が挙げていて、拙著の 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡について言及があったので、補考として挙げておく。 暗黙的状態と明示的状態 これまで、関数を「わかりやすくきれいに書く方法」とオブジェクト指向が「どのようにして生まれてきたか」について話してきた。 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 一見、それぞれ関係ないように思うかもしれないが、実は大きなテーマでつながっている。 『それは「状態」をどのように取り扱い単純化するか。』ということだ。そして、これがいわゆる関数型プログラミングとオブジェクト指

    「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い - Qiita
  • Docker、IBM、Microsoft、RedHatがGoogleのコンテナ管理フレームワークKubernetesにこぞって開発参加する理由 - Qiita

    Docker、IBM、Microsoft、RedHatがGoogleのコンテナ管理フレームワークKubernetesにこぞって開発参加する理由GoogleAppEngineDockergooglecomputeenginekubernetesGoogleCloud Kubernetes is 何 先週末、Docker、IBM、Microsoft、RedHatがGoogleのコンテナ管理フレームワークKubernetesに開発参加を表明して話題になったが、この連携がどんな意味を持つのかすぐにピンときた方はどの程度いるだろうか。その前に、Kubernetesって何? Dockerとどう関係するの? 読み方すら分からないんだけど……って反応が多いと思う。 Googleのソフトウェアエンジニアで、Kubernetesの開発者であるBrendan BurnsによるGoogle I/O 2014のセッ

    Docker、IBM、Microsoft、RedHatがGoogleのコンテナ管理フレームワークKubernetesにこぞって開発参加する理由 - Qiita