「応用機械学習と人工知能セミナー: AIエージェント」の登壇資料です。詳細については 参照元の論文をご確認ください。不十分また不適切な言及内容がございましたらご指摘いただけますと幸いです。 https://tokyoai.connpass.com/event/324085/

Data Version Control – and much more – for AI projectsFree and open source, forever. Manage and version images, audio, video, and text files in storage and organize your ML modeling process into a reproducible workflow. Connect storage to repoKeep large data and model files alongside code and share via your cloud storage. Configure steps as you goDeclare dependencies and outputs at each step to bu
CyberZ CTO室のメンバーの森 (@at_sushi_at) です。 先日、株式会社サイバーエージェントの2021年度 エンジニア新卒研修でコードの品質に関する講義を行いました。 そこで話した内容とスライドを完全公開します。 45分の内容のため、かなり長いですが、個人的にぜひ一読して欲しい内容になっています。 はじめに こんにちは、森 篤史と言います。2019年度入社で今年で3年目になります。株式会社CyberZのOPENREC.tvというプロダクトでAndroidアプリチームのリーダをやっています。 最近はプログラムを書く仕事以外に、次世代マネジメント室という全社横断組織でDevelopers Blogの改善プロジェクトを実行したり、CyberZ CTO室で組織活性化に取り組んでいます。 あと、2019年度の未踏スーパークリエータにも認定されました。 メインの仕事としては、入社して
なぜ読みやすいコードが必要なのか - コードの可読性を高める手法をサンプルで学ぶ システム開発会社「アクシア」の代表として、自社・他社含め、さまざまなエンジニアのコードを読んできた米村歩さん。そんな米村さんの持論は、「コードの可読性は生産性に多大な影響を与える」ということ。可読性の低いコードはどんな弊害をもたらし、どうすれば改善できるのか――。チーム開発を効率化するコードの「可読性」について綴っていただきました。 プロフェッショナルのエンジニアには、「可読性」の高いコードを書くスキルは必要不可欠です。単に目的とする処理が実行できればよいわけではありません。しかし実際の開発業務の中では、可読性は意外と軽視されてしまいがちです。 経験の浅い駆け出しのエンジニアにとっては、可読性の重要さを肌感覚で理解するのは難しいかもしれません。また、新人エンジニアに対してプログラミング言語や開発ツールについて
マイクロソフトの黄金時代を築いたとされるOS「Windows 95」。その開発チームでチーフアーキテクトを務めていた日本人、中島聡。彼はWindows95のプロトタイプをはりぼてのコードで作り、5分間のデモでビル・ゲイツの承認を得たといいます。 我々の生活にAIが浸透し、あらゆることが効率化すると、人間の仕事がなくなり、働かなくても良くなるのではないかと言われます。この「超AI時代」に向けて、テクノロジーを使う側と使われる側に分断される社会でどう生きていくか? インターネット黎明期からテクノロジーを追い続ける中島氏に聞きました。 テクノロジーを理解する若い人たちが勝つ時代――作る人が増え、さらにテクノロジーが発展する。するとあらゆるものが効率化され、社会が使う側と使われる側に分断されると思うのですが、どうでしょう? ――中島 「そうですね。間違いなく、テクノロジーで生産性は上がっていきます
何の話かというと A Neural Representation of Sketch Drawings でスケッチの次のストロークを予測するモデルとして、混合ガウス分布が使われており、ガウス分布の混合係数、平均、分散を Latent Variable z を入力とする RNN で計算するという手法が用いられています。 上図のデコーダ部分の出力 y が混合係数、平均、分散にあたります。その後、この分布から次のストロークのサンプルを取得することで、非決定的に画像を生成します。 このモデルは、Bishop先生のMixture Density Networksが元ネタになっており、PRMLにも解説があります。そこで、勉強のためにPRMLで紹介されているサンプルをTensorFlowで実装してみました。 モデルの説明 座標 x に依存して、平均と分散が変化する正規分布 を3つ混合したモデルを考えます
プロのエンジニアに必要なものとはなんだ?『Clean Coder』に学ぶ信頼獲得のメソッド【今こそ読み解きたい名著】 プロのエンジニアならば、必ず有する周囲からの厚い信頼。しかし、信頼とはどのように獲得すればいいのでしょうか。名著『Clean Coder』から、エンジニアらしい信頼獲得の術を学びます。 数多くの開発者から支持を受け、読み継がれてきた名著。そこには読み継がれる理由があります。 名著には、内容・ボリュームともに充実した書籍が多く、概要に目を通しただけで本を読んだつもりになっていたり、腰を据えて読む時間がなく「積ん読」してしまいがち。「エンジニアが絶対読むべき書籍●選」といった記事をブックマークするだけで読んだつもりになっていないでしょうか。 ポイントを押さえつつ内容を深掘りし、名著の根底に流れるエッセンスを開発に活かしましょう。 アプリエンジニアの池田 惇(@jun_ikd)で
デッドコードは、見つけて、取り除く必要がある。デッドコードを残しておくと、プログラマの理解と行動を妨げることがあり、コードが実行されて、重大な問題を引き起こすリスクもある。 デッドコードの削除は、技術的な問題ではない。Kevlin Henney氏によると、それは考え方と文化の問題だ。 独立したコンサルタントでトレーナであるKevlin Henney氏が、ヨーロッパテストカンファレンス 2017において、基調講演「やり方の間違い」を行った。この基調講演で、デッドコードが実行されたために、ある企業が何億ドルもの損害を被ったことを発表した。 InfoQは、このカンファレンスをQ&A、要約、記事で扱う。 ソフトウェアの失敗は、個人的に不便だったり、迷惑だったりするが、経済的、または、社会的に重大な影響を与えることもある。Henney氏は、小さな不具合のせいで、何百万ドルもの損害を出した例をいくつか
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Naming -名前付け- プログラミングで最も重要な技術の一つが、名前付けです。 且つ、センスが問われるものなので、上達は難しいものでもあります。 この記事では、様々な文献から抽出した名前付けに関する情報を雑多にまとめました。 -名前重要- ソフトウェアの設計のアプローチとして、『まず名前から入る』というのは、あまり語られていない秘訣としてもっと広く知られても良いように思います。 まつもとゆきひろ 『プログラマが知るべき97のこと』 コミュニケーションの基礎 名前は、コミュニケーションの基礎となるものです。 私にもあなたにも名前が無け
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 新装版 リファクタリング 既存のコードを安全に改善するを改めて読んでみて「第3章 コードの不吉な臭い」が面白かったので、読書ログとして残しておく。 コードの不吉な臭いとは コードに深刻な問題、リファクタリングを必要とするコードが存在することを示す何らかの兆候、雰囲気を、臭いで比喩して表したもの。 1. 重複したコード 同じようなコードが2箇所以上で見られたら、1箇所にまとめることを考えると良いプログラムになる。重複したコードが存在すると、その箇所を改修する時に同じ改修を重複コード分行う必要があるため、保守性が低くなりがちになる。 2.
コード改善 meetup #2 http://kaizen.connpass.com/event/42118/ の発表資料。 自己紹介 名前: 正徳 巧 会社: 株式会社grooves 言語: Ruby github: sinsoku twitter: @sinsoku_listy コードを改善する 3つの方法 コードを改善する3つの方法 1. コードを削る 2. コードを直す 3. 増殖を防ぐ コードを削る よくありそうな業務コード 条件分岐が多い 似たような処理が複数箇所にある コピペっぽいけど微妙に違う 既存の仕様が謎 ココロ、オレル 未使用メソッドを探す 未使用メソッドは基本的に 全削除 する。 全削除に対する不安 いつか使うかも... disabled? の対象性のため enabled? も... どこかで使っているかも... 全削除に対する不安 いつか使うかも... disab
エンジニアにとって一度書いたソースコードを改善するリファクタリングは欠かせないものです。特に中長期的に修正や拡張が繰り返されるような場合、書いた本人だけでなく、ほかのエンジニアであっても理解できるようにしておくことはとても重要。 万が一怠ってしまうと、それはもう目の当てられない状況になることもあります……。そうならないためにも、常日頃からリファクタリングという作業をルーチンとして取り入れたいところです。そうしたリファクタリングを少しでも効率化できるツールをいくつかご紹介。 もちろん、事前にデバッグしておくことも重要ですので、後半ではデバッグツールもいくつかあわせてご紹介します。日々、コードレビューに時間を取られているような方にとっても作業を円滑にするうえで参考になると思いますので、是非ご一読してみてください。 grunt-plato https://github.com/jsoverson
CoderDojoは7~17歳の子どもを対象にしたプログラミング道場。2011年にアイルランドで始まり、世界中に広まっている。世界で約1000の道場、日本では全国に50以上の道場がある。日本のCoderDojoを取りまとめる「CoderDojo Japan」の安川要平氏(写真右)と、2016年11月に「CoderDojoすぎなみ」を始める角征典氏(写真左)に話を聞いた。安川氏は「Ruby on Railsチュートリアル」の翻訳システムの開発、角氏は「エクストリームプログラミング」をはじめとする数々の書籍の翻訳などでも知られる。 日本ではCoderDojoはどのように始まったのですか。 安川:2012年5月、CoderDojoの設立者の一人であるJames Whelton氏が来日したのを機に、日本でのCoderDojo第1回目が開催されました。場所は東洋美術学校という専門学校が貸してくれまし
さて、Computer Science Education Week (コンピュータサイエンス教育週間, 今年は12/5–11)が近づいてきました。そして今年も、Hour of Codeを中心として世界中の学校やその他の教育機関でComputer Scienceの授業/ワークショップが行われるのではないでしょうか。日本でも、昨年からみんなのコードが運動を盛り上げてくれていて、頼もしい限りです。 そもそもHour of Codeって?アメリカのプログラミング教育NPO、Code.orgがComputer Science Education Weekの中で1時間だけでも全米の学校でComputer Scienceの授業をしよう、と提唱している運動です。 どういう教材が提供されているの?Code.orgはHour of Codeの授業の中で使える様々な教材をピックアップして、先生方に提供していま
新しい言語やフレームワークを学ぶことは、時には苦闘になることがあります。従来のアプローチは、概念を説明し簡単な例を提供するドキュメントを読むことです。それで十分な場合もありますが、ドキュメントに高度な例や実際のプロジェクトでの使い方が書かれていない場合も多々あります。 ドキュメントに記載されていない問題に出くわすと、大抵の人はStack Overflowで解決策を探します(またはソースコードを丹念に調べます)。しかし、「使っているフレームワークが登場してから十分に期間が経っておらず、思い浮かぶ質問全てにStack Overflowが答えてくれない」ということもありえます。 今まで問題にはまって、こう考えたことはありませんか? 「誰かが既にこの問題を解決しているはずだ!では、なぜこの問題に対する答えがStack Overflowにないのだろうか?」 そのとおりです。恐らく誰かは既にそれを解決
Hire the next generation developer We help thousands of companies hire and upskill the next generation of developers, and millions of developers to become one. The future is human plus AI. We’ve entered a new era of software development where human and AI build together. This changes the skills you need as a developer, and the way companies engage, hire, and upskill technical talent. In short, thi
この記事は “js13kGames: Code golf for game devs” の抄訳です。 13KB。KB なんて最近では雀の涙ほどのデータ量ですが、ゲームの歴史を遡れば先駆者たちはとんでもない制約の中でゲームを作ってきたということに気づくはずです。 一例を挙げると、皆に愛されたアタリ 2600 の RAM は、ほんの 128 バイトしかなく、カセットをさしても 4 KB 増えるだけでした。ことわざにもある通り、制約は創造の母です。そんなゲームのコンペティション、js13kGames の季節がやってきました。これは zip 圧縮して 13,312 バイト以内であることを条件に、ゲームの創造性を競う大会です。 HTML5 ゲーム開発者向けの大会 js13kGames は HTML5 でゲームを作る開発者のための大会で、2012 年より毎年開催されています。作成するゲームのファイルサ
blog.shibayu36.org 上の記事が思ったより読まれていたので、自分がこの基準を満たせるようにやっているテクニックも箇条書きで書いておく。 PullRequestを作ったら必ず自分でコードレビューをする コードを書いているとき、その一部一部はこれで完璧と思ってるけど、実は全体を見直すと分かりにくかったりする 1日寝てから見直す 1日経つとちょっと忘れて新鮮な気持ちで見れる 1週間後にもう一回見てみる 1週間くらい経つともうだいぶ忘れて、穴が見えてくる 穴があったら別PullRequestで直す もう一度同じところを担当することがあればチャンス。自分でもこれどういうことだっけってググり始めたら基準を満たせていない 自分が全く関わっていない部分のところを触りだしたらかなりチャンス。本当にまっさらな頭で基準を満たすか見れる。他人がやったことだからとか思わずにちゃんとその時に直す やっ
よいコードを書くためには,設計の基本を守り,既存のコードを読むことが必要である – Java ChampionでハイパフォーマンスコンピューティングのスペシャリストであるMartin Thompson氏のことばだ。InfoQは,QCon London 2016で“Engineering You”と題した講演を終えた氏に,ソフトウェア産業が直面する課題は何か,プログラマがそれを克服して優れたソフトウェアエンジニアになるにはどうすればよいのか,などをインタビューした。 InfoQ: 講演の中であなたが引用した,1986年の,ソフトウェアエンジニアリングに関する最初のNATOカンファレンスの内容は,現在でも通用します。ソフトウェア産業がいまだ問題を解決できないのはなぜでしょう? Martin Thompson: 1986年のNATOカンファレンスには,たくさんのテーマがありました。彼らはソフトウ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く