タグ

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

  • このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita

    この記事ではPackagistで公開可能な形式のPHPのライブラリ(Composerパッケージ)を公開するための道具立てを紹介します。あと、現代のPHPerはツールを組み合せてさくっと開発しているんだという自慢です。 タイトルは「この TypeScript が Hello, world! のくせに慎重すぎる」と「この勇者が俺TUEEEくせに慎重すぎる」のぱくr… パロディです。 テンプレートエンジンのくせに型安全なんてなまいきな。 この記事の読みかた せっかくなので手を動かしながら自分でComposerパッケージを作成してみましょう。 今回の題材は「Hello worldを出力する」という革新的機能を提供する、とても画期的な実用ライブラリです。 記事名通り「慎重すぎる」ので、細かく刻んでGitで経過を保存しながら作業を進めていましょう。なんかよくわからない状態になったらgit reset

    このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita
    nakunaru
    nakunaru 2020/01/29
  • Dockerで環境構築するための最低限の概念理解 - Qiita

    はじめに この記事は、Docker入門シリーズ記事3の1目です。 Dockerで環境構築するための最低限の概念理解 Dockerで環境構築するための最低限のコマンドを一通り実践する 【Docker Compose】設定内容を1行ずつ理解しながらLaravel環境構築(PHP-FPMNginxMySQL、Redis) また、WindowsDockerを利用する際の重要な設定に関する記事もありますのでこちらもご確認ください。 WindowsDockerを使う時、正しくファイル配置しないと激重になるので注意 概要 この記事では、 Docker未経験者、初心者向けに Dockerでアプリケーションの開発環境を構築するために必要な 最低限の概念を解説します。 詳細な解説はかなり省いています。 Dockerとは何をするためのものか Dockerは、アプリケーションの実行環境を構築するための

    Dockerで環境構築するための最低限の概念理解 - Qiita
    nakunaru
    nakunaru 2019/12/25
  • SREのカレンダー | Advent Calendar 2019 - Qiita

    The Qiita Advent Calendar 2019 is supported by the following companies, organizations, and services.

    SREのカレンダー | Advent Calendar 2019 - Qiita
    nakunaru
    nakunaru 2019/12/17
  • DatadogでフロントエンドのJSエラーを収集してサービス改善 - Qiita

    この記事は、弁護士ドットコム Advent Calendar 2019 - Qiita の11日目の記事です。 要約 DatadogでブラウザーのJSエラーの収集を始めた。 1日に発生するJSエラー数を、1/4まで削減することができた。 エラー発生検知が、数時間から15分以内になった。 サービスの課題 以前、Sentry弁護士ドットコムサービスが稼働しているowned k8sの片隅で運用していたが、運用負荷が高く、廃止。 サーバーサイドの監視は、きちんとやっていましたが、フロントの監視がおざなりになってました。 一部のページでは、Google Tag Manager経由で自作エラー検知スクリプトを埋め込んでいました。しかし、エラーを、Google Analyticsにイベント通知しているが、情報が少なく、エラーが追えませんでした。 結果、JSやフロントエンドのエラーは検知できませんでした

    DatadogでフロントエンドのJSエラーを収集してサービス改善 - Qiita
    nakunaru
    nakunaru 2019/12/11
  • VSCodeの操作ミスでGCP Cloud Composerの裏側k8sをお掃除した話 - Qiita

    tl;dr 筆者はvim派でVSCode初心者。でも勧められたので数カ月ぶりに起動してみた。 Pluginを色々入れていたので、サイドバーにはたくさんのアイコン。なにこれ楽しい。 Cloud Codeタブを触っていたら…指先が震えてトラックパッド誤操作。「Delete Cluster」を押してしまう。 その時たまたま偶然、GCPのオーナー権限を持つIAMで認証していた。 盛大にやらかして復旧が手間だったが、いくつかの理由で障害として顕在化しなかった。 というお話 何をやらかしたのか やらかし当時、筆者はGCPでデータ処理基盤の開発を行っていました。vimとzshが大好きで、開発のすべてをこの2つで済ませてましたが、同僚にVSCodeを猛プッシュされたので使ってみることにしました。 VSCodeは数ヶ月前にインストールしたもののそのときは結局使わず。数ヶ月ぶりの起動でした。 インストール時に

    VSCodeの操作ミスでGCP Cloud Composerの裏側k8sをお掃除した話 - Qiita
    nakunaru
    nakunaru 2019/12/10
  • トップデベロッパーになるために作成したいアプリ8選 - Qiita

    こちらの記事は、Indrek Lasn 氏により2017年 12月に公開された『 The Secret to Being a Top Developer Is Building Things! Here’s a List of Fun Apps to Build! 』の和訳です。 記事は原著者から許可を得た上で記事を公開しています。 著者Twitter https://twitter.com/lasnindrek 少し考えてみてください。あなたがもし健康に関する書籍をたくさん読んだとしても健康になることはありません。実際には、ジムに行き数時間運動をして汗をかかなければ健康は手に入りません。 同じことが開発にも言えます。努力なしに優れたデベロッパーになることはできないのです。 そこで、コーディング力を鍛える8つの素晴らしいプロジェクトを紹介します。 あなたの好きなテクノロジースタックを使っ

    トップデベロッパーになるために作成したいアプリ8選 - Qiita
    nakunaru
    nakunaru 2019/11/12
  • スーパーマリオのジャンプのアルゴリズム - Qiita

    先日、気持ちのいいジャンプを目指してというQiitaの記事を見かけました。記事中では、マリオのジャンプについても触れられています。マリオというと、マリオブラザースやスーパーマリオブラザース等々、色々あるのですが、これはおそらくスーパーマリオブラザースの事だと思われます。ジャンプアクションゲームといったらスーマリですね。 そのマリオのジャンプの仕組みは「マリオの速度ベクトルを保存しておいて座標を計算するんじゃなくて~」と書かれていて、別サイトのブログへのリンクが張られています。 マリオのジャンプ実装法とVerlet積分 ただ、この記述については不正確であるという別のブログもあったりします。 マリオの完コピvol.28 ジャンプの解析と修正 ホントのところはどうなんでしょうか?世界で最も有名なゲームジャンプがどのように処理されているのか気になったので調べてみることにしました。 原典にあたる

    スーパーマリオのジャンプのアルゴリズム - Qiita
    nakunaru
    nakunaru 2019/11/07
  • GitHubのスターは金にならない - Qiita

    Sizzyというツールがあります。 様々なサイズの画面を同時に表示し、レスポンシブレイアウトがどうなるかを一気に確認できるという便利なツールです。 スマホ向けWebサイトを開発している人なら、持っていると非常に便利でしょう。 参考:レスポンシブの確認ツール、後発だけに便利!スマホ・タブレットの主要なデバイスでの表示確認が同時にできる -Sizzy / 『Sizzy』様々なデバイスでのサイト表示を確認出来る便利サイト さてこのSizzy、元々無償のChromeエクステンションだったのですが、先日2019年7月に単独のアプリとして有償化されました。 一人あたり月5ドル(団体割引あり)のサブスクリプション制です。 以下は作者のKizte( Twitter、Medium、Webサイト )がその理由や経緯を綴った記事、GitHub stars won't pay your rentの日語訳です。

    GitHubのスターは金にならない - Qiita
    nakunaru
    nakunaru 2019/10/17
  • GitHub Actions で Windows IE11 と Mac Safari を selenium-webdriver で動かす - Qiita

    GitHub Actions で Windows IE11 と Mac Safari を selenium-webdriver で動かすSeleniumselenium-webdriver 最近得た天啓で、 「GitHub Actions はコンテナを windows / mac / ubuntu から選べるということは、 物の safari と ie11 を selenium-webdriver で動かすことができるのでは?」 と思ってガチャガチャやってみたら、なんとできてしまったので、紹介します。 今回は node で。 name: xbrowser on: [push] jobs: e2e-ie: runs-on: windows-latest steps: - uses: actions/checkout@v1 - uses: warrenbuckley/Setup-Nuget@

    GitHub Actions で Windows IE11 と Mac Safari を selenium-webdriver で動かす - Qiita
    nakunaru
    nakunaru 2019/09/20
  • 500ページ超えの新刊『わかりみSQL』を支える技術 - Qiita

    500ページを超える新刊『わかりみSQL』を、技術書典7 (2019-09-22) で出します。 SQL初心者はもちろんのこと、SQLに挫折した人こそ読んでもらいたい入門書になってます。 (好評だった『オブジェクト指向言語 解体新書』のSQL版だと思えばだいだいあってます。) 新刊の紹介はこのくらいにして、この記事では「初心者向けのを書く上で気をつけたこと」と「500ページ執筆を支えるキーボード」の話をします。 初心者向けのを書く上で気をつけたこと 『わかりみSQL』では、自分が初心者のときに「こういうふうに教えてくれれば良かったのに‥‥」と感じたことをつぎ込んでいます。ある意味、怨念のカタマリみたいなですねw 「こういうふうに教えてくれれば良かったのに‥‥」とはどういうことか、紹介しますね。 過程の説明を省略しない 初めと終わりだけを説明されても、あるいは問題点と解決方法だけを説明

    500ページ超えの新刊『わかりみSQL』を支える技術 - Qiita
    nakunaru
    nakunaru 2019/09/17
  • スタートアップや小規模チームのテストケース管理には「Qase」がいいかもしれない - Qiita

    はじめに みなさん、テストケースマネジメントしてますか? テストケースマネジメントのツールといえば TestRail や PractiTest 、あるいはRedmineやJIRAなどのプラグインを使うことが多いと思います。 ですが、基的に商用、それもテスターが大勢いるようなQA組織向けのツールが主で、スタートアップなどでQA体制が未成熟なところにフィットする選択肢って少ないですよね。 そんな中、Qaseというツールを見つけたのでご紹介します。 Startup Plan というまさしく上記の悩みにドンピシャなプランが用意されており、複雑な設定が不要であれば無料で利用できるようです。 また、2019/09現在パブリックベータとして公開されており、有償プランの機能も自由に利用できるようです。 https://qase.io/pricing 試さない理由がないですね! というわけでレビューしてい

    スタートアップや小規模チームのテストケース管理には「Qase」がいいかもしれない - Qiita
    nakunaru
    nakunaru 2019/09/17
  • 2019年のDevOps/MLOpsエンジニアの標準的スキルセット - Qiita

    ちなみに、IT業界全体のシェアとしてはMicrosoftのAzureの方がGCPを上回っていますが、Web業界においてIaaSにAzureを採用している企業さんは2019年時点ではまだまだ少ないので、現状ではとりあえずAzureへのキャッチアップは後回しにしておいて問題ないと思われます。 クラウドアーキテクチャ設計 前述したAWSGCPの各種マネージドサービスを適切に組み合わせてアーキテクチャ設計を行い、それを構成図に落とし込める能力は必須となります。 いわゆる「アーキテクト」という職種の担当領域でもありますが、「サービスを安定稼働させたまま、バリューをユーザに迅速に届ける」ためには、自動化のしづらい構成が採用されてしまったり、無駄な機能が開発されてしまったり、アンマネージドなツールやサービスが使用されて管理工数が肥大化したりしないように、アーキテクチャ設計の段階からDevOpsエンジニ

    2019年のDevOps/MLOpsエンジニアの標準的スキルセット - Qiita
    nakunaru
    nakunaru 2019/08/22
  • 「タブ以上ブックマーク未満」を実現するChrome拡張機能を作りました。 - Qiita

    TL;DR ブラウザのタブはなるべく増やしたくない。 「数時間後に開くことが明確だけど、今は閉じたいタブ」をどうにかしたい。ブックマークにはしたくない。 一時的にリンクを保存し、開きたい時に参照できる拡張機能を作った。 「LinkMemo」と名付けたこの拡張機能。 インストールはこちらのページからできます。 提供機能/使い方 「+」ボタンで、現在開いているタブのタイトルとURLが保存できる。 各アイテムをクリックすると、そのページが新規タブで開く。 ゴミ箱ボタンをタップすると、各アイテムの削除ボタンが出てくる。「cancel」ボタンで通常画面に戻る。 機能はとてもシンプルです。地味に便利です。 なにかご意見あればtwitterでお声がけください! 工夫しました vue-cliで作成 経験がある方はご存知の通り、Chrome拡張機能はWebページと同じ要領で作ることが出来ます。 そこで、V

    「タブ以上ブックマーク未満」を実現するChrome拡張機能を作りました。 - Qiita
    nakunaru
    nakunaru 2019/08/21
  • git操作はGUIツール派な自分もCUIに乗り換えた便利git拡張まとめ - Qiita

    はじめに 自分は「楽でわかりやすい」という理由から、git操作にはGUIツールのSourcetreeを使用していました。 ただ、GUIツールを使えない状況などではCUIに直接gitコマンドを入力するわけで、GUIツールの恩恵を得られないことも多々ありました。 そこでいっそのこと、GUIツールを真似てgitコマンドを拡張し、CUIに乗り換えることにしました。 記事は、その際に作成した拡張のまとめになります。 目次(〇〇したいところ) 拡張を作成するにあたって、GUIツールと同じように「gitコマンドでも〇〇したい!」と思ったところをピックアップしました。 このピックアップ項目をもとに、gitコマンドを拡張していきます。 (なので、この項目が記事の目次でもあります) 〇〇したいところ 1. branch一覧から選んでcheckoutしたい 2. 差分の内容をもっと見やすくしたい 3. 差分

    git操作はGUIツール派な自分もCUIに乗り換えた便利git拡張まとめ - Qiita
    nakunaru
    nakunaru 2019/08/10
  • GCPを使って日次のLine push通知を作ってみた - Qiita

    日次でとある情報をクローリングしてLineにPush通知する機能を作りました。 自宅で常時起動しているマシンはないので、最近仕事で使うことが多いGCPを使い、なるべく低コストで実現することにしました。 ※すべて2019年7月時点の情報です。料金体系などは変更になっていることもあるので実際の料金は公式ホームページでご確認ください。 構成 図のような構成にしました。それぞれの詳細は後述します。 定時にcloud schedulerがpubsubtopicにメッセージを送信 pub/subのtopicをトリガーにcloud functionsを起動 cloud functionsでwebページをクローリング 情報を整形してLineへPush通知 LINE Developers LineにPush通知を行うにはLine Developersに登録する必要があります。 https://develo

    GCPを使って日次のLine push通知を作ってみた - Qiita
    nakunaru
    nakunaru 2019/07/18
  • slackのIncoming webhookが新しくなっていたのでまとめてみた - Qiita

    会社では通知したい情報をIncoming Webhook経由でSlackに通知しているのですが、項目を変更しようと思ってドキュメントを調べたところ、Webhook周りの方針がいつの間にか変更になっていたようです。 思ったより苦戦したので(とりわけドキュメントが英語しかなく)、把握できたところをまとめてみました。 1. Webhookの設定方法の変更 まず全体的な方針変更として、Incoming Webhookの設定方法が「Webhookアプリによるインテグレーション」から「個別アプリからの登録」に変更になったようです。 旧方式 これまでWebhookは https://{workspace-name}.slack.com/apps のアプリ画面からWebhookアプリにアクセスし、各チャンネルに対してカスタムインテグレーションなるもので設定するようなフローでした。 この方式ではインテグレー

    slackのIncoming webhookが新しくなっていたのでまとめてみた - Qiita
    nakunaru
    nakunaru 2019/07/05
  • 未経験から7日間でコーダーとして現場投入させるまでのカリキュラムを忘れないようにメモっとく - Qiita

    エンジニア不足と言われて久しいですが、できる経験者を採用するのはますます難しくなっていますね。 そんななか、弊社ではひょんな縁からエンジニア未経験の新人をエンジニアとして採用することになりました。未経験とはいえ、弱小企業の弊社には悠長に育てている余裕がないため、7日間で現場投入を目指してカリキュラムを組みました。 だいたいうまくいったので、メモがわりに晒しておきます。 前提条件 誰でも7日間でエンジニアになれると言っているわけではありません。あくまで一例として捉えていただければ幸いです。 担当してもらう予定の領域 HTML/CSS コーディング JavaScript はそこそこで(動きのエフェクトやカルーセルを仕込める程度) concrete5 テーマの開発(PHPファイルに foreach を入れていくイメージ、WordPress と変わらない) 流石にアプリケーション開発で7日間は無理

    未経験から7日間でコーダーとして現場投入させるまでのカリキュラムを忘れないようにメモっとく - Qiita
    nakunaru
    nakunaru 2019/03/26
  • 我が名は神龍……どんなテストもひとつだけ自動化してやろう - Qiita

    『我が名は神龍……どんなテストもひとつだけ自動化してやろう』 じゃ、じゃあ!このブラウザテストを自動化してください! Chromeで https://kids.yahoo.co.jp/ にアクセスして 検索ワードに ねこ と入力して さがすをクリックして 検索結果にネコ - Wikipedia が含まれていることを確認して 検索結果に 買い方 を追加して さがすをクリックして 探しているのは「の飼い方」?と表示されることを確認して クリックするとの飼い方で再検索されて 検索ボックスを不倫で上書きして さがすをクリックして このページは表示できませんと出ていることを確認 『よかろう……たやすい願いだ』 まずはライブラリのインストールと初期設定をしてやろう…… # [ライブラリのインストール] # CodeceptJSとPuppeteerをインストールします。nodeとnpmが必要ですので

    我が名は神龍……どんなテストもひとつだけ自動化してやろう - Qiita
    nakunaru
    nakunaru 2019/02/27
  • 今年1年CTOとして行ったことを振り返る - Qiita

    この記事は、Business Bank Group Advent Calendar 25日目の記事です。 大手SIer退職し、Web系スタートアップ企業のCTOとしてJOINしています 元々私自身は大手SIerの研究開発部署に11年半ほど在籍し、様々な新規技術をキャッチアップしながら、現場を支援するという立場にいましたが、今年の1月1日からビジネスバンクグループのCTOとして就任し、ほぼ1年間組織のこと、プロダクトのこと、会社のこと、開発のこと、技術のこと、様々なことについて考え、取り組んできました。アドベントカレンダー最終日に枠をいただき、この1年間取り組んできたことに対する振り返りを書きたいと思います。 CTO is 何? 私自身はこれまでCTO経験は特になく、他の人よりちょっとだけ扱える技術領域が広いぐらいで、CTOが何をする仕事なのかというのもよく分かっておらず、そのあたりは書籍

    今年1年CTOとして行ったことを振り返る - Qiita
    nakunaru
    nakunaru 2019/02/07
  • PythonでAtCoder青になるまで -Pythonで競プロやるときに気をつけること- - Qiita

    okumuraです。前のコンテストでAtCoder青になったのでそれを記念して初投稿いたします。(すぐに水色に落ちそうなので怖いんですが) そのほかの人も結構こういう記事が多いので、今回は個人的にやったこと半分とPythonで気をつけること半分で話したいと思います。 1 AtCoderやり始めたとき AtCoderをやるまでプログラミングはif,for,while文ちょっと知っているぐらいでした。とりあえず、問題解いたらPythonの他の文法とか覚えるだろーと思ってやり始めました。 Pythonを選んだ理由は友人がやってたのと、文法が楽だったからです。 AtCoderに登録したら、まず ・AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ をやってどんな感じかを学びました。Pythonだと文法で困るということは少ないのでいきなりこの問題し始めて

    PythonでAtCoder青になるまで -Pythonで競プロやるときに気をつけること- - Qiita
    nakunaru
    nakunaru 2019/01/17