オンラインコースのニュース:コース「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