はじめに
ブログをご覧の皆様、初めまして!執筆者のウランです。このブログを設立した目的は私自身がプログラミング言語Juliaに興味関心を持ったものの勉強をしようにも日本語のヒントがなく、英語の公式ドキュメントを読みながらセットアップやコーディングに慣れていかなければいけない面倒くささを感じたからです。
そこで、英語で書かれている1000ページ越えの公式ドキュメントを片っ端から日本語に翻訳し、私より後にJuliaを勉強し、機械学習スキルを上げていきたいという方向けに助けになればという思いからブログをはじめさせていただきました。ただ、執筆者の私自身がPythonでさまざまな開発をやり始めて2年目に突入したばかりの駆け出しエンジニアですので、公式ドキュメントの翻訳内容や解釈に齟齬が出たりもすると思います。翻訳ミスやコーディングの仕方について解釈の相違など発見しましたらお問い合わせよりご指摘いただけますと幸いです。
また、翻訳している公式ドキュメントはJulia-1.6.2になりますので、それより後のバージョンについて新しい情報を頂ければご指摘お願い致します。
※以下は作成中の箇所です。出来上がり次第順次更新していきます。
目次
- Julia 1.6 ドキュメンテーション
- 入門
- リソース
- 変数
- 許可される変数名
- 文法
- 整数と浮動小数点
- 整数
- 小数
- 任意精度演算
- 数値リテラル係数
- 文字通りの0と1
- 数学演算と初等関数
- 算術演算子
- ブール演算子
- ビット演算
- 演算子の更新
- ベクトル化されたドット演算子
- 数値比較
- 演算子の優先順位と結合性
- 数値変換
- 複雑な有理数
- 複素数
- 有理数
- 文字列
- 文字
- 文字列の基本
- UnicodeとUTF-8
- 連結
- 補間
- トリプルクォートされた文字列リテラル
- 一般的な操作
- 非標準の文字列リテラル
- 正規表現
- バイト配列リテラル
- バージョン番号リテラル
- 生の文字列リテラル
- 関数
- 引数の受け渡し動作
- 戻り値
- 演算子は関数
- 特別な名前の演算子
- 匿名関数
- タプル型
- 名前付きタプル
- 複数の戻り値
- 引数の破壊
- 可変因数関数
- オプションの引数
- キーワード引数
- デフォルト値の評価範囲
- 関数の引数のdo-block構文
- 機能構成と配管
- 関数をベクトル化するためのドット構文
- 参考文献
- 制御フロー
- 複合式
- 条件付き評価
- 短絡評価
- 繰り返し評価: ループ
- 例外処理
- タスク(別名:コルーチン)
- 変数のスコープ
- グローバルスコープ
- ローカルスコープ
- 定数
- 型
- 型宣言
- 抽象型
- プリミティブ型
- 複合型
- 可変複合型
- 宣言された型
- ユニオン型
- パラメトリック型
- 全てのユニオン型
- シングルトン型
- Type(T) タイプセレクター
- エイリアス型
- 型の操作
- カスタムプリティプリント
- 型の種類
- メソッド
- メソッドの定義
- メソッドのあいまいさ
- パラメトリックメソッド
- メソッドの再定義
- パラメトリック手法によるデザインパターン
- パラメトリックに制約された可変引数メソッド
- オプションおよびキーワード引数に関する注意
- 関数のようなオブジェクト
- 空のジェネリック関数
- メソッドの設計とあいまいさの回避
- コンストラクター
- 外部コンストラクターメソッド
- 内部コンストラクターメソッド
- 不完全な初期化
- パラメトリックコンストラクター
- ケーススタディ: 合理的
- 外部のみのコンストラクター
- 変換と促進
- 変換
- 促進
- インターフェース
- 反復
- インデックス作成
- 抽象配列
- ストライド配列
- 放送のカスタマイズ
- モジュール
- 名前空欄管理
- サブモジュールと相対パス
- ドキュメンテーション
- ドキュメントへのアクセス
- 関数とメソッド
- 高度な使用法
- 構文ガイド
- メタプログラミング
- プログラム表現
- 表現と評価
- マクロ
- コード生成
- 非標準の文字列リテラル
- 生成された関数
- 多次元配列
- 基本機能
- 構築と初期化
- 配列リテラル
- 内包
- ジェネレータ式
- インデックス作成
- インデックス付きの割り当て
- サポートされているインデックスタイプ
- 反復
- 配列特性
- 配列およびベクトル化された演算子と関数
- 放送
- 実装
- 欠測値
- 欠測値の伝播
- 等式および比較演算子
- 論理演算子
- 制御フローと短絡演算子
- 値が欠落した配列
- 欠落した値のスキップ
- 配列上の論理演算子
- ネットワークとストリーム
- 基本ストリーム 入出力
- テキスト 入出力
- 入出力 コンテキストプロパティを出力する
- ファイルの操作
- 簡単なTCPの例
- IPアドレスの解決
- 非同期 入出力
- 並列演算
- 非同期プログラミング
- 基本的なタスク操作
- チャネルとの通信
- より多くのタスク操作
- タスクとイベント
- マルチスレッド
- Juliaを複数のスレッドで開始
- データ競合の自由
- @threadsマクロ
- 不可分操作
- 副作用と可変関数の引数
- @threadの呼び出し
- 警告
- ファイナライザーの安全な使用
- マルチプロセッシングと分散コンピューティング
- コードの可用性とパッケージのロード
- ワーカープロセスの開始と管理
- データの移動
- グローバル変数
- 並列マップとループ
- リモート参照と抽象チャネル
- チャネルとリモートチャネル
- ローカル呼び出し
- 共有された配列
- クラスターマネージャー
- ネットワークトポロジの指定(実験的)
- 注目すべき外部パッケージ
- 外部プログラムの実行
- 補間
- 引用
- パイプライン
- CとFortranのコードを呼び出す
- C互換のJulia関数ポインタの作成
- C型をJuliaにマッピングする
- C関数をJuliaにマッピングする
- Cラッパーの例
- Fortranラッパーの例
- ガベージコレクションの安全性
- 非定数関数仕様
- 間接呼び出し
- 閉鎖機能
- ライブラリを閉じる
- 呼び出し規約
- グローバル変数へのアクセス
- ポインタを介してデータにアクセスする
- スレッドの安全性
- コールバックの詳細
- C++
- オペレーティングシステムのバリエーションの処理
- 環境変数
- ファイルの場所
- 外部アプリケーション
- 並列化
- REPLフォーマット
- デバッグとプロファイリング
- Juliaの埋め込み
- 高レベルの埋め込み
- VisualStudioを使用したWindowsへの高レベルの埋め込み
- 型の変換
- Juliaの関数の呼び出し
- メモリ管理
- 配列の操作
- 例外
- コードの読み込み
- 定義
- パッケージのフェデレーション
- 環境
- 完了
- プロファイリング
- 基本的な使い方
- 蓄積と清算
- プロファイル結果の表示を制御するためのオプション
- 構成
- メモリ割り当て分析
- 外部プロファイリング
- スタックトレース
- スタックトレースの表示
- 有用な情報の抽出
- エラー処理
- 例外スタックとスタックのキャッチ
- バックトレースとの比較
- パフォーマンスのヒント
- グローバル変数の回避
- @timeでパフォーマンスを測定し、メモリ割り当てに注意を払う
- ツール
- 抽象型パラメーターを持つコンテナの回避
- 型宣言
- 関数を複数の定義に分割する
- 「安定型」関数を書く
- 変数の型の変更の回避
- 個別のカーネル関数(別名: 関数バリア)
- パラメータとしての値を持つ型
- 多重ディスパッチを悪用する危険性(別名、パラメーターとしての値を持つ型の詳細)
- 列に沿って、メモリ順に配列にアクセス
- 出力の事前割り当て
- より多くのドット: ベクトル化された操作を融合する
- スライスにビューを使用することを検討する
- データのコピーは必ずしも悪いことではありません
- 小さな固定サイズのベクトル/行列演算にはStaticArrays.jlを検討してください
- 入出力の文字列補間を回避
- 並列実行中のネットワーク入出力を最適化する
- 非推奨の警告を修正
- 微調整
- パフォーマンス注釈
- 非正規化数をゼロとして扱います
- @code_warntype
- キャプチャされた変数のパフォーマンス
- シングルトンとの同等性のチェック
- ワークフローのヒント
- REPLベースのワークフロー
- ブラウザベースのワークフロー
- 改訂ベースのワークフロー
- スタイルガイド
- インデント
- スクリプトだけでなく関数を書く
- 過度に特定の型を書くことは避けてください
- 発信者の過剰な引数の多様性を処理する
- 引数を変更する関数の名前に!を追加
- 奇妙な型の共用体を避ける
- 手の込んだコンテナ型は避けてください
- Julia base/と一致する命名規則を使用する
- Juliaベースと同様の引数の順序で関数を記述します
- try-catchを使いすぎないでください
- 条件を括弧で囲まないでください
- 使いすぎないでください
- 不要な静的パラメータを使用しないでください
- インスタンスか型であるかについての混乱を避けてください
- マクロを使いすぎないでください
- インターフェースレベルで安全でない操作を公開しないでください
- 基本コンテナタイプのメソッドをオーバーロードしないでください
- 型の侵害を回避する
- 型の同等性に注意してください
- x->f(x)と書かないでください
- 可能であれば、ジェネリックコードの数値リテラルにfloatを使用しないでください
- よくある質問
- 一般質問
- セッションとREPL
- スクリプティング
- 関数
- 型、型宣言、コンストラクター
- パッケージとモジュール
- 無と欠測値
- メモリ
- 非同期入出力と同時同期書き込み
- 配列
- コンピューティングクラスター
- Juliaのリリース
- 他の言語との注目すべき違い
- MATLABとの注目すべき違い
- Rとの注目すべき違い
- Pythonとの注目すべき違い
- C/C++との注目すべき違い
- Lispとの注目すべき違い
- Unicode入力
- コマンドラインオプション
- 要旨
- 前書き
- 移動
- キーワード
- スタンダードモジュール
- 基本サブモジュール
- 全てのオブジェクト
- 型のプロパティ
- 特殊な型
- ジェネリック関数
- 構文
- 欠測値
- システム
- バージョニング
- エラー
- イベント
- 反映
- 内部
- メタ
- コレクションとデータ構造
- 反復
- コンストラクターと型
- 一般的なコレクション
- 反復可能なコレクション
- インデックス可能なコレクション
- 辞書
- セットのようなコレクション
- デキュー
- 実用的なコレクション
- 数学
- 数学的演算子
- 数学的関数
- 例
- カスタマイズ可能な二項演算子
- 数
- 標準の数値型
- データフォーマット
- 一般的な数値関数と定数
- BigFloatsとBigInts
- 文字列
- 配列
- コンストラクターと型
- 基本機能
- 放送とベクトル化
- 索引付けと割り当て
- ビュー(サブアレイおよびその他のビュータイプ)
- 連結と順列
- 配列関数
- 組み合わせ論
- タスク
- スケジューリング
- 同期
- チャネル
- マルチスレッド
- 同期
- 不可分操作
- スレッドプールを使用して呼び出す(実験的)
- 低レベルの同期プリミティブ
- 定数
- ファイルシステム
- 入出力とネットワーク
- 一般的な入出力
- テキストの入出力
- マルチメディアの入出力
- ネットワークの入出力
- 句読点
- ソートおよび関連機能
- ソート関数
- オーダー関連機能
- ソートアルゴリズム
- 代替注文
- 反復実用性
- Cインターフェース
- LLVMインターフェース
- Cスタンダードライブラリ
- スタックトレース
- SIMDサポート
- アーティファクト
- Base64
- CRC32c
- 日付
- コンストラクター
こんにちは、これはコメントです。
コメントの承認、編集、削除を始めるにはダッシュボードの「コメント画面」にアクセスしてください。
コメントのアバターは「Gravatar」から取得されます。