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

  • ソフトウェア開発に役立つ 心理学的現象、行動経済学の概念など 15題 - Qiita

    ソフトウェア開発の様々な局面で役に立つ、心理学的現象や行動経済学についての知識です。 経験則で把握済の事柄もあるかもしれませんが、 言語化して名前を与えることで何かのときにスッと出せたり、周囲の方々と議論しやすくなったりすると思います。 以下の3つの分類で記載いたします。 打ち合わせやチームワークに役立つ知識 設計やプログラミングに役立つ知識 メンタルヘルスケアに役立つ知識 打ち合わせやチームワークに役立つ知識 自己効力感 自己効力感とは、自分には何かを達成する能力がある、と信じる感覚です。 自己効力感が形成されていると、仕事の意欲が増したり、効率が上がったりします。 「この仕事は絶対ムリ~(>_<)!」と感じている仕事についてやる気がわかなかったり進捗が出なかったりするのは、自己効力感の欠如が原因であることがあります。一旦やる気を出すと案外簡単に進められたとか、真剣に取り組むと思ったより

    ソフトウェア開発に役立つ 心理学的現象、行動経済学の概念など 15題 - Qiita
    Peranikov
    Peranikov 2018/09/06
  • [Deprecated] Go CodeReviewComments 日本語翻訳 #golang - Qiita

    注意 記事は以降更新されません。 https://knsh14.github.io/translations/go-codereview-comments/ こちらに移動しました。 以前にGoを書く機会があったときにレビュアーに「俺に持ってくる前にこれを読んで直してからこい!」 と言われたので、読んだ証拠に翻訳しました。 Go Code Review Comments 原文 go fmt あなたのコードに gofmt を走らせると、自動的に機械的に直すことのできるスタイルの大部分を修正してくれます。 世にあるGoのコードのほとんどすべてが gofmt を使っています。 この文章の残りは機械的に直すことのできないポイントについて解説します。 代わりに goimports を使う手段もあります。 gofmt に加えて必要に応じてimport内に空行をつけたり消したりする機能があります。 Co

    [Deprecated] Go CodeReviewComments 日本語翻訳 #golang - Qiita
    Peranikov
    Peranikov 2018/04/17
  • 【Haskell や圏論が出てこない】Scala で型クラスを完全に理解した話 - Qiita

    TL;DR 結論から。 型クラスはちょっとすごいオーバーロード であり 型に対して静的にメソッドを挿入する方法 です。 この記事は Haskell や 圏論等の難しそうな知識・議論なしで型クラス概念を具体的に理解する 型クラスが実は単なるすごいオーバーロードで、ちょっとした便利なものだと実感できる 型クラスとインターフェイスの違い論争で消耗しなくなる 型クラスを知っているとなにがオトクなのかわかる Haskell 等の高度な抽象化の恩恵を Java 的な慣れ親しんだシンタックスで書ける Scala は便利でたのしいと感じる ことを目的としています。 対象読者 関数型とか型クラスとかモナドとかよく聞くけど全然わからない…でも理解したい気持ちはある 型クラスの概念はいろいろ読んでなんとなく分かるけど説明が Haskell ばかりで実感がわかない 型クラスがなんなのかはぶっちゃけどうでもいいが、

    【Haskell や圏論が出てこない】Scala で型クラスを完全に理解した話 - Qiita
    Peranikov
    Peranikov 2017/06/30
  • お疲れさまXMLHttpRequest、こんにちはfetch - Qiita

    Service Workersでプッシュ通知を受信できるようになったわけですが([1]: GCM)([2]: Web Push)、Chromeではバージョン48まではGCMで通知だけができるようになっただけで、メッセージ体は通知を受けてからService Workerでサーバから改めて受け取るような実装をする必要があったりします。 ここで、Service Workersでは、XMLHttpRequestが使えません。その代わり、XMLHttpRequest (以下、XHR)に代わるWHATWGの仕様としてFetch APIがあり、Service WorkersではこのFetch APIを使うことになっていますので、その使い方を簡単に紹介します。 Fetch API自体は、Service Workers専用のものではなく、メインスレッドでもXHRの代わりに使うことが可能です。現時点で実装し

    お疲れさまXMLHttpRequest、こんにちはfetch - Qiita
    Peranikov
    Peranikov 2017/05/06
    良い
  • redux-thunkなのかredux-promiseなのかredux-sagaなのか、それともredux#bindActionCreatorsをやめるのか - Qiita

    前提 ここで書くのはあくまで個人的な意見です。 react, reduxはどちらも使い方次第でフレームワークっぽくも使えるし、ただのツールとしても使える。だからreact, reduxを使ったフロントアーキテクチャはいくらでもあっていいと思う。 これはそのうちの一つを提案するものです。 とはいえ特別な実装方式を編み出したわけでは全然なくて、むしろ1周して出戻りしたかんじ。 結論 非同期処理をコンテナ(またはそこで使うモジュール)に書くだけ。 今は、非同期処理をするためのredux middlewareを使ってないです。 過去記事(react, redux周りのパッケージ選定とKPT[2016-05-27現在])にて、この辺についてもなんやかんやと言っているけど、今はthunkもpromiseもsagaも使っていない。その実装が凄くシンプルで気に入ってるので紹介します。 どうやるのか red

    redux-thunkなのかredux-promiseなのかredux-sagaなのか、それともredux#bindActionCreatorsをやめるのか - Qiita
    Peranikov
    Peranikov 2017/05/04
  • OAuth 2.0 全フローの図解と動画 - Qiita

    RFC 6749 (The OAuth 2.0 Authorization Framework) で定義されている 4 つの認可フロー、および、リフレッシュトークンを用いてアクセストークンの再発行を受けるフローの図解及び動画です。動画は YouTube へのリンクとなっています。 English version: Diagrams And Movies Of All The OAuth 2.0 Flows 追記 (2019-07-02) 認可決定エンドポイントからクライアントに認可コードやアクセストークンを渡す方法については、別記事『OAuth 2.0 の認可レスポンスとリダイレクトに関する説明』で解説していますので、ご参照ください。 追記(2020-03-20) この記事の内容を含む、筆者人による『OAuth & OIDC 入門編』解説動画を公開しました! 1. 認可コードフロー RF

    OAuth 2.0 全フローの図解と動画 - Qiita
    Peranikov
    Peranikov 2017/04/28
  • 参考訳:Docker コンテナ・ネットワークの理解 - Qiita

    ウェブ・アプリケーションの構築は、安全についての考慮が必要であり、そのために Docker ネットワーク機能を使います。ネットワークとは、定義上、コンテナのために完全な分離(isolation)を提供するものです。そして、アプリケーションの実行にあたり、ネットワーク管理は重要であることを意味します。Docker コンテナ・ネットワークは、これらを管理するものです。 このセクションでは、Docker Engine ドライバ固有の標準ネットワーク機能について、その概要を扱います。ここでは標準のネットワーク・タイプについてと、どのようにして自分自身でユーザ定義ネットワークを使うのかを説明します。また、単一ホストまたはクラスタ上をまたがるホストにネットワークを作成するために必要なリソースについても説明します。 デフォルト・ネットワーク Docker をインストールすると、自動的に3つのネットワーク

    参考訳:Docker コンテナ・ネットワークの理解 - Qiita
    Peranikov
    Peranikov 2017/04/01
  • mysqlをdisる会 - Qiita

    はじめに やあ (´・ω・`) ようこそ、バーボンハウスへ。 このmysqlはサービスだから、まずsystemctl start mysqld して落ち着いて欲しい。 うん、「また」なんだ。済まない。 仏の顔もって言うしね、謝って許してもらおうとも思っていない。 でも、このタイトルを見たとき、君は、きっと言葉では言い表せない 「ときめき」みたいなものを感じてくれたと思う。 殺伐とした世の中で、そういう気持ちを忘れないで欲しい そう思って、この記事をかいたんだ じゃあ、注文を聞こうか。 というわけでmysqlをdisります。disるだけなので内容はありません。いいね? mysql には罠がいっぱい そうなんですよ罠がいっぱいなんですよ奥さん。 いやこれはおそらくmysqlに限った話ではないんですけど例えばこういうの! MySQLのチューニングなんてしたらパフォーマンス落ちるだけだし、デフォル

    mysqlをdisる会 - Qiita
    Peranikov
    Peranikov 2017/03/22
  • golang と Generics と吾 - Qiita

    吾はGoでGenericsがないことに関してはわりと肯定的な立場ではあるのだが、流石に「golang と Generics と私 」の記事の例はどうかと思ったので、畳み込みfold関数を例にGenericsが解決する問題を例示してみようと思う。 なぜfoldかというと、 List<T> の要素を加算して集約する処理を書くなら普通はfoldで実装するし、foldがあればmapもfilterも実装できるので。 javaで畳み込み Stream APIで用意されてるreduceで一発です List<Integer> list = Arrays.asList(1, 2, 3); // listの加算とか畳み込みで一発ですよ int result = list.stream().reduce((a, b) -> a + b).get();

    golang と Generics と吾 - Qiita
    Peranikov
    Peranikov 2017/03/10
    つまり筋力
  • AWS Batch とは何か - Qiita

    AWS re:Invent 2016 で発表された AWS Batch。 語感から、誤解されるサービス No.1 な気がします。 定時バッチなどとは何がどう違うのかをメモ。 機能概要 以下公式資料とドキュメント、実際さわってみた所感を合わせて。 AWS Batch – 簡単に使えて効率的なバッチコンピューティング機能 – AWS AWS Black Belt Online Seminar「AWS Batch」の資料およびQA公開 結局何なのか 科学技術計算・ハイパフォーマンスコンピューティング用途で真価を発揮する、 大規模なスケール、ジョブの依存定義 が可能なマネージド 並列分散 処理基盤。 主な機能、ポイント クラスタ管理、ジョブキュー、ジョブスケジューラを AWS にお任せできる 処理すべきジョブの数に応じ、適切に 自動伸縮1 するクラスタ ジョブに 依存関係 が定義できる(B は A

    AWS Batch とは何か - Qiita
    Peranikov
    Peranikov 2017/03/01
    そもそも定時バッチ向けではないのね
  • DBのint枯渇を目の前にした僕らは - Qiita

    MySQLのint型は符号付きで -2147483647〜2147483647 の範囲をサポートし、レコードを記録する際にこの範囲を超えて記録しようとするともちろんエラーとなります。 これは、長い運用の末にデータが膨大になり、ついにintのサポート範囲が枯渇寸前となった話です。 方針 DBAWS Auroraを使用しており、アプリケーションはRailsで構築されています。RailsのMigrationはデフォルトでidカラムをAUTO INCREMENTのint型で作成します1。サービスの特徴としては他のサービスと比較すると高トラフィックに晒されるもので、DBに大量のログを記録する必要がありテーブルによっては1ヶ月で1億レコード以上記録されるものもあります。対処方法を検討し始めた時にはidは既に18億を超えており、やるべきことは対象のテーブルのidカラム、及びそのidを関連として保持して

    DBのint枯渇を目の前にした僕らは - Qiita
    Peranikov
    Peranikov 2017/02/21
    書きました
  • 最近のAWS Lambda開発環境 - Qiita

    最近は以下の組み合わせでLambda関数を書いている AWS Lambda (Node 4.3) Serverless Framework serverless-webpack + babel + eslint Yarn 参考 ベースは以下のリポジトリを参考にした。 https://github.com/americansystems/serverless-es6-jest package.json テンプレはこんな感じ。 { "name": "your-service", "version": "0.0.1", "dependencies": { "babel-polyfill": "^6.20.0", "babel-runtime": "^6.20.0", }, "devDependencies": { "babel-core": "^6.21.0", "babel-eslint":

    最近のAWS Lambda開発環境 - Qiita
    Peranikov
    Peranikov 2017/02/13
    書いた
  • 「アジャイルは死んだ」以降に残るものは何か -リーンソフトウェア開発を再評価し、自工程完結で全体観点で改善する - - Qiita

    その結果、自分はすっかり言及の減ってしまったリーンソフトウェア開発や、それらの源流であるトヨタの生産方式、トヨタが現在取り組んでいる自工程完結を評価するのがよいのではないかと思い至った。稿は、そういうポエムである。 稿でいうリーン(ソフトウェア)開発とは何か? 2003年にメアリー・ポッペンディークとトム・ポッペンディークにより提唱されたトヨタ生産方式を源流とするリーン生産方式をソフトウェア開発に適用した原則集。以下を指す。 リーンソフトウエア開発~アジャイル開発を実践する22の方法~ リーン開発の質 エリック・リース氏のリーンスタートアップやオライリーのリーンシリーズとは異なるので注意いただきたい。 きっかけとしてのアジャイル方法論の違和感:結局、アジャイルでも多くの課題が残る。 「今回のプロジェクトがやりにくいのはウォーターフォールでやっているからだ」、「今回のプロジェクトが適当

    「アジャイルは死んだ」以降に残るものは何か -リーンソフトウェア開発を再評価し、自工程完結で全体観点で改善する - - Qiita
    Peranikov
    Peranikov 2017/02/13
  • Googleの虎の子「BigQuery」をFluentdユーザーが使わない理由がなくなった理由 #gcpja - Qiita

    「BigQueryは120億行を5秒でフルスキャン可能」は当か? 先日、kaheiさんがGoogle BigQuery(Googleクラウドの大規模クエリサービス)について、こんなエントリを書いていた。 とにかくパフォーマンスがすごい。(Fluentd Meetupでの)プレゼン中のデモで、ディスクに収められた5億件のデータをSQLでフルスキャンするのに3秒しかかからない。9億件のデータを正規表現を含んだSQLでスキャンしても、7秒で終わる(これ、記憶がちょっとあいまい。もう少しかかったかも)。これには驚いた。佐藤さんがGoogleに入社して一番驚いた技術が、一般公開される前のBigQueryだったと言っていたが、その気持ちはわかる。 From Fluentd Meetupに行ってきました これを読んだ時、BigQueryの検索スピードについてちょっと補足したくなった。確かにFluent

    Googleの虎の子「BigQuery」をFluentdユーザーが使わない理由がなくなった理由 #gcpja - Qiita
    Peranikov
    Peranikov 2017/01/27
  • GoでMySQLにCA証明書を使ってアクセスする - Qiita

    package main import ( "crypto/tls" "crypto/x509" "database/sql" "errors" "io/ioutil" "github.com/go-sql-driver/mysql" ) func registerTlsConfig(pemPath, tlsConfigKey string) (err error) { caCertPool := x509.NewCertPool() pem, err := ioutil.ReadFile(pemPath) if err != nil { return } if ok := caCertPool.AppendCertsFromPEM(pem); !ok { return errors.New("Failed to append PEM.") } mysql.RegisterTLSConfi

    GoでMySQLにCA証明書を使ってアクセスする - Qiita
    Peranikov
    Peranikov 2017/01/13
    Tipsです
  • サービスクラスについては僕も悪かったと思っているけど、それでもCQSは実現したいんだ - Qiita

    このエントリは Ruby on Rails Advent Calendar 15 日目です。(遅くなってすいません) 同時に 14 日目のじょーかーさんのエントリへのアンサーエントリでもあります。 (まあ、じょーかーさんがこの Advent Calendar に登録したときに、タイトルから内容を推察してこれを書くことを決めましたが、実際のところ、あまりアンサーにもカウンターにもなってないし、全然関係ない内容と言えないこともないので、まあサービスクラスについては僕も推奨したことがあるし、僕も反省してるんですよ程度に読んでもらえると幸いです。) まずはじめにごめんなさい 3 年くらい前に僕は Rails にサービスクラスというものを導入するといいことがあるよと書いたのだけど、それからいくつもの Rails アプリケーションを見たり、実際に自分で開発したりして、うーんって思うことも増えてきたので

    サービスクラスについては僕も悪かったと思っているけど、それでもCQSは実現したいんだ - Qiita
    Peranikov
    Peranikov 2016/12/18
    CommandをModule化してActiveModelをincludeすることでvalidatesを使える仕組みになってるのとても良いと思った。callback乱用を避けることもできそうなので参考にしたい
  • 俺が悪かった。素直に間違いを認めるから、もうサービスクラスとか作るのは止めてくれ - Qiita

    ちなみに、最初に結論だけ言っておくと、まずSandi Metzの「オブジェクト指向設計実践ガイド」を読め、という話です それだけで終わってしまいたい気持ちはあるが、不親切過ぎるしもうちょっとRails向けの話を書こうと思う。 ただ言いたいことは、よく分かってないのに使うのは止めろということ。 自分もで書いたりした手前、それが参考にされた結果なのかもしれないが、世の中には当に酷いクラスが存在するもので、雑にサンプルで書くと以下の様な感じのコードが存在したりする。 class HogehogeService # Hogehogeはモデル名まんま def process(hogehoge, option_a: nil, option_b: nil, option_c: false) history = hogehoge.histories.last unless hogehoge.activ

    俺が悪かった。素直に間違いを認めるから、もうサービスクラスとか作るのは止めてくれ - Qiita
    Peranikov
    Peranikov 2016/12/16
    サービスクラスが悪、というわけでなく正しく理解して使えという話だった。サービスクラスはDDDでも頼りすぎるなと言っていた気がする
  • RubyでServerless: AWS Lambda編2016年度版 - Qiita

    RubyでServerless(FaaS)するには この記事はServerless Advent Calendar 2016の8日目の記事になります。 さて。唐突ですが先日のre:Invent速報記事、「[速報]AWS LambdaでC#のサポートを発表。オープンソースの.NET Coreを採用。AWS re:Invent 2016」のはてなブックマーク人気コメントを見てましょう。 (http://b.hatena.ne.jp/entry/www.publickey1.jp/blog/16/aws_lambdacnet_coreaws_reinvent_2016.html) あー。まあ、Rubyistのみなさんの思うことはだいたいそんなところですよね。 re:Invent 2016でAWS Lambdaのサポート言語にC#が加わり、JavaScriptPythonJavaと合わせて4つ

    RubyでServerless: AWS Lambda編2016年度版 - Qiita
    Peranikov
    Peranikov 2016/12/12
    どれも厳しそう
  • Railsのログ集約とCloudWatch Logsによる分析 - Qiita

    この記事はSupership株式会社 Advent Calendar 2016の10日目の記事になります。 私はSupershipの所属ではありませんが、同じSyn.ホールディングスのグループ会社である株式会社Socketの @Peranikov と申します。 Socketでは、弊社のプロダクトであるFlipdeskの開発メンバーとしてRubyScalaに取り組んでおります。 FlipdeskはRuby on Railsで稼働しており、AWS上にインスタンスを立てて運営しております。各インスタンスのログを集約するためにfluentdを使用している方は増えてきているかと思いますが、弊社もご多分に漏れずfluentdを使用しております。今回は、RailsのログをLTSV形式で出力し、fluentdを使ってCloudWatch Logsに集約する方法をご紹介します。 RailsのログをLTSV

    Railsのログ集約とCloudWatch Logsによる分析 - Qiita
    Peranikov
    Peranikov 2016/12/10
    書きました
  • MackerelにAPI経由でホストメトリックを投稿する - Qiita

    Mackerelホストメトリックを投稿するにはAgentのプラグインを作成する以外にも、API経由で投稿することも可能です。 MackerelAPIドキュメントはこちらです。 サンプルコード サンプルコードは以下のような感じです。 require 'net/https' require 'json' HOST_ID = File.read('/var/lib/mackerel-agent/id') MACKEREL_API_KEY = '*****' uri = URI.parse('https://mackerel.io/api/v0/tsdb') http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true req = Net::HTTP::Post.new(uri.path) req["X-Api-Key"] = MAC

    MackerelにAPI経由でホストメトリックを投稿する - Qiita
    Peranikov
    Peranikov 2016/12/09
    マカレました