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

  • Dockerコンテナ化したJavaアプリのヒープのサイズ調整オプションの検証 - Qiita

    はじめに こんにちは。私は弊社で企画・運営している、Dot to Dotという個人の同意の元に様々なデータを連携することができる分散型データ連携プラットフォームの開発・保守を担当しています。 Dot to Dotではデータ連携をしたい事業者向けに、データ連携用の通信モジュールを、Spring Bootを使用したJavaアプリケーションとして作成したDockerイメージ形式で配布しています。 昨今ではDockerでアプリケーションを実行するのが当たり前の風潮になりつつありますが、実際に番で適用する際に必要なチューニングの話はあまり聞かないかと思います。 そこで記事では、JavaアプリケーションをDockerコンテナで運用する場合に必要な、ヒープのチューニングについて説明します。これからJavaアプリケーションをDockerコンテナ化して運用したい人や、すでに運用中でもヒープチューニングし

    Dockerコンテナ化したJavaアプリのヒープのサイズ調整オプションの検証 - Qiita
    mallowlabs
    mallowlabs 2024/04/21
    “-XX:InitialRAMPercentageや-XX:MaxRAMPercentage”
  • 【AWS】ぼくのかんがえたさいきょうの運用・監視構成 - Qiita

    AWSのインフラを運用・監視する上で使いやすいと思ったサービスを組み合わせて構成図を作成しました。それぞれのサービスの簡単な説明と類似サービスの紹介、また構成の詳細について説明していきます。 (開発で使用するようなサービスも紹介しますが、あくまでも運用・監視だけの構成です。) 各個人・企業によって環境は違うと思いますし、使いやすいと思うサービスは人それぞれだと思うので、これが正解という訳ではありませんが、参考にしてただければ幸いです。 参考になった教材を紹介した記事も作成しました。是非読んでみてください! 【AWS】さいきょうの運用・監視構成を作成するのに参考になった書籍 インフラエンジニア1年生がプログラミングを勉強するのに使った教材 全体図 こちらがAWSにおける"ぼくのかんがえたさいきょうの"運用・監視構成です。複雑で分かりづらいかと思うので、詳細に説明していきます。最後まで読めばこ

    【AWS】ぼくのかんがえたさいきょうの運用・監視構成 - Qiita
    mallowlabs
    mallowlabs 2023/02/23
    監視は Grafana に寄せる
  • 技術顧問との1on1で見積もりには3種類あることを教えてもらった - Qiita

    はじめに 記事はモチベーションクラウドシリーズ Advent Calendar 2022の17日目になります。 自分は外部の技術顧問の方に月に一回のペースで1on1する機会をもらっています。 今回はその中で話したことを共有します。 ※公開するにあたって分かりやすさを重視して脚色しています。 見積もりに対する課題感 ぼく「約束は開発を遅らせるという記事を最近読んだのですが、その通りだと思ったのですよね。」 さて、チームの外に対して約束するために「この機能1ヶ月で出せるよね?」とプロダクトの人やマネージャーに聞かれたら。これは返事に悩む。「ラフで構わないから」って言われて伝えたら、それがコミットメントになってしまったのを過去に何度も見たことがある 約束してはいけないと言いたいわけではない。約束が必要な場合がほとんどだと思う。ただ、その約束は開発を遅くするんだなぁ。だから、約束せずに気楽に開発

    技術顧問との1on1で見積もりには3種類あることを教えてもらった - Qiita
    mallowlabs
    mallowlabs 2022/12/24
    見積もりには「見積もり」「コミットメント」「ターゲット」の3種類がある
  • GitHubActionsのSelf-hosted runnerを必要な時だけ起動する - Qiita

    以前書いた「GitHubActionsのSelf-hosted runnerで、SpringNativeのビルド時間を短縮する」の続きです。 SpringNativeでNativeイメージ化する際のビルド時間の短縮に「Self-hosted runner」に強めのEC2インスタンスを使用してビルド時間の短縮した話を書きました。 https://qiita.com/renave/items/561904b2988ebb6f0534 今回は費用の節約のために「Self-hosted runnerを必要な時だけ起動する」ようにしたお話です。 こちら、強めのEC2インスタンスなので起動しっぱなしにすると結構お金がかかります。 使うたびに手動で起動/停止するのも大変です。 そこで、 1:GHA実行時に標準のUbuntuのrunnerを使用し、Self-hosted runnerインスタンスを起動。

    GitHubActionsのSelf-hosted runnerを必要な時だけ起動する - Qiita
    mallowlabs
    mallowlabs 2022/04/13
    サステナ〜
  • TailwindCSSは複雑性を足すだけで、何もしていない(和訳) - Qiita

    釣り針のクソデカいタイトルですが、こちらの記事はロンドンのフルスタックNode/JS/TS開発者のBrian Boykoさんが4月20日にDEV Communityに投稿した記事:TailwindCSS: Adds complexity, does nothing.の和訳となります。(6/28原文著者の掲載許可取得済み) こちらの記事を5月7日にtwitterで10万人のフォロワーを持つフロントエンド開発者でインフルエンサーのSara Soueidanさんがリツイートし、それにTailwindCSSの作者 Adam Wathanさんが反応したことで炎上。議論を巻き起こした様です。(こちらの炎上事件の詳細は: Tailwind CSS批判ブログ記事の紹介ツイートへの攻撃で作者が炎上 などでご確認ください) さてさて、日ではフロントエンドのオピニオンリーダー的な影響力の強いエンジニアにも概ね

    TailwindCSSは複雑性を足すだけで、何もしていない(和訳) - Qiita
  • もしあなたが急にAndroidアプリを業務で作るはめになった場合の選択肢(2021年初頭版) - Qiita

    記事はAndroid Advent Calendar 2020の2020/12/01分です。 初っ端ということなので、2020年末と2021年頭でのAndroidエンジニアとして初めて業務でやる場合に抑えておいたほうが良い最低限の部分を書いていこうと思います。(ツッコミ待ちです) 対象 2021年3月ぐらいまでに !!業務!! でAndroidアプリを作らされる事になった可愛そうな人が居たとします この人は手続き型言語でオブジェクト指向プログラミングができる知識があり、Androidアプリもなんとなく趣味で作ったこともあるぐらいのレベル感です(なので上長からいきなりお前Android担当なと言われた) 最低限のAndroidアプリの作成の知識はあるものとします(画面の表示にはActivityがいるよとかは書かない) ゲームは対象外です 業務でAndroidアプリを作ることを想定しています

    もしあなたが急にAndroidアプリを業務で作るはめになった場合の選択肢(2021年初頭版) - Qiita
    mallowlabs
    mallowlabs 2020/12/05
    急にAndroidアプリを業務で作るはめになったら読む
  • 開発チームの生産性・健全性を客観的に知るためにリポジトリ履歴から機械的に可視化するツールを作った - Qiita

    はじめに ソフトウェア開発のチームの生産性や健全性というものは、内部の体感的として理解できるものの、外部の人間からは見えにくいものです。こういった情報の非対称性は開発チーム外の人々との関係の中での問題の原因になってきました。 また、複数の開発チームやプロダクトを束ねるEM、CTOや、管理職にとってそれぞれの状況を客観的な数字やグラフで可視化することは、全体的な戦略を考える上でも重要な参考情報になります。ですが、アンケートやプロジェクト管理を増やすほど、どんどんと開発メンバーに負担をかけてしまうことになり、計測のし過ぎによる疲れなども誘発してしまいます。 稿では、gitリポジトリのログ情報から、いくつかのグラフを生成し、チームの状況を可視化するためのツールgilotを作成したので、その目的と意図、そして使い方、注意点を解説します。 アプローチ方法 gilotのアプローチは、git log

    開発チームの生産性・健全性を客観的に知るためにリポジトリ履歴から機械的に可視化するツールを作った - Qiita
    mallowlabs
    mallowlabs 2020/06/08
    チームが安定してコードを書けているかをジニ係数で可視化する
  • エンジニアリングマネージャ/プロダクトマネージャのための知識体系と読書ガイド - Qiita

    記事は、Engineering Manager Advent Calenderの1日目です。 はじめに エンジニアリングマネージャ(EM)と呼ばれる職務を設置する企業が増えてきました。 私たちの主催したイベントEOF2019でも700名近い方に参加していだき、また多くの方にご協力いただき成功裏に終わることができました。 EM Meetup/EM.FMなどのムーブメントの中心の一翼を担わせていただき、その高まりを感じる一方で不安も感じます。このエンジニアリングマネージャという職務は非常に多岐にわたるケースが存在していますし、必要だとされるスキルもまちまちです。そして、多くの場合、その企業のステージや状況ごとに求めるものは違います。また、求めていることを明文化することすらされていないケースも存在します。 このことから、エンジニアリングマネージメント自体が一時的な潮流として消費され、消えていっ

    エンジニアリングマネージャ/プロダクトマネージャのための知識体系と読書ガイド - Qiita
    mallowlabs
    mallowlabs 2019/12/07
    書籍がいっぱい紹介されてる
  • ソシャゲエンジニアの自分が開発に必須だなと思った知識(MySQL編) - Qiita

    この記事の目的 自分は、とある会社様の元でソシャゲAPI 開発をさせていただいています。 ソシャゲは、リリース時やイベント時などに集中アクセスされやすく、負荷軽減の知識がない状態で開発を行ってしまうと、運用時に緊急メンテ祭りになりやすいジャンルかなと思っています。 これまで培ってきた MySQL の知識ですが、脳内メモリ量の関係上、暗記できないのでメモしておこうというのが主目的です。 ここ数年ほどソシャゲ開発しかしていないため、偏っている感がある内容ですのでご注意ください。 概要 ストレージエンジンは InnoDB。メインで扱っている MySQL バージョンは 5.6。 記事の内容ですが、これらのキーワードを見て、おおよそ分かる方は読む必要はないかと思います。 インデックス系 クラスタインデックス カバリングインデックス EXPLAIN で注意するべき値 トランザクション系 MVCC

    ソシャゲエンジニアの自分が開発に必須だなと思った知識(MySQL編) - Qiita
    mallowlabs
    mallowlabs 2019/09/28
    MySQL 全くわからない。俺たちは雰囲気で MySQL を使っている。
  • "Building Fault Tolerant Microservices" というプレゼンがとても良かった話 - Qiita

    Microservices Advent Calendar 2017 7日目の記事です。 昨今、microservicesという言葉を聞かない日がないくらい、Netflixを始め、多くの企業がmicroservicesを導入したシステムを運用し、そのノウハウが蓄積されています。 (このAdvent Calendarが盛り上がってないのはちょっと寂しいですね) ですが、正しくmicroservicesを導入することはとても難しいですし、正しく導入できたとしても、運用している内に複雑性はどんどん増していき、様々な困難に直面することになります。 microservicesって、必要となる知識が多岐に渡っていて、どこから手をつけたらいいの?って感じで、体系立てて知識を蓄えるのが難しいなーと思い、あれこれとを読んだり、発表を見たりしていますが、"正しくmicroservicesを導入する" という

    "Building Fault Tolerant Microservices" というプレゼンがとても良かった話 - Qiita
    mallowlabs
    mallowlabs 2018/11/10
    マイクロサービス化で問題になったこととその対処法がまとめられている
  • トークンを利用した認証・認可 API を実装するとき Authorization: Bearer ヘッダを使っていいのか調べた - Qiita

    トークンを利用した認証・認可 API を実装するとき Authorization: Bearer ヘッダを使っていいのか調べたAPIOAuthWeb TL;DR HTTP でトークンを利用した認証・認可をする手法として RFC 6750 がある OAuth に限らず、トークンを利用して認証・認可する機構の一部として Authorization: Bearer ヘッダを使うことができる 使い方について詳しくはこの記事の下のほうに書いた 要求 トークンを利用した認証・認可機構を持つ API を作りたい クライアントがトークンを HTTP リクエストに含めて送信し、サーバはトークンを検証してリソースへのアクセスを許可したい Authorization: Bearer トークン ヘッダでトークンを送る API あるよね、ああいうやつ 疑問 Authorization: Bearer ヘッダは OA

    トークンを利用した認証・認可 API を実装するとき Authorization: Bearer ヘッダを使っていいのか調べた - Qiita
    mallowlabs
    mallowlabs 2018/04/16
    “OAuth の仕様の一部だが、 OAuth に限らず一般的な HTTP 認可の手段として使える”
  • 標準出力も標準エラー出力もログに記録しつつ、画面に標準エラー出力を出したい - Qiita

    SHELL=/bin/bash MALITO=alert@example.com 0 0 * * * /path/to/command そして、以下のようなポリシーでログを取りたい。 標準出力も標準エラー出力も、全部ログに記録する。 標準エラー出力があった場合は、メールを送信する。 /path/to/command >> /var/log/some ですと標準エラー出力がログに記録されませんし、 /path/to/command >> /var/log/some 2>&1 だと標準エラー出力に出力されずメールが送信されません。 解決策 SHELL=/bin/bash MALITO=alert@example.com 0 0 * * * (/path/to/command 2>&1 >> /var/log/some) | tee -a /var/log/some 解説 まず前半の /path

    標準出力も標準エラー出力もログに記録しつつ、画面に標準エラー出力を出したい - Qiita
    mallowlabs
    mallowlabs 2018/04/13
    サブシェル、そういうのもあるのか。
  • GoogleフォームとGASで請求書のPDFを自動生成する - Qiita

    はじめに 業務で必ず必要になる請求書。皆さんはどうやって作成していますか? 最も有名な請求書作成サービスはおそらくMisocaですが、Misocaは弥生に買収されて9月より完全にサービスが有料化し、なかなか便利かつ無料に使えるサービスがなかったりします。 Excelや時にはVBAも使っている会社もありますが、ローカルでの作成は請求書フォームの改定が徹底されなかったり、請求書の作成履歴が管理されなかったりと、不便な点がたくさんあります。 そこで当社では、Googleフォームを使用した請求書作成システムを運用しています。 これにより、 作成履歴が残り、改竄を防止できる フォーム送信時に自動でPDFが生成されてGoogleドライブに保存される ファイル名を請求書番号、請求先名など自由にカスタマイズし、自動で設定できる などを実現することができます。 フロー 図の青色部分はGoogleフォームのサ

    GoogleフォームとGASで請求書のPDFを自動生成する - Qiita
    mallowlabs
    mallowlabs 2018/03/04
    Google Spreadsheet は PDF を Google Drive に保存できる
  • もう管理画面のフロントコードを書く必要はありません、そう Viron ならね。 - Qiita

    管理画面のフロントエンドコードを書く時代は終わりました。 Vironがあれば、OpenApi(Swagger)でAPI定義を行い、実装するだけで管理画面が完成します。 そしてこれはOSSです。誰でも自由にお使いいただけます。 概要 Vironは、複数の管理画面を管理できるよう設計された、管理ツールマネージメントコンソールです。 APIサーバーとOAS2.0 jsonファイルを作成するだけで、管理画面が一つ完成します。 経緯 私の会社では、大小さまざまな自社サービスが開発・運用されています。 管理画面をサービス・サイト毎に作っていましたが、それには限界がありました。 エンジニアからしたら、管理画面用のデザインやAPIを作らなきゃいけない。工数がかかる。 運用・プロデューサーは、UIUXが管理画面で違うため、操作を覚えるという学習コストが高い。 さらに外から見たいときにスマホから見れないし、

    もう管理画面のフロントコードを書く必要はありません、そう Viron ならね。 - Qiita
    mallowlabs
    mallowlabs 2018/02/12
    Swagger に対応した API サーバさえ作れば、リッチな管理画面を作ってくれるらしい
  • Web開発でもアプリ開発でも使える状態遷移図を自動生成するツールを作りました - Qiita

    概要 先日こちらの記事でgraphvizを使って状態遷移図を作成する方法をご紹介したのですが、これでもまだ複雑で記述量も多いのでとっつきづらいと思い、このgraphvizのソースコードを自動生成して画像を出力するコマンドラインアプリケーションを作成しました。 このアプリケーションはPyagram(ぱいあぐらむ)といい、その名前から察しがつくかと思いますがPythonを使用して開発されました。開発期間は1日でした。 このPyagramを使うことで複雑な状態遷移図を比較的簡単に作成することができるようになりますので、以下でご紹介したいと思います。 状態遷移図の描き方についてはこちらの記事を参考にしています。 出来上がりの図は以下のような感じになります。 図には幾つかのオブジェクトがあります。 図のタイトル(最上段) ビュー(二重丸) サーバサイドの処理(灰色の背景の一重丸) 画面遷移(破線の矢

    Web開発でもアプリ開発でも使える状態遷移図を自動生成するツールを作りました - Qiita
    mallowlabs
    mallowlabs 2018/02/12
    画面遷移図を作るための DSL。画像は graphiviz。
  • Amazon Echoで「○○をつけて」と言って家電を操作する - Qiita

    はじめに Amazon Echo + Nature Remoで照明やテレビなどの家電を操作できるようにしました。スマートスピーカーやスマートリモコンは発展途上のため、まだ呼び出し方法にクセがありますが、試行錯誤の上でいい感じに操作できるようになりました。そこで、考え方ややり方を情報共有します。 ここではスマートリモコンとしてNature Remoを使っていますが、他のスマートリモコンでも応用できそうです。スマートスピーカーが成熟するとこのような工夫は不要になるでしょうが、逆にハックする楽しみを味わえるのは今ならではです。 最終的に、Node-RED Alexa Home Skill Bridgeという仕組みを使いました。詳しくは後述します。 操作する家電 リモコン操作のシーリングライト (On/Off, 明暗操作可) テレビ (Bravia) PlayStation4 (torne) 用意

    Amazon Echoで「○○をつけて」と言って家電を操作する - Qiita
    mallowlabs
    mallowlabs 2018/01/08
    今は IFTTT 使ってて○○をオンをトリガーっていうの面倒なので、Node-RED 頑張ってみる
  • お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考える - Qiita

    お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考えるmodelDDD設計 みなさんは、Modelと言われたときに何をイメージしますか? こんなアレを思い浮かべた方も多いかと思います。 マサカらせてください。やはりお前らのModelは間違っている。 アレをModelと呼ぶと何が不味いのか すみません、早速言い過ぎました。半分は正しいです。MVCの発明者、Trygve Reenskaug氏による1979年の説明によると、 Models represent knowledge. A model could be a single object (rather uninteresting), or it could be some structure of objects. 1 このように「Modelは単体のオブジェクトであっても

    お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考える - Qiita
    mallowlabs
    mallowlabs 2018/01/08
    “アレのことはもうModelと呼ばず、ドメインオブジェクトと呼ぼう!”
  • HTTPSの静的コンテンツをホストするならs3よりNetlifyが俺の求めていたものだった - Qiita

    事の発端 社内から静的コンテンツをホストしてHTTPS使える環境が欲しいんだよねー。と要望を受けた。 私はAWSが得意なので考えた。 「静的コンテンツならs3か」 「s3でHTTPSならs3の前段にCloudFrontでSSL証明書入れるか(ちょっと面倒だな)」 「CloudFrontにSSL入れるなら無料のACMだな」 「ACM使うならメール認証だしSES要るな(面倒くせぇ)」 「SESでメール受信するならs3・・・・・・・・・・」 ガシャーン!(ちゃぶ台の音) 「俺がしたいのはこれじゃない感」 ということで 何か上の環境を一発で作れるツールあるかなぁ。と調べているとNetlifyというサービスが引っかかった。 Netlifyってなに? どうも静的コンテンツをホストしてくれて、SSLが使えるとな。Githubと連携して? ふむふむ。使ってみよう。 ということでGithubにリポジトリを作

    HTTPSの静的コンテンツをホストするならs3よりNetlifyが俺の求めていたものだった - Qiita
  • LambdaでAWSの料金を毎日Slackに通知する(Python3) - Qiita

    はじめに 個人アカウントは基的に無料枠で運用しているので、少しでも請求がある場合はいち早く気づきたいです。 先日、とあるハンズオンイベントで使ったリソースを消し忘れて、最終的に$30ぐらい請求が来てしまいました。。。 CloudWatchで請求アラートは設定していますが、閾値超えが想定の場合、当然見逃すことになり、最終的な請求額に驚くハメになります。 これを防ぐためにLambdaで毎日SlackAWS料金を通知することにします。 先日LambdaPython3に対応したので、せっかくだし勉強がてらPython3で実装したい。 ネット上にはNode.jsでの実装例が多いようで、今回はこちらを参考にPython3で実装してみます。 必要なもの Slack incoming-webhooks URL 取得についてはこちらを参考に 適当なchannel lambda-uploader req

    LambdaでAWSの料金を毎日Slackに通知する(Python3) - Qiita
    mallowlabs
    mallowlabs 2017/06/24
    簡単
  • 期間を絞った処理がしたいけどcreated_atにインデックスがなくて辛いときの処方箋 - Qiita

    Log.where('created_at > ?', 24.hours.ago).where(type: 'error') って叩きたいのだけど、 created_at にインデックスなんて張ってないので全力でフルテーブルスキャンになって結果が返ってこない😱 前提 created_at にインデックスなんて張ってない でも id は auto_increment でだいたい日時順に振られてることが期待できる 解決策 インデックスがなければ自分で二分探索すればいいじゃない! ってのを書いたのでご活用ください。 class ActiveRecord::Base # @param [Time] created_at # @return [ActiveRecord::Base] def self.find_closest_created_at(created_at) return if sel

    期間を絞った処理がしたいけどcreated_atにインデックスがなくて辛いときの処方箋 - Qiita
    mallowlabs
    mallowlabs 2017/04/17
    ナルホディウス