タグ

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

  • クラウドインフラエンジニア採用のための面談時質問シート - Qiita

    はじめに クラウドインフラエンジニアの採用面談時に質問すると、その人のレベルが測れそうなことのリストを作ってみる試み 履歴書や職務経歴書は基的に盛ってあるので信用しない 質的にはクラウドだろうとオンプレだろうとインフラエンジニアに求められるスキルには大差ないと思う これらに答えられるから優秀とは限らないが、答えられない人の多くは優秀とは言えない可能性が高い あくまで、人なりの理解があって、その説明とか説明力があって、自社とのギャップが明確になればいいと思う Web系に偏っていることは認める。あとネットワークエンジニアも考慮外になっている 混ぜるとわかりにくくなると思うので AWS に寄せてある。 なにはともあれできることを確認 使える、使ったことがある、使いこなすことができるOS 同上で言語 同上でミドルウエア(DBMS, Cache, KVS, その他) 環境構築で使用するツールは

    クラウドインフラエンジニア採用のための面談時質問シート - Qiita
  • いまさらだけどTensorFlowでDQN(不完全版)を実装する - Qiita

    {\begin{align} n &\leftarrow \rho n + (1-\rho)g_r^2 \\ g &\leftarrow \rho g + (1-\rho)g_r \\ m &\leftarrow \beta m - \frac \alpha {(n - g^2 + \gamma)}g_r \end{align}} イメージ的には、RMSPropが平均的な傾きの大きさを見て、値の更新幅を変えるのに対して、RMSPropGravesは傾きの分散に応じて、更新幅を変える感じでしょうか。 あとここで実装したDQNが、もう一点オリジナルと違うのは、通常のRMSPropを使う関係で、論文にあるLoss Clippingも行いません。 理由は、Clippingしたら、まともに学習が進まなかったからです・・・ DQN(不完全版)を実装するには 必要なライブラリ等 TensorFlow A

    いまさらだけどTensorFlowでDQN(不完全版)を実装する - Qiita
  • つるはしで過去を発掘する - Qiita

    この記事はGit Advent Calendar / Jun.27日目の記事です! 26日目はhoshina85@githubさんの横着で神経質な私とあなたに贈るgit add -pでした。「Adventってなんなの?」って方は、Wikipediaの解説をご覧下さい。 特定の文字列を変更したコミットを探し出す テンプレの張りつけが終わったところで改めましてこんにちわ、実用Gitの訳者の一人、hirataraです。 7/1の江頭2:50さんの降誕を待ち望むAdventの期間も残り4日間となりました(残り3日間の担当者募集中です!)。今日はGitでつるはしを使って過去の遺物を掘り起こす話を書こうと思います。 つるはしとはpickaxeのことです。pickaxeはgitのサブコマンドではありませんが、gitglossaryやgitdiffcoreのドキュメント中で言及されていたり、diffcor

    つるはしで過去を発掘する - Qiita
  • 初心者を戒めるPHP - Qiita

    この記事は何か 挑発的な文言になってる箇所はあるものの、内容としてはそれなりにまじめに書いたつもり。むしゃむしゃしてやった。いまでは反芻してゐる。 PHPDocは必ず書け あらゆる再利用可能な手続きは、他人が容易に応用できるように型が明示的でなければいけない。メンバー全員が実装コード全てを把握できるものならそれが理想だけれど、残念ながら時間は有限だ。ヘッダだけを読んでメソッドの仕様が理解でき、またはコードを読む助けになるようなコメントが良い。 有名な事実を紹介すると、多くのコードは数か月(早ければ数日!)も経てば、他人が書いたコードに感じられるほど理解できなくなることがしばしばある。もちろん設計の練度にもよらうが、設計判断について注意を要した点などをコメントに残しておくことで、ひいては未来の自分の役に立てることができる。 お前の先輩は「PHPには型がない」などと知ったかぶって意味不明1なこ

    初心者を戒めるPHP - Qiita
  • gitとプルリクエストに関して思うことまとめ - Qiita

    ※この記事は元々「Gitのこれやめて!リスト」として2015年11月に投稿したものを改訂したものです。 この記事について 私が個人的にgitとプルリクエストについて、「こうして欲しい」とか「これはやらないで!!」とか思っていることをまとめたものです。 元々は2015年に私がコードレビューをしてる時に気になったことを、あまり推敲もせず思うがままに書いた記事でした。今改めて読み返すと稚拙な文章なのと、他に思うところとがあったりしたので、改めて書き直しました。いいね貰ってるのに書き直すのに若干後ろめたさがあるのですが、よりいい内容にできればと思います。 コミットログがきれいだとレビューしやすい 一人で開発するときはgit使っててもブランチ切らないし、プルリクもださないしで、コミットログも"First Commit"の次が"Second Commit"とかでも支障はないです。しかし、チームで開発す

    gitとプルリクエストに関して思うことまとめ - Qiita
  • プログラムでTOEICの問題を解く - Qiita

    ご存じのようにTOEICは、定番の英語試験です。今回、TOEICの文法問題をプログラムでどこまで解けるか、チャレンジします。この記事の内容は、10月のNode-RED勉強会で発表した内容です。 TOEICの文法問題 TOEIC専門の授業を受けたことがある方であれば、「当に?」と思う様な解答テクニックが沢山あることをご存じと思います。その一つに、「文法問題は、問題文を全文読まなくとも、空欄の前後の2~3単語を見るだけで解答できる」というテクニックです。これはコロケーション問題と呼ばれており、単語間の並びの相性の良さの情報のみで解ける問題です。例えば、下記の様な問題です(問題は、TOEIC Bridge問題集の問題を一部改変して作成しました)。 問題文: The ladder is leaning ---- the wall. 選択肢: (A) between  (B) after  (C

    プログラムでTOEICの問題を解く - Qiita
  • webpack で始めるイマドキのフロントエンド開発 - Qiita

    webpack とは webpack は WebApp に必要なリソースの依存関係を解決し、アセット(配布物)を生成するビルドツール(要するにコンパイラ)です。JavaScript だけでなく、CoffeeScript や TypeScriptCSS 系、画像ファイルなどを扱うことができます。 WebApp のビルドツールは Grunt や Gulp が有名です。これらは基的に、ビルド手順をタスクという形で自ら定義する必要があり、フロントエンド開発に馴染みのない開発者にとっては敷居が高いものでした(少なくとも、自分はそうでした)。 webpack を使えば、Grunt も Gulp も必要ありません!覚えるべきことはほとんどありません。(必要なら)簡単な設定ファイルを書いて webpack コマンドを実行するだけです。 以下では基的な使い方を見ていきます。 ※もちろん Grunt/G

    webpack で始めるイマドキのフロントエンド開発 - Qiita
  • C++ における整数型の怪と "移植性のある" オーバーフローチェッカー (第1回 : 整数型の怪と対策の不足) - Qiita

    はじめに 整数型の取り扱い (表現可能な値の範囲を超える "整数オーバーフロー" を防ぐなど) は、セキュリティ上の問題を避けるために、そうでなくとも予期しないバグを避けるために (頻繁に!) 注意しなければならないことだと言えるでしょう。 整数オーバーフローは、特に C/C++ においては深刻な脆弱性の原因になりがちです。昨年界隈を騒がせた Android の Stagefright としてくくられている複数の脆弱性のうち大部分は、この整数オーバーフローが原因となっています。 ただ、C++ における整数型は、実に奇妙です。その奇妙さの結果、C++ において整数オーバーフローを防ぐことは非常に難しいことが……あまり知られていません。というわけで、数回に分けて C++ における整数型 (特に符号付き整数型) の仕様とその奇妙なところ、何故整数オーバーフローチェックが難しいのか、それでもどうや

    C++ における整数型の怪と "移植性のある" オーバーフローチェッカー (第1回 : 整数型の怪と対策の不足) - Qiita
  • AffですべてのPromises/Generatorsを過去にする/そして何故我々は作用をモナドで抽象化すべきなのか - Qiita

    PromiseやGeneratorのような機構を使ってもなお非同期処理は厄介だ、そしてもっとシンプルで便利な方法があるよ、という話です。前半の議論を元に、後半ではなぜプログラミング言語の作用をモナドで抽象すると便利なのかということの説明をしています。 関数型プログラミング言語は「副作用をなるべく減らすことで安全性を高めた言語」というように説明されることがありますが、すべての式が副作用を持たないという『純粋』関数型プログラミング言語が言語を参照透明にしてモナドを導入するのは決して「副作用はなるべく避けたほうが安全だから」という理由だけではないのです。長いですが、これでも結構削りました。 序盤戦・Promises/Generatorsの光と影 Promises/Generatorsで世界はちょっと平和になる かつてはJavaScriptの非同期処理はコールバック地獄に陥ったり様々なパターンが混

    AffですべてのPromises/Generatorsを過去にする/そして何故我々は作用をモナドで抽象化すべきなのか - Qiita
  • お前らもさっさとハマって泣くべきCentOS7の落とし穴4つ - Qiita

    CentOSの6から7への移行時、何度かつまづいた箇所があったので紹介します。 前提知識 6と7のミドルウェアの違いやSystemdの基的な使い方はこのあたりを参考にしてください。 CentOS6とCentOS7の比較表 保存版 CentOS7とCentOS6との違いまとめ 落とし穴1: 消える/tmp CentOS7にtmpwatchは入っていません。 だからといって何も考えずに/tmp下にキャッシュ等の一時ファイルを吐き出していると、 いつの間にか消去されていて泣くハメになります。 CentOS7にはtmpwatchはありませんが、その代わり systemdsystemd-tmpfiles-clean.timer がその役割を担っています。 このサービスはtmpwatchと同じように、/tmp下に使われていないファイルを一定期間経つと削除します。 消されたくないファイルがあるのな

    お前らもさっさとハマって泣くべきCentOS7の落とし穴4つ - Qiita
  • ReconTrace で Erlang VM のトレース機能に親しむ - Qiita

    (Elixir 向けの内容ですが、Erlang で書かれた recon_trace を紹介しているので、Erlang タグも付けてます) トレース機能、使ってますか? みなさんは Elixir のプログラムをどのようにデバッグしてますか? IEx.pry? それとも、IO.inspect を使った、いわゆる printf デバッグでしょうか? また、もし番環境で次のような問題が起こったら、どう調査しますか? 特定の条件(ユーザーからの入力)でエラーになるようだが、その条件自体がわからない どこかが性能上のボトルネックになっているようだ ログを追加して、アプリケーションをデプロイし直すのもひとつの方法ですよね。 もちろん、どれも有効な手段です。でも、こんな時、まずは Erlang VM のトレース機能を使うことをお勧めします。それだけで原因がわかるかもしれません。 「すごいE1」の原著者

    ReconTrace で Erlang VM のトレース機能に親しむ - Qiita
  • [翻訳] ElixirにおけるOTPの紹介 - Qiita

    前回に引き続き、Michael Kohlさんの2015年2月13日付のブログ記事An intro to OTP in Elixirの翻訳です。 OTPとは何か? ドキュメントによればOTP-Open Telecom Platform-は「並行プログラミングのために完備された開発環境」で、Erlangコンパイラとインタプリタ、データベースサーバー(Mnesia)、解析ツール(Dyalizer)それに多数のライブラリを含んでいます。人々がOTPについて話をするときに引き合いに出すのはこの後半の部分です。 ビヘイビア(ふるまい) Erlang/OTPのデザイン原則の中心的なもののひとつはアプリケーションのパターン、OTP用語でいうところの「ビヘイビア」です。ビヘイビアは共通的なタスクに対する汎用的な実装を定義します。その一例として汎用サーバー(gen_server)モジュールがあります。アプリケ

    [翻訳] ElixirにおけるOTPの紹介 - Qiita
  • パイプライン演算子のはなし - Qiita

    Help us understand the problem. What is going on with this article?

    パイプライン演算子のはなし - Qiita
  • [WebGL] GPU でベジェ曲面をものすごい勢いで描く - Qiita

    WebGL Advent Calendar 14日目の記事です モチベーション WebGL こそ曲面が活躍するプラットフォームだと思うわけです。なぜなら少ないデータで綺麗な面が描画できるからです。100Mバイトもするような大量の三角形をサーバからいちいち送ってる場合ではありませんし、それをアニメーションで変形させるとなれば大変な話です。 そこでまず、どうやって曲面を WebGL で描画するのか考えてみます。曲面と言ってもいろいろあるわけですが、モデリングの自由度などを考えるとやはり最終的にはサブディビジョンサーフェスなりを描画したいという目標があります。そのためにはベジェパッチを描画できることがひとつ有力な選択肢としてあると思います(詳しい説明は CEDEC2015 サブディビジョンサーフェスのすべてがわかる をごらんください) 完成した動くデモはこちら http://takahito-t

    [WebGL] GPU でベジェ曲面をものすごい勢いで描く - Qiita
  • BigQueryで150万円溶かした人の顔 - Qiita

    ※ かなり前の記事ですが、未だに引用されるので一応追記しておきます。タイトルと画像がキャッチーなのはちょっと反省していますが、これを見てBigQuery使うのを躊躇している人は多分あまり内容を読んでいないので気にする必要はないです。自分は当時の会社でも今の会社でも個人でも普通にBigQuery使っていて解析用データなどはBigQueryに入れる設計をよくしています。また、アドベントカレンダーだったのでネタっぽく書きましたが事前に想定できる金額です。 ※ 代役:プロ生ちゃん(暮井 慧) 巷のBigQueryの噂と言えば「とにかく安い」「数億行フルスキャンしても早い」などなど。とりわけ料金に関しては保存しておくだけであれば無視できるほど安く、SQLに不慣れなプロデューサーがクエリを実行しても月数ドルで済むなど、賞賛すべき事例は枚挙に暇がありません。 しかし、使い方によってはかなり大きな金額を使

    BigQueryで150万円溶かした人の顔 - Qiita
  • グラフ探索アルゴリズムのカレンダー | Advent Calendar 2015 - Qiita

    グラフ探索アルゴリズムの論文紹介/手法紹介を書きます。 ここの内容を書ける人間は(うちの研究室以外)日にそういないはず、といって煽る。 投稿する内容は optimized primarily for pedagogical reasons and may change without notice. Expect frequent rewriting and random updates. Comments and suggestions are welcome! Contributers may gain a piece of caramel. これがDLの次にあるもうひとつの人工知能

    グラフ探索アルゴリズムのカレンダー | Advent Calendar 2015 - Qiita
  • とても長い配列の上位M件だけをクイックソートより高速に取り出す - Qiita

    というわけで、10倍の差がでた。 当然、配列の長さやソートする長さ、また実装の方法によって性能差は変わってくるが 今回の方法は有効であるということは確認できた。 既存の記事(2015/11/09 20:22 追記) コメント欄でUnordered partial sorting にそれらしきことが書いてあると教えていただいた。 そちらでは、「上位k個を取り出す(ソートは不要)」という問題を考えている。 同様に分割統治法を用いてソートしていきながら、上位k個以内の小区間になったらその区間はソートせずに全て選択して良いとしている。 早い話が、QuickSelectによりk+1番目の要素を探してそれより上位の要素をごそっと抜き出している。 分割統治法で大雑把にソートしていきながら、不要なソートを行わないようにする という同様のアプローチである。 C++のSTLの場合(2015/11/09 22:

    とても長い配列の上位M件だけをクイックソートより高速に取り出す - Qiita
  • /tmpと/var/tmpの仁義無き戦い - Qiita

    課題 /tmpと/var/tmpどっちも大体一緒だからいいんじゃないかと思って/tmpにファイルをつくろうとしたら、プログラムが使用するものは/var/tmpにと叱られた。確かに、基幹系システムのディストリビューションだと何故か/var/tmp派の人が多かった気がする。じゃあ、linux系特有の宗派の問題なのか?と思い調べてみた。 何が他のディレクトリと違うか 通常のディレクトリは、基的にはファイルは削除しない限り消えない。 /tmpに関しては再起動するとファイルが綺麗さっぱり無くなる。 /var/tmpは再起動しても消えないがいつの間にかファイルが消えることがある。 うーん、やはり使用してきたディストリビューションのルールか、業務の慣例的なルールなのかなぁ。 やはり/tmpと/var/tmpは宗教論争なの? そういうわけではないらしい。FHS(Filesystem Hierarchy

    /tmpと/var/tmpの仁義無き戦い - Qiita
  • 「SELinuxのせいで動かない」撲滅ガイド - Qiita

    はじめに 注意事項 この記事は何らかの理由でSELinuxを利用しなければならない時に発生する、意図せずプログラムが動かなくなる問題を解決するための手段を書いたものである。 作業対象のOSは作業中いつでも停止可能であるものとする。SELinuxの設定作業中に停止不可能とか無茶なので。 また、すべての操作はrootユーザで行っている。SELinuxは「管理者による強制的なアクセス制御」なのでrootユーザが操作しなければならない。 内容は主にCentOS 7で確認し、CentOS 6やFedora 22も一部確認に使用している。 SELinuxの管理で使用する各種のコマンドは初期からインストールされているものは少なく、またコマンド名がそれを含むrpmパッケージ名と一致しないものが多い。 このような場合はyum install *bin/<コマンド名>でインストールすることができる。Fedor

    「SELinuxのせいで動かない」撲滅ガイド - Qiita
  • 最近の行儀のよい JavaScript の書き方 - Qiita

    JavaScriptは移り変わりの早い言語です。 もう1年以上経っていますし、記事のメンテもちゃんとできていないので、消し線を入れることにしました。 参考程度のために記事は一応残しますが、より新しい情報を読まれることをお勧めいたします。 はじめに --- 最近では JavaScript の実行環境はブラウザに限りません。(node.js, Web Workers) また、旧来のような <script> 経由でのロードもとうに古くなっています。今は CommonJS スタイルで、require を用いたモジュールのロードを行なうことがより良いとされています。 ですから、次のようなことは改める必要があります。 - var YourModule = {}; などとして、外部から YourModule.hoge(); などと呼び出す書き方 - this === window だと思うこと 今回は、

    最近の行儀のよい JavaScript の書き方 - Qiita