豆知識とPGに関するdokoのブックマーク (68)

  • 今さら聞けないDocker入門 〜 Dockerfileのベストプラクティス編

    今時のアプリ開発において、コンテナは避けて通れないものになっています。そして数多くあるコンテナ実行環境の中でも、デファクトスタンダードと言えるのがDockerです。そんなDockerのイメージですが、皆さんは正しくビルドできていますか? そのコンテナは無駄に太っていませんか? 効率よく最短時間でビルドできていますか? セキュリティは大丈夫ですか? 今回はDockerfileの書き方をテーマに、「今さら聞けない」Docker入門をお届けします。

    今さら聞けないDocker入門 〜 Dockerfileのベストプラクティス編
    doko
    doko 2024/05/05
    あーだから環境変数で設定するのかー
  • 滅びてほしい認証系の実装の話

    こんにちは、富士榮です。 ちょっと前に某所でダメダメな認証系の技術実装ってなんだろうねぇ、、という話をしていたことをXで呟いたところ、色々とご意見を頂けましたのでまとめて書いておきます。

    滅びてほしい認証系の実装の話
  • 情報処理学会 情報入試委員会 - 情報科全教科書用語リスト

    情報処理学会情報入試委員会は、高等学校情報科において現在までに出版された検定済教科書すべての索引に現れる用語を整理した用語集[1](論文[2]が刊行された時点のもの)を基に、用語のカテゴリづけや、要約説明文づけ等の手を加え、再構成した「情報科全教科書用語リスト」を作成しました。 ここに広く、CC 4.0 BY-SA ライセンスを利用して、公開します。 https://docs.google.com/spreadsheets/d/1FYsq1-ZmwrovR1j8_Q_M5QmSlj6NIZdy/view 高等学校の情報科は2003年から実施されており、20年以上の歴史があります。しかし、他の教科と比較すると歴史は浅く、情報科についての共通認識は広まっているわけではありません。 情報科の検定済み教科書は既に100冊以上出版されており、そこには様々な情報科に関連する用語が含まれています。これら

    情報処理学会 情報入試委員会 - 情報科全教科書用語リスト
  • メールを代わりに読んで返信文を提案するAIツール作った【ソースコード付き】|shi3z

    メールというツールがほぼ死に絶えているのだが、ここぞというときには便利なので結局捨てることもできない。 メールが死に絶えている理由は、主にスパムである。ちなみに某通販会社から大量に送られてくるスパムを止める方法は、その通販会社の社長に自動的にフォワードする設定をすることだという都市伝説がある。結構前に試しにやってみたら確かに止まった。 Facebookメッセンジャーもスパム対策としてはそこそこ便利なのだが、初見の相手からのメッセージは原則として受け取ることができない。メールをもらってもみないことの方が多いので僕は名刺からメールアドレスもとってしまった。 それでもメールはやってくる。しかも見落としたらやばそうな大学関係の連絡がメールで来る。そして忙しいとメールが来たことも忘れてしまう。 そうして僕のような社会不適合者が生まれるのである。 さっきAI社長の社長秘書をやってる吉見さんから「清水さ

    メールを代わりに読んで返信文を提案するAIツール作った【ソースコード付き】|shi3z
  • ブラウザからDBに行き着くまでただまとめる

    はじめに あなたはブラウザからデータベース(DB)に情報が行き着くまでにどんな技術が使われているか説明できますでしょうか? どのようなプロトコルが用いられ、どの技術を駆使してサーバと通信しているのか、Webサーバでは何が行われ、どのようにして負荷が分散されているのか、トランザクションはどのように管理されているのか、そしてデータベースではシャーディングや負荷対策のためにどのような対策が取られているのか… なんとなくは理解しているものの、私は自信を持って「こうなっている!!」とは説明ができません。 そこで今回は「大規模サービス」を題材としてブラウザからデータベースに至るまでの、情報の流れとその背後にある技術について、明確かつ分かりやすく解説していきたいと思います。 対象としてはこれからエンジニアとして働き出す、WEB、バックエンド、サーバーサイド、インフラ、SREを対象としております。 1.

    ブラウザからDBに行き着くまでただまとめる
  • クレディセゾンでDXを進めてきた5年間を振り返る|小野 和俊

    はじめにクレディセゾンに来てちょうど5年が経ったので、これまでの取り組みをまとめてみようかと思う。書き進めていくうちにとても長くなってしまったので、1年につき3トピックに絞ってあとはカットした。それでも5年分なこともありかなり長くなったので、目次から各トピックに飛んでもらえればと思う。社内の関係者も読むかもしれず、「自分のやったことが載ってない!」と思うこともあるかもしれないが、内製開発案件だけでも53案件あり全部載せるととんでもない量になるので許してほしい。それから、振り返ってまとめると退職すると勘違いされるかもしれないけれど、退職するわけではありません! 2019年:ゼロからのスタート1-1. 内製開発エンジニア募集を始める「日のそれなりの規模の事業会社の中に、内製開発チームを立ち上げることはできるのだろうか?」 2019年3月、クレディセゾンに来たばかりの私にとってはこの質問への答

    クレディセゾンでDXを進めてきた5年間を振り返る|小野 和俊
  • Reactを使ってプロダクト開発している開発者だけでなく、マネージャにも読んでほしい「Fluent React」 - ROUTE06 Tech Blog

    チームでReactを使って開発していると、コードレビューをする際に、「この書き方はしない方がいいが、それを説明するには800文字くらい必要。図も描きたい。でもそれらを準備する時間はない。」ということが度々ありました。 また、フレームワークやライブラリの技術選定をする際、マネージャに「どうして技術選定が必要なのか」を説明する必要がありました。ROUTE06のマネージャはエンジニアリングへの造詣が深い方が多いので、対立構造になることはありませんが、説明するためには1000文字くらい必要で、やはり図も描きたい。時間はない。と同じ気持ちになることがありました。 参考情報として紹介できる情報がないか探してみると、「とりあえずこうすればOK」というベストプラクティスについては検索エンジンやSNSですぐに見つかります。ただ、どうしてその方法がベストプラクティスなのか、仕組みや原理を説明している情報は少な

    Reactを使ってプロダクト開発している開発者だけでなく、マネージャにも読んでほしい「Fluent React」 - ROUTE06 Tech Blog
  • オブジェクト指向宗教史

    OOC 2024 の発表資料です。後のフィードバックを参考に、より妥当な文言に改訂してあります。 ※ コンテンツには、一部特定の宗教思想の迫害に言及する表現がございますが、そのような行いを肯定する意図の内容ではございません。

    オブジェクト指向宗教史
  • Docker ハンズオン / docker-hands-on

    2024/03/07 【開発系エンジニアのためのDocker絵とき入門出版記念】著者と学ぶ Docker ハンズオン https://phper-oop.connpass.com/event/309942/ スライドで参考資料としているのは 開発系エンジニアのためのDocker絵とき入門 です https://www.amazon.co.jp/dp/4798071501 ぜひ合わせてご覧ください

    Docker ハンズオン / docker-hands-on
  • Excel VBA 第2回 リボンとアドイン作成 - Qiita

    はじめに 今回は、オリジナルのリボンの作成し、そのアドインを作成します。 リボンは、Excel上で追加できますが、そうではなく、リボン用のアドインを作成します。 リボンについて、いろいろとサイトに記載がありますので、目新しいところはありませんが、備忘として載せます。Excel VBA当にたくさんの記事がありますので、開発で困ることはあまりないんですよね。 私の場合、どんなExcelにもよく使う頻出マクロを作成し、それをリボンに実装して、アドインに取り込むことで、いつでも使えるようにしています。 また、リボンが面倒という時も多いため、Quick access tool barでも実装できるようにします。 そうだ、CustomUI Editor Toolというものも提供されているようですが、そのアプリのインストールが必要になるため、使っていません。 今回実施する内容 Excelにマクロ専用

    Excel VBA 第2回 リボンとアドイン作成 - Qiita
  • Excelアドインの作成方法 – Excelメモ

    空ブックの作成 1.Excelを起動する。 2.保存 何もせず、任意のファイル名で「Excel マクロ有効ブック (*.xlsm)」を指定して保存し、閉じる。 (ここでは「Book1.xlsm」とする。) ZIPファイルへ変更する 「Book1.xlsm」を「Book1.xlsm.zip」へリネーム。(拡張子を変更) ZIPファイルを開く 「Book1.xlsm.zip」を右クリック、「プログラムから開く(H)」-「エクスプローラー」を選択。 「.rels」を編集する 1.「.rels」をコピー <Book1.xlsm.zip\_rels\.rels>をワークフォルダへコピーする。 (ここでは<C:\work>直下にコピーしています。) 2.テキストエディタで編集 メモ帳で開く。 (右クリックから「編集(E)」を選択。) 3.「.rels」にコードを追記 Relationshipsタグを1

  • 【日本人エンジニア必携】英語命名規則の決定版 - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 はじめに 英語での適切な命名は、コードの可読性や保守性を向上させるために重要です。適切な命名規則を守ることがコードの理解や共有において不可欠です。 英語での命名規則を学び、適切な命名を行うことで、コードの読みやすさや保守性を向上させ、チーム全体でのコードの理解を促進する手助けとなります。 この記事では、日エンジニア英語での命名規則を理解し、適切な命名を行うための指針を提供します。 命名フローチャート 変数 関数 クラス 1. 変数 1-1. boolean 1-1-1. 存在するかどうかのフラグ 名詞 + exists

    【日本人エンジニア必携】英語命名規則の決定版 - Qiita
  • Dockerによる開発環境構築のための概念理解と方法解説 - Qiita

    この記事はNuco Advent Calendar 2023の9日目の記事です。 はじめに この記事ではDockerで開発環境を行うために理解してほしい概念と実際の開発環境の構築手順について解説を行います。大きく分けて、 ・Dockerの概念理解 ・開発環境の構築 これらの章により構成されています。この記事を読むことで、Dockerファイル、イメージ、コンテナ、Docker compose、compose.ymlを理解できるようになることを目指しています。Dockerに触れてみたい、Dockerの理解があやふやという方は参考にしてみてください! 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 Dockerとは まず、Do

    Dockerによる開発環境構築のための概念理解と方法解説 - Qiita
  • pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita

    1. 第3次AIブームの到来 米Google DeepMindが開発した人工知能AI)の囲碁プログラム「AlphaGo」が世界トップレベルの実力を持つ韓国のプロ棋士、李世ドル(イ・セドル)九段に4勝1敗と大きく勝ち越したことが着火剤となり、2015年より第3次AIブームへと突入した。(ちなみにAIが誕生したのは1950~1960年代で第1次AIブームの到来) 1.1 余談になるがAlphaGo(4億円の知能)はなぜすごいのか? AlphaGoがそれ以前のチェスや将棋AIと異なるのは、 畳み込みニューラルネットワーク(CNN) を応用している点だ。このCNNはさらに強化学習を行い、自分自身と対局を数千万回も繰り返した。 間違っていたらすみません、、、、 1.2 ChatGPTによる生成AIのブーム ChatGPTに代表されるLLMは以前から開発競争が繰り広げられていた。 GPT1は201

    pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita
  • GPT-4V: 驚きを隠せない進化!凄すぎて"ズキズキワクワク"が止まりません!!! - Qiita

    この記事で行なっていること 凄すぎて”ズキズキワクワク"が止まりません はじめに ついこの間、ChatGPT2022年1月までの情報を学習した、というい発表がありましたが、さらに今回のアップデートで 画像解析機能(GPT-4V) が追加され、アップロードした画像を使った新たなタスクの実行が可能になってます。そして、それが凄すぎます 衝撃的な投稿 まずはこちらの衝撃的な投稿をご覧ください。 動画は自転車の画像と共に「サドルを下げる手助けをしてください」で始まります。 ChatGPTからレコメンドが返ってきますが、それに対して、質問者は追加で ポイントになりそうな部分を拡大してアップロード マニュアルと自分の持っているツールの写真もアップロード します。 その結果、その質問者は、サドルを下げることに成功!そんな内容です。 自分の環境で、画像解析機能(GPT-4V)を使えるのか? さて、画像解

    GPT-4V: 驚きを隠せない進化!凄すぎて"ズキズキワクワク"が止まりません!!! - Qiita
  • Azure アプリケーションの設計原則 | Microsoft Docs

    次の設計原則に従って、アプリケーションのスケーラビリティを上げて、回復力や管理しやすさを強化します。 自動修復機能を設計します 。 分散システムでは、障害が発生します。 障害の発生に備えてアプリケーションの自動修復機能を設計します。 すべての要素を冗長にします 。 単一障害点をなくすようにアプリケーションに冗長性を組み込みます。 調整を最小限に抑えます 。 アプリケーション サービス間の調整を最小限に抑えてスケーラビリティを実現します。 スケール アウトするように設計します 。需要に応じて新規インスタンスを追加または削除し、水平方向に拡張できるようにアプリケーションを設計します。 制限に対処するようにパーティション化します 。 パーティション分割を使用して、データベース、ネットワーク、コンピューティングの制限に対処します。 操作に合わせて設計します 。 運用チームが必要なツールを得られるよ

    Azure アプリケーションの設計原則 | Microsoft Docs
  • MySQLのインデックスですが、B-treeではなくB+treeを使用するのはどうしてなのでしょうか? | mond

    MySQLのインデックスですが、B-treeではなくB+treeを使用するのはどうしてなのでしょうか? 端的に言うと性能が良いからです。 これを理解するにはバッファプールへの理解が必要です。ディスク指向のデータベースの上では有限のメモリを最大限活用することでメモリに入り切らない巨大なデータ群に対して良好な参照性能を出す必要があります。バッファプールとはディスク上のデータの羅列を固定サイズのページ(InnoDBの場合16KB)の羅列であるとして読み書きに必要な分だけをメモリに移し取り複数の書き込みをできる限りメモリ内で受け止めて後でまとめてディスクに書き戻すという、ライトバック型のキャッシュのような機構です。 この中においてバッファプールは有限のサイズしか無いので適宜プール内のデータを書き戻して入れ替えながら上手くやっていく必要があります。 さてB+treeとB-treeの最大の違いは木のリ

    MySQLのインデックスですが、B-treeではなくB+treeを使用するのはどうしてなのでしょうか? | mond
  • ソルト付きハッシュのソルトはどこに保存するのが一般的か - Qiita

    pictBLandとpictSQUAREに対する不正アクセスがあり、パスワードがソルトなしのMD5ハッシュで保存されていたことが話題になっています。 2023年8月16日に外部のフォーラムにpictSQUAREより窃取した情報と主張するデータ販売の取引を持ち掛ける投稿が行われた(中略)パスワードはMD5によるハッシュ化は行われているもののソルト付与は行われていなかったため、単純なパスワードが使用されていた29万4512件は元の文字列が判明していると投稿。(それ以外の26万8172件はまだMD5ハッシュ化されたままと説明。) 不正アクセスによるpictBLand、pictSQUAREの情報流出の可能性についてまとめてみた - piyolog より引用 これに関連してMD5ハッシュやソルトに関するツイート(post)を観察したところ、どうもソルトの理解が間違っている方が多いような気がしました。

    ソルト付きハッシュのソルトはどこに保存するのが一般的か - Qiita
  • SQLiteでベクトル検索ができる拡張sqlite-vssを試す|mah_lab / 西見 公宏

    SQLiteでベクトル検索を可能にするsqlite-vssそんなポータブルで便利なSQLiteですが、そのSQLiteでベクトル検索ができるとなるとより夢が広がります。 SQLite自体はファイルベースなので、あらかじめベクトルデータを設定したSQLiteデータベースファイルをアプリに組み込んで配布しても良いわけです。そうすればデータベースサーバを用意しなくて済む分コストも圧縮されますし、組み込みなのでアプリからは軽量に動作します。 ホスティングする場合でもFly.ioのようにボリュームイメージを利用できるPaaSを利用すれば、問題なく運用が可能です。 前置きが長くなりましたが、このような夢を叶えてくれる拡張がsqlite-vssです。ベクトル検索はFaissベースで実装されています。 とっても良さげではあるのですが、実際に組み込んでみた場合のコード例が見つからなかったので、手を動かして試

    SQLiteでベクトル検索ができる拡張sqlite-vssを試す|mah_lab / 西見 公宏
  • ソシオメディア | OOUI – オブジェクトベースのUIモデリング

    最近、OOUX という言葉を見聞きしました。これはオブジェクト指向の利用者体験(Object-Oriented User Experience)のことで、いくつかの記事を読んだところ、アプリケーション設計において画面とデータを対応づける際にオブジェクトを手掛かりにするという方法論のようです。つまり OOUX は「オブジェクトベースのUIモデリング」と言い換えることができそうです。そうすると実は以前からそのようなデザイン手法はあり、「OOUI(オブジェクト指向ユーザーインターフェース)」と呼ばれていたのです。最近になって OOUX という言葉が使われるのは、OOUI のことを知らなかったか、もしくは流行語である「UX」を用いた方がかっこいいと考えたからではないでしょうか。 「オブジェクトベースのUIモデリング」というデザイン手法は、GUI アプリケーションをデザインする際の基的なテクニック

    ソシオメディア | OOUI – オブジェクトベースのUIモデリング