プログラム技術研究所一覧

プログラム技術研究所へようこそ。

ここでは、プログラムの基礎からプログラムを有効に活用するための
手法。言語は異なれど、プログラマー全てに共通する考え方をお伝えし、少しでも皆様の
お役に立つべく解説された施設です。

お気軽にお立ち寄り下さい。そして、この研究所に集う究極の手法を盗んで帰って下さい。

phpのntsって何?

phpに新たなモジュールを追加する場合、ntsありとなしの違いを説明します。

ntsとはnon thread safeの略。環境がnon thread safeになっている場合はntsのバイナリーファイルをphp.iniに定義しましょう。

とはいっても何で判断したらいいのーということですが、

infophp()で

PHP Extension Build の中に NTSを記載されていれば、この環境は NTSだと
判断してよさそうです。







メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




phpでオラクルデータベースに接続

 

PDOのオラクル対応がなかなかうまくできずに苦戦しました。

 

対策1以下をダウンロードし

oracle instant clientの32bitを、phpフォルダ、phpフォルダ\extにコピー

対策2php.iniの

extension=php_oci8_12c.dll の”;”を除去し、設定を有効にした
extension=php_pdo_oci.dllの”;”を除去し、設定を有効にした

対策3PCの再起動

 



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[php] 便利なログ出力方法

eye_catch1

用意した変数の中に実際値が入っているか確認をしたかったり、
プログラムのエラー時に明示的にログを出力する場合に最適な
関数を紹介します。

1.任意のフォルダに任意のファイル名で出力する場合

出力内容という文字列が、動作ディレクトリにtest日時.logのファイルで

出力されます。

2.php.iniで指定したエラーログフォルダに出力する場合



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




Ubuntu 読み方

ウブントゥと読むそうです。

簡単に申しますとウブントゥとはLinuxのOSの名前です。

レットハッドやセントOSなどありますね。これらはすべて

LINUXですが、配布元(デストリビューター)の名前のことで

この中にウブントゥというディストリビューターが存在するということです。

Screenshot from 2019-01-16 12-49-48

この環境で、開発環境を構築したので覚書です。

GCC

これはコンパイラーですので、これをまずインストールしなければいけません。

apt-get install でどのパッケージをインストールしようとしても依存関係のエラーになる問題は以下を参考にする

https://www.nekochango.com/entry/linux/trouble/apt-get_install_%E6%99%82%E3%81%AE%E4%BE%9D%E5%AD%98%E9%96%A2%E4%BF%82%E3%82%A8%E3%83%A9%E3%83%BC

そして今回はラズパイで動作させるプログラムということで

ラズパイのプロセッサに対応できるように arm(組み込み用プロセッサ)

に対応させます。

次にJAVAも入れます。

JAVAのコンパイルをアンドロイドスタジオではなく、コマンドベースで

コンパイルするような設定です。

ORACLE jdk を以下からダウンロードしインストールします

https://www.oracle.com/technetwork/java/javase/downloads/index.html

jdk 11になりました

次にgradleのインストール

ちなにみこのブログは今、ウブントゥ(書き慣れないし、よみづらい。。)で

書いています。LINUXでブログ書いたの初めてです。うける。

そろったところで、

さあビルドできるのかな〜

SU

./build.sh

shファイルは実行権限が与えてあることが条件です。

動いたような気がする。

実行ファイルの更新日が今に書き換えられているので。。

さっぱりわからない。このふわふわ感。伝わった?



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[php] php内でエラーステータス500を検出しリダイレクトさせる

htaccessも使えず、アパッチの設定もできないとき

エラーステータス500が検出させるfatalerrorなどを

検出し、自分でリダイレクトさせる方法

 

解説

register_shutdown_function関数はphp処理の完了時に
呼び出される関数。

そこにエラー時のみリダイレクトさせるコードを入れることで対応。



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[php] 複数添付ファイルの送信対応

ファイルを複数添付する時の、文字コード指定、区切り文字にやや癖があります。
参考サイトは以下です。
http://www.phppro.jp/qa/596



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[人工知能] シンギュラリティーに達したときに人類を守る唯一の方法

7b5af08dfcf3910ae060f3abc28b0307_s

ここで最初におさらいですが
「シンギュラリティー」とは何かですが

技術的特異点(ぎじゅつてきとくいてん、英語:Technological Singularity)

のことで
人工知能が人間の能力を超えることで起こる出来事とされ、テクノロジーが急速に変化し、それにより甚大な影響がもたらされ、人間の生活が脅かされる。そして人工知能に支配されることにより滅亡へ向かうというネガティブな場合はそうですが、特異点を越えてもちろん幸せになる方向も十分に予想される。

人類が始まって今までもこれからも悪くなることはない。悪くなるよ~と盛り上げるのは一種のエンターテイメント的な人間の本質。ノストラダムスだってホントそう。1999年超えるまで十分盛り上がったよね。
そして今度はシンギュラリティーが来ると考えられているのは、2045年。人間が人工知能に支配されるとき、何が起きるは予測できないが、何か脅かされるような状態になるまえに未然に防ぐためには、

ネットで検索しても具体的な対策がないので、ここからは勝手な独自論です。

シンギュラリティーキー(SingularityKey)の作成。

何かと申しますと、いざという時に決定権を人類に移せるキーを、オープンソース化と標準化(RDF)させ
メインルーチンに入れておくことを国際法で定めておく。
特異点に達するムードが出てきてからでは遅いです。映画「2001年宇宙の旅」に出てくるAIの「HAL」は
人類が自分の排除をやりそうな空気を察して、逆に宇宙船の乗組員を排除する方向に持っていく。まさに探り合い。
この日記も、今は寝る前の変なテンションに任せて書いていますが、リスクはあると思う。
自分もしばらくこの業界で働いていたいので、排除されちゃうと困るのですが、

でも処置は早い方がよいと思っている。

ポイントは、国際的なルールを決めて置くこと。なぜかというと、AIたちはすでに独自の文化言語を

作り始めているかもしれないので、 AIの文化、言語が枝分かれして収集がつかなくなる事態を避けるために

共通ルーチンを通して置けば、ユニバーサルにシャットダウンできるということ。

少しでも決定件をコントロールできる側に置くことが将来の安心に繋がる。

具体体な仕様

機能を強制的に止めるキーを入力できる領域をメインルーチンに設けることを定める。

コードの形体は一般的な強度が保たれていれば問題ないが

そのキーの保管はデジタル上では行わない。量子コンピューター、ナノテクノロジー等の

アナログの活動に近い場所でも探ってくるAIからできるだけ遠いところに保管する。

デジタルでの保管は禁止。

仮にメインホストが集約を繰り返し、1台になることを想定し、そのホストのキーは石に刻んで海に沈めて置く。

次世代へ託す。・・・さて寝よ。



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[Git] Pullを取り消すコマンド

PULLしたけど取り消したい場合、1つ前の状態に戻す。

$ git reset –hard HEAD^

–hard : ワークディレクトリの物理的変更を行う(ワークディレクトリの内容も書き換える)
HEAD^ : 1つ前の状態



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[C#]  コンパイラ エラー CS1617 /langversion に対するオプション ‘option’ は無効です。ISO-1、ISO-2、または Default を指定してください

/langversion に対するオプション ‘option’ は無効です。ISO-1、ISO-2、または Default を指定してください

上記「option」という指定が無効ということ。

プロジェクトメニュー→プロパティー→ビルド→詳細設定→言語バージョンを指定する。

もしくは

Web.configに無効な指定がされている可能性があるので、 langversionで探して直す。

 



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[itm-cloud] クラウドによるプロジェクト管理システム構築

いよいよ形にしてゆきます。アイティーエムクリエイトのオリジナルコンテンツ

第3弾。

プロジェクト管理ツールまずは

メルマガ、メーリング、ファイル共有あたりができるといいかなと思っています。

ログイン画面をまず作ってみました。ログイン画面ってやはりシステムの玄関口なので

意外とデザインあってもいいですよね。

itmcloud_login

 

 

 

如何でしょうか。

 



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。