並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 90件

新着順 人気順

形式手法の検索結果1 - 40 件 / 90件

  • 働きながら情報系の大学院を修了した|父

    2022年9月末で北陸先端科学技術大学院大学の博士前期課程を修了し、修士(情報科学)が授与された。働きながら通い始めて丸3年かかった。 学位記。大変だったので嬉しい…とても大変だったので学位記が届いたときは万感の思いだった。ただ、このエントリを書いたのは「すげえだろ」とかそういうのとはどちらかと言えば真逆の感情で、僕の修士課程がどのくらい低空飛行でどのくらい誰にでもできることなのかを詳らかにして同じような境遇の人を鼓舞することが目的だ。そのために敢えてみっともない、見栄を張りたいなら書く必要のない恥まで含めてある。学位というものに一抹の未練がある人は是非読んで欲しい。 筆者について進学時36歳、修了時39歳。 職業はソフトウェアエンジニア。2児の父。4流大の文学部卒。 暇な人は過去のエントリに詳しいが、別に読まなくても構わない。 入学まで僕が大学院進学を決意したのは元同僚で友人のさのたけと

      働きながら情報系の大学院を修了した|父
    • プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog

      κeenです。最近JEITAのソフトウェアエンジニアリング技術ワークショップ2020に参加したんですが、そこで五十嵐先生、柴田さん、Matzとパネルティスカッションをしました。その議論が面白かったので個人的に話を広げようと思います。 年末年始休暇に書き始めたんですが体調を崩したりと色々あって執筆に時間がかかってしまいました。 時間を置いて文章を書き足していったので継ぎ接ぎ感のある文体になってるかもしれませんがご容赦下さい。 というのを踏まえて以下をお読み下さい。 いくつか議題があったのですが、ここで拾うのは一番最後の「プログラミング言語の未来はどうなるか」という話題です。 アーカイブが1月末まで残るようです。もうあと数日しかありませんが間に合うかたはご覧下さい。 そのとき各人の回答を要約すると以下でした。 五十嵐先生:DSLを簡単に作れる言語というのが重要。それとプログラム検証、プログラム

        プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog
      • 自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み

        長らく自動テストとテスト容易設計を生業としてきましたが、最近は色々な限界を感じて形式手法に取り組んでいます。 この記事では、既存の自動テストのどこに限界を感じてなぜ形式手法が必要なのかの私見を説明します。なお、私もまだ完全理解には程遠いため間違いがあるかもしれません。ご指摘やご意見はぜひ Kuniwak までいただけると嬉しいです。 著者について プログラマです。開発プロセスをよくするための自発的な自動テストを支援する仕事をしています(経歴)。ここ一年は R&D 的な位置付けで形式手法もやっています。 自動テストの限界 自動テストとは 私がここ数年悩んでいたことは、iOS や Web アプリなどのモデル層のバグを従来の自動テストで見つけられないことでした。ただ、いきなりこの話で始めると理解しづらいと思うので簡単な例から出発します。 この記事でいう自動テストとは以下のようにテスト対象を実際に

          自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み
        • 放送大学マイルストーン('23)|lumpsucker

          はじめにこの記事は、放送大学の(主に情報コースを中心とする)学生さん向けに、私の履修済み科目の感想と主観的評価を共有して、履修計画の参考にしていただくことを目的に作成しました。下記の記事の通り、2019年-2020年の2年間で情報コースの科目を8割方履修したのでそれなりの網羅性があるかと思います。 (2023年2月追記)その後、選科履修生として履修した他コースの科目や大学院科目などを追加して112科目掲載しています。試験難易度については履修時期によって会場試験・在宅ペーパー試験・在宅Web試験が混在しているので参考程度でお願いします。 タイトルは私が現役生の時に通っていた大学の似たような評価システムから拝借しました。 以下の科目は基本的にナンバリングが低い順に並べています。閉講済みの科目も混じっていますが、記録と後継科目の参考のために残しておきます。あくまで全て(上記の記事にある通り、文系

            放送大学マイルストーン('23)|lumpsucker
          • 2021年の「オブジェクト指向」を考える

            きしださんが先日もたのしいお題を投下されていました。 出遅れましたがこのネタについて少し掘り下げてみます。 念のため個人的なスタンスをあらかじめ表明しておくと、オブジェクト指向に対してはそれなりに好意的ですが、別に時代の最先端だとかソフトウェア開発に必須の知識というほどではない(でも知っておくと便利というか、知らないと不便なこともあるかもしれないのでわざわざ避けるのはおすすめしない)というくらい温度感です。 オブジェクト指向 is 何 そもそも「オブジェクト指向」という言葉自体、座りの悪い言葉です。 意味が明確なのは「オブジェクト指向プログラミング(OOP)」、「オブジェクト指向プログラミング言語(OOPL)」、「オブジェクト指向設計(OOD)」「オブジェクト指向分析(OOA)」といった「オブジェクト指向なんとか」の方で、それらをふわっとまとめた(ような気がする)単語が「オブジェクト指向」

              2021年の「オブジェクト指向」を考える
            • 図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書

              この本の概要 テレビ会議やリモートワークが普及する中,情報を守る暗号や本人確認のための認証技術の重要性が増しています。本書は公開鍵暗号や署名などの理論を基礎から詳しく解説し,TLS1.3やHTTP/3,FIDOなどの新しい技術も紹介します。更にブロックチェーンで注目されている秘密計算,ゼロ知識証明,量子コンピュータなど最先端の話題も扱います。 こんな方におすすめ 暗号と認証の基礎を学習したい人 Web担当者やセキュリティ担当者など 1章 暗号の基礎知識 01 情報セキュリティ 情報セキュリティの三要素 情報セキュリティと暗号技術 利便性とコスト 追加された要件 02 暗号 暗号とは よい暗号と使い方 暗号の動向を知る 03 認証 パスワードによる認証 パスワード攻撃者の能力 パスワードの攻撃手法 認証の分類 認可 OAuth 04 古典暗号 シフト暗号 換字式暗号 符号化 2章 アルゴリズ

                図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書
              • 働きながら9年かけて博士号を取得しました - yumulog

                本エントリは 社会人学生 Advent Calendar 2019 - Adventar の20日目の記事です。だいぶ過ぎてしまいましたが。 2019年9月に北陸先端科学技術大学院大学(JAIST)より博士(情報科学)が授与されました。2010年10月に入学したので、9年かけての取得になりました。在学6年間、休学1年間、単位取得退学後2年間という、JAISTの制度上*1の年数をすべて上限まで使い切りました。この博士取得の過程を振り返ってみようと思います。なお、入学時は東京で働いていましたが、途中から石川に引っ越してます。長いので目次作りました。 博士号取得を目指した理由 ふりかえり 入学まで 1年目前半: 2010/10〜2011/03 1年目後半: 2011/04〜09 2年目: 2011/10〜2012/09 3年目: 2012/10〜2013/09 4年目: 2013/10〜2014

                  働きながら9年かけて博士号を取得しました - yumulog
                • Developers Summit 2020 資料リンクまとめ - Qiita

                  毎年開催されているデブサミが2020/2/13(木)、14(金)で開催されましたね。 現時点で公開されている資料のリンクをまとめました。 よろしければご活用ください。 はじめに 公式サイト - Developers Summit 2020 登壇者名は敬称略させていただいています。 Twitterアカウントについては、多くの方はデブサミ公式サイトの紹介ページに記載がありましたので、そちらから引用させていただきました。記載がなかった方については、調べて分かった方のみ記載しています。 資料について、見つけられなかった or 元々資料を使用していない 方についてはレポート記事を見つけられた方のみ、そのリンクを記載しています。 なお、こういったリンクまとめをQiitaに投稿するのは初めてなので何か問題がある場合や、リンクの間違い等ありましたらコメントいただけると助かります。 2/13 13-A-1

                    Developers Summit 2020 資料リンクまとめ - Qiita
                  • t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました - DeNA Testing Blog

                    こんにちは、SWETグループの田熊です。 現在SWETグループでは書籍「単体テストの使い方/考え方」の輪読会を実施しています。 輪読会ではメンバー同士で活発に意見が交わされていますが、著者の主張に疑問を感じる箇所もあり、一度グループ外の方とも意見を交換したいと考えていました。 そこで、t_wadaさんをお招きし「単体テストの使い方/考え方」についてディスカッションする機会を設けました。 本記事では、SWETメンバーとt_wadaさんとのやりとりを紹介したいと思います。 ディスカッションの流れ ディスカッションは事前にSWETグループのメンバーが書籍を読んで疑問に感じたテーマを挙げてもらい、t_wadaさんの意見を聞くという流れで行いました。 今回は次のテーマについて話をしました。 「退行に対する保護」があるテストとはなにか 「リファクタリングへの耐性」のトレードオフはあるのか 統合テストの

                      t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました - DeNA Testing Blog
                    • 仕様記述テクニック「Promotion」の紹介 - DeNA Testing Blog

                      こんにちは、SWETの鈴木穂高(@hoddy3190)です。 私はこちらの記事に記載の通り、形式手法の可能性を模索しています。 現在はツールやゲームの仕様を形式的に記述すること(形式仕様記述)で、仕様の欠陥をなるべく早く見つける取り組みにチャレンジしています。 今回は仕様記述をするにあたりよく使う重要な記述テクニックである「Promotion」を紹介します。 形式仕様記述とAlloyというツールを知っている人を対象にしています。 もし形式仕様記述やAlloyをご存じない方は、以前私がbuilderscon tokyo 2019で発表したときに使った資料をご覧ください。 Promotionとは 一般にソフトウェアシステムは複数のコンポーネントから構成されます。 システム全体としての状態(以下、システム状態)は各コンポーネントの状態の組み合わせからなります。 たとえどんなに奥深くのどんなに小さ

                        仕様記述テクニック「Promotion」の紹介 - DeNA Testing Blog
                      • 形式手法はなぜ流行っていないのか - Qiita

                        はじめに みなさん形式手法をご存知でしょうか? 名前くらいは聞いたことあるけどいまいち何かわからないという方が多いのではないでしょうか。 その通りです。形式手法はアカデミアではそれなりに研究されているものの、 一般の(特にWeb系)ソフトウェア開発者が携わることはなかなかないのではないかと思います。 この記事ではソフトウェア開発に形式手法が導入されないのはなぜなのかを考察します。 この記事ではアジャイルソフトウェア開発において形式手法を導入する際のハードルについて考察します。 追記 本記事について、「形式手法は流行っていない」というのは正確ではないのではないかという指摘をいただきました。組み込み系や社会インフラ系等バグを絶対に出せないシステム開発では形式手法がよく使われているそうです。 ちょっと古いデータですが活用事例です。 誤解を招く紹介となっていたことをお詫びします。 さらに追記 ku

                          形式手法はなぜ流行っていないのか - Qiita
                        • 「せっかく記号を使った形式手法があるのに自然言語に戻るのか」というツイート - tkgshn

                          それはそうと、軽量な形式手法たる型システム含む形式手法は記号の世界の中での正気はちゃんと証明してくれるが、人間様が頭を捻って作られた、自然言語で書かれた仕様とやらは一体何の正気を保証してくれるんだろう

                            「せっかく記号を使った形式手法があるのに自然言語に戻るのか」というツイート - tkgshn
                          • あなたの「公開鍵暗号」はPKE? それともPKC? - Cybozu Inside Out | サイボウズエンジニアのブログ

                            初めに サイボウズ・ラボの光成です。 いきなりですがクイズです。次のうち正しい説明はどれでしょう。 SSHやFIDO2などの公開鍵認証はチャレンジを秘密鍵で暗号化し、公開鍵で復号して認証する。 ビットコインでは相手の公開鍵を用いてハッシュ値を暗号化して相手に送る。 TLS1.3ではサーバ公開鍵を用いてAESの秘密鍵を暗号化する。 答えはどれも間違いです。 公開鍵認証は、(デジタル)署名を使って相手先の正しさを検証するものであり、暗号化は行われません。 同様にビットコインもデータや相手の正当性を確認するために署名が用いられ、暗号化は行われません。 TLS 1.3ではRSA暗号の公開鍵を用いて暗号化する方式(static RSA)は廃止され、ECDH鍵共有された値を元に秘密鍵を生成し、AES-GCMなどの認証つき暗号で暗号化します。 公開鍵暗号とは いわゆる公開鍵暗号には大きく2種類の意味があ

                              あなたの「公開鍵暗号」はPKE? それともPKC? - Cybozu Inside Out | サイボウズエンジニアのブログ
                            • ドイツの大学院でコンピュータサイエンスを学ぶー文系卒会社員から理転して修士号を取得するまで - 元コンサルタントな歴史家―ドイツから見た日本

                              さて今回は、理転されて、かつドイツで修士号を修められたnanakoさんにご寄稿願いました。現在は大学院を修了し、次のステップに踏み出されようとしているところですので、ついこないだまでの体験を記事にしていただいております。そのため、かなり新鮮な体験記となっています。 読むだけでnanakoさんの体験を追体験できますので、苦労も緊張も成長も喜びも含めて、留学気分に浸れます。ぜひとも楽しんでみて下さい。 ----------------以下、寄稿文---------------- はじめまして、nanako(@__nanakom)です。 私は2017年10月からドイツ・ダルムシュタット工科大学(Technische Universität Darmstadt, TU Darmstadt)のコンピュータサイエンス(以下、CS)修士課程に在籍しています。 つい先日、修士論文の成績が確定し、ようやく全

                                ドイツの大学院でコンピュータサイエンスを学ぶー文系卒会社員から理転して修士号を取得するまで - 元コンサルタントな歴史家―ドイツから見た日本
                              • "The Essence of Software"が提唱する全く新しいソフトウェア設計の考え方|Idein株式会社

                                (6/22 注:書き足りないと思っていた箇所を補って加筆修正しました) エンジニアのbonotakeです。Ideinに入ってかれこれ3年以上経ちますが、Ideinでブログ記事を書くのは初めてです。 今日は、ソフトウェア設計の全く新しい考え方について書かれた "The Essence of Software" という本の紹介をしたいと思います。 この本の著者はMIT教授でソフトウェア工学の世界的な研究者であるDaniel Jacksonです。形式手法Alloyの発明者、と言ったほうが通じる人には通じるかもしれません。形式手法とは、ありていにいえば、数理論理学を駆使してソフトウェアに潜むバグを論理的に駆逐する手法です。 (個人的な宣伝ですが、彼の書いたAlloyの本を以前翻訳して出版しました。) そんな彼が昨年11月に新著を出版したというので、ほぼその日に買いました。……ですが、本を開いてみる

                                  "The Essence of Software"が提唱する全く新しいソフトウェア設計の考え方|Idein株式会社
                                • 【第2回】TypeScriptもウェブも仕様や原理から楽しむ | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

                                  2022年4月に著書『プロを目指す人のためのTypeScript入門』が発売された鈴木僚太さん(https://twitter.com/uhyo_)。QiitaやTwitterでは「うひょ(uhyo)」さんとして、TypeScriptやフロントエンドの話題を中心にウェブ技術に対する踏み込んだ解説でも知られています。 著書ではあえて触れられなかったという「TypeScriptでウェブアプリケーションをどう書くか」という観点へのヒント、なぜそれを書かなかったのか、そして仕様や原理に立ち返って自ら考えることの楽しさについて、株式会社一休CTOの伊藤直也さん(https://twitter.com/naoya_ito)が聞き出します。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてな

                                  • 達人出版会

                                    探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                                      達人出版会
                                    • ゼロから学んだ形式手法 - DeNA Testing Blog

                                      2020年1月に入社し、SWETの仕様分析サポートチームに加わったtakasek(@takasek)です。 仕様分析サポートチームでは、社内のプロダクト開発に対する形式手法の活用可能性を模索しています。当ブログでも、継続的に形式手法に関する情報発信をしています(形式手法 カテゴリーの記事一覧)。 この記事では、加入3か月を経てようやく形式手法の輪郭が掴めてきた私の視点から、学習前後での理解の変化について振り返ります。想定読者として学習前の私と近い属性——すなわちコンピュータサイエンスや数学の専門教育を受けておらず、主に現場での実務と自習に頼ってきたソフトウェアエンジニアを想定しています。 形式手法を学ぶ前の認識と疑問 ソフトウェアエンジニアとしての私の一番の興味関心は設計手法です。設計は、なんらかの解決したい問題に対して、ある一面を切り取った構造(モデル)を与え、そのモデルを解決の機構に落

                                        ゼロから学んだ形式手法 - DeNA Testing Blog
                                      • AWS Lambdaの高速なコンテナロードの仕組み | CyberAgent Developers Blog

                                        CTO統括室の黒崎(@kuro_m88)です。今回はAWS Lambdaの高速なコンテナロードの仕組みについて紹介します。 AWS Lambdaはサーバレスなマネージドサービスであり、難しいことを知らなくてもユーザ(私たち)は簡単にアプリケーションをホストでき、簡単にスケールします。 ユーザから見るとシンプルですが、その裏側では様々な仕組みがあったり最適化が行われたりしています。 マネージドサービスの裏側を必ずしも知る必要はありませんが、仕組みを知っておくとより使いこなせるはずですし、自信を持って技術選定ができるはずです。(そして何より裏側を知ることは楽しい!🤗) 本記事はUSENIX ATC 2023で発表された論文「On-demand Container Loading in AWS Lambda」の内容に基づいて、読んでいて面白かったポイントをまとめています。 On-demand

                                          AWS Lambdaの高速なコンテナロードの仕組み | CyberAgent Developers Blog
                                        • 形式手法を使って、 発見しにくいバグを一網打尽にしよう

                                          builderscon tokyo 2019で話したときに使った資料です。 YouTube: https://www.youtube.com/watch?v=D7GccAn6R94 [2020/04/17追記] この資料をさらにブラッシュアップした資料を公開しました。 この資料よりも次の資料をご覧いただくことをおすすめします。 https://www.slideshare.net/dena_tech/dena-techcon-2020-230372486

                                            形式手法を使って、 発見しにくいバグを一網打尽にしよう
                                          • CockroachDB から覗く形式手法の世界 #JTF2021w / July Tech Festa 2021 winter

                                            July Tech Festa 2021 winter で使用したスライドです。 バグのない分散システムの設計は果たして可能でしょうか? この問いに対する一つの答えとして、CockroachDB では形式手法ツール TLA+ を用いて分散トランザクションの正しさを担保しています。 形式手法はシステムの挙動を数学的に解析する技法で、「ノードが特定のタイミングで故障した場合にのみ発生するバグ」といった再現困難な問題を確実に検出することができます。 本講演では、CockroachDB の事例を通して、形式手法が実世界で活用されている様子をお伝えします。 イベント概要:https://techfesta.connpass.com/event/193966/ ブログ記事:https://ccvanishing.hateblo.jp/entry/2021/01/24/185819 録画:https:/

                                              CockroachDB から覗く形式手法の世界 #JTF2021w / July Tech Festa 2021 winter
                                            • 達人出版会

                                              探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 デザインディレクション・ブック 橋本 陽夫 現場のプロがやさしく書いたWebサイトの分析・改善の教科書【改訂3版 GA4対応】 小川 卓 解釈可能なAI Ajay Thampi(著), 松田晃一(翻訳) PowerPoint 目指せ達人 基本&活用術 Office 2021 & Microsoft 365対応 PowerPoint基本&活用術編集部 ランサムウェア対策 実践ガイド 田中啓介, 山重徹 TODによるサステナ

                                                達人出版会
                                              • 働きながら修士課程1年目を終えて - 怠惰を求めて勤勉に行き着く

                                                本エントリは社会人学生 Advent Calendar 2020の19日目です。ただ今月の後半は個人的事情で非常に忙しいことが予想されるので、本日書いてしまってまだ筆の熱が残っている内に公開してしまおうと思います。 改めて自己紹介をさせてください。37歳の職業ソフトウェア技術者です。現在フルタイムで働きながら、北陸先端科学技術大学院大学(通称JAIST)の博士前期課程で情報科学を専攻しています。実は本アドベントカレンダーは去年も参加しました。そちらには進学の動機や入学したばかりの初々しい気持ちが表明されているような気がします。 fushiroyama.hatenablog.com さて、本エントリで何を書こうか少し悩みました。考えた結果、前半で「1年目を終えた率直な感想」を、後半で「JAISTで社会人大学院生をやること」について書こうと思います。特に後半には、この1年でのべ100人ぐらいに

                                                  働きながら修士課程1年目を終えて - 怠惰を求めて勤勉に行き着く
                                                • DeNA TechCon 2020で「仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ」という発表をしました(録画・スライドあり) - DeNA Testing Blog

                                                  こんにちは、SWETの鈴木穂高(@hoddy3190)です。 コロナウィルスの影響で当初予定していた2020年3月4日(水)のDeNA TechCon 2020は中止になってしまいましたが、「せっかく資料も作ったしどうしてもDeNAのチャレンジを紹介したいんだ!」ということで、先週2020年3月12日(木)に一部のセッションをライブ配信しました。 タイトルにもある通り、私もゲームの仕様に関するテーマでライブ発表をしましたが、本記事はそのフォローアップということで、スライド資料の補足情報といただいた質問への回答を記載します。 発表内容 タイトル 仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ セッション情報 https://techcon.dena.com/2020/session/10 資料 仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon

                                                    DeNA TechCon 2020で「仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ」という発表をしました(録画・スライドあり) - DeNA Testing Blog
                                                  • 達人出版会

                                                    探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                                                      達人出版会
                                                    • 形式手法による分散システムの検証 #builderscon / builderscon tokyo 2019

                                                      builderscon tokyo 2019 で使用したスライドです。 本セッションでは、形式手法 (formal methods) を用いた分散アルゴリズムの検証について解説しました。形式手法は、数学的な表現を用いて対象となるシステムを定式化することにより、システムの挙動の「正しさ」を厳密に保証するための方法論です。 なお解説として取り上げたのは、AWS による事例論文でも有名なモデル検査器 TLA+ です。講演前半で形式手法の一般論に触れたのち、後半では分散トランザクションを実現するための TCC (Try-Confirm/Cancel) Pattern のモデリングと検証を行いました。 講演概要:https://builderscon.io/tokyo/2019/session/fa356ee3-6be9-4850-ac9e-037bd34aabaa 録画:https://www.y

                                                        形式手法による分散システムの検証 #builderscon / builderscon tokyo 2019
                                                      • 達人出版会

                                                        探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                                                          達人出版会
                                                        • ユニットテストのための言語設計 - gfnweb

                                                          ユニットテストとは,おそらくご存知の通り各コンポーネントが単独で操作的に意図通りの振舞いをしているかを具体例により確認する営みである. 「ユニットテストはどのように書かれるべきか」といった議論が為されるとき,もちろん言語横断的な議論が中心となるものの,しばしば特定の計算機言語やその処理系の性質を所与とした議論が含まれやすい.だが,言語仕様や処理系が天から降ってきたものではない以上,原理的にはむしろ言語こそが目的に応じて適切に設計されるべきものだ. したがってここでは,必ずしも明瞭な結論に到達するわけではないものの,「ユニットテストとは普遍的に何をするための仕組みなのか,そしてユニットテストをやりやすく意義のあるものにするためには計算機言語はどんな設計であるべきなのか」ということに関して考え,大枠のアイディアを練ってみたい.ここで触れている内容の一部はおそらくソフトウェア工学の文脈でとっくに

                                                          • 分散合意アルゴリズム Raft を TLA+ で検証する - 俺の Colimit を越えてゆけ

                                                            はじめに 分散合意アルゴリズム Raft とは 分散合意アルゴリズムとは Raft の特徴 Raft が満たす性質 Election Safety Leader Append-Only Log Matching Leader Completeness State Machine Safety TLA+ とは TLA+ による Raft の形式的仕様 TLA+ による Raft の検証方法 TLA+ Toolbox のインストール 新規 Spec の作成 Model の作成と実行 補足: コマンドラインでの検証 Raft の拡張について Leadership Transfer Membership Change Log Compaction Client Interaction おわりに Raft 理解度を調べるクイズ 参考資料 Raft に関する資料 TLA+ に関する資料 はじめに この

                                                              分散合意アルゴリズム Raft を TLA+ で検証する - 俺の Colimit を越えてゆけ
                                                            • 「厳密な仕様記述における形式手法成功事例調査報告書」の公開 :IPA 独立行政法人 情報処理推進機構

                                                              ソフトウェア開発現場では、日本語で作成する仕様書の記述内容が曖昧である事に起因する製品品質の低下やプログラム不具合対応などの手戻り作業に伴う開発コストの増加が問題視されています。「形式手法」(*1)は、こうした仕様記述の内容から曖昧さを排除し、誤解を招かない仕様書を作成する手法の一つとして注目されています。 国際規格においても、高い安全性を要求される製品に関連する規格であるIEC 61508(*2)や、自動車業界に対するISO 26262(*3)など、形式手法の使用を推奨しており、形式手法に対する国内企業の関心も高まってきています。 IPA/SECにおいても、「形式手法」が上流工程の品質向上に有効な手法のひとつとして、普及促進を行ってきました。 本調査では、仕様記述における形式手法導入の成功プロジェクトのキーパーソンに対し、「仕様書作成に係る諸問題の根本原因が何か」、「それを形式手法の活用

                                                              • クラウドが好きな大学生が読んで良さげだった本を紹介する - Qiita

                                                                前提 大学1年の終わり頃にプログラミング学習を始めて、ちょうど3年弱くらい経ちました。 数え切れないほどの技術書を読んできましたが、その中でも「これはよかったような気がする!」という書籍を載せておきます。 選出の観点は「面白さ」「わかりやすさ」「その知識が役に立ったか」の3つの観点から総合的に評価しています。 また、原則翻訳されたものがあればそちらを掲載しています。 ところが、僕はO'Reillyのサブスクを契約しているため、ほとんどのO'Reillyの書籍を原文で読んでいます。 そのため、翻訳の精度などについて評価することはできない点をご了承ください。 ※ リンクはアフィリエイトリンクではないので、気にせずご覧ください。 ネットワーク 3分間ネットワーク ネットワークのプロトコルとか以前の最低限の仕組みをトーク形式でわかりやすく話してくれている書籍です。 大学の授業とかを受ける前にこの本

                                                                  クラウドが好きな大学生が読んで良さげだった本を紹介する - Qiita
                                                                • 「多くの人々にポジティブな影響を与える存在でありたい」フロントエンドのスペシャリスト鈴木僚太に、目指すエンジニア像を聞いた

                                                                  LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINEで働くエンジニアに色々と話を聞いていく「LINE Engineer Insights」。LINEの技術組織で働く個々人に、何を重視して技術者としてのキャリアを歩んでいるのか、今LINEで何に取り組んでいるのか、今後実現していきたいことなどを聞いていきます。 今回登場するのは、LINE証券のフロントエンドエンジニアとして働く鈴木僚太。彼は業務においてチームのフロントエンド開発をリードするだけではなく、技術記事の執筆や技術イベントへの登壇、オープンソースへのコントリビューション、書籍の執筆など社外活動も積極的に行っています。 このインタビューでは鈴木の業務内容やフロントエンド領域に魅力を感じる理由、今後の目標などを聞きまし

                                                                    「多くの人々にポジティブな影響を与える存在でありたい」フロントエンドのスペシャリスト鈴木僚太に、目指すエンジニア像を聞いた
                                                                  • Rubyインタプリタの品質向上のために個人的にやっていること - クックパッド開発者ブログ

                                                                    技術部の笹田です。Ruby 3.2 無事にリリースされて良かったよかった。 Rubyインタプリタは複雑なプログラムなので、当然のごとくバグが入ってきます。Rubyインタプリタ開発者は、これに対していろんな対策をしています。たとえば、テストを書いて、CI環境でチェックするとか、今となっては当然のことを、当然のごとくやっています(RubyCIやchkbuild、ruby/spec: The Ruby Spec Suite aka ruby/specなどの整備や、実行環境の日々のメンテナンスの成果です)。 これに追加して、個人的にテストをとにかくたくさん繰り返し行うマシン群を用意しています。テストの実行頻度をなるべくあげて、「時々しか発生しない」というバグを炙り出して、Rubyインタプリタの品質向上を目指すためです。本稿ではそんな、ちょっとだけ変わったテスト環境についての話をご紹介します。 この

                                                                      Rubyインタプリタの品質向上のために個人的にやっていること - クックパッド開発者ブログ
                                                                    • 「厳密な共通言語」としての形式手法 #devsumi / Developers Summit 2020

                                                                      Developers Summit 2020 で使用したスライドです。 言葉というものは曖昧です。複数人が「ともにつくる」システムにおいて、メンバ間で仕様を正しく共有することは非常に重要ですが、一方で言葉の裏側に隠された「暗黙の仮定」を見抜くことは簡単ではありません。このような仕様の曖昧性への対抗手段として、本セッションでは「形式手法」を紹介します。形式手法ではシステムの挙動を数学的に記述することにより、自然言語の持つ曖昧性を排除し、仕様が満たされるかどうかを厳密に検証することが可能になります。あなたの頭の中にある仕様がどのように「数学的な記述」に変換されるのか、具体例を通して体験してみませんか? イベント概要:https://event.shoeisha.jp/devsumi/20200213/session/2380/

                                                                        「厳密な共通言語」としての形式手法 #devsumi / Developers Summit 2020
                                                                      • 形式手法のこれまでとこれから - ヾノ*>ㅅ<)ノシ帳

                                                                        2019年が終わろうとしています あけおめ~さて2020年になりました。歴史が長い形式手法の今後を占うため、過去と直近の出来事を振り返りたいと思います。 ツッコミやタレコミは私のTwitter宛かあなたのブログかその他経路でお願いします~ シンボリック実行は形式的であるため本稿では形式手法に含めることにします。 Fuzzing関連はサーベイが甘いので漏れが多いかもしれません。 形式手法・形式検証とは 形式検証とは、厳密に定義された意味論の下で仕様やプログラムが所定の性質を満たすことを形式的に検証するための手法をいいます。「形式的に」とは、検証が事前に定義された知識だけに基づいており、検証手順が決定的であることをいうと私は理解しています。 形式手法は、形式検証に加えて、形式的にプログラムの仕様を厳密に定義するための手法を包含します。 本記事では形式手法を以下の通り大きく3つに独自に分類します

                                                                          形式手法のこれまでとこれから - ヾノ*>ㅅ<)ノシ帳
                                                                        • Amazon S3の軽量形式手法 - masateruk’s blog

                                                                          本記事は、形式検証 / 形式手法 Advent Calendar 2021 の 19 日目の記事です。 Amazon S3が形式手法を採用した論文 "Using Lightweight Formal Methods to Validate a Key-Value Storage Node in Amazon S3" を読みました。 論文全体については、yohei-aさんがブログ記事で主要な部分を訳してくれています。本記事では自分なりのまとめに加えて、自分の形式手法導入の経験から思うところについても書いてみます。 論文は、Amazon S3の新しいKey ValueストレージのShardStoreの正当性を軽量形式手法で検証した話です。論文の主張をまとめると、 実装に使用した言語(Rust)と同じ言語で仕様となるリファレンスモデルを記述した。 検証したい性質によってツールを使い分けた。機能的

                                                                            Amazon S3の軽量形式手法 - masateruk’s blog
                                                                          • extension Dateで日付計算をしてはいけない - Qiita

                                                                            やりがちな Date のアンチパターンが何故悪いのか解説します。Swiftを例にとっていますが、 Date 型は多くの言語で似た責務を持っているので、あまり言語を問わない記事内容といえます。 この記事はDeNA Advent Calendar 2020の2日目の記事です。 筆者はtakasekといいます。DeNA SWETの仕様分析サポートチームで形式手法のプロダクト開発への適用可能性を模索したり、ライブコミュニケーションアプリ Pococha のiOSアプリ開発チームで開発したりしています。 extension Date のアンチパターン Dateインスタンスから年月日を求めるのは Calendar DateComponents といくつもの型を経由する必要があり面倒です。それをドットアクセスひとつで簡単に書けるようにしてくれる便利なextensionを作りました。 extension

                                                                              extension Dateで日付計算をしてはいけない - Qiita
                                                                            • トヨタ系やNVIDIAが注目、数学的に欠陥ゼロのソフト開発

                                                                              車載ソフトの欠陥(バグ)をゼロにする開発手法が注目を集めている。自動運転を背景に、ソフトの安全性やセキュリティーをこれまで以上に高める必要性が出てきたためだ。トヨタ系で電動パワーステアリング(EPS)大手のジェイテクトが量産に導入しようとしているほか、自動運転向けの車載SoC(System on Chip)を手掛ける米NVIDIA(エヌビディア)も同様の手法を検討している。 ジェイテクトやエヌビディアが検討しているのは、ソフトに欠陥がないことを数学的に証明する「定理証明(形式手法の一種)」と呼ぶものだ。自動運転やステアバイワイヤ(SBW)の実用化に伴い、車載ソフトの安全要求は急激に高まっている。これまではシステムの主機能に故障が発生した場合、安全機構によってシステムを停止すれば済んでいた。これに対し、自動運転やSBWではシステムを停止するとむしろ危険なため、安全機構によって最低限の機能(バ

                                                                                トヨタ系やNVIDIAが注目、数学的に欠陥ゼロのソフト開発
                                                                              • 実践TLA+ | 翔泳社

                                                                                設計だってテストしたい! 【本書の内容】 本書は Hillel Wayne, "Practical TLA+", Apress, 2018 の邦訳版です。 複雑精緻なシステムを構築する際に、設計そのもの、仕様そのものにバグがないかをテストできたら、もう少し幸せな開発人生を送れそうな気がします。 本書は送金システムの小規模な仕様からTLA+を使ってヤバいバグを発見するところから始まります。この小さなサンプルをもとに、より良いアプリケーションの設計・テスト・構築に、どのようにTLA+を使えばよいかを理解し、実際のプロジェクトに援用できるよう、TLA+の演算子、論理、関数、PlusCal、モデル、および同時実行の基礎を学びます。 設計図の整理の仕方、分散システムや最終的な整合性の指定の仕方を学んだら、アルゴリズムのパフォーマンスやデータ構造、ビジネスコードやMapReduceなど、さまざまな実用

                                                                                  実践TLA+ | 翔泳社
                                                                                • 「形式手法を使って、 発見しにくいバグを一網打尽にしよう」の反響

                                                                                  武田 憲太郎 @KentarouTakeda 仕様書を専用言語で書くことで機械的に検査できる。メリットがバカでかいのは解るんだけど、結局自然言語の仕様書と二重管理が必要になったりしないのかな。 #builderscon #bc1204 2019-08-30 14:03:05

                                                                                    「形式手法を使って、 発見しにくいバグを一網打尽にしよう」の反響