タグ

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

  • 運用の問い合わせチケットを10分の1に削減した話 - Qiita

    Help us understand the problem. What is going on with this article? 会社で働いていると、運用チームからの問い合わせがあると思います。 問い合わせというものは、割り込みに繋がり生産性を下げるのでなるべく減らしていきたいものです。 Redmineで管理されているオープンなチケットを10分の1に削減した話をまとめます。 常時、約50枚ほどオープンなチケットを5枚ほどに減らしました。 問い合わせが多くて辛みを味わっている方の参考になれば。 概要 Web自社サービス タスク管理ツール Redmine 毎日、5枚ほどチケットが増える 運用と開発がそれぞれ20人ほど こんな環境です。 改善のきっかけ うちのチームは、当番制で「問い合わせの窓口」(以下、窓口)となる人を作ります。 窓口の人がチケットを解決したり、有識者にチケットを委譲した

    運用の問い合わせチケットを10分の1に削減した話 - Qiita
    karahiyo
    karahiyo 2016/10/23
  • 正規表現を複数回実行する際の注意点 - Qiita

    javascriptで正規表現を複数回実行する際の注意点 以下のコードは"hoge"という文字列が含まれているか正規表現で検索し、結果を表示するコードです。 var example = "hoge"; var regexp = /hoge/g; regexp.test(example); // true regexp.test(example); // false regexp.test(example); // true regexp.test(example); // false ... 一度目の実行ではtrueが返ってきますが、二度目の実行ではfalseが返ってきます。 以降は交互に結果が変わります。不思議ですね。 私はループ内で正規表現を実行する際に、この挙動につまづきました。 一体何が起きているのでしょうか? var examples = ["hoge", "hoge", "ho

    正規表現を複数回実行する際の注意点 - Qiita
  • 黒魔術(JavaScript)まとめ - Qiita

    まえがき JavaScript、書いてますか? JavaScriptは今や世界中の人々に愛されています。 stackoverflowの2016年の調査によるとJavaScriptは地球上で最も一般的に使用されているプログラミング言語だそうです。 JavaScript is the most commonly used programming language on earth. Even Back-End developers are more likely to use it than any other language. link しかしJavaScriptは愛されすぎているが故、しばしば黒魔術のようだと比喩されることも少なくありません。 愛と憎しみが紙一重とはこのことですね。 ということでそんなこんなはどうでもいいのですが、自分もJavaScriptは大好きです。 今回は黒魔術まと

    黒魔術(JavaScript)まとめ - Qiita
  • 無料のドメインを取得する - Qiita

    最近はドメインも安く取得できるようになりましたので、需要はあまり多くはないかも知れませんが、「無料」で気軽に取得できるという点で、コストコンシャスな方々に一定の需要があると信じて投稿します。 症状と効能 オリジナルドメインで手軽にブログを始めたい(タダで) ネームサーバのテスト用のドメインを一時的に取得したい(タダで) フリーランスの名刺にオリジナルドメインのURLとメアドを刷り込みたい せっかくAWSが無料試用期間なのにドメイン取得費用を払うのはイヤ とにかくドメイン取得に一銭も払いたくない、という方向けに寄稿します。 無料で取得できるドメイン Freenomからは5種類のドメイン(.tk/.ml/.ga/.cf/.gq)が無料で取得できます。どれを使うかはお好みで。今回は.tkで取得を進めます。 .tkドメインの注意事項 90日間で25アクセス以下の場合は、登録が削除されます。3ヶ月の

    無料のドメインを取得する - Qiita
  • PHP+cURLのエラーハンドリング - Qiita

    エラーハンドリングの基 PHPのlibcurl拡張でHTTPリクエストをする際、色々なエラーが起きることが考えられる。 curl_errnoとcurl_errorで直近のexecで発生したエラーを調べることができる。 curl_exec()の戻り値がfalseだったらエラーだと判定できるのだけど、詳細なところがわからないので、明示的にエラーが起きたかを調べた方がよさそう。 例外を使いたいなら、ラッパークラス/関数でハンドリングして適当なException型を投げればよいだろう。 <?php // 単純なcurl関数のラッパー // 毎回コネクションを切断するので非効率かも function getHttpContent($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $body

    PHP+cURLのエラーハンドリング - Qiita
  • CVE-2016-6662 MySQL Remote Root Code Execution / Privilege Escalationについて - Qiita

    CVE-2016-6662 MySQL Remote Root Code Execution / Privilege EscalationについてMySQL 免責 取り敢えずわかっている範囲で書いただけなので、手元で再現やパッチの正当性は確認していません。 自己責任でどうぞ。 これ(2016/09/22 22:00)以降新しい情報が出てきても、おそらくもう更新しません。 CVE-2016-6662 についてはこちら MySQLに重大な脆弱性見つかる、パッチ存在せずデフォルトで影響 - ITmedia ニュース oss-sec: CVE-2016-6662 - MySQL Remote Root Code Execution / Privilege Escalation ( 0day ) この脆弱性を再現させるために必要なもの (未検証) 5.5.52, 5.6.33, 5.7.15は影響を

    CVE-2016-6662 MySQL Remote Root Code Execution / Privilege Escalationについて - Qiita
  • GCオプション備忘録 - Qiita

    チューニングのベースになるGCオプションの備忘録。 JDK6以上が対象で、デフォルトで設定されているものも明示的に指定。 動作設定 -server -d64 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+DisableExplicitGC -XX:+UseCompressedOops -XX:+OptimizeStringConcat -XX:-UseGCOverheadLimit 64bitのサーバモードで起動。 コンカレントGCを使用。 サーバモードなのでCMSIncrementalModeは指定しない方がいい。 G1GCでもいいが、世代別GCの方

    GCオプション備忘録 - Qiita
  • Linux - topコマンドでCPU使用率をコア単位で表示する方法 - Qiita

    今までは「sar -P ALL 1」とかでリアルタイムに表示させていたけど、topコマンドでも表示できるのでメモ top - 11:01:33 up 90 days, 23:09, 2 users, load average: 0.16, 0.06, 0.10 Tasks: 219 total, 1 running, 218 sleeping, 0 stopped, 0 zombie %Cpu0 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu1 : 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu2 : 0.7 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 s

    Linux - topコマンドでCPU使用率をコア単位で表示する方法 - Qiita
    karahiyo
    karahiyo 2016/09/01
  • Java VMのガーベジコレクションの整理 - Qiita

    Java VMのGC Java VMには様々な種類のGC(ガーベジコレクション)があり、用語を整理しないと混乱します。 GCの種類を整理する前に、まずJava VMのGCは「世代別GC方式」を採っていることを意識しましょう。 Java 7で正式サポートが始まったG1 GCも、世代別GC方式がベースになっています。 「世代別GC方式」の詳細は、様々なWebサイトで紹介されているので、ここではポイントだけを記述します。 世代別GC方式とは Java VMはJavaヒープを、 「New領域(1個)」「Tenured領域(1個)」と「Permanent領域(1個)」に分割し、 さらに「New領域」を「Eden領域(1個)」と「Survivor領域(2個)」に分割します。 生成されたオブジェクトはまずEden領域に入り、最初の数回の「コピーGC」によって2個のSurvivor領域の間を行き来します。

    Java VMのガーベジコレクションの整理 - Qiita
  • BigQueryの新しい料金体系High Compute Queryは廃止されました。 - Qiita

    High Compute Queryは2017年11月に廃止になったので、この記事は過去の思い出です。 https://cloud.google.com/bigquery/docs/release-notes?hl=en#november_14_2017 今後はBillingTierが100を超えない限りは、特に料金が変わることはありません。 BillingTier100超えはかなりの無茶をしないと出てこないので、滅多に気にすることはありません。 ただ、単純なパフォーマンスチューニングとして、以下のノウハウはまだ役に立ちます。 High Compute Queryに備える!Dremelの気持ちになって考えるパフォーマンスチューニング 以下、過去の思い出話となった内容 BigQueryのQuery料金は今までどんな複雑なクエリを書いても、データを読み込んだ容量に対して料金が決定されていました

    BigQueryの新しい料金体系High Compute Queryは廃止されました。 - Qiita
  • PHP 7.1からデフォルトで有効になる「Zend Signals」とは何か - Qiita

    下記PHP Internals MLでの議論によれば、今後「Zend Signals」がデフォルトで有効になる予定です。少なくとも7.1.0beta2時点では有効になっており、特に問題が見つからなければこのままリリースされるはずです。 [PHP-DEV] Enable Zend Signals by Default で、Zend Signalsって何? 「Zend Signals」または「Zend Signal Handling」というのはZend Engineの内部的なシグナルハンドリングの仕組みです。PHP言語の世界に新たな関数を追加するようなものではありません。 この有効・無効はphpinfo()で確認することができます。 先ほど紹介したML上での議論によれば、ざっくり次のような話のようです(かなり端折ってます)。 Dmitry「Zend Signalsを有効にすればOPcacheの

    PHP 7.1からデフォルトで有効になる「Zend Signals」とは何か - Qiita
  • RDS→Auroraのレプリケーションをする - Qiita

    RDS→Auroraの移行案件ではなるべくメンテナンス時間を短くしたい。 なので、RDS→Auroraのレプリケーションを設定してみる。 レプリケーションを設定する まずRDS側でSHOW BINLOG EVENTSを実行してみる。 rds> show binlog events; +----------------------------+-----+-------------+-----------+-------------+-------------------------------------------------------------+ | Log_name | Pos | Event_type | Server_id | End_log_pos | Info | +----------------------------+-----+-------------+----

    RDS→Auroraのレプリケーションをする - Qiita
    karahiyo
    karahiyo 2016/08/03
  • エンジニアが平成の次の元号を予想する方法 - Qiita

    次の元号は何になるかが一部で話題になっていますね。 もうすでに予想している人も居るかもしれませんが、ロジカルなアプローチをして次の元号を割り出す方法を考えてみました。 年号対応システムのテストデータや近未来SFの創作にも役立つかもしれません。 間違いや改善点がありましたら、ご遠慮なく指摘して下さい。 年号の基準 「明治」の由来は何ですか?(「大正」、「昭和」、「平成」の由来は?) 上記の明治神宮の公式サイトによると年号の基準は以下の通りです。 国民の理想としてふさわしい意味を持つ 漢字二字 書きやすい 読みやすい 外国を含め過去に元号やおくり名として使われていない 俗用されていない さらに、四書五経、史記などの中国の古典から引用されています。 考えられる条件 上記の基準から導き出せる年号の条件は以下の通りだと考えられます。 漢字二字 国字ではない(中国の古典には日独自の字は存在しない)

    エンジニアが平成の次の元号を予想する方法 - Qiita
  • 中の人に聞いたGitHub flowの本当の使い方 - Qiita

    背景 今日GitHubの中の人のLTを聞く機会があって当のGitHub-flowを聞いてきたので 忘れない間にメモ GitHub-Flowのお約束 Masterにあるものは即座にデプロイ可能な状態に保つこと ブランチの上で必ず作業し、その生存期間を短くすること すぐにPRを作り、フィードバックやサインオフを求めること マージしたらすぐにデプロイすること 当のGitHub-flow 中の人曰くよくマージしてからデプロイすると言っている人がいるらしい。 だが当のGitHub-flowは違う。 当のflowは PR作成 ⇩ 修正 ⇩ デプロイ ⇩ フィードバック ⇩ マージ らしい。 マージ前にデプロイすることでさらにユーザーに近いところでフィードバックを受けることができるとのこと。 ダメなら直ちにmasterに戻す。なので決まりごとの中にmasterは直ちにデプロイできる状態にあること

    中の人に聞いたGitHub flowの本当の使い方 - Qiita
  • 主要でもないプログラミング言語200種を一行で解説 - Qiita

    はじめに 家帰ったら『主要じゃない200くらいのプログラミング言語の雑な紹介』書いてやるから待ってろ — NANAKASE Kotoko (@make_now_just) 2016年7月1日 このツイートがことの発端でした。元ネタは、 主要なプログラミング言語 5種類を徹底解説! - Programming share 主要なプログラミング言語8種をざっくり解説 - shi3zの長文日記 あたりです。上の方の記事の冒頭に、 現在プログラミング言語は、200種類以上存在していると言われています。(実際に利用されているプログラミング言語の数はその10分の1くらいです。) とあったので200言語解説してみようというわけです。 200言語の解説を書くということは仮に1言語1分で書いたとしても200分、つまり3時間と20分の時間がかかるわけで、まぁそれは無駄に時間のかかる作業になります。そうなると必

    主要でもないプログラミング言語200種を一行で解説 - Qiita
  • 広告配信事業者のためのスマートデバイスデータまとめ - Qiita

    スマートデバイスデータについてまとめてみました。 間違っている部分は、逐次修正いたします。 データ分類 Webデータ スマートデバイス上のブラウザでWebサイトに訪れた際に取得できるデータ データ取得のために、javascriptタグを導入する必要がある ユーザー識別子: Cookie 取得可能な情報 ユーザー情報 : IP / UA / リファラ / Cookie ページ情報 : metaタグ / ページURL 広告配信情報 : キャンペーンID / クリエイティブID / プレイスメントID 端末情報 : センサー系(位置, 端末加速度, ジャイロ) 参考:http://www.tagindex.com/javascript/user/browser.html iOS 主要ブラウザ - safari, Chrome 3rdPartyCookieの書き込みができない(safari) An

    広告配信事業者のためのスマートデバイスデータまとめ - Qiita
  • MySQL 5.7.8以降で古いアプリが動かない場合の対処(sql_mode) - Qiita

    MySQL 5.7からはデフォルトの設定が色々変わっているので、5.6で動いていたアプリケーションが動かないケースがある。 主な理由はデフォルトのsql_modeの違い 5.7からはデフォルトでONLY_FULL_GROUP_BYやNO_ZERO_IN_DATEとかが設定されている。 ONLY_FULL_GROUP_BYが設定されていると、postgreSQLみたいにorder by句とgroup by句で同じカラムが指定されていないとエラーになる。 NO_ZERO_IN_DATEが設定されていると、careate_date = '0000-00-00 00:00:00'みたいなのでエラーになる。 5.7系でもバージョンによって細かくデフォルトのsql_modeが違うので注意が必要。 詳しくは公式のドキュメントを参照 <= 5.7.4 NO_ENGINE_SUBSTITUTION >= 5

    MySQL 5.7.8以降で古いアプリが動かない場合の対処(sql_mode) - Qiita
  • AWSのセキュリティグループにセキュリティグループを指定した時の落とし穴 - Qiita

    ※ ○:適用される/ ×:適用されない Details 前提 AWS で EC2 インスタンスを起動すると PublicIP/PublicDNS/PrivateIP がふられる。 PublicIP インターネット(外部)に公開されてるIP。例)54.123.456.78 PublicDNS DNSに登録されるホスト名。例)ec2-54-123-456-78.region.compute.amazonaws.com PrivateIP AWSのネットワーク内のみで使えるIP。例) 172.17.123.45 異なるリージョン間では、PrivateIPは使えない。名前解決するとプライベートIP出てくるけど。そんなの関係ない。 きっかけ EC2のセキュリティグループ設定を、必要最低限のネットワークに限定したい。 セキュリティグループにはIPアドレスも指定できますが、基的に冗長構成組んでるとサー

    AWSのセキュリティグループにセキュリティグループを指定した時の落とし穴 - Qiita
  • 1ヶ月間仕事でClojureを書いている今時点でよく使う関数・コマンドまとめ - Qiita

    3月からClojureを仕事で書いていまして、その中で開発中によく使っているコマンドや、気に入った関数について振り返りながらまとめます。 ※書く内容は4月初めに決めたのですが、投稿が遅くなってしまいました。 これからClojureを書き始める、書き始めようかなという人の参考になればいいなと思います。 Emacsを使った開発のために Emacsのインストール 最初はEmacs For Mac OS Xを使って開発をしていたのですが、REPLと繋いでいる場合に落ちることがままありました。 そこでEmacs Mac Portを教えていただいて、乗り換えたところほぼ落ちることはなくなりました。快適です。 MacEmacsを使う方はこちらをおすすめします。 Emacsの設定 基的には@ayato_p さんが書いた、新: Emacs を使うモダンな Clojure 開発環境を参考にすればイケてる開

    1ヶ月間仕事でClojureを書いている今時点でよく使う関数・コマンドまとめ - Qiita
  • Neovimとdeopleteを入れる - Qiita

    neovimとかdeopleteとかいうものがあるらしいので試してみました。入れただけとも言う。 Neovimってなんだ github: Neovim Readme.mdをざっくり日語にしてみると、 Neovimは以下の目的のため積極的にvimをリファクタするプロジェクトです メンテナンスを簡単にしてコントリビューションを促進する 複数の開発者の間で仕事を分割する コアのソースコードの変更なしに新旧のUIの作成を可能にする 新しいプラグインアーキテクチャで拡張性を改善 英語があっているか定かではないので、続きはReadme.mdとwikiで。 Neovim-jp というものもある、こちらには NVimVim の相違点 - Neovim-jp があるので読むとなんとなく従来のvimとの違いがわかる deopleteってなんだ github: deoplete 暗黒美夢王さん作成の、い

    Neovimとdeopleteを入れる - Qiita