オンラインコースのニュース:コース「Webテクノロジー」を更新し、「ソフトウェア開発のタスクを設定する」を追加しました

画像







Stepikプラットフォームの更新された「 Webテクノロジー 」コースは、Djangoの最新バージョンとPython 2とPython 3の両方を開発する機能をサポートするようになりました。 3月2日に、都合の良いときにコースを受講して証明書を取得できるように、期限なしで「 ソフトウェア開発のタスクの設定 」を再開します。 このコースは、ビジネスアナリストおよびシステムアナリストであるSystem ApproachのCEO、Dmitry Bezuglyによって教えられています。







Stepikはオンラインコースプラットフォームです。 それらのほとんどは、割り当てられた時間にのみ開いています-これは、優柔不断な参加者がサインアップすることを奨励します。 コースは、時間通りに配信する必要があるモジュールに分割されます。 締め切りは生徒のモチベーションを高めます。 全員が対応するわけではありません-生徒の平均9%が証明書を受け取ります。 Mail.Ru Groupの最初のコースは2015年9月1日にオープンしました。 その瞬間から、67,600人がサインアップし、5300の証明書を発行しました。 これまでで最も人気のあるコースはWeb Technologiesです。 12,400人が登録しており、これは平均の2倍です。 そのため、コースを改善し、さらに便利にしようとしています。







Webテクノロジーコースについて



私たちは、 Webテクノロジーを作成して、初心者プログラマーをPythonのWebおよびバックエンド開発の世界に紹介しました。 このコースでは、サーバーの操作パターンについて説明します。 Djangoフレームワークを使用したバックエンドの開発に特に重点を置いています。 また、フロントエンド開発の基本であるHTML、CSS、JSについても説明し、追加の章ではAjaxテクノロジーとリアルタイムメッセージの配信について説明します。







コースのタスクは異なります。ある場所では正解を選択し、別の場所では特別なフィールドに入力し、別の場所ではプログラムを作成します。 プログラミングタスクは相互接続されています。 コース全体を通じて、Q&Aサービス(簡素化されたスタックオーバーフロー)を段階的に補足します。 最初にnginxとgunicornを設定し、次に開発中のDjangoアプリケーションをデプロイします。







更新の詳細について



「Webテクノロジー」には、仮想マシンで実行する必要があるタスクがあります。 結果は自動テストによって制御されます。 多くの場合、テストは、仮想マシンにロードされているユーザーアプリケーションに対してHTTP要求を行います。 回答を分析し、タスクが正しく解決されたかどうかを理解します。







しかし、多くのタスクではこれでは不十分です。 たとえば、アプリケーションモデルをテストし、必要なフィールドとマネージャーがすべて定義されていることを確認します。 この場合、テストが必要なコードの隣の仮想マシンにスクリプトをアップロードします。







最近まで、Django 1.6は仮想マシンで実行されていましたが、すべてのテストをPython 2.7で実行しました。 Djangoは古く、人々はPython 3を使用したいという多くの苦情を受けました。したがって、Django 1.6-1.10のバージョンで正しく動作するようにスクリプトを書き直しました。 また、テスト自体については、2つのインタープリターが利用可能になりました。 最初に、テストはPython 2で実行され、エラーの場合はPython 3で実行されます。







Django 1.6から1.10に切り替えるときに知っておくべきこと



Djangoの新しいバージョンへの移行を容易にするために、アップグレード中に発生する可能性のある問題の短いリストを用意しました。 Django 1.7の重要な変更点は、データベース移行のサポートです。 Manage.pyには、 migrate



をmakemigrations



ためのmigrate



およびmakemigrations



。 syncdb



Django 1.9で削除されました。 移行の仕組みの詳細については、 ドキュメントをご覧ください。







また、Django 1.7では、 アプリケーションのロードメカニズムが大幅に変更されました。 環境DJANGO_SETTINGS_MODULE



を使用するスタンドアロンスクリプトがある場合は、 django.setup()



呼び出して、その中のアプリケーションを明示的に初期化する必要があります。 これは、管理コマンドを介して実行されるスクリプトには適用されません。







バージョン1.7では、新しいプロジェクト検証システムが導入されました。 validate



コマンドが削除され、続いてcheck



コマンドが削除されました。 問題を検出し、それらを修正するためのヒントを提供します。







バージョン1.8では、 AbstractUser.last_login



フィールドはnull



できnull



。 Django 1.10では、 AbstractUser.username



の長さが150文字AbstractUser.username



増加しました。 プロジェクトでAbstractUser



を使用する場合は、フィールドを変更するための移行を記述することを忘れないでください。 django.contrib.auth.Userの移行は既に存在します。 migrate



必要があるだけです。







また、バージョン1.10では、 django.conf.urls.patterns()



メソッドが削除され、 urlpatterns



テンプレートの作成に使用されました。 これで、 urlpatterns



通常のリストを割り当てることができます。 互換性のない変更の詳細については、公式ドキュメントをご覧ください。









Python 2から3に移行するときに知っておくべきこと



Python 3を試してみたいと思うなら、注意すべき主な違いについて読んでください。 新しいバージョンの言語では、 print



ステートメントはprint()



関数に置き換えられました。 辞書メソッドのitems()



、 keys()



およびvalues()



は、反復子を返すようになりました。 古いメソッドiteritems()



、 iterkeys()



およびitervalues()



サポートさitervalues()



なくなりました。 また、辞書からhas_key()



メソッドが削除されたため、代わりにin演算子を使用する必要があります。 xrange()



関数xrange()



、新しいバージョンではrange()



がそのタスクを実行するため除外されます。







数値タイプも変更されました。 Python 3以降、 long



型とint



型はone- long



結合されます。 その値には末尾のL文字がなくなったため、 repr()



関数は出力しません。 もう1つの重要な革新は、演算子/による整数除算の置き換えです。 これで、この操作はfloat



型の数値を返します。







Python 3はstr



を使用してテキストを保存し、 bytes



を使用してバイナリデータを保存します。 これらの型は結合できないことに注意してください。そうしないと、 TypeError



エラーがTypeError



。 あるタイプを別のタイプに変換するには、関数str.encode()



およびbytes.decode()



使用できます。 組み込みのベースストリングタイプは削除されます。







順序付けられていない型を比較す​​ると、 TypeError



例外がTypeError



れるようになりましTypeError



。 ユーザーオブジェクトを比較する方法はサポートされなくなったため、並べ替えには__lt__()



関数を使用し、 __lt__()



するには__lt__()



および__eq__()



を使用する必要があります。 関数builtin.sorted()



およびlist.sort()



は、比較関数を提供するcmp



引数の受け入れを停止し、 key



に置き換えられました。







raw_input()



メソッドはinput()



名前raw_input()



変更raw_input()



れました。 Python 2のinput()



関数はeval(input())



と同等です。 execfile()



メソッドを削除しました。 execfile(fn)



代わりに、 exec(open(fn).read())



使用できます。







Python 2と3の違いのより詳細なリストはここにあります 。







コースの登録



コースに登録するには、 リンクをクリックしてください 。 3月2日から、期限なしで「 ソフトウェア開発のタスクを設定する 」コースを開始します。 また、Java、C / C ++、Hadoop、アルゴリズムプログラムなどの他のITコースもあります。 完全なリストはこちらをご覧ください。 Webテクノロジーの学習を頑張ってください!








All Articles