テンプレートテスト
ブログの説明
ブログの説明2
menu
keyboard_arrow_up
Top
search
close
home
ホーム
computer
PC一般
construction
開発環境・ツール
code
プログラミング
home
ホーム
computer
PC一般
construction
開発環境・ツール
code
プログラミング
Home
›
Archives for 1月 2020
2020/01/27
image
NO IMAGE
[JavaScript] 数値の変わった表記
update
event_note
label
JavaScript
Java Script の数値の表記で見慣れないコードに遭遇し、意味が分からなかったので調べた結果です。
数値型全般については以下の記事で詳しく解説されています。 - https://qiita.com/uhyo/items/f9abb94bcc0374d7ed23 ここでは私が戸惑った表記をピックアップしてメモしておきます。 ## 指数表記 数値の後ろに `e` を付けると、それ以降は 10 の指数と解釈されるようです。 ```js console.log(1e4) // 10000 console.log(1e-4) // 0.0001 console.log(3e3) // 3000 ``` ## 整数への変換 実数に対してビット演算を行うと 32 ビット整数に変換されるようです。 ```js console.log(1.234 | 0) // 1 ```
## 参考 URL - https://qiita.com/uhyo/items/f9abb94bcc0374d7ed23
Read more
2020/01/22
[Python] インデックス付きのループ
update
event_note
label
Python
リストなどを for で回すときにインデックスが欲しい場合は `enumerate` を使います。
## 環境 - python 3.8.1 ## サンプルコード ```py hoge = [10, 20, 30] for index, value in enumerate(hoge): print(index, value) ``` **実行結果** ```sh 0 10 1 20 2 30 ``` ## 逆順で出力するときの注意 単純に逆順で出力すると以下のようになります。 ```py hoge = [10, 20, 30] for index, value in enumerate(hoge[::-1]): print(index, value) ``` ```sh 0 30 1 20 2 10 ``` インデックスも逆順に出力したい場合は少し計算してやる必要があります。 ```py hoge = [10, 20, 30] for index, value in enumerate(hoge[::-1]): print(len(hoge) - index - 1, value) ``` ```sh 2 30 1 20 0 10 ```
Read more
2020/01/16
image
NO IMAGE
ASP.NET Core (.NET Core) でバックグランドタスクを起動する
update
event_note
label
.NET Core
label
ASP.NET Core
ASP.NET Core (.NET Core) において、アプリケーションの起動に合わせてバックグラウンドタスクを起動させる方法です。
- https://docs.microsoft.com/ja-jp/dotnet/standard/microservices-architecture/multi-container-microservice-net-applications/background-tasks-with-ihostedservice ## 環境 - Visual Studio 2017 - .NET Core 2.2 ## 概要 `IHostedService` を実装したサービスクラスを作成します。 `IHostedService` を使用するには、Nuget で `Microsoft.Extensions.Hosting` を追加する必要があります。 サービスクラスを `IHostedService` として DI コンテナに登録すると、Host が自動でバックグラウンドタスクとして実行してくれるようです。 Host については、作成するアプリケーションによって以下の2種類があるようです。 - ASP.NET Core で使用する Web ホスト (IWebHostBuilder) - ASP.NET Core 以外で使用する汎用ホスト (HostBuilder) ASP.NET Core の場合、テンプレートからプロジェクトを作成した段階で Web ホストが使用されている状態なので、特に意識はしなくても大丈夫そうですが、コンソールアプリなどの場合は汎用ホストを使用するように実装する必要があります。 ## ASP.NET Core の場合(Web ホスト) ASP.NET Core のほうが話が簡単なので、先に ASP.NET Core で説明します。 コンソールアプリなどでは必要となる汎用ホストについては後述します。 ### IHostedService の実装 [公式のドキュメント](https://docs.microsoft.com/ja-jp/dotnet/architecture/microservices/multi-container-microservice-net-applications/background-tasks-with-ihostedservice)に詳しく書いてありますが、ほとんどのバックグラウンドタスクではタスクの開始や終了といった動作は同じであるため、`IHostedService` を実装した抽象クラスを作成しておくと良いようです。 サンプルコードをそのまま引用します。 ```cs // Copyright (c) .NET Foundation. Licensed under the Apache License, Version 2.0. ///
/// Base class for implementing a long running
. ///
public abstract class BackgroundService : IHostedService, IDisposable { private Task _executingTask; private readonly CancellationTokenSource _stoppingCts = new CancellationTokenSource(); protected abstract Task ExecuteAsync(CancellationToken stoppingToken); public virtual Task StartAsync(CancellationToken cancellationToken) { // Store the task we're executing _executingTask = ExecuteAsync(_stoppingCts.Token); // If the task is completed then return it, // this will bubble cancellation and failure to the caller if (_executingTask.IsCompleted) { return _executingTask; } // Otherwise it's running return Task.CompletedTask; } public virtual async Task StopAsync(CancellationToken cancellationToken) { // Stop called without start if (_executingTask == null) { return; } try { // Signal cancellation to the executing method _stoppingCts.Cancel(); } finally { // Wait until the task completes or the stop token triggers await Task.WhenAny(_executingTask, Task.Delay(Timeout.Infinite, cancellationToken)); } } public virtual void Dispose() { _stoppingCts.Cancel(); } } ``` そして、この抽象クラスを継承してバックグランドで動かしたいサービスクラスを定義します。 コードの概要は以下です。 ```cs public class SampleService : BackgroundService { public SampleService() { // コンストラクタへの引数は自動で DI される } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { // ここに常駐処理を定義する } } ``` `ExecuteAsync` 内では `while` で常駐処理を定義し、タスクの終了のチェックなども行います。 以下、[公式のドキュメント](https://docs.microsoft.com/ja-jp/dotnet/architecture/microservices/multi-container-microservice-net-applications/background-tasks-with-ihostedservice)のサンプルを引用します。 ```cs public class GracePeriodManagerService : BackgroundService { private readonly ILogger
_logger; private readonly OrderingBackgroundSettings _settings; private readonly IEventBus _eventBus; public GracePeriodManagerService(IOptions
settings, IEventBus eventBus, ILogger
logger) { //Constructor’s parameters validations... } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { _logger.LogDebug($"GracePeriodManagerService is starting."); stoppingToken.Register(() => _logger.LogDebug($" GracePeriod background task is stopping.")); while (!stoppingToken.IsCancellationRequested) { _logger.LogDebug($"GracePeriod task doing background work."); // This eShopOnContainers method is querying a database table // and publishing events into the Event Bus (RabbitMQ / ServiceBus) CheckConfirmedGracePeriodOrders(); await Task.Delay(_settings.CheckUpdateTime, stoppingToken); } _logger.LogDebug($"GracePeriod background task is stopping."); } .../... } ``` ### DI コンテナへのサービスの追加 `Startup.cs` の `ConfigureServices` メソッドで、サービスクラスを DI コンテナに登録します。 `IHostedService` を実装したクラスを `AddHostedService` で登録していきます。 (`AddSingleton` でも可) ```cs public void ConfigureServices(IServiceCollection services) { // ... services.AddHostedService
(); services.AddHostedService
(); // または services.AddSingleton
(); services.AddSingleton
(); } ``` ## 汎用ホスト ASP.NET Core 以外(例えばコンソールアプリなど)では汎用ホストを作成する必要があります。 基本的なコードは以下です。 ```cs public static async Task Main(string[] args) { var host = new HostBuilder() .Build(); await host.RunAsync(); } ``` ### IHostedService の実装 前述の ASP.NET Core と同様のため省略します。 ### DI コンテナへのサービス追加 `IHostedService` を DI するためにも、DI コンテナにサービスを追加する必要があります。 `ConfigureServices` で行います。 ```cs var host = new HostBuilder() .ConfigureServices((hostContext, services) => { services.AddHostedService
(); services.AddHostedService
(); // または services.AddSingleton
(); services.AddSingleton
(); }) .Build(); await host.RunAsync(); ``` `ConfigureServices` の中身については ASP.NET Core と同じです。 他にもいろいろ設定可能ですが、ここでは DI コンテナしか関係ないので、省略します。 詳細は以下を参照してください。 - https://docs.microsoft.com/ja-jp/aspnet/core/fundamentals/host/generic-host
## 参考 URL - https://docs.microsoft.com/ja-jp/dotnet/standard/microservices-architecture/multi-container-microservice-net-applications/background-tasks-with-ihostedservice - https://docs.microsoft.com/ja-jp/aspnet/core/fundamentals/host/hosted-services?view=aspnetcore-2.2 - https://docs.microsoft.com/ja-jp/aspnet/core/fundamentals/host/generic-host?view=aspnetcore-2.2
Read more
2020/01/14
NuGet Server でプライベートリポジトリを構築する
update
event_note
label
IIS
label
Visual Studio
まとめるのが面倒なので細かい説明は省略し、大まかな流れについてのみ記載しておきます。
## 環境 - Windows 10 - Visual Studio 2017 ## 全体の流れ - NuGet Server アプリケーションの作成 - IIS のインストール ## NuGet Server アプリケーションの作成 以下を参考に、Visual Studio で新規に ASP.NET アプリケーションを作成します。 - https://docs.microsoft.com/ja-jp/nuget/hosting-packages/nuget-server 作成したら「発行」を実行します。 出力結果 `bin/Release/Publish` の中身一式を IIS にデプロイします。 ## IIS のインストール まずは IIS を有効にします。 「Windows の機能の有効化または無効化」から「インターネットインフォメーションサービス」を有効にします。 その際、「ASP.NET」も有効にしておきます。 (NuGet Server を動作させるには ASP.NET が必要なため)
### IIS の設定とデプロイ IIS マネージャーで Web サイトを追加します。 特別な設定などは必要なく、物理パスの箇所に上記 NuGet Server の出力結果一式を配置したら完了です。 ## こんなときは? ### HTTP Error 500.19 - Internal Server Error IIS に ASP.NET のモジュールがインストールされていないとこれが表示されます。 前述の「Windows の機能の有効化または無効化」から「ASP.NET」を有効にします。
## 参考 URL - https://docs.microsoft.com/ja-jp/nuget/hosting-packages/nuget-server - http://mtgiis.blogspot.com/2013/02/aspnet.html - https://blog.shibayan.jp/entry/20111017/1318860985
Read more
2020/01/10
GitLab の Admin / Runners で 500 エラーが表示される
update
event_note
label
GitLab
GitLab のバックアップとリストアを行った後、管理者メニューの Runners の画面で 500 エラーが表示されるようになりました。
## 環境 - GitLab Omnibus(CE) 12.5.6 ## 原因と解決方法 以下の2つのファイルをバックアップ時にコピーして、リストア後に戻してやると解決しました。 - `/etc/gitlab/gitlab-secrets.json` - `/etc/gitlab/gitlab.rb` ## 初期化方法 上記のファイルを取得できない場合、以下の方法で初期化します。 初期化後は再度 gitlab-runner の登録が必要です。 ``` # gitlab-rails dbconsole psql (10.9) Type "help" for help. gitlabhq_production=> -- Clear project tokens gitlabhq_production=> UPDATE projects SET runners_token = null, runners_token_encrypted = null; UPDATE 168 gitlabhq_production=> -- Clear group tokens gitlabhq_production=> UPDATE namespaces SET runners_token = null, runners_token_encrypted = null; UPDATE 46 gitlabhq_production=> -- Clear instance tokens gitlabhq_production=> UPDATE application_settings SET runners_registration_token_encrypted = null; UPDATE 5 gitlabhq_production=> -- Clear runner tokens gitlabhq_production=> UPDATE ci_runners SET token = null, token_encrypted = null; UPDATE 4 ```
## 参考 URL - https://docs.gitlab.com/ee/raketasks/backup_restore.html#storing-configuration-files
Read more
2020/01/09
image
NO IMAGE
[C#] 動的な JSON を扱う
update
event_note
label
C#
Json.NET (Newtonsoft.Json) と `dynamic` を使うと C# でも動的に変化する JSON を扱えます。
## 環境 - Visual Studio 2017 - .NET Core 2.2 ## 基礎知識 オブジェクトは `JObject`、配列は `JArray` という型で扱うようです。 ## オブジェクトのデシリアライズ `JObject.Parse` でデシリアライズを行います。 ```cs string json = @"{ 'Name': 'Foo', 'Age': 20, 'Favorites':[ 'Baseball', 'Music' ] }"; dynamic person = JObject.Parse(json); Console.WriteLine(person.Name); Console.WriteLine(person.Age); Console.WriteLine(string.Join(',', person.Favorites)); ``` **実行結果** ```sh Foo 20 Baseball,Music ``` ### プロパティの追加 `JObject` の `Add` メソッドで追加できます。 - https://www.newtonsoft.com/json/help/html/T_Newtonsoft_Json_Linq_JObject.htm ```cs string json = @"{ 'Name': 'Foo', 'Age': 20, 'Favorites':[ 'Baseball', 'Music' ] }"; dynamic person = JObject.Parse(json); // プロパティの追加 person.Add("Country", "Japan"); // シリアライズして中身を確認 Console.WriteLine(JsonConvert.SerializeObject(person, Formatting.Indented)); ``` **実行結果** ```sh { "Name": "Foo", "Age": 20, "Favorites": [ "Baseball", "Music" ], "Country": "Japan" } ``` ## 配列のデシリアライズ `JArray.Parse` でデシリアライズを行います。 ```cs string json = @"[ { 'Name': 'Foo', 'Age': 20, 'Favorites':[ 'Baseball', 'Music' ] }, { 'Name': 'Bar', 'Age': 30, 'Favorites':[ 'Soccer', 'Movie' ] }, ]"; dynamic persons = JArray.Parse(json); // person は JObject 型 foreach (var person in persons) { Console.WriteLine(person.Name); Console.WriteLine(person.Age); Console.WriteLine(string.Join(',', person.Favorites)); } ``` **実行結果** ```sh Foo 20 Baseball,Music Bar 30 Soccer,Movie ``` ### 要素の追加 `JArray` の `Add` メソッドで追加できます。 - https://www.newtonsoft.com/json/help/html/T_Newtonsoft_Json_Linq_JArray.htm ```cs string json = @"{ 'Name': 'Foo', 'Age': 20, 'Favorites':[ 'Baseball', 'Music' ] }"; dynamic person = JObject.Parse(json); // 要素の追加(person.Favorites は JArray 型) person.Favorites.Add("Ski"); // シリアライズして中身を確認 Console.WriteLine(JsonConvert.SerializeObject(person, Formatting.Indented)); ``` **実行結果** ```sh { "Name": "Foo", "Age": 20, "Favorites": [ "Baseball", "Music", "Ski" ] } ```
## 参考 URL - https://www.newtonsoft.com/json/help/html/QueryJsonDynamic.htm - https://netweblog.wordpress.com/2016/10/24/json-net-newtonsoft-json-usage/ - https://www.yamacho-blog.com/2017/12/vbnetjsonjarray.html
Read more
2020/01/08
[Python] 書式指定で変数を使う
update
event_note
label
Python
文字列出力で書式指定を行う際、桁数などの指定で変数を使う方法です。
例えば、以下のように数値を10桁の右揃えで出力する場合。 ```py a = 1234 b = -1.234 print(f'{a:>10}') print(f'{b:>10}') ``` ```sh 1234 -1.234 ``` この `10` という数値を変数で指定したいときは以下のように記述します。 ```py a = 1234 b = -1.234 digit = 10 print(f'{a:>{digit}}') print(f'{b:>{digit}}') ``` ```sh 1234 -1.234 ``` 入れ子にしているだけですね。
Read more
2020/01/07
[Python] 文字列の出力
update
event_note
label
Python
C# の文字列補間のような書き方で文字列を出力できないかなと思って調べたら、`f-string`(フォーマット済み文字列リテラル)というのがそれに該当するようです。
## 環境 - Windows 10 - Python 3.8.1 ## f-string Python 3.6 以降で使えるようです。 ```py a = "hoge" b = 1234 c = 0.1234 print(f'{a} {b} {c}') ``` ```sh hoge 1234 0.1234 ``` ## 書式指定 以下、書式指定の方法です。 ### 左寄せ、中央寄せ、右寄せ `<` `^` `>` で左寄せ、中央寄せ、右寄せができ、全体の文字数を数値で指定する。 ```py a = "hoge" b = 1234 c = 0.1234 print(f'{a:>10}|{b:>10}|{c:>10}|') print(f'{a:^10}|{b:^10}|{c:^10}|') print(f'{a:<10}|{b:<10}|{c:<10}|') ``` ```sh hoge| 1234| 0.1234| hoge | 1234 | 0.1234 | hoge |1234 |0.1234 | ``` ### ゼロ埋め ゼロパディングは数値に対してのみ有効です。 (文字列に対して指定するとエラーになりました) ```py a = 1.2345 b = 1234 c = -1.2345 d = -1234 print(f'{a:08}') print(f'{b:08}') print(f'{c:08}') print(f'{d:08}') ``` ```sh 001.2345 00001234 -01.2345 -0001234 ``` ### 小数点以下の桁数、有効桁(有効数字) こちらも数値に対してのみ有効です。 (文字列に対して指定するとエラーになりました) ```py a = 1.2345 b = 1.2 c = 1234 d = -1.2345 e = -1.2 f = -1234 print(f'{a:.3f}') print(f'{b:.3f}') print(f'{c:.3f}') print(f'{d:.3f}') print(f'{e:.3f}') print(f'{f:.3f}') ``` ```sh 1.234 1.200 1234.000 -1.234 -1.200 -1234.000 ``` **ゼロパディングとの組み合わせ** ```py a = 1.2345 b = 1.2 c = 1234 d = -1.2345 e = -1.2 f = -1234 print(f'{a:010.3f}') print(f'{b:010.3f}') print(f'{c:010.3f}') print(f'{d:010.3f}') print(f'{e:010.3f}') print(f'{f:010.3f}') ``` ```sh 000001.234 000001.200 001234.000 -00001.234 -00001.200 -01234.000 ``` **左寄せ、中央寄せ、右寄せとの組み合わせ** ```py a = 1.2345 b = 1.2 c = 1234 d = -1.2345 e = -1.2 f = -1234 print(f'{a:>10.3f}|{b:>10.3f}|{c:>10.3f}|{d:>10.3f}|{e:>10.3f}|{f:>10.3f}|') print(f'{a:^10.3f}|{b:^10.3f}|{c:^10.3f}|{d:^10.3f}|{e:^10.3f}|{f:^10.3f}|') print(f'{a:<10.3f}|{b:<10.3f}|{c:<10.3f}|{d:<10.3f}|{e:<10.3f}|{f:<10.3f}|') ``` ```sh 1.234| 1.200| 1234.000| -1.234| -1.200| -1234.000| 1.234 | 1.200 | 1234.000 | -1.234 | -1.200 |-1234.000 | 1.234 |1.200 |1234.000 |-1.234 |-1.200 |-1234.000 | ``` ### 符号表示 こちらも数値に対してのみ有効です。 (文字列に対して指定するとエラーになりました) ```py a = 1234 b = -1234 print(f'{a:+}') print(f'{b:+}') ``` ```sh +1234 -1234 ``` **ゼロパディングとの組み合わせ** ```py a = 1.2345 b = -1.2345 print(f'{a:+08}') print(f'{b:+08}') ``` ```sh +01.2345 -01.2345 ``` **小数点以下桁数との組み合わせ** ```py a = 1.2345 b = -1.2345 print(f'{a:+.3f}') print(f'{b:+.3f}') ``` ```sh +1.234 -1.234 ``` **左寄せ、中央寄せ、右寄せとの組み合わせ** ```py a = 1.2345 b = -1.2345 print(f'{a:>+10}|{b:>+10}|') print(f'{a:^+10}|{b:^+10}|') print(f'{a:<+10}|{b:<+10}|') ``` ```sh +1.2345| -1.2345| +1.2345 | -1.2345 | +1.2345 |-1.2345 | ``` ### 桁区切り ```py a = 123456789.123456789 b = -123456789.123456789 print(f'{a:,}') print(f'{b:,}') ``` ```sh 123,456,789.12345679 -123,456,789.12345679 ``` **桁数、左寄せ、中央寄せ、右寄せとの組み合わせ** ```py a = 123456789.123456789 b = -123456789.123456789 print(f'{a:^20,.3f}') print(f'{b:>20,.3f}') ``` ```sh 123,456,789.123 -123,456,789.123 ```
## 参考 URL - https://docs.python.org/ja/3/tutorial/inputoutput.html - https://note.nkmk.me/python-f-strings/
Read more
2020/01/06
VSCode での Python のデバッグ設定
update
event_note
label
Python
label
Visual Studio Code
Visual Studio Code で Python のデバッグをする際の設定についてです。
## 環境 - Windows 10 - Visual Studio Code 1.41.1 ## デバッグ構成ファイル(launch.json)の作成 デバッグメニューを選択し、`launch.json ファイルを作成します。` をクリックします。
`Debug Configuration` の選択が表示されるので、`Python File` を選択します。
すると、以下のような内容で `launch.json` がワークスペースの `.vscode` フォルダ内に作成されます。 ```json { "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal" } ] } ``` 基本的にはこれだけで Python のデバッグが行えます。 ## 引数を指定する デバッグ時に引数を指定したい場合は `launch.json` に `args` の項目を追加します。 ```json "configurations": [ { // 省略 "args": [ "foo", "bar" ] } ] ``` 引数0にはプログラム名が入るので、引数1からを `args` に記述します。 **サンプル** ```py import sys print("Hello World") print("sys.argv[0] : ", sys.argv[0]) print("sys.argv[1] : ", sys.argv[1]) print("sys.argv[2] : ", sys.argv[2]) ``` **実行結果** ```sh Hello World sys.argv[0] : HelloWorld.py sys.argv[1] : foo sys.argv[2] : bar ``` ## 実行ファイルを固定にする VSCode でデバッグを開始するファイルは、デフォルトではアクティブになっているファイルですが、いつも同じファイルでデバッグを開始したい場合などは `launch.json` の `program` を変更します。 デフォルトでは以下のようになっています。 ``` "program": "${file}", ``` `${file}` は現在アクティブになっているファイル名が入ります。 これを例えば以下のように変更します。 ``` "program": "${workspaceFolder}\\HelloWorld.py", ``` `${workspace}` はワークスペースのルートを表します。
## 参考 URL - https://qiita.com/ShortArrow/items/dc0c8cacd696154510f1 - https://www.atmarkit.co.jp/ait/articles/1711/24/news034.html
Read more
2020/01/05
VSCode で Python の import や from のエラーが消えない
update
event_note
label
Python
label
Visual Studio Code
ライブラリをインストール済みにも関わらず、Visual Studio Code 上で import や from の箇所でエラーが表示されたままになっていました。
具体的には、`ModuleNotFoundError` や `Unable to import` といったエラーが表示されます。 ちなみに、普通にプログラムを実行すると正常に動作しますが、VSCode のデバッガで実行すると、上記のエラーの箇所で停止する状態でした。 ## 原因と解決方法 私の場合は VSCode の Python のインタプリターの設定が正しくなかったことが原因でした。 以下を行うことで解決しました。 - `F1` を押す - `Python: Select Interpreter` を入力 - 表示された一覧から適切なインタプリターを選択する
## 参考 URL - https://teratail.com/questions/137869
Read more
2020/01/04
Python で ta-lib をインストールする
update
event_note
label
Python
python で ta-lib をインストールする際、先に ta-lib 自体をインストールしておく必要があるようです。
## 環境 - Windows 10 - Python 3.8.1 ## ta-lib を簡単にインストールする pip でインストールする ta-lib は python ラッパーなので、ta-lib 自体を先にインストールしておく必要があるようです。 しかし、Windows 環境に ta-lib をインストールするには、C/C++ のソースコードをビルドできる環境を構築する必要があるなどかなり面倒なので、ビルド済みの `.whl` をダウンロードしてくるのが最も簡単でした。 以下から `.whl` ファイルをダウンロードし、適当な場所に置きます。 - https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib 今回は Python のバージョンが 3.8.1、実行環境が 64 bit なので、 `TA_Lib‑0.4.17‑cp38‑cp38‑win_amd64.whl` をダウンロードしました。 以下のコマンドを実行してインストールします。 ```sh > pip install TA_Lib‑0.4.17‑cp38‑cp38‑win_amd64.whl ```
## 参考 URL - https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14152445904 - https://cryptocurrencychudoku.hatenablog.com/entry/2018/04/01/140950 - http://shinyaowari.com/archives/1831
Read more
2020/01/03
Windows に Python をインストール
update
event_note
label
Python
Windows に Python の環境を構築します。
## 環境 - Windows 10 - Python 3.8.1 ## インストール方法 以下からインストーラーをダウンロードします。 - https://www.python.org/downloads/windows/ 現時点での最新の `Windows x86-64 executable installer` をダウンロードします。
ダウンロードしたインストーラーを実行して、`Add Python 3.8 to PATH` にチェックを入れてインストールします。
## 確認 コマンドプロントを起動し、以下を実行してインストールされていることを確認します。 ```sh >python --version Python 3.8.1 ```
## 参考 URL - https://www.softantenna.com/wp/windows/python-for-windows-10/ - https://www.atmarkit.co.jp/ait/articles/1906/17/news023.html
Read more
新しい投稿
前の投稿
ホーム
Translate
Popular Posts
TortoiseGit でコミットメッセージを変更する
image
NO IMAGE
TortoiseGit でブランチ間の差分を見る
image
NO IMAGE
[ASP.NET Core] 前のページ(遷移元)の URL を取得する
image
NO IMAGE
外部 DLL を NuGet パッケージに含める方法
image
NO IMAGE
[C#] SonarQube で .NET アプリケーションのコード解析を行う
image
NO IMAGE
[ASP.NET Core] Form value count limit 1024 exceeded のエラーが発生した
image
NO IMAGE
マージ元ブランチとマージ先ブランチ
TortoiseGit でリモートリポジトリのタグを削除する
image
NO IMAGE
C# で GitHub からリリースバージョンを取得する
[Jenkins] エラー 1069: ログオンに失敗したため、サービスを開始できませんでした。
Labels
.NET Core
31
.NET Framework
17
.NET Standard
2
AdminLTE
1
Apache
3
AppVeyor
2
AsciiDoc
3
ASP.NET Core
55
Atom
4
AWS
2
AWS Cloud9
4
blockdiag
1
Blogger
10
Bootstrap
3
C/C++
6
C#
106
CentOS
3
Chrome
1
Chronograf
3
Codecov
1
CSS
1
Docker
28
DokuWiki
4
Doxygen
1
draw.io
1
Electron.NET
2
Entity Framework Core
9
Excel
2
FFmpeg
2
Firefox
5
Git
12
GitBook
4
GitBucket
7
GitHub
7
GitLab
30
Go
1
Google
1
Google Cloud Platform
1
Grafana
5
HTML
5
IIS
8
InfluxDB
6
JavaScript
7
Jenkins
7
Linux
25
Log4View
1
MahApps.Metro
3
MaterialDesignInXamlToolkit
1
MVC
1
MVVM
6
NLog
3
Node.js
3
npm
1
OpenSSL
3
ownCloud
2
Pine Script
1
PlantUML
5
PowerShell
7
Prism
2
Python
11
Razor
3
Redmine
30
remark.js
2
rocketchat
4
Ruby
3
SignalR
1
Socket.IO
1
SonarQube
5
Sphinx
10
SQL Server
5
SQLite
1
t
1
TestLink
2
Tomcat
2
TortoiseGit
10
TortoiseSVN
2
Trading View
1
Travis CI
1
Ubuntu
13
Visual Studio
39
Visual Studio Code
9
Vue.js
8
Windows
56
Windows 10
4
Windows ADK
1
Windows API
2
Windows Embedded
4
wkhtmltopdf
2
Word
3
WPF
12
WSL
1
Xamarin
1
xUnit
5
アプリケーション
1
デザインパターン
1
テスト
3
バッチファイル
2
ぴよ
3
プログラミング
3
ライセンス
1
ラベル
3
ラベル1
2
英語
2
雑記
1
書籍
1
数学
1
正規表現
1
Blog Archive
►
2022
(1)
►
2月
(1)
►
2021
(24)
►
5月
(7)
►
4月
(8)
►
3月
(2)
►
2月
(2)
►
1月
(5)
▼
2020
(60)
►
12月
(1)
►
11月
(3)
►
10月
(3)
►
9月
(3)
►
8月
(3)
►
7月
(7)
►
6月
(7)
►
5月
(2)
►
4月
(6)
►
3月
(6)
►
2月
(7)
▼
1月
(12)
[JavaScript] 数値の変わった表記
[Python] インデックス付きのループ
ASP.NET Core (.NET Core) でバックグランドタスクを起動する
NuGet Server でプライベートリポジトリを構築する
GitLab の Admin / Runners で 500 エラーが表示される
[C#] 動的な JSON を扱う
[Python] 書式指定で変数を使う
[Python] 文字列の出力
VSCode での Python のデバッグ設定
VSCode で Python の import や from のエラーが消えない
Python で ta-lib をインストールする
Windows に Python をインストール
►
2019
(92)
►
12月
(13)
►
11月
(9)
►
10月
(3)
►
9月
(2)
►
8月
(3)
►
7月
(5)
►
6月
(11)
►
5月
(6)
►
4月
(17)
►
3月
(9)
►
2月
(6)
►
1月
(8)
►
2018
(100)
►
12月
(1)
►
11月
(11)
►
10月
(8)
►
9月
(6)
►
8月
(10)
►
7月
(10)
►
6月
(8)
►
5月
(9)
►
4月
(8)
►
3月
(14)
►
2月
(4)
►
1月
(11)
►
2017
(117)
►
12月
(14)
►
11月
(20)
►
10月
(17)
►
9月
(19)
►
8月
(10)
►
7月
(8)
►
6月
(3)
►
5月
(6)
►
4月
(5)
►
3月
(2)
►
2月
(8)
►
1月
(5)
►
2016
(91)
►
12月
(5)
►
11月
(9)
►
10月
(11)
►
9月
(9)
►
8月
(6)
►
7月
(14)
►
6月
(14)
►
5月
(11)
►
4月
(10)
►
3月
(2)
►
2015
(23)
►
12月
(4)
►
11月
(2)
►
10月
(8)
►
9月
(8)
►
7月
(1)
►
2013
(3)
►
11月
(1)
►
9月
(1)
►
7月
(1)
►
2012
(2)
►
7月
(1)
►
6月
(1)
►
2011
(1)
►
9月
(1)
►
2009
(1)
►
7月
(1)
►
2008
(2)
►
11月
(1)
►
7月
(1)
►
2007
(3)
►
10月
(3)