並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 11676件

新着順 人気順

定義 アクセスの検索結果321 - 360 件 / 11676件

  • おっさんのためのModernC++入門ガイド(草稿) - dec9ue's diary

    みなさんはC++の読み書きができますか? 自信がある方、いつ頃勉強しましたか?もし20世紀に勉強したのであれば、その知識は相当古いです。実質現在のModernC++(C++11以降のC++)とは概念上の互換性がないので脳のアップデートが必要です。 自信がない方、文法は知っているけどなんとなく使いこなせていない方、マサカリ屋にあーだこーだ言われて大混乱している方。必勝パターンを身につければもっと楽にコードを読み書きできるようになるかもしれません。 この文章の目的は、ModernC++におけるメンタルモデル(考え方)や必勝パターンをざっくりと導入することでみなさんが楽にModernC++を読み書きできるようなお手伝いをすることです。主要な内容としてはムーブセマンティクスと右辺値 とその次の章でだいたいA4換算で15ページくらい?ほかは正直流し読みしてもらえるような内容です。また、内容的にはその

      おっさんのためのModernC++入門ガイド(草稿) - dec9ue's diary
    • クックパッドの検索反映時間を 1/288 にしたシステム改修 - クックパッド開発者ブログ

      こんにちは。レシピ事業部の新井(@SpicyCoffee)です。 クックパッドではこれまで、レシピを投稿してから検索結果に反映されるまで最長で 24 時間程度の時間がかかっていました。今回、この時間を 5 分程度、最長でも 10 分程度に短縮することに成功しました。本記事では、プロジェクトオーナーの立場で関わった私が代表してその開発について紹介します。 プロジェクトの目的と数値目標 本プロジェクトでは上記の「レシピを投稿してから検索結果に反映されるまでの時間短縮」が目的とされました。しかし、時間短縮といっても現状 24 時間であるものを "1 時間" にするのか、"1 分" にするのか、"1 秒" にするのかでは話が全然違います。この数値目標は設計を始めとした後の意思決定に大きく影響を与えるため、しっかりとした意図を持った状態で明確に定めておく必要がありました。 そこで、私とプロダクトオー

        クックパッドの検索反映時間を 1/288 にしたシステム改修 - クックパッド開発者ブログ
      • ソフトウェアアーキテクチャ入門

        はじめに 今回の記事では、ソフトウェアアーキテクチャの入門的な内容を解説する。 対象とする読者 ソフトウェアアーキテクチャを勉強するエンジニア アーキテクチャに関して全くわからない初心者 タイトルで気になったひと ソフトウェアアーキテクチャとは? ソフトウェアのアーキテクチャは、システムの主要なコンポーネント、それらの関係(構造)、およびそれらがどのように相互作用するかを記述する。ソフトウェアのアーキテクチャとデザインには、品質属性、人間のダイナミクス、デザイン、IT環境など、多種多様な寄与要因が含まれる。アーキテクチャは、品質、保守性、パフォーマンス等のような全体的な成功に影響を与える重要な決定を含む。 ソフトウェアアーキテクチャの主な目的は、アプリケーションの構造に影響を与える要件を特定することだ。良好なアーキテクチャは、技術的な解決策を構築する際のビジネスリスクを削減し、ビジネス要件

          ソフトウェアアーキテクチャ入門
        • 文化祭で滞在状況記録システムを運用しました

          文化祭からはや 3 ヶ月。ずっと書きたいとは思っていたんですが、すぐ定期試験がやってきたり修学旅行に行ったりしてるうちにズルズル来てしまいました。このまま年を越すわけには行かないので、重い腰を上げて書き上げてしまおうと思います。 文章力が皆無なので読みづらい箇所があったらごめんなさい。質問等ございましたらお気軽にどうぞ! 1. システム概要 感染症対策の一環として、主に各展示の同時滞在者数の抑制を目的として導入したシステムです。 文化祭への来場者全員にリストバンドを配布します。各リストバンドには個別の QR コードがプリントされており、各展示の入室時及び退室時に、展示のスタッフが Web アプリ上でスキャンを行い、来場者の入退室時間を記録します。 主な機能として以下が挙げられます。 同じ時間に同じ教室にいたのがどのリストバンドをつけていた来場者であるかが分かるため、万が一新型コロナウイルス

            文化祭で滞在状況記録システムを運用しました
          • 初学者のための正しいシェルとカーネルの概念 ~ 大学も技術者認定機関も間違いだらけ - Qiita

            なんだろう、嘘つくのやめてもらっていいですか? 大学も技術者認定機関も、いつまで古いまたは間違ったシェルとカーネルの概念を説明し続けるのでしょうか? シェルはカーネルの言葉をユーザーの言葉に翻訳したり、出力結果をユーザーに中継したり、カーネルを防御したりする層ではありません。指定したコマンドを実行するだけのプログラムです。勉強中の学生か代理執筆業者が適当な文献を調べて書いたとしか思えません。そして他人の説明を自分の言葉に置き換えるのが上手い人がおかしな説明をさらに広めています。個人サイトやオンライン学習サイト程度であれば適当なことを書いていても気にも留めませんが、大学や技術者認定機関のような正しいことを書いているに違いないと思えるような所までもが間違ったことを書いているから困ったものです。 みなさんは大学や技術者認定機関が言っていることなら正しいと思いこんでいないでしょうか? そんなことあ

              初学者のための正しいシェルとカーネルの概念 ~ 大学も技術者認定機関も間違いだらけ - Qiita
            • 30億のデバイスで任意コードが実行できちゃうJava - Qiita

              免責事項 こちらの記事で紹介する内容は、教育目的または脆弱性について仕組みを理解し周知、啓発を行うためだけに作成しております。 ぜったいに、悪用しないでください。 記載されているコードを実行した場合に発生した損害には一切責任を負いません。 理解される方のみ下にスクロールしてください。 経緯 2021/12/9にて、超有名なログ出力ライブラリであるlog4jの第2世代で任意コードが実行可能であると報告されました。 Apache Log4j2 jndi RCE#apache #rcehttps://t.co/ZDmc7S9WW7 pic.twitter.com/CdSlSCytaD — p0rz9 (@P0rZ9) December 9, 2021 ※上記は特定の文字列をログ出力させることで、ペイントツール(draw.exe)を実行している Minecraft(Java版)のチャット機能にてこ

                30億のデバイスで任意コードが実行できちゃうJava - Qiita
              • エムスリーのデータ基盤を支える設計パターン - エムスリーテックブログ

                こんにちは、エムスリー エンジニアリンググループ の鳥山 (@to_lz1)です。 ソフトウェアエンジニアとして 製薬企業向けプラットフォームチーム / 電子カルテチーム を兼任しています。 ソフトウェアエンジニアという肩書きではありますが、私は製薬企業向けプラットフォームチームで長らくデータ基盤の整備・改善といったいわゆる "データエンジニア" が行う業務にも取り組んできました。 本日はその設計時に考えていること / 考えてきたことをデータ基盤の設計パターンという形でご紹介しようかと思います。多くの企業で必要性が認識されるようになって久しい "データ基盤" ですが、まだまだ確立された知見の少ない領域かと思います。少しでもデータエンジニアリングを行う方の業務の参考になれば幸いです。 データ基盤の全体像 収集部分の構成 RDBデータ ログデータ 活用部分の構成 データマートの実例 「データ基

                  エムスリーのデータ基盤を支える設計パターン - エムスリーテックブログ
                • DNS前史:HOSTS.TXTとドメイン名ができるまで

                  こんにちは、技術開発室の滝澤です。 先月(2022年7月)、『Software Design 2022年8月号』の特集記事『WebエンジニアのためのDNS速習講座』に『第2章:DNSの構成要素と名前解決のしくみ』という記事を寄稿しました。第1章でも滝澤が趣味で作成した資料『ドメイン名の歴史』が参考文献として掲載されていました。よい機会なので、ドメイン名ができるまでの歴史について文章としてまとめようと思い、この本ブログ記事を書きました。 なお、筆者自身はインターネットの原型であるARPANETや80年代のインターネットをリアルタイムには体験してはいないため、RFC(Request for Comments)やインターネット上にある当時のホストのアーカイブを元に調査した内容をまとめたものになります。 ARPANETの時代 1969年から1980年代初期にかけてのインターネットの原型となったAR

                  • アルパカ証券 技術ノート|アルパカ証券の裏側 - はじめに

                    こんにちは。shirou(@r_rudi) と申します。アーキテクトという名の雑用係をしています。 Alpaca Japanでは、2021年8月に「アルパカ証券」という証券サービスをはじめました。 この一連の文章は、アルパカ証券の裏側のシステムやその開発体制などについて述べたものです。なるべく証券分野に限らず説明していく予定ですので、証券サービスを立ち上げようとしている人たちにはもちろん、それ以外の方にも参考にしていただけるような文章を目指したいと思っています。 アルパカ証券とはアルパカ証券の詳細はホームページをご覧ください。また、第一種金融商品取引業者登録完了時のプレスリリースにも、「アルパカ証券」サービスの特徴が記載されています。 全体設計方針まず最初に、アルパカ証券を構成するシステムの全体設計方針について説明します。 マイクロサービス vs モノリシック設計は2018年中頃ぐらいから

                      アルパカ証券 技術ノート|アルパカ証券の裏側 - はじめに
                    • 「強いメモリモデル」と「弱いメモリモデル」 - yamasaのネタ帳

                      Apple M1についての面白い記事を見かけて、久しぶりにメモリモデル屋(?)の血が騒いだのでブログを書く。 note.com 強いメモリモデル 現代のCPUアーキテクチャでは、x86(64bit, 32bitどちらも)が「強いメモリモデル」を採用しており、それ以外のメジャーなCPUが「弱いメモリモデル」を採用している。この「強いメモリモデル」「弱いメモリモデル」について、まずおさらいしておこう。 以下のように、2つの変数a, bに対して異なるCPUコアが同時にアクセスしたとする。 int a = 0; int b = 0; CPU1: a = 1; b = 1; CPU2: int r1 = b; int r2 = a; (上記はC言語に似た疑似コードを用いているが、実際は機械語命令になっていると考えてほしい。つまり、CPU1は変数a, bの示すメモリアドレスに対するストア命令を実行して

                        「強いメモリモデル」と「弱いメモリモデル」 - yamasaのネタ帳
                      • ZOZOTOWNのWebホーム画面をNext.jsでリプレイスして得た知見 - ZOZO TECH BLOG

                        はじめに ZOZOTOWN開発本部の武井と申します。ZOZOTOWNのフロントエンドリプレイスプロジェクトを主に担当しております。ZOZO DEVELOPERS BLOG でも「ZOZOのリプレイスプロジェクトで得られる唯一無二の経験。大規模サービスを進化させるやりがいとは」というインタビュー記事を掲載しておりますので、もしよろしければこちらも併せてご覧ください。 さて、本題です。現在ZOZOTOWNではオンプレミスかつ、モノリスだった既存システムをマイクロサービスAPIに責務を分割したり、インフラをクラウドに移行したりしています。しかし、いわゆるWebのUIを構築するためのシステムは現在も既存システムに新機能開発や機能改修を行なっており、リプレイスに着手できていませんでした。 そこで、まずホーム画面から段階的にリプレイスすべく設計・開発を昨年から行ない、無事リリースできました。ZOZOT

                          ZOZOTOWNのWebホーム画面をNext.jsでリプレイスして得た知見 - ZOZO TECH BLOG
                        • メタバース: As content, as a platform, as media|和田洋一

                          メタバースが激しくバズっている。 根拠のない期待が膨らみ過ぎ、来年あたりにはバブルが弾けるのではないか。 何も起きないまま、話題だけで地に沈むにはあまりに惜しい。 本稿は、今後も粘り強く挑戦してくれる方々のために、なぜ今メタバースが話題になっているのか、今後どのように推進すべきかにつき、少しでも解像度を上げることに貢献できればと思って書いた。 本質に迫るためには、ゲーム論を拡張するのが最も効率的と考える。 ゲーム業界の方は、これを純粋にゲーム論として読んでいただければ結構。 また、広くIT業界の方々も、どうかゲームなど無関係と思わず(内心バカにしてるでしょw)、メタバース解説として一読いただければ幸いだ。 だって、メタバースって、何者として議論すればいいかすら曖昧でしょ、少し付き合ってくださいな。 順を追って説明するので、暫し辛抱して読んでいただきたい。 全体を4章で構成する。 まずは、「

                            メタバース: As content, as a platform, as media|和田洋一
                          • Rustのメモリ管理機能とその特徴

                            初出:技術評論社刊「ソフトウェアデザイン 2021年9月号」 先日、技術評論社よりRustのメモリ管理機能についての特集に寄稿させて頂きました。 この記事は自分が寄稿させていただいた記事をブログ用に一部推敲・加筆を加えたものです。 なお、ソフトウェアデザインでの特集ではより実践的な例でのメモリ管理についての解説もあるので、興味のある方は本誌のほうも手にとっていただければと思います。 プログラム言語におけるメモリ管理の課題プログラミングにおける課題の一つとしてどうやってメモリ領域(ヒープ領域)を管理するかというものがあります。 C言語ではmalloc/free関数などを用いて手動でメモリを管理しています。 これらの関数はメモリアドレスを示すポインタを介してメモリ管理を行います。 malloc関数は必要なメモリ領域を確保してその先頭番地のポインタを返し、プログラム内ではその番地のメモリを読み書

                            • AWSマルチアカウントにおけるIAMユーザー設計戦略を考えてみる - How elegant the tech world is...!

                              はじめに 2020年3月以来の投稿になりますが、「AWS案件に携わる中で、いろいろと貯まった知見を世のエンジニアの皆さんと共有したいな..」という思いに突然駆られ、本稿ではAWSマルチアカウントにおけるIAMユーザ設計の戦略をご紹介します。 ビジネスの要件・制約等により、取り得る設計は様々ですが、一つのベストプラクティス例としてご参考になればと思います。 IAMポリシーに関する基本方針 カスタマー管理ポリシーの利用 AWS利用において、避けては通れないIAM設計。 AWSでは、AWSアカウント(ルートユーザー)の通常利用は推奨しておらず、 AWSアカウント作成後は速やかにIAMユーザーを作成される方も多いのではないでしょうか。 AWS アカウントのルートユーザー 認証情報を使用して AWS にアクセスしないでください。また、認証情報を他のだれにも譲渡しないでください。代わりに、AWS アカ

                                AWSマルチアカウントにおけるIAMユーザー設計戦略を考えてみる - How elegant the tech world is...!
                              • Dockerコンテナに開発環境を構築し、良質な開発者体験を維持した話 - MonotaRO Tech Blog

                                モノタロウのCRMグループでバックエンドエンジニアをしている新盛です。 モノタロウのCRMグループでは、主に顧客管理を中心に、フルスクラッチの基幹システムを運用しつつ、部分的にパッケージソフトや最新の技術を導入することで、増加する売上を支える事ができるシステムを目指して、システムのモダナイズに挑戦しています。 note.com モダナイズを進めると新技術を用いたシステムを取り扱う機会が必ず訪れます。従来の業務に支障なく、新しい技術を取り入れるためには様々な工夫が必要になります。 今回は引継ぎという場面で定常業務への影響をなるべく抑えて環境構築の容易化と開発者体験の両立を実現するためにDockerコンテナが活用できた話をします。 背景 課題 開発環境をDockerでコンテナ化するメリット Dockerコンテナを用いた環境構成 Dockerコンテナのシステム要件 DockerコンテナからDoc

                                  Dockerコンテナに開発環境を構築し、良質な開発者体験を維持した話 - MonotaRO Tech Blog
                                • 2021年度世界史関連ベストブック10 - 歴ログ -世界史専門ブログ-

                                  今年読んだ本のベスト10を発表します ぼくは自分の読書本数を数えたことがないので、今年何冊読んだかよく分からないのですが、多分120~130冊くらいになると思います。 その中で「これは面白かったなあ」と印象に残っている作品をランキングにしました。 「世界史関連」と銘打っていますが、世界史以外の本、紀行文や政治学、社会学の本もあります。 6冊は2021年度に発刊になった本ですが、4冊は今年以前の本です。中には古典的な作品もあります。2021年に発売された本のトップ10ではありませんので、ご容赦ください。それではいきます。 1位:『チベット旅行記』 河口 慧海 講談社学術文庫 リンク さっそく紀行文かつ古典ですいません。ご覧になった方も多いと思います。 ただ私はまだ読んでなくてたまたま今年読んだんですが、ダントツで面白かったです。 初版は1904年で、その後現代仮名遣いで再編集され、講談社学術

                                    2021年度世界史関連ベストブック10 - 歴ログ -世界史専門ブログ-
                                  • すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる

                                    あなたがさっきまで読んでいた技術的に役立つ記事は、10年後も使えるでしょうか?ほとんどの場合でいいえ はじめに 短期的に効果的な手法や知識は、ソフトウェア開発の分野において、急速に価値を失う傾向があります。この現象は、私たちが何を重点的に学ぶべきかを示唆しています。最も重要なのは、第一に基本的な原理・原則、そして第二に方法論です。特定の状況にのみ適用可能な知識や即座に結果を出すテクニックは、長期的には有用性を失う可能性が高いです。これは、技術や手法が時間とともに進化し、変化していくためです。 learning.oreilly.com 「API Design Patterns」は、このような考え方を体現した書籍です。しかも480 ページもあります。本書は単なる手法の列挙ではなく、Web APIデザインの根幹をなす原則と哲学を探求しています。著者のJJ Geewax氏は、APIを「コンピュータ

                                      すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる
                                    • iCloud・Googleドライブ・Dropbox・OneDrive・Megaへひとまとめにアクセスできるオープンソースのクロスプラットフォームファイルマネージャー「Spacedrive」

                                      複数のデバイスやドライブ、クラウドサービスのファイルを1つのデータベースに結合して、任意のデバイスから整理および探索できるファイルマネージャーが「Spacedrive」です。Spacedriveはオープンソースで開発されており、GitHubにリポジトリが作成されています。 Spacedrive — A file manager from the future. https://www.spacedrive.com/ GitHub - spacedriveapp/spacedrive: Spacedrive is an open source cross-platform file explorer, powered by a virtual distributed filesystem written in Rust. https://github.com/spacedriveapp/sp

                                        iCloud・Googleドライブ・Dropbox・OneDrive・Megaへひとまとめにアクセスできるオープンソースのクロスプラットフォームファイルマネージャー「Spacedrive」
                                      • [翻訳]LLMで1年間開発して学んだこと〜LLMプロダクト開発を成功に導くための実践的ガイド〜

                                        この記事は "What We’ve Learned From A Year of Building with LLMs" という記事を著者の一人である Eugene Yan さんから許可を得て翻訳したものです。 https://applied-llms.org/ Thank you for giving me a permission to translate this wonderful article! 著者の方々 Eugene Yan Bryan Bischof Charles Frye Hamel Husain Jason Liu Shreya Shankar 原文の公開日 2024/6/8 今は大規模言語モデル(LLM)を使った開発がとってもエキサイティングな時期です。この1年間で、LLMは実世界のアプリケーションに対して「十分に良い」ものになりました。そして、年々良くなり、安く

                                          [翻訳]LLMで1年間開発して学んだこと〜LLMプロダクト開発を成功に導くための実践的ガイド〜
                                        • 日本の美術館サイトはどうすればもっと良くなるか|shosira

                                          美術手帖の橋爪さん(直接の面識はないと思う)が、こんな投稿をされていたので、少し筆を取ってみることにした。 【緩募】 アートに興味のあるウェブディレクターやウェブデザイナーの方々、「日本の美術館サイトはどうすればもっと良くなるか」っていう話しません?(そして記事にしたい) — 橋爪勇介|美術手帖 (@hashizume_y) January 18, 2020 今の美術館を取り巻く状況と、ウェブ業界を取り巻く状況を重ね合わせて考えるとスマートな解決策がすぐには見いだせないのだが、ウェブ制作者サイドの人間として簡単に思うことを取りまとめてみたい。 もはや、何ができていないかよりも、なぜできないのかを論じるべき時期にきているインターネットが一般化して20年以上が経ち、2000年代初頭のように、インターネットってなに?という人はもはや駆逐されつつある。学芸員も司書も手許にはiPhoneがある。美術

                                            日本の美術館サイトはどうすればもっと良くなるか|shosira
                                          • 詳細設計の書き方 - Qiita

                                            はじめに システム開発において詳細設計という工程があります。 プログラマーはこの詳細設計を確認しながら開発を行うことになります。そのため詳細設計ではシステムの構造や仕様、動作などを細かく定義することが必要になります。 詳細設計を行うことでシステム開発の方向性が明確になり、コーディングやテストをスムーズに行うことができます。 詳細設計の成果物としてはクラス図やシーケンス図、画面設計書やデータベース設計書などがあり、システムの動きや機能を具体的に表現するものです。 今回は詳細設計を作成する機会があったので、詳細設計の書き方についてまとめたいと思います。 詳細設計の目的やメリット 詳細設計の目的は、システム開発の品質や効率を向上させることです。詳細設計では、システムの仕様や動作を細かく定義することで、以下のようなメリットがあります。 開発工程でのバグや遅延を減らすことができる テスト工程での不具

                                              詳細設計の書き方 - Qiita
                                            • Javaがパブリックスタティックヴォイドメインの呪文から解放される - きしだのHatena

                                              みなさん、今日もパブリックスタティックヴォイドメインしてますか? ジャバと言えばパブリックスタティックヴォイドメインですよね。 最近はIDEでmain[tab]と入力すれば補完してくれるとはいえ、コードを読むときには目に入ってきたりしますね。 そんなパブリックスタティックヴォイドメインの呪文から解放される日が近づいています。 TL; DR 9月リリースのJava 21の試用機能として void main() { System.out.println("Hello"); } をhello.javaで保存したら、java hello.javaで実行できるようになります。 (Java 21では--enable-preview --source 21が必要) Javaではプログラムを開始するときにpublicなclassなどにStringの配列を受け取るpublicでs

                                                Javaがパブリックスタティックヴォイドメインの呪文から解放される - きしだのHatena
                                              • ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog

                                                こんにちは、テックリードの夏です。 今年4月にCTOからテックリードに肩書が変わり、ガリガリコードを書くようになりました。 背景については、こちらをご覧ください。 www.wantedly.com 普段はプロダクト側の機能開発と、サーバ側の基盤開発を半々ぐらいの割合で仕事しています。 一口にサーバ側の基盤開発といっても定義が曖昧なのですが、基本的にはこんな感じのタスクをやっています。 インフラコストの最適化 不正なアクセスからの防御 障害の再発防止 新技術の導入やアーキテクチャの整備 今回はこのうち「新技術の導入やアーキテクチャの整備」の中で、サーバサイドをGo + Clean Architectureで再設計したことについてお話したいと思います。 背景 ミラティブは2015年春頃に開発が始まり、同年8月にサービスがリリースされ、2020年8月で5周年を迎えました。 その過程で組織やプロダ

                                                  ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog
                                                • タイタニック号探索潜水艇タイタン号で起きた悲劇は、「メートルとフィートを間違えて設計した」せいではないし、「CEOが多様性思想にかぶれて有能な人材を取らなかった」からでもない - Hoarding Examples (英語例文等集積所)

                                                  【追記】たくさんのブクマをありがとうございます。1つ前のエントリにある、The Syria Campaignの国連加盟国宛て請願文と署名も、よろしくお願いします。【追記ここまで】 ネットでは無根拠な憶測や事実に照らして正しくない誤情報がバズりすぎるということは今やただの常識、「ネットってそんなもんでしょ」と言って済ませればいいだけのことかもしれないが、それにしたって日本語圏はひどい、という事例に今朝接したので、そのことについて簡単に書いておくことにする。ついでに見つけた英語圏の事例についても。 111年前の1912年に氷山に衝突して大海の藻屑と消えた豪華客船タイタニック号の残骸を見物するために、海底3800メートルにまで行く潜水艇 (submersible*1, 略してsub*2) が音信不通になったことが伝えられたのは、6月18日(月)だった(北米東海岸の時間)。以降の数日間、BBC N

                                                    タイタニック号探索潜水艇タイタン号で起きた悲劇は、「メートルとフィートを間違えて設計した」せいではないし、「CEOが多様性思想にかぶれて有能な人材を取らなかった」からでもない - Hoarding Examples (英語例文等集積所)
                                                  • プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで

                                                    2022年4月22日紙版発売 2022年4月19日電子版発売 鈴木僚太 著 B5変形判/424ページ 定価3,278円(本体2,980円+税10%) ISBN 978-4-297-12747-3 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 TypeScriptは,JavaScriptに静的型付けの機能を加えたオープンソースのプログラミング言語です。本書では,根幹となるJavaScriptの仕様・機能とともに,TypeScript独自の仕様・機能を解説します。TypeScriptの基礎知識はこれ一冊だけで学べます。 静的型付き言語は世にいくつも

                                                      プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで
                                                    • 【2019年】CTF Web問題の攻撃手法まとめ (Web問題のwriteupぜんぶ読む) - こんとろーるしーこんとろーるぶい

                                                      CTF Advent Calendar 2019 - Adventarの25日目の記事です。 1つ前は@ptr-yudai氏の2019年のpwn問を全部解くチャレンジ【後半戦】 - CTFするぞでした。 はじめに 対象イベント 問題数 読み方、使い方 Cross-Site Scripting(XSS) SVGファイルを利用したCSPバイパス GoogleドメインのJSONPを利用したCSPバイパス サブリソース完全性(SRI)機能を利用した入力チェックバイパス Chrome拡張機能のパスワードマネージャーKeePassの悪用 HTML likeコメントを使用したコメントアウト jQuery.getJSONのJSONP機能を使用したスクリプト実行 DOM Clobberingによるコードハイジャック Service Workerを利用したスクリプト実行 XSS Auditor機能のバイパス

                                                        【2019年】CTF Web問題の攻撃手法まとめ (Web問題のwriteupぜんぶ読む) - こんとろーるしーこんとろーるぶい
                                                      • ChatGPT+Marpで技術勉強会用のプレゼン資料を爆速で作成する - Taste of Tech Topics

                                                        こんにちは、igaです。 ゆっくりペースで実施していた、リングフィット アドベンチャーを先日クリアすることができました。 今回は、ChatGPTに、社内の技術勉強会向けに、ライトニングトーク用のプレゼン資料を作ってもらおうと思います。 私からは、テーマだけを決めて、その内容の検討自体をChatGPTにお願いしてみました。 プレゼン資料の内容 「AWS CloudShell から Amazon ECS で任意のコマンドを実行する方法」という内容を検討してみます。 概要として、以下のようなものを考えています。 「AWS CloudShell から ECS exec を利用して、Amazon ECS上のコンテナで任意のコマンドを実行するために必要な設定方法について説明する。」 ChatGPTに内容の検討を依頼する ChatGPTに内容の検討をお願いするため、以下のようなプロンプトを指定してみます

                                                          ChatGPT+Marpで技術勉強会用のプレゼン資料を爆速で作成する - Taste of Tech Topics
                                                        • 英語の学術論文をChatGPT-4で執筆する際の手順メモ|Kan Hatakeyama

                                                          はじめに英語の論文をGPT4に執筆させた際の手順を記します。 普段からChatGPTを使っている人にとっては、当たり前のやり取りしかしていないのですが、意外と使えていない方がnon-AI分野では多いので、丁寧にプロンプトを示していきます。 (ワークショップで解説する必要が出てきたので、そのためのメモ書きです) GPT-4に論文は書けるのか?ゼロから書かせるのは難しいですが、日本語の下書きを英訳するのは得意で、少なくとも筆者が満足する品質のテキストが得られます。 GPTを使って執筆をするメリットDeepLやGoogle翻訳と違い、英文のスタイル(e.g., 論文調)を明示的に指示できるので、翻訳のクオリティが高い 日本語ネイティブにとっては、日本語で書いた方が圧倒的に楽※ スペルミスや文法ミスを犯さないので、校正の手間も減る。※ 基本的に翻訳タスクしか行っていないので、GPTが過去の類似文章

                                                            英語の学術論文をChatGPT-4で執筆する際の手順メモ|Kan Hatakeyama
                                                          • SQLアンチパターン簡単まとめ

                                                            「SQLアンチパターン」について、自分の勉強がてら内容を簡単にまとめました。 「とりあえずSQLは触れてWebアプリが作れる」「シンプルなアプリを実務で作ったことがある」くらいの人が読むととても勉強になると思います。 また、「現場での良くない設計」が詳細に言語化されているので、経験豊富な人でも新たな発見があると思います。 詳しく知りたい方は是非本を買って実際に読んでみて欲しいです。 第一章 ジェイウォーク パターン 1カラムにコンマ区切りで値を入れて複数の紐付きを表現しようとする なぜダメか 検索しづらい 文字列カラムの文字数制限という暗黙の制約を受ける バリデーションかけられない 解決策 交差テーブルの作成 第二章 ナイーブツリー パターン 木構造を表現するとき、常に親のみに依存する(parent_idだけ持ってしまう) 隣接リスト なぜダメか 階層を深く掘ろうとするとそのぶんSQLをか

                                                              SQLアンチパターン簡単まとめ
                                                            • なぜ「中絶の権利」が守られなければならないか(少し追記) - Foolproof Remedies

                                                              今北産業様向け要約 ・中絶を禁止しても女性が出産するわけじゃないよ。むしろ違法な中絶を行ったり、産んだ子を殺したりという形で、胎児と女性の両方を危険に晒すよ。 ・具体的には、望まない妊娠の6割は中絶で終わり、そのうち45%が「危険な」(医学的でない)中絶だよ。 ・アメリカはもともと、先進国では妊産婦死亡率が高い国だよ。しかも人種差が激しく、より貧困な黒人・ヒスパニックのほうが死亡率が高いよ。もちろん、彼らは中絶が禁止されれば「他所に中絶してもらいに行く」ことができなくなるので違法な中絶を行う可能性が増えるよ。→1行目に戻る 懸念されていたニュースが飛び込んできた。アメリカで中絶の権利を認めた「ローvsウェイド判決」を覆す最高裁判決案がリークされたというのだ。すでに共和党は「オバマ政権終盤の民主党による最高裁判事指名を『前例を踏襲して』控えるように強いた一方で、トランプ政権末期の最高裁判事指

                                                                なぜ「中絶の権利」が守られなければならないか(少し追記) - Foolproof Remedies
                                                              • Re: ブロックチェーンでそんなことはできない - Software Transactional Memo

                                                                はじめに chike0905.hatenablog.com この記事は大変楽しく拝読したが、ブロックチェーン素人ながら気になる点がいくつかあったので指摘する。要旨は以下である。 タイトルで「できない」と言ってる割には「できるけど筋が悪い」だけに見える 研究中で結論が出ていないトピックを「できない」と呼ぶのは違うのではないか 文体が学術めいている割には用語の使い方がやや雑に見える ブロックチェーンに「不可能」な事にフォーカスすべき 浮足立つ界隈に対して問題提起するならば的を絞って指摘すべきで、容易に解決可能そうに見えてしまう批判はかえって混乱を招く恐れすらある ノードの独立性 各自で検証し、他のノードに依存するプロセスは本定義のブロックチェーンの動作の中には含まれない。 従って、他のノードに何かを問い合わせる必要もなく、信頼する第三者などは存在しない。 この部分はあまり正しく理解している人が

                                                                  Re: ブロックチェーンでそんなことはできない - Software Transactional Memo
                                                                • ゼロトラストアーキテクチャ 適用方針

                                                                  ゼロトラストアーキテクチャ 適用方針 2022 年(令和 4 年)6 月 30 日 デジタル庁 〔標準ガイドライン群ID〕 DS-210 〔キーワード〕 ゼロトラスト、ゼロトラストアーキテクチャ、 〔概要〕 政府情報システムのシステム方式について、より堅牢なシステム構築の観 点からゼロトラストアーキテクチャの適用方針を示す。 改定履歴 改定年月日 改定箇所 改定内容 2022年6月30日 初版決定 i 目次 1 はじめに ......................................................... 1 1.1 背景と目的 .................................................. 1 1.2 適用対象 .................................................... 1

                                                                  • 「どうカーソルを動かしたか」「どこをクリックしたか」「どの部分をスクロールして読み飛ばしたか」などのアクセス情報を全て入手し解析・分析できるオープンソースのアプリ「highlight.io」を使ってみた

                                                                    ウェブアプリの開発をする時、ユーザーに「どこが分かりにくかったか」や「どこでエラーが発生したのか」などの情報をフィードバックしてもらいたいものですが、そうしたフィードバックを送る作業はなかなかに面倒なもので、全然直接のフィードバックは来ないのにTwitterにはいろんな意見が書かれている……ということはよくあります。「highlight.io」はそうしたフィードバックを勝手にやってくれるツールということで、実際に使って試してみました。 highlight.io: The open source monitoring platform. https://www.highlight.io/ highlight.ioはオープンソースということでセルフホスト版が用意されていますが、今回はどんな機能があるのかについて確かめるためhighlight.ioの開発元が提供するSaaSを利用します。公式サイ

                                                                      「どうカーソルを動かしたか」「どこをクリックしたか」「どの部分をスクロールして読み飛ばしたか」などのアクセス情報を全て入手し解析・分析できるオープンソースのアプリ「highlight.io」を使ってみた
                                                                    • あらためてIPv6基本のキ (1/2)

                                                                      IPoEの普及によって、日本の家庭のインターネット回線は 確実にIPv6化が進行している 家庭用のインターネット常時接続サービスでIPoE(IP over Ethernet)が簡単に利用できるようになった。IPoEでは、簡単に言えば、自宅が1つのサブネットワークになる。そもそもIP over Ethernetとはイーサネットを流れているIPと同じということである。 実際、ルーターにはIPv6グローバルネットワークアドレスが割り当てられ、そこから自動割り当てられたWindowsマシンのIPv6アドレスもインターネットでそのまま通用するグローバルアドレスである。 そういうわけで、あらためてIPv6とまともに付き合う必要が出てきた。今回は、IPv6の基本の「キ」としてざっくりとした解説をする。 まずは基本となるIPv6アドレスについて まずはIPv6アドレスについてだ。IPv6アドレスは128b

                                                                        あらためてIPv6基本のキ (1/2)
                                                                      • スラッシュの有無だけでセキュリティにとんでもない大穴が空いてしまうNginxのありがちな設定ミスについて実例を踏まえて専門家が解説

                                                                        多機能なウェブサーバーとして2004年に登場したNginxは、2023年6月時点では業界トップシェアとなるほど人気を集めるサーバーです。そんなNginxの設定において、スラッシュを一つ付けるか付けないかの差で大きなセキュリティホールができてしまう問題について、大手パスワードマネージャーやGoogle製のツールの例をとりあげてセキュリティアナリストのダニエル・マツモトさんがブログで解説しています。 Hunting for Nginx Alias Traversals in the wild https://labs.hakaioffsec.com/nginx-alias-traversal/ Nginxの設定には、特定のURLへのアクセスをどう処理するべきかを記述できる「location」というディレクティブが存在しており、URLをサーバー内のファイルに対応させるのによく利用されています。例

                                                                          スラッシュの有無だけでセキュリティにとんでもない大穴が空いてしまうNginxのありがちな設定ミスについて実例を踏まえて専門家が解説
                                                                        • note株式会社はまず、自らの不誠実な態度を「カイゼン」せよ(9/1記事の続報)

                                                                          *これはあくまで私個人の考えであり、他に強制するものではありません。また、取引先等がnoteを利用することを否定したり、問題視するものではありません。 *この記事は、2020/09/01更新記事「なぜ私はnoteをやめたのか IPアドレス流出『3つの不誠実』」の続きです。 私は、上記記事にも書きましたが、今回のIPアドレスの件で、こういうトラブルが起きたときに、不誠実な態度を取る人は、まず人として信頼できないなーと思ったので、noteのサービス利用自体をやめることにしました。 noteにあった私の有料コンテンツは9月中にすべて引き揚げ、こちらのブログで読めるようになっています。(一部内容が古い有料noteは、削除しました。) noteにある無料コンテンツは、アーカイブとして残すことにし、その後アカウントは残しつつ、放置していました。その後は、noteからも何も説明がなかったので、「あ、この

                                                                            note株式会社はまず、自らの不誠実な態度を「カイゼン」せよ(9/1記事の続報)
                                                                          • メルカリShops の CI/CD と Pull Request 環境 | メルカリエンジニアリング

                                                                            こんにちは!ソウゾウの Software Engineer の @dragon3 です。 連載:「メルカリShops」プレオープンまでの開発の裏側の8日目を担当させていただきます。 この記事では、メルカリShops 開発において、日々バリバリに利用されている CI/CD 環境と Pull Request 毎のデプロイ環境について紹介します。 CI/CD 環境 メルカリShops では、CI/CD (テスト・ビルド・デプロイ)やその他自動化のために GitHub Actions を使っており、ほとんどのワークフロー・ジョブを Self-hosted runners で実行しています。 Self-hosted runners は、専用の VPC ネットワーク 内の GCE インスタンス上で動かしており、Managed Instance Group 等を使い、そのプロビジョニングや起動・停止等は

                                                                              メルカリShops の CI/CD と Pull Request 環境 | メルカリエンジニアリング
                                                                            • AWS WAFを完全に理解する ~WAFの基礎からv2の変更点まで~ | DevelopersIO

                                                                              こんにちは、臼田です。 皆さん、WAFWAFしてますか?(挨拶 今回はタイトル通りAWS WAFを完全に理解するための情報を全部詰め込んだブログです。長いです。 そもそもWAFってなんだっけ?という話から初めて「全部理解した」と言えるようになるまでをまとめています。直近AWS WAF v2がリリースされたため、この変更点を中心に機能の説明をします。 Developers.IOではWAFを扱った記事がたくさんあるので、細かいところはブログを引用します。いわゆる元気玉ブログです。 おさらい的な部分も多いので変更点が気になる方は適当に飛ばしてください。 そもそもWAFとは AWS WAFの前にWAFの話をします。WAFはWeb Application Firewallの略でWebアプリケーションを保護するためのソリューションです。 一般的なWebアプリケーションに対する攻撃手法としてSQLインジ

                                                                                AWS WAFを完全に理解する ~WAFの基礎からv2の変更点まで~ | DevelopersIO
                                                                              • OAuthにおける認可コード横取り攻撃とその対策

                                                                                OAuthにおける認可コード横取り攻撃とその対策 Jul 5, 2021 前回の記事で示したように、カスタムURLスキームを偽装した不正アプリは正規アプリへのディープリンクを乗っ取れる。この挙動の悪用シナリオとして、正規アプリと認可サーバー間のOAuthフローにおける認可コード横取り攻撃が知られている。この攻撃への対策を把握するためにiOS環境でシナリオを再現し、PKCEの有効性を確認した。 要約 OAuth 2.0の拡張機能であるPKCEを導入することで認可コード横取り攻撃を無効化できる。OAuth 2.0の仕様では、認可サーバーはネイティブアプリをクライアント認証できない。そのため、認可サーバーは認可コードを横取りした不正アプリと正規アプリを識別できない。しかし、PKCEの仕組みにより認可サーバーは正規アプリを識別できるようになり、認可コード横取り攻撃の検知が可能となる。 ネイティブア

                                                                                  OAuthにおける認可コード横取り攻撃とその対策
                                                                                • ここがつらい! Slack API - Qiita

                                                                                  半分ネタ記事です。あんまり真面目に書きません。 項目数が多いので,気力でなんとか書きます。分類は諦めます。 他にもある!っていうのがあったらコメント欄で教えて下さい。気が向いたら追記します。 公式の TypeScript 型定義がもはや型定義を諦めている 辛い度: ★★★★★ 辛い中でもこれはかなり上位に来るやつ。 こちらに OpenAPI 形式で仕様が定義されていて, https://github.com/slackapi/node-slack-sdk/tree/main/packages/web-api/types ここに仕様に基づいて TypeScript の型定義ファイルが吐かれるようになっています。 Git 管理されていないので,実際のリリースを見てみましょう。 https://unpkg.com/@slack/web-api@6.7.2/dist/response/Reacti

                                                                                    ここがつらい! Slack API - Qiita