タグ

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

  • 不揮発メモリに対するLinux周辺動向 (2021年版) - Qiita

    はじめに この記事は Fujitsu Advent Calendar 2021 25日目の記事です。(記事は個人の見解であり、組織を代表するものではありません。) さて、今年もこれまでと同じく不揮発メモリの記事を書きます。今回は以下の内容です。 不揮発メモリ周りの規格・新仕様(CXL, RDMA) メモリ不足時の不揮発メモリの活用 Filesystem-DAXの動向 不揮発メモリ周りの規格・新仕様 今年は規格回りでいくつか新仕様が策定されています。まずは、それらについてざっくりと解説していきましょう。 CXLの不揮発メモリ対応 これまではNVDIMM、すなわちDRAMと同じようにCPU中のメモリコントローラからDDR4で直接つながるデバイスであった不揮発メモリですが、ここへきて新たな接続方法が追加されようとしています。それがCompute Express Link(CXL)です。 コンピュ

    不揮発メモリに対するLinux周辺動向 (2021年版) - Qiita
  • すべての社内文書はMarkdownで書けばいいと思うこれだけの理由 - Qiita

    Markdownを社内に布教したい、というモチベーションからMarkdownを勧める理由をまとめたもの。 同じようなことを考える方へ、周囲への説得材料になると嬉しい。 1. Markdownを勧める理由 1-1. 圧倒的理由 全人類がマークダウンを学習すべき理由|情報デザイン力を鍛えよう Markdownとは (日Markdownユーザー会) をMarkdownで引用する。 Markdown(マークダウン)は、**文章の書き方**です。 デジタル文書を活用する方法として考案されました。特徴は、 - 手軽に文章構造を明示できること - 簡単で、覚えやすいこと - 読み書きに特別なアプリを必要としないこと - それでいて、対応アプリを使えば快適に読み書きできること などです。 Markdownはジョン・グルーバー(John Gruber)によって2004年に開発され、 最初は [Darin

    すべての社内文書はMarkdownで書けばいいと思うこれだけの理由 - Qiita
    t2y-1979
    t2y-1979 2022/04/04
    本や論文のような、まとまったドキュメント書いたことないんやろな。メモだけで済むような業務ならそれでいいかもだけど。
  • Javaのパッケージ名の命名には2019年でも所持ドメインの逆順を使うべきなのか調べた - Qiita

    発端 Java6までは言語仕様の中に命名規約の章があったけどJava7からはなくなった。あとパッケージ名もドメイン名逆順にしろというのが、ローカルでの利用を意図してるなら単一の識別子だけでいいということになった。そのころからlombokみたいにプロダクト名だけのパッケージ名を見るようになった気がする — きしだൠ (@kis) 2019年1月22日 今までjavaパッケージの命名はドメイン名の逆順というのが通例だと思っていたが、たしかにそれに沿わないライブラリも特にScala系のライブラリで見ることが増えてきた。 そもそもこの命名規則は確かに衝突を避けるためには合理的ではあるもののコード中の記述量が増えるため後発の言語でもまったく真似されていない。 最近のJavaでより短いパッケージの命名が許容されるならとても嬉しいと思い、当にJavaのFQDN逆順命名規約は無視していいのか調べた。 調

    Javaのパッケージ名の命名には2019年でも所持ドメインの逆順を使うべきなのか調べた - Qiita
  • 【Golang】Alpine Docker で実行すると error: stdlib.h: No such file or directory. "stdlib.h" が足りないと言われる - Qiita

    Golang】Alpine Docker で実行すると error: stdlib.h: No such file or directory. "stdlib.h" が足りないと言われるGoDockeralpinemusl golang:alpine の Docker イメージで go run や go test を実行すると stdlib.h: No such file or directory の fatal エラーで叱られる。 たまに C がインポートできないと cgo からも叱られる。はたまた、musl や gcc がうんたらと叱られる。 「"golang" "alpine" fatal error: stdlib.h: No such file or directory」とググっても日語で情報が出てこなかったので自分のググラビリティとして。 $ go test ./... T

    【Golang】Alpine Docker で実行すると error: stdlib.h: No such file or directory. "stdlib.h" が足りないと言われる - Qiita
  • Log4j 2でログ出力をテストするサンプルソース - Qiita

    Log4j 2でログ出力をテストするサンプルソースです。ちなみにLog4j 1.*系とはAPIが構造もろとも変わっており、色々書き直す必要があります。(LoggerからaddAppender()メソッドが無くなっています。) 結論、ここに家ドキュメントの説明があるのですが、勉強の意味もこめて僕なりにサンプルを書いてみました。 package org.example; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class SampleClass { private static final Logger LOGGER = LogManager.getLogger(SampleClass.class); void doSomething(String m

    Log4j 2でログ出力をテストするサンプルソース - Qiita
  • エンジニアの"有害な振る舞い"への対処法 - Qiita

    記事の続編として、自分が有害な振る舞いをしないようにする改善の取り組みを扱った記事も書いてます。 エンジニア上司が"有害な振る舞い"を改善する方法 ※「難しい人」は概念として用い説明するのに便利な言葉でしたが、誤解を生じたり、記事のポリシーに沿わない使用(難しい人というラベリングを特定個人に適用する使い方)が容易にされてしまいそうだと分かりました。そのような誤用を防ぐことを最優先とするため、代わりに「有害な振る舞い」という表現を使用し、人ではなく振る舞いに着目するタイトル及び文章に変更致しました。 はじめに 以下の記事を読んだ際に「難しい人」という表現が何となく面白い響きで印象に残ったので、これを機に自分の考えを今までの経験をもとに書きたいと思います。 “難しい人”が1人入ると、チームの生産性は30〜40%低下する 対抗せずに、場の「安心感」を作るための3つの条件 - ログミーBiz

    エンジニアの"有害な振る舞い"への対処法 - Qiita
  • StackOverflowからのコピペをやめろ。今すぐにだ。 - Qiita

    Original article:https://dev.to/dotnetsafer/rip-copy-and-paste-from-stackoverflow-trojan-source-solution-4p8f その昔コピペできない文章というものがありました。 実際は単にフォントを変えているだけというものですが、人間の目に見える文字と実際の文字が異なることを利用した攻撃の一種と見ることもできます。 さて、最近になって似たような攻撃に関する論文が公開されました。 人間には見えない文字を織り交ぜることによって、一見問題ないコードが実は脆弱になってしまうというものです。 ただ論文は堅苦しいうえに長くて読むのがつらいので、具体的に何がどうなのかよくわかりません。 平易に解説している記事があったので紹介してみます。 以下はDotnetsafer( Twitter / GitHub / Web

    StackOverflowからのコピペをやめろ。今すぐにだ。 - Qiita
  • Slack ペイロードに含まれる response_url を完全に理解する - Qiita

    response_url を理解しよう この記事では、Slack アプリを作ったことがある人でもあまり馴染みがないかもしれない response_url という仕組みについて網羅的に説明してみたいと思います 1。 response_url は、スラッシュコマンドやショートカットのようなユーザーと Slack アプリの間で直接的なインタラクションが発生する機能のペイロードに含まれるものです。Incoming Webhooks や chat.postMessageで Slack に通知を送るだけの連携からもう一歩進んで、よりインタラクティブな Slack アプリを作るとき、この機能をうまく使うと、より良いユーザー体験を実現できるでしょう。 なお、この記事では日語でできる限り丁寧に説明していきますが、こちらの英語のドキュメントにも多くの内容は書かれていますので、合わせて参考にしてみてください。

    Slack ペイロードに含まれる response_url を完全に理解する - Qiita
  • 転職を繰り返したエンジニアの末路: ソフトウェアエンジニアとして海外で働く(外資系のすゝめ) - Qiita

    注意 老害ポエムなので、大きな心を持った暇な方だけ読んでください。単なる自己満足で書いています。 はじめに キャリア相談をされることが実子・同僚・後輩などから増えてきた。大学院でキャリア授業のケースとして使われたこともある。「ジジイの話を聞いてくれるのは、最大の接待」 という言葉もある。自分も弁えているつもりだ。そんなんでも、エンジニアとして20-30年後の姿として参考にしてくれるのは嬉しいし誇らしい。ここでは、ソフトウエアエンジニアの肩書を持ったジジイが老害ポエムを炸裂させたい。老害ポエムの内容としては、ソフトウエアエンジニアとしての仕事の内容や転職の様子、当時のメンタリティなど書き綴ろう。幸いにして、当時の同僚の一部とはいまだに交流があるので、その当時の内容で思い違いがあれば訂正を含めてアップデートしていく。 経歴と経験 タイトルのとおり、転職の数は多いです。自分の意志で転職したことも

    転職を繰り返したエンジニアの末路: ソフトウェアエンジニアとして海外で働く(外資系のすゝめ) - Qiita
  • DependabotとRenovateってどっちがいいの? - Qiita

    この記事は第二のドワンゴ Advent Calendar 2019の10日目の記事です。 この記事の概要 Webフロント開発をしている際に、npmライブラリのマイグレーションって結構コストかかるので自動化したいよねって動機の元、そのためのツールとしてDependabotとかRenovateとかあるけど、どっち使うのが良さそうかなという検討をしました。 ただし、あくまでもnpmライブラリの更新という側面からの記事のため、他の言語やパッケージ管理システムからの側面についての検討はされていないことをご留意ください。 また、時間に追われて書きなぐった内容になっていて後で書き直すかもしれませんがご了承いただければと思います。 結論 先に結論だけ書いてしまうと、Github EnterpriseやArtifactoryなどのprivate npm registryを使っている自分たちの環境ではReno

    DependabotとRenovateってどっちがいいの? - Qiita
  • Slack Bolt for Pythonを使ってのbot構築。ローカル開発からHerokuデプロイまで - Qiita

    Slack Bolt for Pythonを使ってのbot構築。ローカル開発からHerokuデプロイまでHerokuSlackBolt Slackは多用しているものの、botkit以来すっかりbot開発している時間がなかったため時間が空いてしまったのですが、python使って作ろう!と決めて初学者が躓く最初の最初についての解説。 Boltはチュートリアルもしっかりしているし、それに沿ってやっていけばやれるはずではあるのですが、そもそもの書き方がよくわかっていないとかbotってなんだっけ?という場合にお作法が分からずに躓く人がいるのではないでしょうか。まぁ私のことなのですけど。ということで、デプロイして動く所まではたどり着いたので初学者向けの解説です。あんまり日語コンテンツがないのもハードルを上げていますね。 前提条件 Python3.6以上が必要なので、そちらのインストールは済ませておき

    Slack Bolt for Pythonを使ってのbot構築。ローカル開発からHerokuデプロイまで - Qiita
  • RabbitMQで複数アプリでの利用を想定して設定した時のメモ - Qiita

    はじめに バッググラウンドでバッチ的に動作する処理をk8sで行なう場合には、kind:CronJobでスケジュールすることができますが、処理が重い場合に、プロセスを分散させるといったことは簡単ではありません。 また、1つのプロセス(Pod)でしか処理ができない場合には、定期的にスケジュールさせるよりも、リクエストの到着次第、処理を開始したいというニーズもあったりします。 あらかじめHelmを利用してk8sクラスターにRabbitMQデプロイしているので、これを利用するためのルールと構成上の考慮点をまとめておきます。 Kubernetes v1.17以降を利用するのであれば、RabbitMQの公式サイトに記載されているOperatorによるデプロイメントを検討することをお勧めします。→ https://qiita.com/YasuhiroABE/items/7c1e82e006ea37e0f

    RabbitMQで複数アプリでの利用を想定して設定した時のメモ - Qiita
  • なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのか - Qiita

    はじめに ソフトウェアプロジェクトには不思議な性質があります。現状のスケジュールに課題を感じて、短くするために人員を投下しても、なかなか思い通りに短くならない。それどころか悪化してしまうことがあります。場合によってはプロジェクト自体が破綻して失敗してしまうことすらあります。 今回は、このようなソフトウェアプロジェクトに潜む直感に反する性質を数理的なモデルを介して理解していく試みです。ある種の思考実験としてお楽しみください。 宣伝 Qiitaさんとコラボ企画でアドベントカレンダーをつくりました。 DXをめちゃくちゃ改善した話を募集しています。 https://qiita.com/advent-calendar/2021/dx-improvement 10人の妊婦がいても1ヶ月で一人の子供は生まれない これは誰かの技術力やプロジェクトマネジメント力に欠陥があるのではなく、「人月の神話」で有名な

    なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのか - Qiita
  • Block Kit Builder を使ってインタラクティブな Slack アプリをプロトタイピングしよう - Qiita

    Block Kit とは? Slack は昨年 Block Kit という仕組みをリリースしました。これは既定の JSON の定義に従うことで、デスクトップ・モバイル両方に最適な形で対応した UI を簡単に組み立てることができるものです。チャットのメッセージだけではなく、モーダル、Home タブのようなその他の UI にも同じ JSON を流用することができます。1 Block Kit 自体については、まずは公式ドキュメント(英語)と、こちらのチュートリアルを読むと理解が深まるかと思います。 「Slack API 新機能の Block Kit を使ってより情報的なレストラン検索コマンドを作ろう」 by @girlie_mac 2 また、昨年夏にいち早く Block Kit を活用されたナビタイムジャパンさんの記事も読んでいただくと、よりイメージが湧くかと思います。 「Block Kitでリ

    Block Kit Builder を使ってインタラクティブな Slack アプリをプロトタイピングしよう - Qiita
  • プログラミングスクールの講師を2年間続けて限界が来て辞めた話 - Qiita

    はじめに 某プログラミングスクールで二年間講師をしてました。 受講生の方からの評価点は平均より高く、最終的には全インストラクターの中から代表に選ばれる立場にまでなりました。 始めた経緯 もともと、プログラミングスクールをいつか開きたいと思っていたこともあり、業務委託契約で経験が積めそうなところに応募。 即採用していただき、正社員で働く傍、副業としてプログラミング講師に。 エンジニア歴は当時は5年 得意な言語はPHPのみでした。 コロナ禍で全てが変わった 特定を避ける為に細かな時期は記述しませんが、この復業を始めてから今も尚世界を苦しめているウイルスの流行で事が大きく変貌していきました。 というのも、私が請け負っていたプログラミングスクールでは生徒様が作成したいと言う物をベースにプログラミングを教えるスクールでした。 その中で、コロナ禍前までの生徒様達は明確に、 「ECサイトが作りたい」 「

    プログラミングスクールの講師を2年間続けて限界が来て辞めた話 - Qiita
  • 【2021】モダンなPython開発環境の紹介 - Qiita

    📌 はじめに Pythonで開発を行うにあたり、リンタやフォーマッタ、パッケージマネージャ等のツールの選定は非常に重要な問題です。一方で歴史的な経緯もあり、沢山の選択肢から何を選ぶべきか情報がまとまっていないように感じました。この記事では2021年9月時点でモダンと言えるであろう開発環境を紹介します。基的にはシェアが高いこと、著名なパッケージで使用されていることを主な選定理由としており、また特定のエディタに依存しないことを前提とします。 記事で紹介する内容は一つのテンプレートに近く、必要に応じてカスタマイズするもよし、そのまま使ってもよし、として参考になればと思います。(CI/CDについてはPythonとは独立した問題なので触れません。またドキュメント生成はSphinxを推しますが、必須ではないので今回は割愛します。) 📄 要約 "モダン"な開発環境を箇条で列挙すると下記の通りです

    【2021】モダンなPython開発環境の紹介 - Qiita
  • GitHub Actions による GitHub Pages への自動デプロイ - Qiita

    GitHub Actions の登場により GitHub Pages へのデプロイがとても簡単になりました。手順を書いた YAML ファイルを Push するだけでビルド・デプロイの CI/CD を構築できます。この記事では GitHub Actions を用いて GitHub Pages へのデプロイを自動化する方法を紹介します。 Hugo のブログ・サイトの場合 具体的には以下のような YAML ファイルをデフォルトブランチに .github/workflows/gh-pages.yml として Push するだけで GitHub Pages へのデプロイが始まり、サイトが公開されます。 name: GitHub Pages on: push: branches: - main # Set a branch name to trigger deployment pull_request

    GitHub Actions による GitHub Pages への自動デプロイ - Qiita
  • 最強のWiki「Crowi」のフォーク、「GROWI(旧crowi-plus)」を公開した話 - Qiita

    経緯 Crowi とは node.js + jQuery (一部React) 製の、オンプレにディプロイ可能な Wiki システム。Qiita でも Crowi タグ で検索すると20エントリーほど引っかかる。 Pukiwiki から Crowi へ うちの会社では創業から10年来 Pukiwiki Plus! を使っていて、サイトを簡単に量産できるようにするための Pukiwiki Plus! Plus! なんていうリポジトリもある程使い倒していたのだが、やはり Markdown で書きたいという動機から代替システムを検討、2016年末くらいから Crowi の試用を行っていた。 が、どうにもかゆいところに手が届かない。 Pukiwiki では利用可能だった以下2点の機能が、移行にあたっては必須事項だった。 任意のページの下の階層のツリー表示を行う事ができること Pukiwiki では

    最強のWiki「Crowi」のフォーク、「GROWI(旧crowi-plus)」を公開した話 - Qiita
  • あのサイトで使われている技術を調べる - Qiita

    とほほのWWW入門 拡張子一覧 List of file formats 拡張子ありのサイトは.html、.php以外のサイトは最近あまり見られなくなってきている。 拡張子別にどんなサイトがあるかはGoogleで inurl:index.jsp みたいに検索すると色々見つかる。inurl:は大量に実行するとGoogleのCapcha画面が出て不正な通信と警告される場合があるので注意。 後述のhttp ヘッダー情報等からServerはnginxcookieにJSESSIONがあるのに 拡張子が.aspというページもあるので、別システムに移行したけど、URLはそのままにしたため拡張子がい違うケースもありそうだ。 RubyPythonはMVCフレームワークが話題になり出してからWEBで採用され出したからか、拡張子つきは見かけたことがない。 http ヘッダー情報から調べる ブラウザのディベ

    あのサイトで使われている技術を調べる - Qiita
  • ようやく vim-lsp に乗り換えた話 (pylsp-mypy で苦労した話) - Qiita

    RubyKaigi Takeout 2021 に参加して、typeprof などをフルに利用するには LSP を使えるようにしておく必要があるな、と気づきました。 思い立ったが吉日ということで、自分の vim 環境を ALE から LSP に乗り換えることにしました。 その過程で、mypy による lint を有効にするのに苦労したので、備忘録としてメモを残します。 前提 python 使い ALE は lint 用に使っていて、formatter としては使っていない flake8, isort, mypylinter として使っている vim の plug-in manager には dein を使っている LSP を有効にする 体である vim-lsp を使います。 細かい設定をやってくれる mattn/vim-lsp-settings も合わせて入れます。 # LSP (L

    ようやく vim-lsp に乗り換えた話 (pylsp-mypy で苦労した話) - Qiita