タグ

tipsとbasicに関するko-ya-maのブックマーク (124)

  • webアプリ開発における環境変数まわりのベストプラクティス

    nodejsを例に解説します。nodejsでは環境変数はprocess.env.環境変数名でとりだせます。また、開発環境・テスト環境・番環境をそれぞれNODE_ENVという環境変数にdevelopment test productionと入れる文化があります。 アプリケーションコードに自分が今いる環境(開発|ステージング|番)を意識させない これはつまり、コード内で環境識別変数(今回で言うところのNODE_ENV)によってif分岐を作らないという意味です。各環境にどのような設定が入るかはアプリケーションコード外にその種類分作成しましょう! bad if(開発環境){ const logger = new Logger({ level: 'debug' }); } else if (ステージング環境){ const logger = new Logger({ level: 'info }

    webアプリ開発における環境変数まわりのベストプラクティス
    ko-ya-ma
    ko-ya-ma 2022/03/11
    dotenv依存のコードでも".env"ファイルがなければ、普通に環境変数から値を読み込みますよ
  • TailwindCSSを始めようとしている人へ

    TailwindCSSを始めようとしている人へ JSフレームワーク内でスタイルをどのように当てるべきかは,多く議論されるものであるが,そんな中でTailwindCSSが注目と人気を集めている様子である. それはそうと私はなかなか使うまで踏み出せなかったが,v3.0以降にようやく使ってみたので, 使い方をざっくり知りたい人 できることをざっくり知りたい人 TailwindCSSをエアプしたい人 に向けて個人的な所感と要点を書いていく. TailwindCSSをすごく簡単に classNameに特定のclassを指定することでStyleを当てていくCSSフレームワーク. 例えば,ここにあるように, bg-red-600とclassNameをつけることで,CSSのbackground-color: #dc2626;と同様のCSSプロパティを当てたことになる. 普段このように書くところを

    TailwindCSSを始めようとしている人へ
  • TypeScript: <T>の書く位置チートシート - Qiita

    この投稿はTypeScriptのジェネリクスの型変数(type parameter)をどこに書くのかのチートシートです。 <T>の書く位置まとめ 関数宣言 関数式 アロー関数 メソッド宣言 関数型 コンストラクタ型 関数シグネチャ コンストラクタシグネチャ: 引数リスト()の直前 クラス宣言 インターフェース宣言 型エイリアス: 識別子の直後 <T>の書く位置チートシート 関数宣言

    TypeScript: <T>の書く位置チートシート - Qiita
    ko-ya-ma
    ko-ya-ma 2022/01/19
    ググりにくいやつのまとめ
  • GraphQL Highway

    銀座Rails#40

    GraphQL Highway
    ko-ya-ma
    ko-ya-ma 2021/12/18
    基礎+実践に基づく知見
  • Rust初心者殺しの文法10選 - Qiita

    概要 この記事ではRust初心者が驚いたり混乱させられたりするようなRustの文法を10項目集めてみました。 これらの項目は知らないと理解できなかったりコンパイルエラーに悩まされたりする一見厄介なものたちなのですが、そのような直感的でない挙動を敢えてさせているところには重要な意味が込められていることが多いです。 そのため、これらの項目を通してRustが目指しているものや実現したい機能の一部を垣間見ることができると思います。 1. デフォルトの代入がムーブ Rustの最大の特徴が所有権の概念であることは有名ですが、それでもなお初心者殺しになるのがムーブです。 以下のコードがコンパイルエラーになるメジャーな言語は現状Rustくらいしか無いでしょう。 let mut a = vec![1, 2, 3]; let mut b = a; // ここでaの持つベクタの所有権がbにムーブされ、aは無効に

    Rust初心者殺しの文法10選 - Qiita
  • 索引:記号とキーワード | TypeScript入門『サバイバルTypeScript』

    JavaScriptTypeScriptのコードには?.のような記号やasのようなキーワードが使われます。こういった記号やキーワードはGoogleで検索しづらく、意味を調べるのは難しいものです。 この索引は、JavaScriptTypeScriptの記号やキーワードから、その名前や意味を調べられるようにするためのものです。コードを読んでいて未知の記号やキーワードに出くわしたら、その意味や使い方を調べる手がかりにしてください。 ここで扱う記号とキーワードには、JavaScript由来のもの、つまり、JavaScriptTypeScriptに共通して使えるものと、TypeScriptでのみ使えるものを併記しています。JavaScript由来のものにはのマークを、TypeScript固有のものにはマークを表示しています。 記号​! 論理否定演算子 (logical not operator

    索引:記号とキーワード | TypeScript入門『サバイバルTypeScript』
    ko-ya-ma
    ko-ya-ma 2021/08/30
    ググりにくいやつの一覧。新し目の内容もキッチリ入っている
  • ドメイン駆動開発を浸透させるための新しい取り組み - SO Technologies 開発者ブログ

    はじめまして、ライクル事業部 エンジニアの菊池@kichionです。 普段の業務では主にエンジニアチーム運営・運用の課題解決やビジネスサイドとのやり取りが多く、中長期目線でのアプローチを行っています。 エンジニアとして行っている技術選定や実装関連についてはZenn - kichionにも投稿していますので興味があればご覧になってください。 今回はライクル事業部として少しづつ取り入れ始めている「ドメイン駆動開発」に焦点を当てて見ます (ドメイン駆動に関わる内容については、端的ですがQiita - kichionにも投稿してますので気になったらご参照ください) ドメイン駆動開発(DDD) ドメイン ドメインモデリング 技術的要素 ドメイン駆動開発の目的 ドメイン駆動開発を浸透させるための取り組み ドメイン駆動開発 勉強会 ドメインオブジェクト整理会 今後やっていきたいこと 続・DDD勉強会 現

    ドメイン駆動開発を浸透させるための新しい取り組み - SO Technologies 開発者ブログ
  • Goエラーハンドリング戦略

    Goのエラーハンドリングが採ったスタイル 多値返し 直積(関数の返値とエラーを両方返す) try-finallyをdeferという機構でカバー panicはプロセスを落とすためのもの Goはこの戦略でエラーハンドリングを行うとしましたので、「多値はなぜタプルじゃないんだ?」、「直和(返値orエラー)で十分じゃ?」「panic-recoverでtry-catchできそう?」などいう様な他の処理系の風習を持ち込むことは意味がありません。そしてそれらの提案の多くはすでに検討されリジェクトされてきた経緯があります。 「try組み込み関数」プロポーザルなんかも検討されマージ直前くらいまで進んだこともありますが、「Goのエラーハンドリング」にとって一長一短がありました。その欠点課題は解決できずに最終的にリジェクトされました。 「多値返し」は実にCPUフレンドリーな機構で、C言語の関数呼び出し規約にちょ

    Goエラーハンドリング戦略
  • 基本的な考えを学ぶための「SEOドリル30問」を公開! | ナイルのマーケティング相談室

    ナイルでは、社内研修用としてSEOを学べるドリルを用意し、新入社員を中心に取り組んでもらっています。社内研修では、最低限のSEO知識の獲得およびSEOの考え方の取得を目的にしています。 今回は、その中から初級レベルを中心に30問を抜粋して公開!実際にSEOコンサルをする中で、現場でよく質問される内容がベースになっています。 ■ダウンロード ※SEOドリルの問題編がダウンロード可能ですので、問題用紙としてご利用ください。 SEOドリルは、すべて記述式です。まずは問題を解いてから、記事内の解答をご確認いただく流れを想定しています。なお、情報の精査は丁寧に行っておりますが、記載内容に違和感や誤りなどありましたら、ご指摘ください。 \SEO知識の獲得におすすめ!資料ダウンロードはこちら/ SEOドリルにチャレンジする前に SEOドリルに取り組む上で、お伝えしておきたいことがあります。このドリルは、

    基本的な考えを学ぶための「SEOドリル30問」を公開! | ナイルのマーケティング相談室
  • ネットワークの疎通を確認する方法 - Carpe Diem

    概要 インスタンスのヘルスチェックに失敗したり、リクエストが届かなかったりするケースの調査のためにネットワークの疎通を確認する機会は多々あります。 今回はその中でよく使うコマンドをまとめてみました。 環境 Ubutnu 16.04 コマンド ping pingはICMPのエコー要求/応答機能を使った診断コマンドです。 疎通確認 $ ping google.com PING google.com (216.58.200.206): 56 data bytes 64 bytes from 216.58.200.206: icmp_seq=0 ttl=54 time=2.329 ms 64 bytes from 216.58.200.206: icmp_seq=1 ttl=54 time=2.744 ms ちなみにICMPはL3のプロトコルなのでポートは関係ありません。 確認できないケース pi

    ネットワークの疎通を確認する方法 - Carpe Diem
  • 【個人的に】Dockerがはかどる小技 - Qiita

    初めて知ったときは感動したけど 自分の中で知ってて当然になってしまった小技をまとめました まだこの小技を知らない人に届いてくれるとうれしい Dockerfile RUNを1つにまとめる

    【個人的に】Dockerがはかどる小技 - Qiita
  • 「はじめてのAWS設計でやりがちな失敗パターンまとめ」について発表しました #devio2020 | DevelopersIO

    西澤です。クラスメソッドに入社してからおよそ5年間クラウドの推進やAWS技術に関する支援をさせていただいております。この経験を何か形にしたいと思い、少し遅れてしまったのですが、Developers.IOイベントに乗じてまとめさせていただきました。 発表資料 資料はこちらにアップロードしております。 夜間に録音したので覇気が無い感じになってしまいましたが、動画はこちらです。 まとめ 「AWS設計でやりがちな失敗パターン」というタイトルで考え始めたのですが、もっともお伝えしたい点は、AWSを利用されるお客さまのマインドセットを変え、クラウドを活用できる組織に変わって欲しい、というところに集約できるかなと思います。技術的な問題以上に、考え方を変えられないこと、組織を変えられないことが、クラウド活用を阻害するアンチパターンになっていると思いました。 どこかの誰かのお役に経てば嬉しいです。

    「はじめてのAWS設計でやりがちな失敗パターンまとめ」について発表しました #devio2020 | DevelopersIO
  • あなたの組織に最適なコンテナデプロイ方法とは?〜ECSにおけるデプロイ最新機能てんこ盛り〜

    AWSにおけるコンテナワークロード運用のデファクトスタンダードの地位を確立したECS。 デプロイ方法も進化を続け、CodeDeployとALBで連携したB/Gデプロイやカナリアリリースにも対応し、そのデプロイにおける柔軟性はEKSに勝るとも劣りません。 そんなECSですが、手段が豊富になったこともあり現状「そもそもうちの組織としてどんなデプロイ方法が最適なのか?」を選択するのが難しくなっています。 このセッションでは、ECSのデプロイ機能を紹介しつつ、マルチアカウントでの運用、リリース承認プロセス、IaCとの連携方法、GitHub Actionsも含めた最新動向を全てお伝えいたします。

    あなたの組織に最適なコンテナデプロイ方法とは?〜ECSにおけるデプロイ最新機能てんこ盛り〜
    ko-ya-ma
    ko-ya-ma 2020/07/03
    情報量が多い上に、わかりやすい
  • データベース設計の際に気をつけていること - 食べチョク開発者ブログ

    皆さんこんにちは、エンジニアの西尾です。 新しい機能・サービスを開発する際、私は特にデータベース設計に気をつかいます。 データベースはシステムの土台です。 土台が不安定だと、その上に積み上げていくアプリケーションコードがいびつなものになり、つらい思いをします。 また、一度動き出してしまったシステムのデータベース設計を変えるのは、容易なことではありません。 データベース設計には”これだ!”という正解はないと思っています。 サービスの特徴、システムの性質、toB向け/toC向け、Readが多い・少ない、Writeが多い・少ない。 その他もろもろの背景により、データベース設計の仕方も変わってきます。 このテーブルは正規化していないから駄目だ、この設計はいわゆるポリモーフィック関連だから使ってはいけない、などということはありません。 アンチパターンと呼ばれるものも時と場合によっては正解になります。

    データベース設計の際に気をつけていること - 食べチョク開発者ブログ
  • いまさら聞けないNode.js | さくらのナレッジ

    こんにちは!小田島です。さくらのナレッジで初めて記事を書きます。よろしくお願いします! 先日5月13日、Deno 1.0がリリースされました。Denoについては後日記事を書きますが、今回はDenoが生まれるきっかけとなったNode.jsについて、いまさら聞けないことを色々書いていきます。 対象者 記事は、Node.jsについて以下のような疑問を持っている人が対象です。 Node.jsって何? Node.jsを使うと何がうれしいの? Node.jsを使うときに何を注意すればいいの? なお、記事はNode.jsのイメージを掴んでもらうのが目的であり、ハンズオンではありません。そのためコードは1行も出てきませんのでご了承ください。 そもそもNode.jsとは? 超ざっくり説明すると、JavaScriptの実行環境です。 それまではJavaScriptといえばウェブブラウザー上で動かすのが普通

    いまさら聞けないNode.js | さくらのナレッジ
  • Vue.jsを100時間勉強して分かったこと - Qiita

    Vue.jsを100時間ほど勉強して分かったことを整理します。 勉強時間の内訳は、 UdemyVue JS 2 - The Complete Guide (incl. Vue Router & Vuex) をだいたい全て完了(85時間) 実際に自分でコードを書いてみた(15時間) です。 学習開始時のレベルは、JavaScript・jQueryはそれなりに扱うことができ、過去に少しだけReactを勉強したことがある感じでした(専門は Ruby on Rails)。 Vue.js 自体の構文 まず、Vue.js 自体の基的な構文を整理します。 Vue インスタンス Vue インスタンスの書き方は次のような感じです。 new Vue({ el: "#app", data: { name: "Kei", age: "30", counter: 0 }, methods: { increas

    Vue.jsを100時間勉強して分かったこと - Qiita
    ko-ya-ma
    ko-ya-ma 2019/05/18
    全体がよくまとまっている
  • The Elements of Styleの全訳

     『The Elements of Style』の全訳 William Strunk, Jr.著、森田尚 訳 I. 序章 このは、文章構成の練習と文学の研究とを兼ねた英語のコースで使われることを想定している。このでは、平易な英語のスタイルに関する一番大事な必要条件を、手短に示すつもりだ。このでは、いくつかの質的要素、つまり最も間違えられることが多い語法のルールおよび文章構成の原則とに(第II章と第III章で)注意力を集中することにより、講師と生徒の負荷を軽減することをねらっている。セクションの番号は原稿を修正する際のリファレンスとして役に立つだろう。 この英語のスタイルという分野のほんのわずかの部分をカバーするに過ぎない。だが筆者の経験では、いったん質的な要素をものにしてしまえば、生徒にとって一番効果が高いのは自分が書いた文章の問題点に基づいて個別指導を受けることであり、講

  • docker-node/docs/BestPractices.md at main · nodejs/docker-node

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    docker-node/docs/BestPractices.md at main · nodejs/docker-node
  • xUnit Test Patternsから学ぶ12個のユニットテストの原則 - Qiita

    エントリは、xUnit Test Patterns: Refactoring Test Codeという書籍の「Chapter5 Principles of Test Automation」の内容をベースに、12個のユニットテスト原則についてまとめていきます。この書籍は、2007年に販売されたものですが、今でも十分役に立つユニットテストに関する原則を伝えています。 ウェブでは、次のURLでも内容を見ることができます。 自動ユニットテストの原則 ここで紹介されるものは、ユニットテストで確認したい quality のリストです。ですので、直接適用する「パターン」ではありません。 「何をやるか」よりも「なぜやるのか」という観点においてまとめられています。 エントリでは、xUnit Test Patterns: Refactoring Test Codeで紹介されている12個の原則をベースに、ほ

    xUnit Test Patternsから学ぶ12個のユニットテストの原則 - Qiita
  • 【翻訳】徹底解説! PHP のセッション - Qiita

    <?php session_start(); if(!isset($_SESSION['counter'])) { $_SESSION['counter'] = 0; } $_SESSION['counter']++; echo $_SESSION['counter']; リスト 1 のコードは、数字をインクリメントし、出力しています。ページを再読込するたびに、数字は増えていきます。このスクリプトを 2 台の異なるコンピューターで開くと、それらは別々のカウンターを持つことになります。どうなっているのでしょうか? それぞれのコンピューターはどのように識別されているのでしょうか? カウンター変数はどこに保存されているのでしょうか? セッションは ID で一意に定義されています。このセッション ID は、ユーザーのコンピューターに Cookie の状態で保存されていて、リクエストするたびにサーバ

    【翻訳】徹底解説! PHP のセッション - Qiita
    ko-ya-ma
    ko-ya-ma 2019/03/09
    まさに徹底解説