Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
2019年5月27日追記:この記事のオチに使われている事態は修正された模様です。その点をご勘案の上、お読みください。 小学生では「プログラミング的思考」が導入される新学習指導要領ですが、高等学校では更に進みます。 高等学校においては、情報科において共通必履修科目「情報Ⅰ」を新設し、全ての生徒がプログラミングのほか、ネットワーク(情報セキュリティを含む)やデータベースの基礎等について学習 文科省の資料より 教育新聞の記事によれば、 情報科は現在、「社会と情報」か「情報の科学」を選択することになっている。全国的に、プログラミングが学習内容にない「社会と情報」のみを開設している学校が多く、情報科の専任教員を配置せずに他教科の教員が兼任で受け持つケースも少なくない となっていますが、新学習指導要領では、「情報Ⅰ」は必修になるので、全ての学校で指導されるはず。 そして、教員用の研修教材として文科省が
0. はじめに AtCoderなどでは、グラフを扱った問題が多く出るが、その度に一から実装していると時間が掛かりすぎてしまうため、有名なものをあらかじめ持っておく必要がありそう。そこで、Pythonを用いて、ダイクストラ法、ベルマンフォード法、プリム法、クラスカル法、ワーシャルフロイド法を実装した。 コメント、意見等ある方は是非! お待ちしてます! 1. ダイクストラ法 1.1. ダイクストラ法(defaultdictで実装) defaultdictで実装すると、リストで実装するよりも、ノード数$N$が大きい際には高速に動作する。ただし、経路復元の関数は、うまく書けなかった......。 (2019/7/6 追記)結局できました。1.1.1. を参照してください。 import collections import heapq class Dijkstra: def __init__(se
By Pythonistas at Netflix, coordinated by Amjith Ramanujam and edited by Ellen Livengood As many of us prepare to go to PyCon, we wanted to share a sampling of how Python is used at Netflix. We use Python through the full content lifecycle, from deciding which content to fund all the way to operating the CDN that serves the final video to 148 million members. We use and contribute to many open-sou
機械学習でPythonで行うというのは、Pythonで計算処理をすることではなくて、C++等で書かれた(Python向けの)の計算処理の外部ライブラリを使うことを意味しています。Pythonを使うのは簡単なデータの前処理や後処理(結果をログファイルに書き出すなど)だけです。メインの計算処理をPythonで書くことはありません。というか、Pythonはそもそも機械学習みたいな重い計算に用いることは全く想定されていない言語なので、メインの計算処理は書きたくてもPythonでは書けません。 こう書くとPythonは不便な言語だなと思われるかもしれませんが、実際には、深層学習などの、GPUや並列計算機をブン回すような重い計算を必要とするような処理は、JavaだろうがC++だろうが、基本的に、素人(機械学習の専門家は、普通、計算機の高速化(HPC)に関しては全くの素人です)が書いたコードは、遅すぎて
Python“らしさ”を支える技術。pandasコアコミッターが大事にするマージの方針 数多いPythonライブラリの中でも、データ解析の用途で大きな存在感を示すのが「pandas」です。そしてこのpandasのコミッターを務めるのが、sinhrksこと堀越真映さん。コミッターが感じるOSSのありよう、そしてPythonらしさを教えてもらいました。 データサイエンスや機械学習の流行に伴い、業務でPythonが使用されるケースが増えてきました。Pythonが選ばれる理由はさまざまですが、「データサイエンスや機械学習に適したライブラリが数多くある」という特性は、この言語が重宝される理由のひとつでしょう。 たとえば、データ分析のための高速で使いやすいデータ構造を提供するpandas。NumPyやpandasのAPIを利用して並列計算・分散処理を行えるDask。こうした海外で開発が主導されたライブ
Python環境構築ベストプラクティス2019 Published at: 2019-02-18 / Updated at: 2019-05-14 Web上には新旧さまざまなPython環境の構築の方法が乱れており, 正しい情報にたどり着けない人がいて不憫なので2019年2月現在のベストプラクティスをPythonを使いたい人の属性ごとに紹介したいと思います. 自分がどのような環境を作ればいいかわかったなら公式ドキュメントというほぼ絶対的な1次資料を元に最高の環境を作っていきましょう. For Beginners とりあえずPythonを勉強してみたい, 手軽に手元にあるデータを解析してみたいという人はこちらです. プログラムをガリガリ書いていくのではない場合, 自分のPCに環境構築する必要はありません. Googleが提供しているColaboratoryを使いましょう. 苦労することなくP
こんにちは、ほけきよです。 pythonでデータを取り扱っているとき「あれ、これどうやるんだっけ??」 ってなること、ありませんか?僕は10分に1回程度なります。 いや、覚えろと自分でも思うんですが、覚えられないんですよね。100回くらい同じコマンドを調べてたりする。 物覚えが良くないので、ココを見れば絶対大丈夫なようにしておこうと思い、まとめてみました。 jupyterで最初に開くときに読み込むモジュールたち datetime 日付⇔文字列の変換 datetimeの足し算引き算 json dict型⇔json jsonファイルの入出力 datetimeをjsonにする時、エラーが出る pandas ~以外を表すやつ andとor inf弾く リストをdfにサクッと変換 datetimeとして読み込み 読み込み時にcodecのエラーが出る DataFrameのfor文 numpy lins
はじめに コードは理解しやすくなければいけない。 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) 作者:Dustin Boswell,Trevor Foucher発売日: 2012/06/23メディア: 単行本(ソフトカバー) コードの保守性や可読性を高めるために我々エンジニアはどんなことができるでしょうか? テストを書く 推奨されているコードスタイルに準拠する コメントを書く DRY原則に則る 変更・拡張しやすく設計する ログを出力する・監視する 適切な命名をする etc... まだまだ意識すべきことはあると思いますが、上記の項目はエンジニアであれば恐らく一度は目にしたことがあるような内容であり、暗黙的に了承されたいルールです。 しかし、これらはただの心構えであり、体現するために実際には以下のような項目に落とし込む必要
Google Colaboratoryをもっと便利に使いたい ブラウザさえあれば、環境構築不要・無料でPythonの開発が可能なWebサービス「Google Colaboratory(以下Google Colab)」。Windows PC等で手元に適切なPython環境が無い場合や、手元の環境を崩したくないとき、GPUを活用したいときなど幅広く活用しています(詳細は以下記事参照下さい)。 そんな中、よく使うコマンドやTIPS、使いたいときに探すのに時間がかかるのが多いため、一度まとめてみることにしました。 以下に本記事で紹介するコマンドをまとめたGoogle Colabのノートブックのリンクを貼っておくので、こちらも好きにコピーして使用してもらってOKです。 Google Colab Tips集 スペック確認 OS確認 !cat /etc/issue 容量確認 !cat /etc/issu
こちらの記事は2018年時点の古い情報になります。最新の情報はこちらをご参照ください。 Pyxelの開発が一区切りしたので、改めて紹介記事を書いてみました。 Pyxelって何? Pyxel(ピクセル)は、昔ながらのドット絵タイプのゲームを簡単に作れる「レトロゲームエンジン」です。 2018年7月30日にリリースされた、非常に新しいゲームエンジンなのですが、海外を中心に急速にユーザーが増えています。 github.com プロジェクトはGitHubでオープンソースとして公開されており、公開4日でGitHubのデイリーランキングで全1億のプロジェクト中1位を獲得。ついでに作者である私もGoogle、Facebook、Microsoft等の企業アカウントを含む3100万人の開発者ランキングで1位になっています。(1位の座は48時間持ちませんでしたが…) GitHub上ではその後もスター数が増え続
無償のエディタであるVisual Studio Codeの拡張機能として、AIがコーディングをAIが支援してくれる「Visual Studio IntelliCode」(以下IntelliCode)が、Javaに対応したと発表されました。 IntelliCodeはコードの入力や補完において、もっとも適切と思われるコードをコンテキストに即してレコメンデーションをしてくれるというもの。さらにコードレビュー時のアドバイス、問題がありそうな部分の指摘や、コードスタイルと書式の規則の推測もしてくれます。 これまでC#とPythonに対応していましたが、今回新しくJavaにも対応しました。 AI機能はGitHubで100以上スターが付いているオープンソースプロジェクトのコードを用い、コードのパターンやプラクティスなどに関する機械学習が行われたと説明されています。 これによりJava SEやSpring
EF15形は高性能な電気機関車であったが、引き出し性能が蒸気機関車に劣ると誤解されていた。 誤った運転方法により本来の性能を引き出せていなかったのである。 (spaceaero2 [CC BY 3.0], ウィキメディア・コモンズより) こんにちは、エムスリー・エンジニアリングG・基盤開発チーム小本です。 WEBサイトは RailsやSpringなどの「本体部分」だけでは完結しません。レポート作成・データ更新などの細かい処理も必要です。 過去にはこうした用途にはBashがよく使われました。しかし、Bashは落とし穴が多かったり、クラスなどの抽象化機能がなかったりして、規模が大きくなると辛くなります。 そこで、Bashの代替候補に挙がるのがPythonです。エムスリーでもかつてはBashを使っていましたが、現在は新規案件にはPythonを推奨しています。 しかし、実際にPythonで書き直そ
こんにちは、鈴木です。 20 万行を超えるアプリケーションのほとんど全てのソースコードを変更し、テストを行わずに本番リリースしました。 「それってテストいるんですか?」問題 いきなりですが質問です。ソースコードを 1 バイトでも変更したら再テストする必要はあるでしょうか。「絶対に再テストすべき」という方もいれば、「状況によるしケースバイケースかな・・」という方もいらっしゃると思います。 ケースバイケースと考える方は、どのような場合にテストを行わなくて良いと考えるでしょうか。例えば、コメント内の誤字を修正した場合はどうでしょうか。ローカル変数の名前を typo していたので修正した場合、デッドコードを削除した場合はどうでしょうか。 こんなことがありました ある日、Python のソースコードを眺めていると、「# $Id」のような CVS 時代のコメントがありました。いまやソースコードは Gi
こんにちは、芝田 将 ( @c_bata_ ) です。 この資料はPyCon JP 2016で行った 「基礎から学ぶWebアプリケーションフレームワークの作り方」 の書き起こし資料です。 誤字等があれば、Issue or PRをお待ちしております。 はじめに¶ この資料では200行に満たないシンプルなWebフレームワークの作り方をボトムアップで解説します。 テンプレートエンジンとしてJinja2を使ったりもしますが、基本的にはPythonの標準ライブラリのみを使っています。 FlaskやDjango等を使ったWeb開発の経験があり、基本的なHTTPの知識があれば読み進められるんじゃないかなと思うのでぜひチャレンジしてみてください。 本資料を読み終えた方はBottleやDjango、筆者の公開している Kobin というフレームワークのコードを 読んでみたり、自分でWSGIフレームワークを実
レストラン事業部エンジニアの id:ninjinkun です。 一休レストランでは10年以上動いているシステムをPython 3で書かれた新システム(以下restaurant2)に順次移行する作業を進めています。現在ではPC用のレストランページ や主要な API を含め、いくつかのページがrestaurant2で提供されるようになっている状態です。本記事ではこの移行の経緯と、restaurant2システムの詳細、Pythonを選んだ理由、現在の進捗状況をお伝えします。 経緯 一休レストランはサービスローンチ時よりClassic ASP(言語はVBScript)でシステムが構築されてきました(こちらに驚かれる方も多いと思いますが、歴史的経緯という言葉で強引にまとめて話を先に進めます)。このシステムは現在も一休レストランを支えているのですが、長年の改修による複雑性の増加、言語の古さ、言語機能の
Pythonを使ってみよう~Webスクレイピングに挑戦し初歩を学ぶ~ 話題のPythonを使って学んでみましょう! 今回はWebスクレイピングにトライし、その初歩を学びます。 Pythonの最初のバージョン(0.9)は、1991年に登場しました。C#の登場が2000年なので、Pythonの歴史は意外に古い印象です。本稿を執筆している2018年3月時点でのPythonのバージョンは3で、バージョン2とは、かなり仕様が異なります。本稿では、Python3を使用します。 さて、Pythonの特長は、簡潔な言語仕様と、学習のしやすさです。筆者は、これまでC++など、多くのコンピュータ言語を使用してきました。C++などに比べて、Pythonは同じことをするにも、少ないコード量で済み、また学習する時間も節約できます。何らかのコンピュータ言語をすでに使える人であれば、1日勉強すれば、ある程度、Pytho
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 追記 【2020年版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法 【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメのAI勉強方法 また、Pythonや機械学習がオンライン上で学べるAI Academyをnoteでも書きましたが、3/17日からほとんどのコンテンツを永続的に無料で利用できるよう致しましたので、是非使って頂けますと幸いです。 AI Academy Bootcamp 我々が提供している個人向けオンラインAIブートキャンプのご紹介です。 AI Academy Bootcamp AI
プログラマの人だと知っている人多いと思いますけど、JetBrainsという会社が出してるエディタがありまして自分も今年のはじめぐらいに課金しました。 結論から言うとプログラム苦手な人ほど使ったほうがいいと思います。 コーディング規約の設定がはじめからしてある 上記は自分が書いたPythonのコードですが、何も設定しなくても関数名をlowercaseにしろとか、使ってない変数はグレーになってたり、文法がおかしいところは赤い線とかガチオコしてくれます。 コーディング規約に遵守しないコードは保守性もよくないですし、エラーのもとになります。是非JetBrainsのエディタを入れて注意してもらいまっしょう。 cssをコピペしてきた時とかもmarginが重複してたりするものは注意してくれます。 ジャンプ機能でコードが追いやすい他人の書いたコードを読まなければならない時、見慣れない関数名があればうわ〜こ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く