タグ

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

  • 徳丸本の Docker 実習環境を M1/M2 Mac で1から構築した - Qiita

    先日、徳丸(正式名称: 安全なWebアプリケーションの作り方 第2版)の実習環境 Docker 対応バージョンが公開されました。 こちら、M1/M2 Mac にも対応したものになっています。 リリース内容を確認してみましたが、解説されている内容は既存の部分からの変更点のみとなっています。 せっかくなので、1から新規で M1 Mac 環境に構築した方法の記録です。 前提条件 初心者向けではありません。 ある程度の知識がある方向けに、簡略化して記載しています。 初心者向けに記事を寄稿しました。 初心者の方は、リンク先の記事をご確認ください。 ウェブ・セキュリティ学習のため徳丸を読んでみた 第3回 M1/M2 Mac に対応!Docker 環境で実習環境を構築しよう https://www.school.ctc-g.co.jp/columns/mikumo/mikumo03.html Hom

    徳丸本の Docker 実習環境を M1/M2 Mac で1から構築した - Qiita
    dpprkng
    dpprkng 2022/12/11
  • CentOS Stream 9類のLVMで既存のpvが無視される件 - Qiita

    前置き 最近やっとCentOS8のサーバーをCentOS Stream 9に置き換えて格的に使い始めました。 RockyLinuxやAlmaLinuxもCentOS8からのマイグレーションということでは大変ありがたいのですが、じゃあそのまま9にして使うかというと悩ましく、悩ましいぐらいなら正統な方に属するCentOS Stream 9を使おうかと思った次第です。最悪AlmaLinux9とかにマイグレーションできるみたいだし… CentOS Stream 9やRHEL9クローンは体感では、ほぼ同じバージョンのカーネルを採用しているUbuntu 22.04より快適です。理由がx86_64-v2特化やもっと深いところにあるのか、単にコンソールの表示が速いだけなのか、単に新品のパンツを履いたときぐらいのお気持ちなのかは不明。あとすべてにおいて速いというわけではなさそうですね。 x86_64-v2

    CentOS Stream 9類のLVMで既存のpvが無視される件 - Qiita
    dpprkng
    dpprkng 2022/11/22
  • WSL上からCドライブの中身を飛ばしかけた話 - Qiita

    はじめに Windows Subsystem for Linux、通称WSLなどと呼ばれ、Linuxを気軽に扱いたいときに非常に便利なシステムです。 その反面、システムの内部構造を理解して使用しないと大事故に繋がりかねず、最悪の場合Windows諸共お釈迦になる可能性が潜在しています。 今回は、私と同じようなWSL初心者に向けてのアドバイスも兼ねて、「過去に私が犯した大きなやらかし」について、自戒の意を込めて筆をしたためようと思います。 この記事の主な対象者 これからWSLを触ろうとしている方 WSLを触ってまだ日が浅い初心者の方 好奇心旺盛で、よくOSなどを破壊しかけている方 自己 (事故) 紹介 Qiitaに記事を上げることから初めてなので、軽く状況解説も兼ねて自己紹介から。 筆者紹介 瀬長白狐と申します。 南の島で高専生をやっているしがない情報系の人間です。 とはいっても専門的な知識

    WSL上からCドライブの中身を飛ばしかけた話 - Qiita
    dpprkng
    dpprkng 2022/11/08
  • シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita

    はじめに bash などのシェルには [ ... ] と [[ ... ]] の二種類の比較方法があります。一つはコマンド、もう一つはシェルの文法なのですが、具体的にはこの二つは一体何が違うのでしょうか? そもそもなぜ似ている機能が二つもあるのでしょうか? この記事は言語設計者の気持ちになって考えることで、その理由を解き明かそうという記事です。 なお、違いについての簡単な説明については「test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 」の記事がよくまとめられていますので紹介します。一通りの違いを素早く知りたい方はこちらを参照してください。 参考 シェルの歴史や種類については「シェルの歴史 総まとめ(種類と系統図)と POSIX の役割」に詳しくまとめています(系統図とか頑張って書いたので見

    シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita
    dpprkng
    dpprkng 2022/11/06
  • M1MacでLinux環境を構築する〜インストール編 - Qiita

    記事の目的 記事は、M1MacLinux環境を構築するのインストール編です。 M1Mac上にLinuxサーバーを構築するまでの工程の一つとして、MacLinuxサーバーをインストールし、仮想マシンを構築する部分までを行います。 実行環境などに関しては、上記のリンクをご覧ください。 前提知識 最初に前提知識の整理をしておきます。 釈迦に説法だという方は読み飛ばしてください。 一応、エミュレータやディストリビューションの選択理由についても軽く触れています。 Linuxとは Linuxとは、UnixOS(MacOSのベースになっているもの)をベースに作られているオープンソースのOSのことを指します。 原則として無料で利用でき、また複数のサーバー上に同一の環境を再現することが容易であることからサーバー用のOSとしてのシェアが年々拡大しています。 Linuxディストリビューション Linux

    M1MacでLinux環境を構築する〜インストール編 - Qiita
    dpprkng
    dpprkng 2022/11/01
  • Deno のめっちゃ難しいバグを修正した - Qiita

    2022年4月、Deno に以下のバグが報告されました。 fetch API を使って 300KB ぐらいあるファイルをアップロードすると、一定確率でアップロードされたファイルが壊れるというバグの報告です。 報告者によれば、1.20.6 まではバグは発生しておらず、1.21.0 から発生するようになったという事です。1.20.6 の次のリリースが 1.21.0 なので、パッチバージョン1個分まで、バグの発生時期が特定されている状態です。 fetch 周りは自分はほぼ実装していないので「担当範囲ではない」感覚だったので、普通にスルーしていました。 自分に限らず、Deno Land コアチームの誰もこの issue にピンと来る人が居なかったようで、stale ボット (数ヶ月進捗の無い issue を自動的にクローズしようとするボット) に2回もクローズされかけていました。Deno の st

    Deno のめっちゃ難しいバグを修正した - Qiita
    dpprkng
    dpprkng 2022/10/04
  • 名著「UNIXという考え方 - UNIX哲学」は本当に名著なのか? 〜 著者のガンカーズは何者なのかとことん調べてみた - Qiita

    補足 1975: トンプソンはベル研を一時休職し、母校のカリフォルニア大学バークレー校に Version 6 Unix をインストールする作業を手伝う。これは後に BSD Unix として配布される。 1984-1998: ガンカーズが DEC でプリンシパル・ソフトウェア・エンジニアを務めた時期 ガンカーズは DEC の Unix Engineering Group (UEG) に所属 いつから DEC に勤めていたのかは不明 P63 より「小さな会社で Version 7 Unix を使っていた」ので 1979 年よりも後 V7M の開発には関わってなさそう おそらく 1980-1984 の間に DEC に入社したと思われる ガンカーズが「UNIX の考え方」についてのはないだろうか?と考えたのは 1991 年 1988: POSIX.1 標準化(POSIX.2 は 1992 年)

    名著「UNIXという考え方 - UNIX哲学」は本当に名著なのか? 〜 著者のガンカーズは何者なのかとことん調べてみた - Qiita
    dpprkng
    dpprkng 2022/07/12
  • 名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita

    はじめに そりゃまあ 30 年も経てば古くなりますよ。「入門UNIXシェルプログラミング」は今もシェルスクリプトに関するオススメのとして名前が挙がる名著です。しかしこのは古いです。POSIX でシェルが標準化される以前ので、内容から判断するとおそらく 1990 年ぐらいの常識に基づいて書かれています。 古いから参考にならないと言うつもりはありません。しかしどれだけ優れたでも時間の流れには勝てません。良書であると思っているからこそ、古くなってしまった内容は訂正する必要があると考えています。なおシェルスクリプトに関する古いはこれだけではありません。オライリーから出版されているも古いばかりです。いつ頃に(原書が)書かれたなのかを確認した方が良いでしょう。 ということでレビューというていで、古くなってしまった内容の訂正を行いたいと思います。新しく「入門UNIXシェルプログラミング

    名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita
    dpprkng
    dpprkng 2022/06/20
  • else を禁止してはいけない - Qiita

    複雑なプログラムを書いてしまうのを避けるために、if 文の else を避ける制約を設けてプログラミングしてみましょう、というアプローチがあります。これはあくまで、ThoughtWorks アンソロジーに書かれていた、ある種のプログラミング思考のトレーニング方法のひとつにすぎないものです。 しかし、権威だからか、あるいは、あまりコードを書かない人がわかりやすいと感じるからか、プロダクションコードの規約に使おうとする誤った考えがあります。そんなことをすると、コード品質は下がります。 else 禁止制約というのは、「これまで if-else で記述していた多くのコードは、実は、生成するオブジェクトの多態性によって、分岐の前倒しが可能になるものだったのか」という認識を得られれば、すぐに忘れるべきルールです。 ある実在の OSS コードを例に説明します。 https://github.com/xr

    else を禁止してはいけない - Qiita
    dpprkng
    dpprkng 2022/06/08
  • まだ PostgreSQL の開発で疲弊してるの? - Qiita

    { "plpgsqlLanguageServer.database": "データベース名", "plpgsqlLanguageServer.user": "ユーザ名", "plpgsqlLanguageServer.password": "パスワード", "plpgsqlLanguageServer.definitionFiles": [ // glob をサポート。 "**/*.sql", "**/*.psql", "**/*.pgsql" ], // Language Server が対応するファイルの拡張子はデフォルトで ['*.pgsql', '*.psql'] です。 // ( SQLite など他の RDS と競合させないためです。) // '*.sql' のファイルも対応させたい場合は、下記の設定を追加してください。 "files.associations": { "*.sq

    まだ PostgreSQL の開発で疲弊してるの? - Qiita
    dpprkng
    dpprkng 2022/06/07
  • 4KBのJavaScriptだけで動く可愛いアクションゲームを作ったのでソースと解説 - Qiita

    年イチでちょっとしたブラウザゲームを作ってます(→ 去年)。今年はそこそこ遊べる可愛いアクションゲームを4KB以内で作ってみました。 🎉宣伝させてください! 🐱今年も無事、の日ゲームができました!https://t.co/XnDD8AXx4k 今年は可愛さはそのまま、限界までコードを削って4KBにおさめました。PCの方はソース表示して見てみてね pic.twitter.com/j0QqH6iSSn — ゆき (@yuneco) February 20, 2022 作ったもの:ブラウザで動く4KBのゆるかわアクション URL: https://yuneco.github.io/mezashi-4kb/ ソース: https://github.com/yuneco/mezashi-4kb つまりどういう...コト? index.htmlという名前のファイルを作って下のコードをコピペする

    4KBのJavaScriptだけで動く可愛いアクションゲームを作ったのでソースと解説 - Qiita
    dpprkng
    dpprkng 2022/06/06
  • SEOに強いTypeScript入門記事がミスリードを招いていて絶望しかけた - Qiita

    TypeScriptとは」などシングルワードの検索結果に強いTypeScript入門記事の多くに、誤解を招く内容があることを確認しています。 以下にあげる記事を参考にされた方は情報のアップデートをしていただきたいですし、記事を公開しているメディアにおきましては内容を見直していただけるとありがたいです。 TypeScriptならクラスが書ける 「JavaScriptにはクラスがない、TypeScriptにはクラスがある」「ゆえに読みやすい短いコードが書ける」といった記述が見られますがこれは誤解です。 Udemy メディア - TypeScriptJavaScriptの違い「TypeScriptではクラスの作成ができる」 侍エンジニア - 「TypeScriptでは、JavaScriptでできなかった「クラス」の作成を実現しています。複雑で大規模な開発を行うとき、JavaScriptではコ

    SEOに強いTypeScript入門記事がミスリードを招いていて絶望しかけた - Qiita
    dpprkng
    dpprkng 2022/05/27
  • console.log(); しか使えなかった自分へ。。。 - Qiita

    この記事について Webエンジニアになって早1年半。railsのデバッグをする時にはエディターのデバッガーでスマートにできていたが、javascriptになるといつもconsole.log();ばかりを使って原始的なデバッグをしていた。。。 そんな脳筋な過去の自分に教えてやるための記事です。 console.log({変数名}); 「いきなりconsole.log();の紹介かい!!!」って思われるかもしれませんが、この技を知ったときは「なんで知らんかったんや。。。」って思うくらい便利だったので最初に紹介します。 以下のようなHTMLがある場合 <form> <input type="text" value="名無しの権兵衛" id="name"> <input type="text" value="80歳" id="age"> <input type="text" value="バスケ"

    console.log(); しか使えなかった自分へ。。。 - Qiita
    dpprkng
    dpprkng 2022/05/25
  • 【M1 Pro/Max対応】M1 Mac環境構築ベストプラクティス - Qiita

    Mac OS初期設定 開発用ソフトをインストールする前に、まずはMac OSの設定を整えて使いやすいデスクトップ環境を構築します。 初期設定 電源を入れると、色々と初期設定が求められます。基的には指示に従って進めればOKです デスクトップ設定 まず電源を入れて目につくのが、下のDockが大きくて邪魔だということです。 その他にもスクロールの向きがWindowsと逆だったり、Finder(Windowsでいうエクスプローラ)が使い辛かったりするので、 以下のYouTubeチャンネルを参考にして設定し直すと、使いやすくなるかと思います。 OSアップデート 購入直後のOSはバージョンが古くなっていてセキュリティ的に脆弱なことがあるので、アップデートします。 基的には初回起動時に自動でアップデート画面が出てきますが、以下の方法で手動アップデートも可能です ・Dockから「システム環境設定」を開

    【M1 Pro/Max対応】M1 Mac環境構築ベストプラクティス - Qiita
    dpprkng
    dpprkng 2022/04/05
  • すべての社内文書はMarkdownで書けばいいと思うこれだけの理由 - Qiita

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

    すべての社内文書はMarkdownで書けばいいと思うこれだけの理由 - Qiita
    dpprkng
    dpprkng 2022/04/04
  • 警告 (CVE-2022-23812): ウクライナ侵攻の抗議目的で peacenotwar モジュールが node-ipc パッケージを通じて npm 開発者を妨害 - Qiita

    警告 (CVE-2022-23812): ウクライナ侵攻の抗議目的で peacenotwar モジュールが node-ipc パッケージを通じて npm 開発者を妨害JavaScriptSecurity脆弱性Snyk 記事は2022年3月16日に発表した弊社の英語ブログAlert: peacenotwar module sabotages npm developers in the node-ipc package to protest the invasion of Ukraineを日語化した内容です。 2022年3月15日、人気の JavaScript フロントエンドフレームワーク Vue.js のユーザーは、npm のエコシステムに対するサプライチェーン攻撃に見舞われました。これは、パッケージ node-ipc とそこから参照されている peacenotwar に対して、node

    警告 (CVE-2022-23812): ウクライナ侵攻の抗議目的で peacenotwar モジュールが node-ipc パッケージを通じて npm 開発者を妨害 - Qiita
    dpprkng
    dpprkng 2022/03/18
  • M1 Macを購入したのでセットアップ&zsh環境をいい感じにした - Qiita

    先日のApple Eventでも Mac Studio や iPad Air(第5世代) が発表され、いよいよ Apple M1チップ がデファクトスタンダードになったなあと感じています。自分もこれまで、業務用PCとしてMacBook Pro 2017を使っていたのですが、悪名高いバタフライキーボードの破損をきっかけに MacBook Air(M1) を購入してもらいました。 さっそく業務で使用していくためにセットアップをしたのですが、やはりIntelチップとの違いに戸惑ったので備忘録としてまとめます。この記事は元々社内のナレッジに書く予定だったのですが、自分自身QiitaやZennの記事にかなり助けられました。この記事も今後M1 Macをセットアップする人の役に立てばと思っています。 MacOSの基的な設定を使いやすく変更する 購入したばかりのMacはDockに大量のアプリが登録されて

    M1 Macを購入したのでセットアップ&zsh環境をいい感じにした - Qiita
    dpprkng
    dpprkng 2022/03/12
  • UTF-8のテーブル(MySQL5.6)に竈門禰󠄀豆子が格納できない問題を調べてみた - Qiita

    竈門禰󠄀豆子をMySQL5.6のテーブルにinsertしようとすると正しく格納できず、竈門禰となってしまうケースがあるという話を聞き、調べてみました。 実践 まずは試しにやってみます。 mysql> show create table verification\G *************************** 1. row *************************** Table: verification Create Table: CREATE TABLE `verification` ( `name` varchar(100) COLLATE utf8_bin DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin 1 row in set (0.01 sec) mysql> inse

    UTF-8のテーブル(MySQL5.6)に竈門禰󠄀豆子が格納できない問題を調べてみた - Qiita
    dpprkng
    dpprkng 2022/02/02
  • 世界四連覇AIエンジニアがゼロから教えるゲーム木探索入門 - Qiita

    はじめに 書籍化 記事を元に ゲームで学ぶ探索アルゴリズム実践入門~木探索とメタヒューリスティクス という書籍を出版することになりました! 記事を読んで気になっていただけたらご購入をご検討いただけるとうれしいです! この記事で得られる技術 ゲームルールに適した探索アルゴリズムを選択する ゲーム木探索をするのに適したクラス設計 主要なゲーム木探索アルゴリズムの実装 この記事の特徴 汎用アルゴリズムの実装例による他ゲームへの応用力と、実際に動作可能なサンプルコードによる具体的実装イメージの両視点でわかりやすくした(片方しか記載のない記事が多い) サンプルコード付き日語記事がほぼないDUCTを解説している サンプルコードは印のついたメソッドを実装したクラスさえ書けば、アルゴリズム部分を変更せずそのまま他のゲームで動作可能になっている この記事で扱わない関連技術 探索の高速化 多様性の確保

    世界四連覇AIエンジニアがゼロから教えるゲーム木探索入門 - Qiita
    dpprkng
    dpprkng 2022/01/26
  • Dockerフォレンジック - 実行中のコンテナに加えられた変更を特定する - Qiita

    はじめに 稿では、Pentester Academyが提供する「Attack Defense」の無料ハンズオン(Free Labs)のうち、「System Backdoor」に注目します。 演習に関する手順のみならず、その背景にあるDocker技術について補足を行っています。 用語解説 Dockerのフォレンジックを理解する上で、そのエコシステムを抑えておくことが重要です。インシデント発生時には、これらエコシステムを構成するコンポーネントを調査することで、一連のイベントを明らかにすることができます。 用語 概要

    Dockerフォレンジック - 実行中のコンテナに加えられた変更を特定する - Qiita
    dpprkng
    dpprkng 2022/01/25