サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
rinatz.github.io
int main() { int* a = new int(100); int* b = a; // b からも a と同じリソースを参照できるようにする。 // a と b のどちらを delete するべきか? return 0; } 動的確保したリソースを扱う場合、 誤って delete を忘れたり、同じリソースを複数回 delete したりすることを防ぐために、 どの変数がリソースの所有権(リソースを参照する権利と解放する権利)を持つのかをプログラマが細心の注意を払ってコードを書く必要があります。 このようなポインタを扱う上での危険性や負担を下げるために、 C++ ではスマートポインタという仕組みが存在します。 スマートポインタは <memory> ヘッダにて提供されています。 std::shared_ptr¶ std::shared_ptr は動的確保したリソースの所有権を共有す
ホーム 1. Python を始める 2. 基本仕様 3. クラス 4. モジュールとパッケージ 5. ファイル操作 6. 例外 7. ジェネレータ 8. テスト pipenv¶ pipenv は pip と venv の両方の機能を兼ね備えたサードパーティ製のパッケージ管理ツールです。venv で仮想環境を作成してから pip でパッケージをインストールするまでの手順では下記のように異なるコマンドを実行する必要がありますが、これを 1 つのコマンドで実行できるようにしたものが pipenv です。 操作 コマンド (macOS, Linux) コマンド (Windows)
ホーム 1. Python を始める 2. 基本仕様 3. クラス 4. モジュールとパッケージ 5. ファイル操作 6. 例外 7. ジェネレータ 8. テスト パッケージ¶ モジュールを使うことで関数やクラスをまとめることができますが、1 つのモジュール内にたくさんの定義を含めてしまうとコードが長くなってしまい分かりづらくなってしまいます。そういうときはファイルを分割して複数のモジュールを作成し、それを 1 つのディレクトリに集約することで綺麗に整理することができます。このように複数のモジュールを集約したディレクトリのことをパッケージといいます。 モジュールとパッケージの関係はファイルシステムでいうところのファイルとディレクトリの関係に一致します。 ファイルシステム Python
ホーム 1. Python を始める 2. 基本仕様 3. クラス 4. モジュールとパッケージ 5. ファイル操作 6. 例外 7. ジェネレータ 8. テスト インストール¶ Python 開発に必要な下記のツールをインストールします。 Python Visual Studio Code Python¶ 各プラットフォームに合わせて Python のインストール手順が下記サイトにまとまっていますのでインストールをしてください。 macOS Windows コマンドを打って Python が正しくインストールされたかどうかを確認します。
ホーム 1. Python を始める 2. 基本仕様 3. クラス 4. モジュールとパッケージ 5. ファイル操作 6. 例外 7. ジェネレータ 8. テスト プロジェクト構成¶ Python のソースコードを管理する際にディレクトリの構成をちゃんと考えておくことはとても重要なことです。なぜなら Python は適切な構成になっていないとプログラムを正しく動かすことができなくなるからです。そこで Python 開発ではどのような構成で管理すれば問題が起こりにくいのかについて説明します。 The Hitchhiker's Guide to Python¶ Python の理想のプロジェクト構成は Kenneth Reitz 氏によって推奨されている構成に従うのがよいでしょう。どのような構成なのかは The Hitchhiker’s Guide to Python というサイトの Stru
ホーム 1. C++ を始める 2. 基本構文 3. コンテナ 4. ファイル分割とスコープ 5. ストリーム操作 6. メモリの管理 7. クラス 8. キャスト 9. テンプレート 10. エラー処理 11. ビルドとライブラリ 12. メモリレイアウト 単体テスト デバッグ ビルド自動化 付録
ホーム 1. Python を始める 2. 基本仕様 3. クラス 4. モジュールとパッケージ 5. ファイル操作 6. 例外 7. ジェネレータ 8. テスト
最近社内で Go を使うチームが増えてきました。僕のチームでも Rust を導入していて、コンパイラ言語がこれから活性化しそうです。 ネットでは Go vs Rust のような構図で書かれた記事をよく見ますが、個人的には問題が解決できて、かつ各チームが導入に納得してれば別にどっちでも良いと思っています。まあ 1 つのチームで両方を導入するとメンバの負担が増えそうなので、両方使うというのは今の所避けたほうが良さそうですけどね。どちらも C++ をはじめとした過去の言語の置き換えを目指していると思うので、牽制しあって片方を潰すよりはお互いいい刺激を与えあって既存の言語を双方が置き換えたほうがみんなハッピーになるように思います。 言語の流行りってキラーアプリが出たかどうかが大きく影響するので、僕は機能面より言語のブランディングを重視しています。僕の中での Go と Rust の使い分け方は次のよ
ホーム 1. C++ を始める 2. 基本構文 3. コンテナ 4. ファイル分割とスコープ 5. ストリーム操作 6. メモリの管理 7. クラス 8. キャスト 9. テンプレート 10. エラー処理 11. ビルドとライブラリ 12. メモリレイアウト 単体テスト デバッグ ビルド自動化 付録 Visual Studio Code による GUI デバッグ¶ Visual Studio Code から GDB を使用することで GUI デバッグすることができます。 launch.json の設定¶ Visual Studio Code を起動している状態で Ctrl+Shift+P を押すとコマンドパレットが開きます。 コマンドパレットに Debug: Open launch.json と入力して launch.json を開きます。 launch.json が存在しない場合には 環
ホーム ホーム 1. Python を始める 2. 基本仕様 3. クラス 4. モジュールとパッケージ 5. ファイル操作 6. 例外 7. ジェネレータ 8. テスト このサイトは Python を学ぶ人向けのオンライン学習サイトです。 対象¶ Python を初めて学ぶ人 プログラム言語を 1 つ以上経験したことのある人 関数やクラス・オブジェクト指向に対する知識をある程度前提にします。 Python の特徴¶ 学習コストが低い 標準ライブラリが非常に豊富 インデントをすることが言語仕様になっている Python のバージョンについて¶ 2.x.x: 2020 年 1 月 1 日でサポート終了 3.x.x: 現行バージョン 2.x.x 系は新規開発では使用すべきではありません。このサイトでは 3.x.x をベースに説明を行います。
ホーム 1. C++ を始める 2. 基本構文 3. コンテナ 4. ファイル分割とスコープ 5. ストリーム操作 6. メモリの管理 7. クラス 8. キャスト 9. テンプレート 10. エラー処理 11. ビルドとライブラリ 12. メモリレイアウト 単体テスト デバッグ ビルド自動化 付録 このサイトは C++ について説明した学習サイトです。 本書を通じて C++ の開発環境や構文・単体テストの書き方などが 一通り学べるようになっています。 対象¶ C++ を初めて学ぶ人 プログラム言語を 1 つ以上経験したことのある人 関数やクラス・オブジェクト指向に対する知識をある程度前提にします。 C++ の特徴¶ C++ は ビャーネ・ストロヴストルップ により開発されたプログラミング言語です。 C++ には主に次のような特徴があります。 高パフォーマンス メモリ使用量が少ない 柔軟性
このページを最初にブックマークしてみませんか?
『rinatz.github.io』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く