オンラインコースのニュース:コース「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には、 migratemakemigrationsためのmigrateおよびmakemigrationssyncdb 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テクノロジーの学習を頑張ってください!



Source: https://habr.com/ru/post/J323056/


All Articles