NDS FM

Shintaro Abe

NDS 界隈の人々が語らうポッドキャストです

  1. 06/16/2019

    019. RubyKaigi 2019/Classi株式会社/builderscon Tokyo 2019 (CfP)

    💡お知らせ 2019.06.22 9:00 まちなかキャンパス長岡, NDS#60勉強会 JAWS-UG 新潟県 (新潟/長岡/上越 合同) が開催されます。 第19回NDSFMはしんぺいさん (@shinpei0213 をゲストにお迎えしてRubyKaigi 2019の話をお聞きしました。 最近にRubyの静的解析に関するサポートが強化されているようで、steepやsorbetというツールがあることをお聞きしました。 Ruby3ではなんらかの静的解析ツールが添付されるようになる可能性があるそうで、非常に興味深かったです。 また、Railsについての話題としてActiveRecordの利点や欠点について、しんぺいさんの知見を話していただきました。 しんぺいさんはbuilderscon Tokyo 2019 の CfP: Ruby (off:with) the Rails を出しており、採用されるとRailsの面白い話が聞けそうです!ぜひみなさんも、はてなブックマークやFacebookのいいね、Twitterでつぶやくなどして応援しましょう! しんぺいさんが現在所属しているClassi株式会社での働き方や、エンジニアとして良い仕事をするだけでなく、サービスや会社とどう向き合っていくかについても話していただけました。 一聴の価値ありです!ぜひお聴きくだださい。 🔗リンク Classi(クラッシー) - 学校教育のICT活用を支援するクラウドサービス 猫型の蓄音器は1分間に45回にゃあと鳴く [builderscon CfP] Ruby (off:with) the Rails Call For Proposals セッション一般公募開始! RubyKaigi 2019 Pattern matching - New feature in Ruby 2.7 A Type-level Ruby Interpreter for Testing and Understanding State of Sorbet: A Type Checker for Ruby Ruby Programming with Type Checking 第60回勉強会JAWS-UG 新潟県

  2. 04/26/2019

    016. NDS#59振り返り、アカデミアでのIT事情について

    第16回NDSFMはワタナベさん(yuw27b) をゲストにお迎えしてNDS#59の振り返りとアカデミアでITエンジニアとして働くことについて話していただきました。 面白い発表がたくさんありどれも興味深かったですが、フリーランスの経験がある身としてはyukilabさんの「人間の学びについて」は直接聞いてみたかった。 あと、やはりゲスト講演の清水さんの講演も直接聴きたかったです。 アカデミアの世界でのITの活用の話はとても興味深かったです。 なかなか接点のない世界ですが、ITの技術を持って医療や農業•商業の個別のテーマとを関わっていくことにとても興味があります。 また、そういう世界から生まれるオープンソースのツールにも興味があり、ワタナベさんのお仕事の仕方はとても面白いなあと思いました。 そんな世界で生まれた presto.jsはすごく面白いツールだと思うので、ぜひチェックしてみてください! NDS#59 人間の学びについて(yukilab) 10分 TensorFlow.jsで遊ぶ(kasacchiful) 15分 趣味がはかどる趣味プログラミングの話(yyasuyuki) 10分 Angularでコンポーネント間のデータ受け渡し(gatabutsu) 20分 教育研修のデザイン(hiro_ishibashi) 10分 医療画像で機械学習したい人たちがやっていること(Watanabe) 15分 jsとニーソ(kai_pop) 15分 C#で、安眠装置の開発(ailight) 20分 オンライン英会話学習進捗(civic) LT5分 C# 8.0がやってくる(gonchan93) LT5分 C++初心者時代の学習の軌跡(TakumiOno) LT5分 ゲスト講演 「GHELIAグループとAIUEOの取り組み MakersのためのAI」 登壇者:清水 亮(しみず りょう) 🔗リンク NDS NDS第59回勉強会に行ってきたよ HE染色 presto.js - presto.js is a small JavaScript library for file upload. ギリア株式会社

  3. 03/04/2019

    014. TDDBC 長岡を振り返る

    第14回NDSFMはまさるさん(@masaru_b_cl) とTDDBC長岡の参加者をゲストにお迎えしてTDDBCを振り返りました。ゲストには以下の方々に来ていただきました。 civic さん: python + pytest (PyCharm) kai_pop さん: C# + MSTest (Visual Studio) カサハラさん: python + pytest ゴトウ さん: JavaScript + Jest まさるさんは オーガナイザーとして遠方からTAの方々を呼んだり、会場の手配などイベント準備を1人で行ってくださいました。 開催にあたって大変だったこと、どのように準備を始めたのかをお聞きしました。 他のゲストの方々からは、実際に参加してみて良かったことや大変だったことなどを参加者の視点でお話ししていただきました。 💡お知らせ 2019.03.09 (土) JAWS-UG 新潟 #3 - 酒の陣 特別編 - が開催されます。新潟酒の陣とセットの素晴らしいイベントなので、日本酒好きな人もぜひ。 🔗リンク TDDBC 長岡 2019-02 TDDBC テスト駆動開発 (Kent Beck著、和田卓人監訳、オーム社、2017年) #TDDBC 長岡に参加してTDDを入門しました - イソップブログ TDDBC 長岡 に TA として参加してきました #TDDBC 長岡 2019-02 みんなのつぶやき - Togetter TDDBC 長岡に参加してきました | civic site 「TDDBC 長岡 2019-02」を2019/2/9(土)に開催しました #tddbc | DevelopersIO

  4. 01/18/2019

    013. TDDBC 長岡開催 - TDD とは何か?テストを開発に活用する

    第13回NDSFMはまさるさん(masaru_b_cl) をゲストにお迎えしてTDDBC長岡の開催前情報としてTDDとは何か、TDDBCに参加するとどんなことが体験できるのかについて話しました。 💡お知らせ 2019.02.09 (土) 長岡まちなかキャンパスで TDDBC 長岡 が開催されます 2019.03.02 (土) 長岡まちなかキャンパスで 第59回NDS勉強会 が開催されます 内容 TDD とはなんでしょうか? Test Driven Development、テスト駆動開発などと日本語では訳しますが、プログラムの挙動を確認しながら開発を行おうという開発手法です。開発者の思い通りにプログラムが動作することを確認し、安全にコードを書き進めるためにテストを書きます。 TDDの「黄金の回転」(inspired by STEEL BALL RUN) TDD のこころ from Takuto Wada テストを書く テストを実行して失敗させる(Red) 目的を達成するための最短のコードを書く テストを実行して成功させる(Green) テストが通ったまま本来あるべきコードに段階的に変更する(Refactoring) 1〜5を繰り返す なぜテストが必要なんでしょうか? > ぼくはプログラムを書いている時、動作を確認するためにプログラムを実行し出力を確認したり、デバッグプリントで確認したことがあると思います。この行為が3回以上あるような時にテストを書いています。それは複数回行われることだし、毎回自分で確認するのは面倒だからです。 > テストがなくて苦労したことはありますか > 人のコードや自分の古いコードの挙動を変更する時に困りました。どこに影響がでるか調べるのはとても難しいです。 --> どんなテストを書くべきでしょうか?テストにも設計や仕様書は必要ですか? TDDで書くテストは「開発者テスト」です。つまり「開発者が思った通りに動くことを確認する」テストを書きます。 したがって、テストとしての仕様書はなくても構いませんが、プログラムの設計書や仕様書はあった方が良いでしょう。あと、「思った通りに動くこと」を保証するには、どのような観点や条件のテストを行ったら良いかを知らなけれいけません。そのためには、基本的な「テスト技法」を知っていた方が良いでしょう。 同値分割 境界値分析 デシジョンテーブル Pairwise法 etc… TDDBC に出るとどんな良いことがありますか? 日本におけるTDDの第一人者である和田卓人氏から、直にそのエッセンスを学ぶことができます。 また、TDDを学びたいという同志と出会い、共に第一歩を踏み出せます。一人でもTDDは始められますが、一人よりは二人の方が気持ちの上でのハードルは下がりますからね テストは必ず必要ですか?カバレッジは100%である必要はありますか? プログラムを構成するコードには、実際にはテストがしやすいものとそうでないものがあります。 例えば、UIに関する動作については、そもそもUIの自動化自体のハードルが高いことに加え、UIはもっとも変更されやすい部分の一つであるため、せっかく書いたテストがすぐ陳腐化してしまうということがあります。したがって、UIに関するテストは、必ずしも書かないといけないものではありません。 また、よくある質問に「プライベートメソッドのテストは必要か?」というものがあります。こちらについては、本来テストで確認すべきなのは、プログラムの入出力であるはずで、実際に「どのように」動作しているかはブラックボックスでも構わないはずです。したがって、プライベートメソッドはパブリックメソッドを通じてテストされるはずなので、無理をしてプライベートメソッドのテストはしなくても良いです。なお、プライベートメソッドは変更される頻度が高めであるということも、テストしないでも良い理由の一つです。 それでもなおテストしたいプライベートメソッドが出てきたら、それはもうプライベートメソッドではなく、別の型やパッケージのメソッド、関数として切り出すべきです。その方が、テストをするコストも小さく済みます。 どんな時にテストを書いて、どんな時に書かないかについては、ボブおじさんことロバート・C・マーチンが書いた「Pragmatic TDD」というブログエントリも参考になります。高野が意訳もりもりで訳したエントリもありますので、ぜひ見てみてください。 The Pragmatics of TDD - Clean Coder Blog TDDしないケースについてのUncle Bobの考え - be free テストにはどんなツールを使うのが良いでしょうか? 最近の大抵のプログラミング言語には、デファクトスタンダードとなるような「テスティングフレームワーク」があるのでそれを使うのが良いでしょう。 例 Java JUnit C# xUnit.net NUnit MSTest JavaScript mocha Jest QUnit Jasmine Python pytest Go testing さらに、テストの中で行う「検証」をわかりやすく、簡単に描けるようなサポートライブラリもあるので、こういったものを使うのを検討しても良いでしょう。 例 Java AssertJ C# Chaining Assertion JavaScript power-assert もしテスティングフレームワークがない環境だった時は、「入力」と「出力」の組を与えてプログラムの実行と検証を行うようなスクリプトを自分で書いてしまうのもありです。書籍:テスト駆動開発の第2章では、Pythonを使ってそのような仕組みをTDDで作る過程を扱っていますので、参考にすると良いでしょう。 おすすめの書籍やサイトはありますか? 書籍 テスト駆動開発 (Kent Beck著、和田卓人監訳、オーム社、2017年) サイト TDD のこころ -動画で解説- 和田卓人の“テスト駆動開発”講座:連載|gihyo.jp … 技術評論社 付録Cだけじゃない!付録Aに隠されたTDDの狙いとは?〜テスト駆動開発をやめて、なお残すべき習慣とは(10) 希薄化したTDD、プロダクトの成長のために必要なものは?〜『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談 (6) privateメソッドのテストについて - Togetter テストを行うために本来必要なスコープを広げる必要があります。問題ないでしょうか? スコープを狭めることでコードを読む時に気にする範囲も狭めることができます。また、コードを書き換えたり削除する際にも外部に影響が出る心配をしなくて済みます。 スコープを広げるくらいなら、「一つのことをうまくやる」型や関数に切り出し、それを利用するように変更してしまうと良いでしょう。そうすれば、切り出した部分について、別途テストを書いて開発を進めることができます。また、こうすることで、「処理」に必要なインターフェースや状態が明確になるので、結果としてコードがわかりやすくなることもよくあります。 ただし、例外として既に既存の資産が膨大にあり、なおかつある「枠組み」に沿ってコードを書くことが強制されたような環境では、「テストコードからのみ参照できる」ようにスコープを広げることもあります。例えば、Javaの場合アクセス修飾子を書かなければパッケージプライベート(同一パッケージ内からは参照可能)になるので、テストコードと製品コードのパッケージを同じにして対処したりします。また、.NET言語ではInternalsVisibleToという属性をつけると、テストプロジェクトのみ参照可能な状態を作り出せます。 blockquote { font-family: italic; background-color: #eee; margin: 20px 0px; padding: 4px 2em; } 🔗リンク TDDBC

  5. 12/20/2018

    011. NDS第58回勉強会振り返り会

    第11回NDSFMではmasaru_b_clさん、kai_popさんをゲストにお迎えしてNDS第58回勉強会の振り返りました。 NDS58は Web Audio と電子デバイスを組み合わせて楽器を作った話や、書籍を出版したりイベントを主催した話、大地の芸術祭など盛りだくさんの内容となりました。いろんな環境で働く皆さんの知見が集まるとても面白い会でした。 💡お知らせ 2019.01.19 (土) 長岡市社会福祉センター「トモシア」でPython機械学習勉強会が開催されます。普段は新潟で行われている勉強会の長岡出張版です。ハンズオン形式で Tensorflow や Keras に触れることができそう。楽しみです。 2019.02.09 (土) 長岡まちなかキャンパスで TDDBC 長岡 が開催されます! トーク トークのスライドなどはリンク先を参照してください。 「AWS、ソフトウェアテスト、機械学習など、いろいろふりかえる」(kasacchiful) 15分 「obnizとWeb Audio APIで楽器を作ってみた」(kai_pop) 15分 「ブラウザでスクレイピングを考える」(civic) 15分 「1年間ベンチャーでアルバイトした話」(ゲイン) 10分 「サーバーレスでやったこと」(sakapun) 「今年のアウトプット50連発(概算)」(なかざん) 15分 「2018年あなたのやったこと→転職」(bdpr) 10分 「転職&在宅リモートワーク始めました」(masaru_b_cl) 15分 「大地の芸術祭に行ってみた」(icorokamoto) 15分 「モバイルアプリエンジニアが東京から地方へ転職しました(仮)」(うじ川) 10分 「JSのバンドルやトランスパイルの話」(circled9) LT5分 「Linuxサーバ研修の企画」(yamadoc) LT5分 「Python機械学習勉強会のご案内」(itagakim) LT5分 「【情シス in 新潟】のご案内」(HideKst) LT5分 🔗リンク NDS第58回勉強会 - 第58回 長岡IT開発者勉強会に参加してきました 第58回長岡IT開発者勉強会に参加してきました 第58回長岡IT開発者勉強会(NDS) テーマ「2018年あなたのやったこと報告会」に参加&登壇してきました 忘年会 大衆割烹 十字路 EXIPO

About

NDS 界隈の人々が語らうポッドキャストです