nprogram’s blog

気ままに、プログラミングのトピックについて書いていきます

2018-01-01から1年間の記事一覧

Pythonでプライベートメンバ変数をクラスに定義する [Python]

Pythonのプロパティを使う方法 Pythonでは、クラスのカプセル化を実現する際は、プロパティを用いるほうがいいと思います。 getter, setterを作ったとしても、使用者側がそれを使ってくれる保証がありません。(´;ω;`) あまり良くない書き方 その3 getter/se…

クラスのメソッドのオーバーライドとsuperによる親メソッドの呼び出し [Python]

クラスのメソッドのオーバーライドとsuperによる親メソッドの呼び出し <コード> class Car(object): def __init__(self, model=None): self.model = model def run(self): print('run') class ToyotaCar(Car): def run(self): print('fast') class TeslaCar(…

業務で作成する設計ドキュメント

はじめに プロジェクトで作成する設計ドキュメントは、プロジェクトの計画や品質を守るためにも必須と考えています。 私が必要と考える設計ドキュメントを以下に記載しました。 設計ドキュメント 番号 項目 内容 備考 優先度 1 GQM 定量的にプロジェクトの目…

「Webプログラミングが面白いほどわかる本」を見て仮想環境を作成しました

はじめに 「Webプログラミングが面白いほどわかる本」を見て、仮想環境(Linux OS)の作成したので、その手順を記載します。 本は、こちらです。 https://www.kadokawa.co.jp/product/321712000860 本の通りに、Linux環境構築しようとする Linux 環境構築時に…

C++11, C++14, C++17を勉強したい

C++

はじめに C++11, C++14, C++17を勉強するときに役立つサイト、書籍を紹介します。 サイト C++11からC++17を駆け抜けるC++講座 https://qiita.com/yumetodo/items/68f58de43094519ae899 達人出版会 https://tatsu-zine.com/ ここで、書籍を購入すると、Amazon…

オブジェクト指向プログラミングの学習

はじめに オブジェクト指向型プログラミングを再学習します。 S.O.L.I.Dとは? オブジェクト指向プログラミングの5の原則のこと (1) S - 単一責任の原則 (Single Responsibility Principle) (2) O - 開放・閉鎖原則 (Open/closed principle) (3) L - リスコ…

Stateパターン [C#]

はじめに 状態を多く持ち、状態ごとの操作の動作が異なるプログラムで、恐ろしく長い条件分岐処理(if文, switch文)を見かけたことはありませんか? 私はよくあります。(^_^;) たとえば、簡単な電気ポットのプログラムがあるとします。このプログラムでは、以…

Compositeパターン [C#]

Compositeパターン Compositeパターンは、容器と中身を同一視して、再帰的な構造を作るパターンです。 利用者は容器と中身を意識せずに使用することができます。 Compositeパターンを使用しない場合は、容器と中身を意識する必要がある。 コード例では、Dire…

Abstract Factory パターン [C#]

Abstract Factory パターン [C#] Abstract Factory パターンを記載します。 Abstract Factoryパターンを使うことによって、クラスの使用者は、具象クラスを直接扱わずに、具職クラスのインスタンスを取得できる。 (Main関数で扱っているのは、抽象クラスのみ…

Factory Methodパターン [C#]

Factory Methodパターン インスタンス化したいオブジェクト(製品)を実行時の条件によって決めたい場合に利用します。 Factory Methodパターンはオブジェクト(製品)を生成する側と利用する側に分けて定義する必要があります。 分けておくことで、将来システム…

Simple Factory (C#)

Simple Factoryパターンについて 実際にはデザインパターンではありません。プログラミングのイディオムとなります。 クラス図 実行イメージ Cheeseピザの材料を準備します。 Cheeseピザを焼きます。 Cheeseピザをカットします。 Cheeseピザを箱に収納します…

Template Method パターン [C#]

TemplateMethodパターンとは Template Method パターンの目的は、ある処理のおおまかなアルゴリズムをあらかじめ決めておいて、 そのアルゴリズムの具体的な設計をサブクラスに任せることである。そのため、システムのフレームワークを構築するための手段と…

Python基礎学習 (クラスについて)

クラスについて Pythonでもクラスはあります。 クラスをインスタンス化して、オブジェクトを生成します。 クラスを生成したときに呼び出されるクラスのコンストラクタ処理(初期化処理)は、'''def init(self):'''の形式で呼び出されます。 __init__()にかかわ…

Pythonでシグモイド関数とシグモイド関数の微分をグラフで書く

はじめに 人工知能のアルゴリズムでは、シグモイド関数とシグモイド関数の微分が大切みたいです。 コードをメモっておきます。 なお、以下のコードで、でグラフの見出しを作成することが可能です。 複数のデータ例がある場合に、便利です。 plt.plot(x, y_si…

Pythonでファイルからデータを読み込んで、リストに格納する

Pythonでそのままリスト表示 csv形式のテキストファイルを読み込んで、リストに格納して表示するプログラムです。 テキストファイルは以下を用います。 データファイル Ichiro,100 Jiro,95 ただ単純にリスト表示すると以下のように、バックスラッシュが入っ…

株価データをプロットして、CSVファイルを出力する方法

はじめに jsmを使えば、日本の銘柄の株価を簡単に取得できます。 パッケージ・バージョン jsm : 0.19 コード import datetime as dt from pandas import DataFrame import jsm import pandas_datareader.data as web import matplotlib.pyplot as plt def jp…

Pythonで株価のスクレイピングをしてみました

はじめに Pythonで株価を取得してみました。 自分で、スクレイピングのコードを書かなくても、世の中には、その機能を提供するパッケージが複数あるようです。 Quandl pandas_datareader jsm ここでは、pandas_datareaderを用いて、株価を取得してみたいと思…

Pythonで簡単なグラフを書いてみました

はじめに matplotlibを使うことで、簡単にグラフを書くことができます。 環境 IDE : Visual Studio Code (Version 1.27.2) OS : Windows 10 (Version 1803) パッケージ・モジュールのバージョン Python 3.7.0 matplotlib 2.2.3 簡単グラフを書く コード1 imp…

整数値をアスキーコードに変換する方法 (_itoa_s関数使用)

C++

はじめに 例えば、124や0x2Fなどの整数値をアスキーコードに変換しようとする場合は、_itoa_sを使うと簡単に変換できます。 関数仕様については、MSDNのドキュメントをご確認ください。 errno_t _itoa_s( int value, char *buffer, size_t sizeInCharacters,…

WPF DataTemplateの学習

はじめに WPF DataTemplateの学習は、以下のMicrosoftのサンプル(DataTemplatingIntro)とドキュメントを合わせて確認するのがいいと思います。 github.com データ テンプレートの概要 https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/data/data-temp…

Python文法学習 (関数、クロージャー、ジェネレーター、ラムダ式)

はじめに Pythonを学ぶため、Pythonの基礎を本ページに記載します。 関数 関数の引数は、型がないので、注意が必要です。attack関数の引数は、文字列なのです。 パラメーター(引数)が1つの場合 def add_sound(attack): for i in range(5): # 5回繰り返す pri…

WPFのよさそうなサンプル

https://msdn.microsoft.com/ja-jp/library/mt270964.aspx

Qiitaおすすめ記事

この記事はおすすめです。 qiita.com

MicrosoftのWPFのSampleの充実度が素晴らしい

はじめに WPFの学習はこれを見れば、把握できそう。 github.com

SQL基礎学習

SQL

はじめに データベースを扱うには、SQLを学ぶ必要があります。本記事では、学習のために、役立つリンクを記載します 内容 (1) Oracel Acpplication Express (APEX)を使用して、SQLを学習することについて記載された記事です。 インターネットで、Oracel Acpp…

Visual Studio 2017で、クラス図を自動生成しましょう

はじめに プロジェクトが大きくなればなるほど、コードを読んで、クラス図を作成する作業は大変になります。 Visual Studio 2017を使用すれば、プロジェクトからクラス図を自動生成することが可能です。 環境 Visual Studio Community 2017 (Version 15.7.4)…

Visual Studio 2017でコード分析を有効化しましょう

はじめに Visual Studio 2017のコード分析のデフォルトを有効にすることで、適切にコードをチェックすることが可能です。 環境 Visual Studio Community 2017 (Version 15.7.4) Windows 10 (Version 1803) コード分析有効化と実施手順 (1) まず、プロジェク…

AngleSharpを用いて、Webスクレイピングをしましょう[AngleSharp]

C#

はじめに Webスクレイピングとは、ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。 ウェブ・クローラーあるいはウェブ・スパイダーとも呼ばれる。(wikipedia参照) Webスクレイピングに、Html Agility Packではなく、今回は、AngleSharp…

WPFで登録・削除可能なリストを作成する [C#][WPF][Prism][MVVM]

はじめに WPFで登録・削除可能なリストを作成します。 MVVM(Model・View・ViewModel)のプロジェクトにしました。 MVVMの形にするため、以下のようにフォルダ分けしています。 Modelsフォルダ ViewModelsフォルダ Viewsフォルダ Prismでは、以下の機能を使用…

SQLiteを用いて、WPFで登録・削除可能なリストを作成する[C#][WPF][Prism][MVVM][SQLite]

はじめに SQLiteを用いて、WPFで登録・削除可能なリストを作成します。 大量のデータを永続化させるには、データベースを用いると楽です。 SQLiteを用いてデータを永続化させる方法について説明したいと思います。 SQLiteを用いたサンプルアプリ外観 サンプ…