タグ

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

  • Lambda+RDSはアンチパターン - Qiita

    何が起きたのか 作成していたアプリではサーバレス構成にてLambdaからRDS(MySQL)を呼び出していました。 リクエストが増えるとRDSのコネクション数が増加して すぐにDBコネクションエラーになってしまいました。 最大コネクションの上限値 結論から言うとLambdaとRDS(MySQL)は相性が良くないです。 理由はLambdaからRDSのDBコネクションを貼ると リクエスト単位でコネクションを張ってしまうため 仕組み上、同時接続に耐えられません (RDSのコネクション上限数が少ない) さらにVPC設定すると・・・ セキュリティのため、RDSをLambdaからのみアクセスさせるためには LambdaとRDSを両方とも VPC領域に置く必要があるのですが、Lambdaの起動が遅くなる場合があります。 これは、一定時間Lambdaがコールしない場合にスリープ状態になり、 起動する際にE

    Lambda+RDSはアンチパターン - Qiita
    karahiyo
    karahiyo 2017/03/14
  • Referrer を制御する - Qiita

    Web ブラウザーは通常 HTTP 要求の Referer: ヘッダーに参照元ページの URL を入れますが (あるいは document.referrer で参照元ページの URL を取得できますが)、 Web サイト側でこれを制御したいことがあります。 例えば、次のような場面が想定されます。 URL にユーザー名や秘密の ID などを含めざるを得ない時は、プライバシーやセキュリティーの観点から、この URL を外部に漏らしたくありません。 社内システムに URL を貼りたいことがありますが、社内システムの URL を外部に漏らしたくありません。 Web アプリケーションの開発用サーバーは、その所在を外部に漏らしたくありません。 投稿者と友達のみに公開される SNS の投稿にリンクが含まれる時、その個別 URL を漏らしたくありません。 (SNS 全体の URL が漏れることは問題ありま

    Referrer を制御する - Qiita
  • 「することができる」は有害と考えられる - Qiita

    「することができる」とは 技術文書を読んでいると「することができる」「することが可能である」という表現を目にします。実はこの「することができる」という表現は冗長なため有害、つまり多用すべきでないという考えがあります。 気になって「することができる」についてGoogleで検索してみました。結果、「することができる」という表現について書いたブログ記事をいくつか見つけました。以下、発見したブログ記事の一覧です。 読みやすい文章の極意は「修飾語」にあり 読みやすい文章を書くために心がけたい10のポイント 感性工学的テキスト商品学~書き言葉のマーケティング 列挙したブログ記事の全てで「することができる」を多用しないように警告しています。 「することができる」を自動で検知 私も「することができる」「することが可能である」のような冗長表現をできるだけ利用しないように気をつけています。「することはできる」

    「することができる」は有害と考えられる - Qiita
    karahiyo
    karahiyo 2017/03/06
  • Scalaの記号みたいな奴らなんなの - Qiita

    これなんなの? 「Scalaの記号はググラビリティ低すぎて調べようがないし全くわからん…せめて定義位置とか実装がわかれば…」という自分のためのメモ、いわゆるチラシの裏です。 とりあえずScalaの記号については、ソースコードをダウンロードして下記の正規表現でgrepしました。 基、わからない記号見つけたら定義元に飛んで 1、ソースを読んでます。 2 IDEで定義元に飛べない記号(_*など)は、言語仕様の可能性が高いので言語仕様を読みましょう。 記号の使用例がわからない場合、そのライブラリのテストコードを読むと良いケースがあります。 急に()が出てきた場合、カリー化された引数かapply()です。 apply()の場合、一時的に書き換えてショートカットキーで飛ぶか、検索してapply()の定義を確認します。 記号がぐぐれない問題に関しては、 https://t.co/qEY3k2cRIM

    Scalaの記号みたいな奴らなんなの - Qiita
  • AWS Lambdaを使うときに注意する4つのこと -> 3つになりました - Qiita

    AWSLambdaがローンチされて早1年がすぎ、いろいろなところでLambdaを使ったという話を聞くようになりました。 そんなLambdaですが、使うときに注意しなければならないことがいくつかわかってきたので、整理しておきたいと思います。 AWS Lambdaとは なんでしょうか。簡単に確認しておきましょう。 AWSのページ( https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html )を見ると AWS Lambda は、コードを AWS Lambda にアップロードすると、サービスが AWS インフラストラクチャを使用してコードの実行を代行するコンピューティングサービスです。 と、書いています。 通常、サーバ側でなんらかの処理をするためには、EC2上でアプリケーションを動かして、そこで処理をすると思いますが、Lamb

    AWS Lambdaを使うときに注意する4つのこと -> 3つになりました - Qiita
    karahiyo
    karahiyo 2017/02/27
  • 質問は恥ではないし役に立つ - Qiita

    一年半SEとして働いてきた中で、私自身が苦手だと思っており、他人からもそのように評価されていたのが「質問の仕方」でした。 それが先日、他人から「質問の仕方がうまいね」と褒められることがあり、ようやく一人前の質問の仕方ができるようになってきたので、どのようにして克服できたのか紹介したいと思います。 質問の基形 私が入社したばかりの頃は、わからないことがあればすぐに先輩に質問していました。 そのときにしていた質問の内容はだいたいこんな感じです。 「環境構築を手順書通りにやったんですけど、○○のコマンドでエラーがでてしまいます!なんとかなりませんか?」 このような質問を受け取ったら、先輩は暇ならばエラーメッセージを見てくれ、エラーメッセージに書かれていることに対して調査してくれるかもしれませんが、忙しいときにはそんなことはしてもらえません。 こんな質問を繰り返しているうちに先輩からは「技術系メ

    質問は恥ではないし役に立つ - Qiita
    karahiyo
    karahiyo 2017/02/21
  • ソースコードの中でも絵文字を使う 🚀 #進捗を支える技術 - Qiita

    Gitにおいて、コミットコメントに絵文字を使おうぜ、というものやGitHub issuesでも絵文字表記をする、という話をよく聞きます。一方で体となるソースコードの中で絵文字を使うという話はあまり聞きません。ソースコードではプログラムには意味をもたないが人間には大きな意味をもつコメントを書けるのですから、通常のコメントとともに絵文字を使うといいんじゃないかな、という話です。 絵文字 emojiの有効性 上記の話の中での絵文字の使用を推奨する理由は、絵文字がテキストと比べてつぎのような特徴をもつためと考えられます。 emojiは通常のテキストやテキストから連想できるイメージを反映している ←これをみて何を考えましたか。多くの人が林檎を連想するはずです 言語の壁を超えた「共通文字」 テキストよりも少ない表示領域で、より多くの情報を提供することもできる 例) Hello, world!(テキス

    ソースコードの中でも絵文字を使う 🚀 #進捗を支える技術 - Qiita
    karahiyo
    karahiyo 2017/02/17
  • JavaエンジニアがやってしまいがちなScalaプログラミング - Qiita

    ==を使った方がいい理由は以下2点。 統一感 equalsのレシーバがnullだった場合NullPointerExceptionが出るが、==ならレシーバがnullでもfalseという判定になり例外が出ない String#splitはいつもJava版のものを使っている before JavaのString#splitの引数はString型。 しかもこれは正規表現パターンとして扱われるので以下の様なケースではエスケープが必要になる。

    JavaエンジニアがやってしまいがちなScalaプログラミング - Qiita
    karahiyo
    karahiyo 2017/02/17
  • shellのtrapについて覚え書き - Qiita

    trap コマンドとは 実行中のプロセスに対するシグナルを検知し、指定された処理を返すコマンドです。 ・・・と、言ってもよくわからないと思います。 特に「シグナル」。 シグナル とは 実行中のプロセスに対して、特定のイベントを通知するために送出されるものです。 よく使用されるのは、プロセスを終了するためのシグナルである SIGINT や SIGKILL です。 シグナル送出に良く利用するのは、kill コマンドと、ショートカットで利用する Ctrl + C ではないでしょうか。 上記のコマンドは、プロセスの強制終了などで利用した事があると思います。 上記の強制終了の kill コマンドは、オプションで -9 を指定しています。 -9 は SIGKILL を意味し、指定したプロセスに対し強制終了のシグナルを送出します。 プロセスがこのシグナルを送られると、どんな状態であろうと強制終了させられ

    shellのtrapについて覚え書き - Qiita
    karahiyo
    karahiyo 2017/02/16
  • シェルスクリプトを書くときはset -euしておく - Qiita

    エラーがあったらシェルスクリプトをそこで打ち止めにしてくれる(exit 0以外が返るものがあったら止まるようになる)。「あっあれここでうまくいってないからデータ準備できてないのにあれあれっもうやめて!」ってなるのを防げる。 set -u 未定義の変数を使おうとしたときに打ち止めにしてくれる。Perlでいうuse strict 'vars';的なもの。 って気軽な気持ちで書いてしまって、「ん、やたら時間かかると思ったらスペルミスうわなにをするやめ」ってなるのを防げる。 一部だけ例外にしたい はてなブックマークのコメントより -e は command1 || command2 みたいなことが出来なくなるの使うことないな。-uは付けといて良いが。 確かにおっしゃるとおりですね。コマンドの失敗を考慮して書いている部分については(もしくはやたらexit 0以外するコマンドを呼ばないといけないときなど

    シェルスクリプトを書くときはset -euしておく - Qiita
    karahiyo
    karahiyo 2017/02/14
  • XDebugとqcachegrindを使ってPHPアプリのパフォーマンスボトルネックを見つける - Qiita

    extension=xdebug.so xdebug.profiler_enable = 1 xdebug.profiler_output_dir = /tmp php-fpmやApacheをリロードしましょう。 あとは調査したURLにアクセスすれば/tmp以下にプロファイルデータが作成されます。 プロファイルデータ閲覧 プロファイルデータを閲覧するために qcachegrind をインストールしましょう。 Macの場合を想定

    XDebugとqcachegrindを使ってPHPアプリのパフォーマンスボトルネックを見つける - Qiita
    karahiyo
    karahiyo 2017/01/11
  • たぶんこれが一番分かりやすいと思います React + Redux のフロー図解 - Qiita

    【追記】 もうこれ古いから参考にしないでください https://t.co/mXtcc73Orf — もし Laravel が流行しなくなってこられてきてたとしたら、絶対に捨てられてこられてたと思うか (@mpyw) January 26, 2021 Redux にはその昔 connect()() とかいうクソ API と, Redux-Saga とかいう宗教がありました という考古学です — もし Laravel が流行しなくなってこられてきてたとしたら、絶対に捨てられてこられてたと思うか (@mpyw) January 26, 2021 読者対象 Tutorial: Intro To React - React Example: Todo List · Redux 「チュートリアルそれぞれ一周した!Reactは何とか理解できたが,Reduxがさっぱりわかんねぇ!」 ぐらいの人向け。自分

    たぶんこれが一番分かりやすいと思います React + Redux のフロー図解 - Qiita
  • PHPMailerのリモートコード実行脆弱性(CVE-2016-10033)の影響範囲 - Qiita

    今回の脆弱性 CVE-2016-10033 CVE-2016-10045 CVE-2016-10074(Swift Mailer) 追記 2016/12/28 14:15 Postfixを使っていて、sendmailコマンドの代わりにPostfixのsendmailコマンドを使っている場合は、Postfixのsendmailコマンドが -X オプションを無視するようですので大きな影響を受けないと思います。ただ、別のオプションで違う脆弱性が発生する可能性もあるので、PHPMailerはアップデートしたほうが良いですね。 2016/12/28 15:35 PHPMailer5.2.18の修正を回避する新しい攻撃が見つかり、 CVE-2016-10045として登録されその攻撃方法も公開されてます。こちらはPHPMailer5.2.21で対応されています。 この攻撃は、PHPMailer5.2.1

    PHPMailerのリモートコード実行脆弱性(CVE-2016-10033)の影響範囲 - Qiita
    karahiyo
    karahiyo 2016/12/28
  • inotify-toolsでファイルやディレクトリを監視する - Qiita

    Linux2.6から追加されたinotifyというAPIは、ファイルやディレクトリーでオープン、クローズ、移動/名前変更、削除、作成、属性の変更などといったファイルシステムイベントを監視することができます。 inotify API群を利用して自分でファイルシステムイベント監視プログラムを実装することができますが、 今回は、inotify-toolsというinotifyを利用したファイルシステムイベント監視ツールを使用します。 inotifyイベント inotifyでは対象のファイルまたはディレクトリに対して以下のファイルシステムイベントが監視できます。 ※対象がディレクトリの場合は、ディレクトリ自身とその配下のファイルが対象となります。 イベント名 イベント発生タイミング

    inotify-toolsでファイルやディレクトリを監視する - Qiita
    karahiyo
    karahiyo 2016/12/27
  • Linuxでシャットダウン時に想定した処理が実行されない - Qiita

    上記より、終了したいスクリプトはランレベル0とランレベル6の時に実行されるように設定がきればOKです。あとランレベル1の時のシングルユーザーモードでは必要最小限のサービスだけにする必要があるので、マルチユーザーモードで動いているサービスを明示的に止めるため場合にはランレベル1の時に明示的に停止させるように設定する必要があります。 スクリプトの前のKとかSって何か? #! /bin/bash # # rc This file is responsible for starting/stopping # services when the runlevel changes. # # Original Author: # Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org> # ... # First, run the KILL scri

    Linuxでシャットダウン時に想定した処理が実行されない - Qiita
    karahiyo
    karahiyo 2016/12/27
  • 機械学習に必要な高校数学やり直しアドベントカレンダーのカレンダー | Advent Calendar 2016 - Qiita

    今年、機械学習を少なくとも一度は手にした人は多いのではないでしょうか。 数ページめくっていると、数式のオンパレードで、「うっ」てなって、静かにを閉じてから数ヶ月。 すでに棚の肥やしになっていたりしませんか? それは私です。これはイカンと思って 機械学習を理解するための高校数学のおさらいをしようよ!で、作りました。 誰が書くの? すでに、おさらいが終わった人、 これを機会におさらいを始めてみようと思った人、 おさらいする必要もなく理解している人、 一緒にこのアドベントカレンダーを作りませんか? 何を書いたらいいの? 得意な分野の説明をわかりやすく説明、三角関数とか行列とか統計とか・・・ 自分の勉強法の紹介 オススメの書籍やオススメ記事やオススメ勉強法の紹介 などなど 来年はもっと理解出来た状態で、機械学習と向き合う年にしましょう!

    機械学習に必要な高校数学やり直しアドベントカレンダーのカレンダー | Advent Calendar 2016 - Qiita
  • さだまさしを kuromoji を用いて簡単に品詞分解してみる - Qiita

    さだまさし 名詞-固有名詞-人名-一般 さだまさしの、主に詩の歌詞を対象に、簡単な品詞分解と、それを基にした簡単な分析を行ってみた、というのがこの記事の内容です。 個人的な最終的なゴールは、さだまさし風の歌詞を自動生成する bot (さだロボ) を作る事になりますが、その過程を週一でディアゴスティーニ的に(サダゴスティーニとかは節度のある大人なので言わない)書いていければと思います。 ついでに、その道すがら、ちょっとした解析・分析結果なども書いていきます。 道具の用意 解析するにあたっていくつか道具が必要なので、最初に、使用したツール群について簡単にお話します。 kuromoji KuromojiはJavaで書かれているオープンソースの日形態素解析エンジンです。 Java形態素解析を行いたい場合、昔は「Sen」などを使うことが多かったですが、atilika 社が OSS として k

    さだまさしを kuromoji を用いて簡単に品詞分解してみる - Qiita
    karahiyo
    karahiyo 2016/11/30
  • ntpdのうるう秒対応(2015/07/01) - Qiita

    概要 直近のうるう秒(2015/06/30 23:59:60 UTC)の挿入について。 OSやサービスごとに対応が結構違うので情報を得るのが少し大変。 もろもろの原理を理解する前にとりあえずOSの対策だけしておきたい人用に Linuxで広く使われるntpdの対応方法を書いておく。 一先ずCentos5,6, AmazonLinuxでの対応方法を下記する。 やるべきこと ntp-4.2.6p5-3 以降にバージョンアップ (201506現在最新) ntpdをslewモードで動かす ntpdのslewモードって何 緩やかな時刻同期を実行するntpdの起動モード。 1秒間のズレを約2000秒(33分)かけて修正する。 slewモードで動くntpdはうるう秒そのものは無視して、1秒先に進む。そして緩やかに挿入後の時間に同期していく。今のところOSやアプリケーションに影響を与えない対策としてslew

    ntpdのうるう秒対応(2015/07/01) - Qiita
  • bashでmemcachedを実装しました! - Qiita

    TL;DR bashとsocatコマンドを利用してmemcachedを実装しました。 MakeNowJust/bashcached - GitHub 文 はじめに bashで実装したmemcachedです https://t.co/5UQk8x3wqw — さっき作った@3日目東R-13a (@make_now_just) 2016年10月28日 bashでmemcachedを実装したらHacker Newsでちょっと話題になったみたいなので記事にします。 とりあえずインストール方法 インストール方法です。 まずsocatが必要なので、

    bashでmemcachedを実装しました! - Qiita
  • あなたの知らない less の世界 - Qiita

    最近 prezto 入れたんですよ。prezto。そしたらいつものシェル世界が見違えるほど使いやすくなって身長も 3 メートルくらい伸びたんですが、それは余談でして、prezto 入れた後に less 使ってみたら余りの変わりっぷりに驚いたんです。 これを機に man page を読み直してみたら更に驚き。less ってこんなスゴイ物だったのか!みたいな。今回はそんな less の底力を紹介します。 環境変数 $LESS less には様々なオプションがあるのですが、これを予め環境変数 $LESS に設定しておくと、毎度 less ファイル名 と打つだけでそれが有効になります。更に、後述しますが、この設定は less 起動中にオン・オフして切り替えることが可能です。 # 最低限でもこれくらいは設定しておこう export LESS='-i -M -R' # 僕は後述の物を全部付けてます(-

    あなたの知らない less の世界 - Qiita