技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

2020-01-01から1年間の記事一覧

Kubernetesさまざまなデプロイ形式について

Kubernetesさまざまなデプロイ形式について Kubernetesはさまざまなデプロイ形式をサポートしています。 自動復旧やスケーリング、コンテナ群のアップデートなど、デプロイに関する作業の一部はKubernetesによって自動化されています。 Kubernetesについては…

Docker環境をオーバーライドする方法(Doocker-compose.override.yml)

Docker環境をオーバーライドする方法 Composeファイルを複数利用したいケースがあります。 例えば、異なる環境、異なる作業フローに合わせてカスタマイズするケースなどです。 その時によく利用するのがDoocker-compose.override.ymlファイルを利用する方法…

HTTPのキャッシュについて

WEB

HTTPでキャッシュを利用する方法 キャッシュとはサーバーへのアクセスの頻度や通信量を減らすためにクライアント側で一度とった情報を保存しておき、必要になった時にあらかじめ取得してあった情報を利用することを言います。 ■ キャッシュを利用するメリッ…

Raisでバルクインサートする方法

Raisでバルクインサートする方法 Railsでバルクインサートする方法を記述します。 バルクインサートとは? ↓ qiita.com では、Railsでバルクインサートするにはどうすれば良いのでしょうか? フルスタックフレームワークであるRailsであればバルクインサート…

エラーの詳細をクライアントに返す方法

WEB

エラーの詳細をクライアントに返す方法 エラーが発生した時はステータスコードをクライアントに返却します。 クライアントサイドに起因するエラーは400番台。 サーバーサイドに起因するエラーは500番台。 しかしステータスコードだけでは、詳細情報がわから…

psqlコマンドでローカルに入る方法

Dockerのdbコンテナでpsqlコマンド打つ方法 psql -h 127.0.0.1 -p 15432 -U postgres -d hoge_development コネクションオプション Connection options: -h, --host=HOSTNAME database server host or socket directory (default: "local socket") -p, --por…

データフォーマットの指定方法

データフォーマットの指定方法 クライアント側で欲しいデーターフォーマットをどのようにサーバーに伝えれば良いのでしょうか? 1. クエリパラメータを使う方法 2. 拡張子を使う方法 3. リクエストヘッダでメディアタイプを指定する方法 以上の3パターンが…

ログインとOAuth2.0

WEB

ログインとOAuth2.0 OAuth は基本的には広く第三者に公開される API において認可(authorization)を行うために 用いられます。 よくWebサービスにログインする時にtwitterでログインするなどのボタンがあると思いますが、その裏側の構造はこのOAuth2.0が利…

Kubernetesとは....

kubernetes KubernetsとはGoogleが開発した、コンテナ運用の自動化をする為のコンテナオーケストレーションシステム。 1. Dockerホストの管理 2.サーバーリソースの空き具合を考慮したコンテナ配置 3.スケーリング 4.複数のコンテナ郡へのアクセスを取りまと…

POSTとPUTの違い

WEB

POSTとPUTの違い POSTでもPUTでもリソースを作成できます。 うん、じゃあ何が違うの? POST POSTはリソースの追加の時に利用 POSTでリソースを作成する場合、クライアントはリソースのURIを指定できない。 なのでURLはこんな感じになる POST /questions PUT …

Railsのform_withのあれこれ【殴り描き】

form_withのあれこれ Rails5.1以降に登場したform_withの利用方法のメモ残す。 Rails5.1以前に利用されていたform_forとform_tagは非推奨になったので基本利用しないようにしましょう。 form_withではモデルに関連するもの、関連づかないフォームのどちらで…

docker pruneでDocker環境を綺麗にする方法

docker pruneでDocker環境を綺麗にする方法 長期間Dockerを利用し続けると多くのDockerコンテナやイメージがディスクを専有していきます。 そのような場合には各種のpruneコマンドを使って不要なイメージやコンテナを一括削除できます。 docker container pr…

docker container run --rmで停止の際にコンテナを破棄する

docker container run rmで停止の際にコンテナを破棄する コンテナを停止後にディスクに保持しておく必要が無いことが自明なユースケースも存在します。 その場合は--rmオプションをつけて、コンテナを実行停止時にコンテナ破棄しましょう。 docker containe…

DockerイメージとDockerコンテナの関係性

DockerイメージとDockerコンテナの関係性 dockerイメージからコンテナを作成するコマンド dockerコマンドって忘れがちですよね.... Dockerイメージはdocker hubに公開されているものものであれば、docker image pullコマンドでダウンロードすることが可能で…

requireとloadの違い

requireとloadの違い 毎回忘れるので備忘録として残します。 Rubyのrequire Rubyでrequireを利用する時は以下のようなケースです。 1. 組み込みライブブリ以外(標準ライブラリ)を読み込むとき。 2. 自分で作成したRubyプログラムを組み込む場合。 1. 組み込…

文章の書き方

文章の書き方 コロナウィルス の影響もあり昨今ではオンラインでメールやチャットでコミニケーションを行うケースが増えてきました。 その時に気をつけるポイントを羅列します。 情報が抽象すぎる 曖昧な返事が多い 文章が長くダラダラ、ノイズ(無駄内容)…

Heroku Postgres(DB)をローカルから操作する方法

はじめに PaaSシステムのHerokuを利用しているのですが、DBを使用する際に、直接SQLを手動で実行したいケースが発生しました。 (正式にはPostgreSQL をチューニングしたHeroku Postgresを利用しています) https://www.heroku.com/postgres ■ 手順 STEP1. He…

Rubyのinitializeメソッドの引数の順番の依存を取り除く方法

Rubyのinitializeメソッドは引数の順番に依存している 次の例では、Hogeのinitializeメソッドは次の3つを引数をとります。(hikisuu1,hikisuu2,hikisuu3) デフォルト値はなく、それぞれの引数が必須です。 Class Hoge def initialize(hikisuu1, hikisuu2, h…

Kintoneのwebhookを利用してRailsアプリと連携させる方法

Kintoneのwebhook利用方法 サイボウズ株式会社が提供しているKintoneのWebhookを利用してRailsアプリと連携する実装をしました。 簡易的ですが、実装方法を記載します。 Webhookとは WebhookとはWebサービスであるイベントが実行された時に外部サービスにPOS…

RailでCSV出力する方法

RailでCSV出力する方法 RubyのCSVを利用すれば簡単にCSV出力が可能です。 環境 ruby 2.6.3 Rails 6.0.0 View # ポイントは引数にformat: :csvを指定することです。 # これでcsv形式でのリクエストを送ることができます。 <%= link_to "csvで出力する",hoges_…

テストについて(WEB開発)

テストについて(WEB開発) 毎回手作業でテストコードを書くのは非効率的でコード設計が変更される度に毎度手作業で動作確認する必要があります。 出来る限り、自動テストにすることで労力を減らしましょう テストを書くことのメリット 1, テスト全体にかか…

Lamda

Lamdaとは? Lambdaとは、AWSの提供するサーバーレスコンピューティングサービスです。 サーバーレスコンピューティングという用語は、AWSの公式で以下のように説明されています。 非常に分かりやすかったので引用させて頂きます。 サーバーを考慮することな…

個人開発でしくじったポイントまとめ

個人開発でしくじったポイントまとめ 今年初めに「DoubleWorker」という副業口コミサイトを作成しました。 リリースはしたのですが、結局途中でモチベーションが下がりやめてしまいました。 次の個人開発ではより良いサービスを開発するためにも、今回の開発…

マネタイズで稼げ!

マネタイズ 個人開発をする上でマネタイズ方法を考えるのは必須です。 マネタイズ方法を紹介します。 Limit features to paid users You make your app with every feature you want in it, launch it, then see what people use extensively and which feat…

ghqでレポジトリ管理する

ghqでレポジトリ管理する(途中) レポジトリ管理にghqを利用するようにしました。 ghqを利用することで、色々とリポジトリをcloneしてきてどこになにがcloneされいてるかわからないという問題おこらなくなります。 ghqインストール(Macbook) brew install g…

dotfiles で資産を気づく

dotfiles で資産を気づく(途中) CLI環境で開発していく上で自分専用のCLI環境にすべく、色々と開発環境をカスタマイズすると思います。 ただ、カスタマイズした内容や設定環境はブラックボックスになりやすい特徴があります。 そこで、GitHub で管理するの…

fish shell

fish shell 現職の出来るエンジニアの人より、君はfish shellを利用すべきだねと言われました。 脳死YESマンなので、とりあえずzsh shell -> fish shellに変更しました。 その時の作業メモを残します。 fishとは? Friendly interactive shellの略称だそうで…

Hash から文字列でもシンボルでも値を取り出す

Hash から文字列でもシンボルでも値を取り出す 先日のプルリクでhashの文字列とシンボルで取り出す実装をそれぞれ分けていたら、コメントで「with_indifferent_access」を利用してください。というコメントが.... なんだwith_indifferent_accessとは?と思い…

RubyとJavaScriptの == と === の違い

Rubyの == と === の違い Rubyで等値を判断する為のメソッドで有名なのは以下の通り 1. equal? 2. == 3. eql? 4. === == ・同じデータ型で、かつ同じ値だったら、trueを返す ・値が同じであっても、データ型が異なればfalseを返す 1 == 1 => true 1 == "1" #…

ポモドーロテクニック

ポモドーロテクニック コロナの影響で在宅で仕事を始めるようになり、個人で集中して仕事する必要が出てきた。 色々と試してきたが、ポモドーロテクニックが一番効果があった。 手順 シンプルです。 というか、シンプルすぎます。 1. 25分で鳴るようにタイマ…