Fortran からC#への移行
Fortran で書かれたプログラムをC#へ移行なんてあまりないかもしれませんが、以前に経験したことをまとめてみました。 既存の FORTRAN アプリケーションがファイルや標準入出力から入出力(READ/WRITE)を行う部分がもっとも工数がかかると思われます。C# へ移行する際に入出力を見直すか、READ/WRITE ステートメントを補完する同等の機能を C# で実装する必要があります。...
View Articlepython で database クラスを作ってみる (Part 3)
今回はテーブルにデータを挿入して、選択するところまでやります。 テーブルにデータを挿入するため、SimpleDB クラスに insert 関数を定義します。 引数には table: テーブル名、data: 挿入するデータを辞書型で渡します。 関数内では、引数を基にして “INSERT table INTO (field, field…) VALUES (value, value…)” という SQL...
View Articlepython で database クラスを作ってみる (Part 2)
今回はクラスの定義とデータベースに接続、開く、閉じるところまでやっています。 クラス名は SimpleDB 、ファイルを simpledb.py とします。 コンストラクタで接続情報を渡し、open 関数で接続、カーソルを変数に格納しておきます。 close 関数でカーソルを閉じ、接続を閉じます。 #!/usr/bin/python # -*- coding: utf-8 -*- import...
View Articlepython で database クラスを作ってみる (Part 1)
python で Webクローラーをつくっているとどうしてもデータベースを参照、登録、更新が必要になります。MySQLにアクセスする方法少し楽して行えるように簡単なラッパークラスを作ってみたいと思います。 まずは、環境構築から。OS は CentOS7 です。データベースは mariadb をインストール済みです。 python は標準でインストールされている場合もありますが、念のため。 1....
View ArticlePHP 配列を任意順で並べ替え
配列の並べ替えで比較キーを任意順で並べ替えたい場合の参考に。。。 この例では配列の ‘kind’ という値を 3 < 4 < 1 < 2 という順番で並べ替えます。 <?php // 配列 $operators = array (); $operators[] = array('name' => 'foo1', 'kind' => '1');...
View ArticlePHP error_log 関数でファイルへログ出力
error_log 関数でファイルへログ出力ができるので、クラスとして作成してみました。 <?php # # Logger # class MyLogger { private $log_dir; private $log_fname; public function __construct($baseDir, $fname) { $this->log_dir = $baseDir;...
View ArticleAsterisk の無料オンライン ブック
邦題で「Asterisk テレフォニーの未来」という Asterisk の本がオライリーからでています。 この元本(英語)が無料のオンラインブックとして公開されています。 https://www.asteriskdocs.org/ 上記のページの中ほどに、 For Asterisk 1.8 View the multiple-page HTML edition of the book. View...
View Articlefree-jqgrid について
以前に書いたプログラムをメンテナンスしようと思って jqGrid の最新版にアップデートしようと思っていましたtがライセンスが変わって有償になっていました。jqGrid をv4.7.1を使うか、free-jqgrid に移行するかということで少し商用版 jqGrid (Guriddo) と free-jqgrid について調べました。 jqGrid (Guriddo)について...
View ArticleWindows ssh コマンド configファイルでSSH接続を管理
Windows から ssh で Linux サーバーへ接続するには Putty、RLogin や Tera Term などのアプリケーションを使用していましたが、Windows にも ssh コマンドでも複数のサーバー接続がコンフィグファイルで管理できるので、いちいちホスト名やポートなどを指定しなくても、覚えやすいホスト名で SSH 接続できるうです。 コンフィグファイルは、.ssh\config...
View ArticlePHPAGI v.2.20
AGI (Asterisk Gateway Interface) プログラムを作るのに欠かせないクラスライブラリの v2.20 が GitHub より利用可能です。 最新の Asterisk バージョンおよび PHP バージョンで使えます。※ 当方では Asterisk 20.03 LTS/PHP v8.1 で動作確認済み https://github.com/welltime/phpagi
View ArticlePHP コーディング規約
コーディング規約ってやっぱりあった方がいいですよね。できるだけ多くの人が馴染みやすいのがいいですよね。 PHPのコーディングで参考になるものはと見つけたのが PEAR (PHP Extension and Application Repository) の標準コーディング規約です。 https://pear.php.net/manual/en/standards.php PEAR...
View Articleドメインが利用可能かチェックするPHPスクリプト
ドメイン名が利用可能かチェックするのに dns_get_record 関数を使います。 パラメータには url か domain.com のようなドメイン名 結果はテキストで OK か NG を返します。 <?php $url = $_GET["url"]; $res = parse_url($url); $name = ""; if (isset($res['host'])) { $name...
View ArticleCentOS7 をPHP7.0 インストール
CentOS7 の PHP を PHP7.0 にしてたら、結構ハマってしまった。 結局、思考錯誤の結果、一度全部 PHP を削除: # yum remove php* そして、PHP7.0 を REMI リポジトリからインストール: # yum install –enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo php-gd...
View Articlepython で database クラスを作ってみる (修正版)
python で database クラスを作ってみる (Part 5) で作ったクラスでは、python3.6 では動かなかったので、少し改修して python3.6 で動作するようにしました。 動作確認下環境: 1) CentOS Linux release 7.5 mysql Ver 15.1 Distrib 5.5.56-MariaDB Python 2.7.5 Python 3.6.5...
View Articlepython で database クラスを作ってみる (Part 5)
今回は、複雑な SELECT 文に対応する select_custom 関数を追加して、簡単なテーブルでテストをしてシリーズ最後にします。 select_custom 関数は、引数 sql にパラメータ(%s)付きSQLステートメント、bind にパラメータの値リストを渡します。 class SimpleDB(object): ... (省略)... def select_custom(self,...
View ArticlePython で例外が発生した場所を取得する
python でプログラミング中、try ~ except で例外を補足しますが、どのコードでその例外が発生したかを特定する方法がわからなかったので調べました。 https://docs.python.org/ja/2.7/library/sys.html sys.exc_info() で返されるレースバックオブジェクトに設定された現在の行番号 tb_lineno...
View Articlepython で database クラスを作ってみる (Part 4)
今回はテーブルのデータの更新と削除をやります。 データを更新するため、SimpleDB クラスに update 関数を定義します。 引数には table: テーブル名、更新データを辞書型、conditions: 条件を渡します。 関数内では、引数を基にして “UPDATE table SET field = value, …” という SQL 文を組み立てます。 UPDATE...
View Articlepython で database クラスを作ってみる (Part 3)
今回はテーブルにデータを挿入して、選択するところまでやります。 テーブルにデータを挿入するため、SimpleDB クラスに insert 関数を定義します。 引数には table: テーブル名、data: 挿入するデータを辞書型で渡します。 関数内では、引数を基にして “INSERT table INTO (field, field…) VALUES (value, value…)” という SQL...
View Articlepython で database クラスを作ってみる (Part 2)
今回はクラスの定義とデータベースに接続、開く、閉じるところまでやっています。 クラス名は SimpleDB 、ファイルを simpledb.py とします。 コンストラクタで接続情報を渡し、open 関数で接続、カーソルを変数に格納しておきます。 close 関数でカーソルを閉じ、接続を閉じます。 #!/usr/bin/python # -*- coding: utf-8 -*- import...
View Articlepython で database クラスを作ってみる (Part 1)
python で Webクローラーをつくっているとどうしてもデータベースを参照、登録、更新が必要になります。MySQLにアクセスする方法少し楽して行えるように簡単なラッパークラスを作ってみたいと思います。 まずは、環境構築から。OS は CentOS7 です。データベースは mariadb をインストール済みです。 python は標準でインストールされている場合もありますが、念のため。 1....
View Article