タグ

ブックマーク / qiita.com (2,925)

  • Dockerfile自信持って書けてますか?おすすめlintツール 「hadolint」について紹介 - Qiita

    はじめに Dockerfile、サッと書こうと思ったのに、書き始めたら意外と時間かかったりしますよね。 突き詰めるとすごく奥が深いなと思います。 公式のドキュメントでも、Dockerfileのベスト・プラクティスという形で公開してくれていますが、 これを毎回意識するのは大変です。 また、意識できていたとしても、複数人で管理していると、各個人のスキルレベルによって差が出てしまいます。 そんなときにおすすめのツールを見つけたので紹介します。 hadolintというツールです。 Haskell Dockerfile Linterの略だそうで、Dockerfileの静的解析を行ってくれるlintツールです。 hadolintを使うとこんな利点があります。 build前にシンタックスエラーなどに気付ける (地味にトライアンドエラーしてると時間うんですよね...) 自然とベストプラクティスに則ったD

    Dockerfile自信持って書けてますか?おすすめlintツール 「hadolint」について紹介 - Qiita
  • AstroでWordPressを爆速Headless化してみる - Qiita

    最近流行りのAstroフレームワークで、WordPressの静的Headless化がかなりお手軽にできたのでまとめてみました。 開発環境 Astro 2.0 WordPress 6.1.1 Local node 18.12.1 Mac OS 13.2(Ventura) Visual Studio Code(Astroプラグイン入り) Astroとは? Astroは、コンテンツにフォーカスした高速なWebサイトを構築するためのオールインワンWebフレームワークです。 (公式ドキュメントより) LocalでWordPressを構築 まずLocalを使って、ローカル環境にWordPressを構築します。 サイト名 Astro Blog(お好みで) サイトドメイン astro-blog.local WordPressの設定 WP AdminでWordPressのダッシュボードを立ち上げ、いくつかの

    AstroでWordPressを爆速Headless化してみる - Qiita
    mapk0y
    mapk0y 2023/02/15
  • 3大クラウド(AWS,Azure,GCP)をそれぞれプロダクションで実運用した感想(その2 Azure固有の優位性について) - Qiita

    3大クラウド(AWS,Azure,GCP)をそれぞれプロダクションで実運用した感想(その2 Azure固有の優位性について)Azure 3大クラウド(AWS,Azure,GCP)をそれぞれプロダクションで実運用した感想(その2 Azure固有の優位性について) はじめに 前回記事で3大クラウドに関して、各々のクラウドのシェアと将来性に関して感想を記述したところ、トレンド1位になったりと大変大きな反響をいただきました。 長い記事であったにも関わらず、目を通してくださった読者の皆様ありがとうございます! しかしながら、予想外のバズり方をしてしまってだいぶハードルが上がってしまったのと、ちょうど弊社でインパクトの大きい経営施策(シリーズBの資金調達/事業譲渡)が立て続けに執行されたことが相まって、記事第二弾の投下が遅くなってしまいました。 楽しみにしてくださっていた方々、申し訳ございません。 今

    3大クラウド(AWS,Azure,GCP)をそれぞれプロダクションで実運用した感想(その2 Azure固有の優位性について) - Qiita
  • 【初心者必見】AWS Fargate の使用方法徹底解説 - Qiita

    はじめに 「AWSにコンテナをデプロイして稼働させたい!」 と思っている方は多いかと思います。 ただ、「理解ができん」「むずくね?」と挫折する人がいます。 ポイントを抑えれば、簡単と言うことをこの記事ではお伝えしたいと思います。 今回の記事は、AWS Fargateの 「 Hello World !」 と思っていただけたらと思います。 この記事の対象者 Fargateを勉強したい方 Fargateに興味ある方 ※初心者向けです 題 1. 事前知識 マネージコンソールで操作をする前に以下を理解してから始めましょう。 ★コントロールプレーン & データプレーン まずは、ここの理解が必要です。Fargateを調べていると "ECS"やら "EKS"が出てきて混乱してしまします。その部分の整理をまずはしましょう。コンテナを運用していくにあたり、「コントロールプレーン」と「データプレーン」の2つに

    【初心者必見】AWS Fargate の使用方法徹底解説 - Qiita
  • GoでSMTPを使用したメール二段階認証ページを作ってみた - Qiita

    GoでSMTPを使用したメール二段階認証ページを作ってみた Goでユーザー名/パスワード認証とワンタイムパスワードを使用した二段階認証を作ってみました。イメージをつかむためのテストとして作成したものでそのまま使用できるようなものではありませんが、ご参考になればと思います。 また、駆け出しなのでプログラムのミスや単語の誤用があるかと思いますので、コメントにてご指摘頂けると嬉しいです。 開発環境 OS Microsoft Windows 10 エディタ Visual Studio Code Go SDK go1.20 windows/amd64 SMTPサーバーについて SMTPサーバーは何でもよいのですが、試験的に使うものなのでGmailを利用しました。GmailのSMTPサーバー機能を使用する場合、以前は普段のログインと同じパスワードが使用できたのですが、現在はアプリパスワードを取得する必

    GoでSMTPを使用したメール二段階認証ページを作ってみた - Qiita
    mapk0y
    mapk0y 2023/02/12
  • Google Colabで英語の論文を無料で翻訳する方法 - Qiita

    こんにちは!逆瀬川 ( https://twitter.com/gyakuse ) です。 今日は英語論文をサクッと翻訳する方法を共有します。 素晴らしい事前学習済みモデルの恩恵で素人でも1時間程度で実装できてしまいます。 なお、実装めちゃ汚いのですが、そのあたりはご容赦ください。 論文以外の文字埋め込みのないpdfを翻訳したい場合はこちらを参考にしてください: 論文全体の自動要約についてはこちら: 概要 翻訳モデル、レイアウト検知ライブラリとpdfを操作するライブラリを用いて外国語で書かれたpdfファイルを翻訳します。 翻訳にはフリーのニューラル機械翻訳モデルFuguMTを使用します。 この手法の嬉しさ DeepLおよびDeepL APIではpdf翻訳がサポートされていますが、行の切り替わりで別の文章と認識されることが多く、途中までの文章で翻訳されるため精度が落ちてしまいます この手法で

    Google Colabで英語の論文を無料で翻訳する方法 - Qiita
  • PostgreSQLのプライマリーキーはSERIALとUUIDのどっちが速いのか実験してみた - Qiita

    注意 この記事の実験は実際の運用を正確に反映していない恐れがあります(コメント欄の @hmatsu47 さんの投稿を参照)。 実務のアプリケーションでは異なる結果になる可能性もあるので、記事の内容はあまり鵜呑みにせず参考程度に留めておいてください。 ※「実務に近い環境で実験してみた」という投稿もお待ちしています! はじめに データベース(この記事ではPostgreSQLを対象とします)の主キーは1,2,3のような連番の整数値を主キーにするSERIALと、"00009236-b73c-4338-8ebd-e1f6c4f4fdd8"のようなランダムな文字列を主キーにするUUIDがあります。 それぞれメリットとデメリットがありますが、パフォーマンスについてはどうでしょうか?なんとなくSERIALの方がシンプルなぶん、速そうなイメージがありますが、実際はどうなのか調べてみました。 実行環境 Ma

    PostgreSQLのプライマリーキーはSERIALとUUIDのどっちが速いのか実験してみた - Qiita
  • Pythonで非同期投げっぱなしファイル書き出し - Qiita

    Pythonで2面バッファにロギングしつつ、非同期でファイルに書き出す処理を書いてみた。 Fire-and-forgetとちゅうらしい。いわゆるヤリ逃げされるタスク。 動作仕様 ①main()は100msec周期で「日付+ダミーデータ」のCSVデータをバッファに書き込む。 ②dataNumMax(100)個データがたまったらファイル書き出し関数(writeDataToFile)を非同期投げっぱなしで呼び出す。 writeDataToFile()は指定されたバッファをファイルに書き出す。 ③main()はバッファの書き出し面を切り替える。 ※ctrl-Cで抜けてください ※Python3.11です import datetime import asyncio from time import sleep # グローバルな2面のデータバッファ DataBuffer1 = [] DataBuff

    Pythonで非同期投げっぱなしファイル書き出し - Qiita
  • golangで便利ツール作ろうと思ったらos/execでハマった話 - Qiita

    はじめに PoCの初期段階などで、いくつかのシステムを組み合わせて動作させるような場面では、 リポジトリが分散し、開発者ごとに違う言語で小規模なシステムを構築していることがあります。 そんな中で、動作確認をしたり、不具合を再現させたりする際、以下のような手作業が発生していました。 1. システムAを実行してCSVを吐く 2. CSVをシステムB直下にコピーする 3. システムBを実行して結果を得る プログラマーの三大美徳の怠惰担当の私は、手動で何かをすることが嫌いなので、自動化するツールを作成していきます。 シェルスクリプトで書いても良いのですが、実行するデータパターンが複雑だったり、分岐したりすると面倒なので、私はgolangで作成することが多いです。 この記事では、そんな中でハマった出来事と、回避方法をご紹介します。 根解決していないものが多いので要注意&コメントお待ちしています。

    golangで便利ツール作ろうと思ったらos/execでハマった話 - Qiita
  • RictyフォントとRicty Diminishedフォントが正式にサポート終了となった話 - Qiita

    2023年1月現在、Qiitaのコードブロックでも採用されている有名な日語対応プログラミング用フォントのRictyとRicty Diminishedが、2023年1月28日をもって「正式に」サポート終了しました。具体的には、配布ページの冒頭に、以下の文章が追加されています。 Ricty および Ricty Diminished は、2010 年代前半には欧文・和文合成プログラミング用フォントとして先駆的でしたが、現在は前時代的な存在となっています。不具合もいくつか確認されています。良質なプログラミング用フォントが数多く登場していますので、それらの利用をおすすめします。 よって今後は、他のフォントを使用するのが良いでしょう。 移行先の候補となるフォントの一覧もあるので、ぜひ確認してみてください。 経緯 RictyフォントとRicty Diminishedフォントは、プログラミング用フォント

    RictyフォントとRicty Diminishedフォントが正式にサポート終了となった話 - Qiita
    mapk0y
    mapk0y 2023/02/07
  • Kubernetesに腰を据えて入門する方向けのロードマップ - Qiita

    背景 最近、「コンテナはもうわかってきたので、これからKubernetesについて腰を据えて勉強したいが、どのように勉強すればいいかわからない」という相談をいただくことがすごく多くなった。 必要に応じて必要なリソースの挙動などを調べてきたし、僕自身も知らないことばかりなので、全てを伝えることはできない。 とはいえ、「入門しにくいサービスが伸びにくい」というのは、間違いないので、Kubernetesに入門する上でこの順番で学習したら、基的な内容を身につけられるのではないかというロードマップを一つ公開しておくことで、これから業務でKubernetesを理解していく必要がある方の最初の一歩を助けられるかもしれないと思い、公開する事とした。(このQiitaのリンクを渡すだけで質問に回答できるという状態を作りたいという観点もある。) 自分の今の、Kubernetesに対する理解をうまく表現できてい

    Kubernetesに腰を据えて入門する方向けのロードマップ - Qiita
    mapk0y
    mapk0y 2023/02/07
  • gccの最適化指示-Ofastは危険 - Qiita

    はじめに gccの最適化指示である-Ofastをお気軽に使ってる記事を見掛けたので注意喚起的なやつです。 -Ofastとは何ぞや gccのドキュメントから引用 https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-Ofast -Ofast Disregard strict standards compliance. -Ofast enables all -O3 optimizations. It also enables optimizations that are not valid for all standard-compliant programs. It turns on -ffast-math, -fallow-store-data-races and the Fortran-specific -fstac

    gccの最適化指示-Ofastは危険 - Qiita
    mapk0y
    mapk0y 2023/02/06
  • Nostrプロトコル(damus)を触ってみた - Qiita

    はじめに Twitterの動乱に巻き込まれている皆様、いかがお過ごしでしょうか。 私も例外なく巻き込まれており、特にAPI利用していたアプリケーションを停止することになって非常に残念です。 そこでTwitter代替サービスを探すわけですが Mastodon MisskeyActivityPub系が来て、何か新たに面白そうなものが現れました。 Damus、そしてそのプロトコルのNostrです。 今回、こちらをちょっと触ってみたので紹介します。 とりあえず触ってみたい人はこちら AT Protocolも書きました。こちら 注意 Nostr Assets ProtocolおよびNostrトークンは、Nostrの名前を勝手に使用している無関係の(おそらく詐欺)通貨です。混同しないようにご注意ください。 最近の動向含めた最新情報(2023/12) こちらの記事が参考になります ▽それ、1個のアカ

    Nostrプロトコル(damus)を触ってみた - Qiita
  • Pythonでほぼ日手帳形式のmarkdownメモ帳を作ろう(1年分) - Qiita

    概要 私は1年に1度markdown形式のメモ用ファイルをたくさん作っている。これを日常のあらゆるメモとして使用している。自動生成するためのコードを書き直したので忘れないように記録しておく。 作るもの 以下のような構成のmarkdownファイルを作る。 . └── 2023 ├── 1 │ ├ 2-8.md │ ├ 9-15.md │ ├ 16-22.md │ ├ 23-29.md │ └ 30-5.md └── 2 │ ├ 6-12.md │ ├ ... │ ... │ └── 3 └── 4 └── ...

    Pythonでほぼ日手帳形式のmarkdownメモ帳を作ろう(1年分) - Qiita
  • Pythonでtomlファイルを用いたlogging - Qiita

    [tool.poetry] name = "template" version = "1.0.2" description = "ロガー使用例" authors = ["Snorlax"] [tool.poetry.dependencies] python = "^3.11.0" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" # logの設定 [logging] version = 1 [logging.formatters.simple] format = "[%(levelname)s] %(name)s %(asctime)s - %(message)s " [logging.handlers.consoleHandler] class = "log

    Pythonでtomlファイルを用いたlogging - Qiita
  • Ryzen 9 7950XおよびApple M1 Maxの内積計算速度について - Qiita

    背景 最近Ryzen 9 7950xを載せたPCを作ったのですが思ったより数値計算の速度が出なかったので、よく出てくる基的な演算性能を調べてみました。今回は巨大なベクトルの内積の計算速度を対象とします。なお筆者はHigh-performance computingの専門家ではないので以下には間違いが含まれているかもしれません。 測定対象 10億次元のベクトルの内積を倍精度で計算する以下のプログラムの計算速度を測ります。特にOpenMPを用いた並列化のよりどの程度速くなるかを主眼としています。 #include <vector> #include <iostream> #include <omp.h> #include <chrono> #include <ios> #include <iomanip> template<typename RealType> void vec_inner_

    Ryzen 9 7950XおよびApple M1 Maxの内積計算速度について - Qiita
    mapk0y
    mapk0y 2023/02/03
  • Makefile で第2引数を使う方法 - Qiita

    Makefile で任意の第2引数を扱えるようにする小技を紹介します。 簡単な表記で2つの引数を扱える上に複数個の対象をデフォルト指定したり変更することもできます。 この方法を使えば --jobs オプションで make タスクの並列化もできます。 記事で紹介するスクリプトは gist で公開しています。 https://gist.github.com/algas/377ca9d3f11916af39951ccd599a3b88 解決した課題 make で2つの引数(1つ固定+1つ任意)を扱えるようにした 第2引数を複数個デフォルト設定かつ変更可能にした 上記の2つに加えて jobs オプションでの make タスク並列化が効く形式を保った 対象読者 Makefile を書く必要があるけどイマイチ書き方がよくわからない人 シェルスクリプトの方が自由度が高いと思いつつ Makefile を

    Makefile で第2引数を使う方法 - Qiita
    mapk0y
    mapk0y 2023/02/01
  • なぜ Pod Security Policy (PSP) は Kubernetes 1.21 から非推奨になったのか? - Qiita

    なぜ Pod Security Policy (PSP) は Kubernetes 1.21 から非推奨になったのか?SecuritykubernetesPSPCloudNativePodSecurityPolicy 「Pod Security Policy (PSP) は Kubernetes 1.21 から非推奨 (deprecated) です!」という情報はよく目にするものの、肝心の「なぜ?」が整理された記事は見かけないと思い、PSP が抱えている課題や Kubernetes コミュニティでの議論の経緯などを調査してみました。 目次 Pod Security Policy (PSP) とは Pod Security Policy (PSP) が抱えている課題 今後の動向 おわりに 参考文献 Pod Security Policy (PSP) とは この記事の題である「なぜ PSP

    なぜ Pod Security Policy (PSP) は Kubernetes 1.21 から非推奨になったのか? - Qiita
    mapk0y
    mapk0y 2023/01/31
  • Terraform だけだとハードモードなので Terragrunt を使おう - Qiita

    Terraform はそのままだと管理が大変 みなさん IaC (Infrastructure as Code) してますか?パブリッククラウドをIaCするなら、 Terraform が便利ですね! しかし、格的に使い始めると、こういう問題がすぐに出てきます。 複数環境の楽な分け方を知りたい ワークスペースはなんか嫌だ とはいえ、環境間で共通するボイラープレートをどうにかしたい 環境内で適用するモジュールを細分化・分岐したいけど面倒 環境ごとに使うモジュールを切り替えたい テスト環境はAuroraではなく安いRDSにしたい モジュール(tfstate)を分割して小さい範囲で適用したい 大きなモジュールは影響範囲がわからないし、差分計算にそれなりに時間がかかってしまう 分けたモジュールを一括適用するのが面倒 モジュール間の依存関係がわからない モジュール(tfstate)間での値参照が面倒

    Terraform だけだとハードモードなので Terragrunt を使おう - Qiita
  • Cloudflare D1 のチュートリアルをやってみる - Qiita

    2022年に発表され話題となっている Cloudflare D1、未だアルファ版のようですがすでにいろいろと触ってみた方も多いかと思います。 自分はVantiqという会社で自社製品であるVantiq Platform 上のアプリケーション開発・アーキテクチャ設計を業務として行っているわけですが、様々なクラウドサービスと自社製品をどう組み合わせたら面白いことができるかなと日々考えたりもしています。 Cloudflare D1 も気になっていたところで、公式のチュートリアル をやってみて、実際に手を動かして概要を理解してみたいと思います。 Cloudflare D1 とは Cloudflareが提供する、エッジロケーションに配置されたSQLiteベースのリレーショナルデータベースです。 概要は公式ドキュメントや他に秀逸な記事があるので読んでいただくとして、個人的に興味深いのは 分散データベース

    Cloudflare D1 のチュートリアルをやってみる - Qiita