Dockerfileの公式phpコンテナを使っていて、標準で入っていないextensionを追加したい時があります。 このような場合に備えて、公式コンテナではdocker-php-ext-installコマンドを用意してくれています。 以下のようにRUNコマンドを記述することで希...


PHPでクラスのコンストラクタは、引数がない場合はカッコを省略することができます。 ```language-php // どちらも書き方もOK $a = new SomeClass(); $a = new SomeClass; ``` どちらの書き方でも同じ動作をするのですが、どちらの表記法にした...


PHPでハッシュの配列(DBの検索結果など)を、特定のキーでグループかする方法です。 ## Laravelの場合 Laravelの場合はcollectオブジェクトにgroupBy()メソッドがあるため、これを利用できます。 ```language-php $collection = collect([ ...


2019年より始まる新しい元号を予測して出力するPHPのプログラムです。 機械学習などの複雑なロジックは使っておらず、Unicodeの知識さえあれば理解できる簡単なプログラムです。 ## プログラム ```language-php


python3.xの環境で、wikipediaのページを読み込み、htmlの内容を文字化けせずに画面に出力させる方法です。 今回はcchardetという文字コードの自動認識を行えるpipパッケージを使ってみます。 ## パッケージのインストール ```language-bash php3 ...


pythonで配列に入ったデータをn件ごとの塊に分ける方法です。 パッケージのインストール ```language-bash pip install more-itertools ``` スクリプト ```language-python from more_itertools import chunked ary = [1,2,3,4,5,6,7,8,9] ...


Laravelでvue.jsを使用して、vuejs.orgの"はじめに"に書かれている"Hello Vue!"を表示させようとすると、下記のエラーが出ることがあります - 作成したhtmlの例 ```language-html {{ message }} ``` - エラーメッセージの例 ```langua...


IOCCC 2015 endoh2.cの仕組み

2018年12月15日 | カテゴリ: clang | タグ:
IOCCC 2015で公開されているendoh2.cの仕組みを確認した時のメモです。 IOCCCというのはThe International Obfuscated C Code Contest(国際難読化Cコードコンテスト)の略で ## デモ動画 endoh2.cがどんなプログラムかは、下記のYoutube動画をみると...


複数のデータを扱うプログラムを作る時、各データ系列ごとに適切な色を割り当てて表示させたい場合があります。 PHPスクリプトからこのような事を行いたい場合、PHLAK/Colorizerパッケージが役に立ちます。 PHLAK/Colorizerパッケージでは、文字列を...


適当なファイルを作って、下記のphpスクリプトを実行すると、ファイルの内容がURLエンコードされます。 ```language-bash cat foo.txt | php -R 'echo(urlencode($argn).PHP_EOL); ``` phpコマンドのオプション'-R'は標準入力1行づつに対して指...


PHPのデプロイツールであるDeployerで、ターゲットのサーバへSSHログインするときのSSHキーファイルを指定する方法です。 ## inventory()でファイルを指定する場合 inventory()メソッドを使ってサーバの接続情報を管理7得る場合は、以下のように、iden...


今回は、前回作成したnginx + phpの環境にLaravelをインストールしてみます。 - [CentOS 7.5のf1-microインスタンスにnginx, php-fpm, php7.2環境を作る](https://akamist.com/blog/archives/3256) - [CentOS 7.5のf1-microインスタンスにswap領域を追...


[AWS]apexを使用してawsのlambda関数を作成する

2018年7月23日 | カテゴリ: aws, python | タグ:
## インストール apexは、下記のコマンドでインストールすることができます。macOSの場合インストール先はデフォルトで/usr/local/bin/apexになります。 ```language-bash $ curl https://raw.githubusercontent.com/apex/apex/master/install.sh | sh ...


[python]numpyのnp.array()入門

2018年7月20日 | カテゴリ: python
## プログラム ```language-python import numpy as np def showNpArray(ary): x = np.array(ary) print(x) # オブジェクトのダンプ print(x.shape) # 各次元のサイズ print(x.ndim) # 何次元の配列か showN...


pythonでは、requestパッケージを利用することでスクリプトからhttpのリクエストを送信することができます。 requests.get()で実行したたHTTPリクエストに対する応答テキストをstringの文字列として取得したい場合は、戻り値に対してcontent.decode()を...


pythonでスクリプトを実行すると"NameError: name 'true' is not defined"エラーが発生することがあります。 エラーになる原因はpythonの真偽値はtrue, falseではなく、先頭が大文字のTrue, Falseであるためで、先頭を大文字にすれば良いです。 ## ...


pythonで,変数がNoneTypeであるかを判定したい場合、条件式の`is None`を使用すると良いです。 ## サンプルプログラム ```language-python x = None print(type(x)) if x is None: print('xはNoneTypeです') ``` ## 実行例 ```language...


pythonで、指定されたディレクトリがなければ作成するプログラムです。 下記のサンプルでは、outputというディレクトリの存在チェックを行い、なければ作成しています。 ## プログラム ```language-python import os if not os.path.exists('...


PHPのfile_get_contents()では通常GETでリクエストを送信しますが、POSTでリクエストを投げたい場合があります。 このような場合はfile_get_contents()の第3引数を使えば良いです。 ```language-php


bashで単発で特定のコマンド群を実行したいときは、";"で各コマンドをつなぐことが多いですが、数が多い場合はbash関数の機能を使った方が見やすい。 ## 処理を関数の形でまとめる ```language-bash function func01() { echo "==============...


PHPでフォームに入力されたテキストを1行づつ処理させたい場合は、`str_replace()`と`explode()`関数を組み合わせると便利です ## サンプルプログラム 下記のプログラムは、GETパラメータで渡されたテキストを改行文字で区切って、1行づつ処理する...


pythonで一定時間プログラムをスリープさせたい場合は、time.sleep()を使用します。 ## プログラム ```language-python import time print('start') time.sleep(1) print('1sec') time.sleep(0.5) print('1.5sec') ``` ## 実行結果 プ...


pythonで文字を改行せずに出力するには、sys.stdoit.write()メソッドを使用します。 write()で出力した文字は、出力バッファリングされます。直ぐに出力したい場合はflush()を使用します。 ## サンプルコード 下記のサンプルは、1秒に一回`.`を...


 pythonでは他の言語で連想配列/ハッシュに相当するデータ構造として、辞書(Dictionary)型というものがあります。 pythonの辞書データを値の順や、キーの順でソートするサンプルコードを紹介します。 ## サンプルコード 変数`data`に入ったデー...


python3を使った数値計算に関する演算子です加減乗除は他の言語と同じなので、pythonならではのモノのみ記載します。 ```language-python # 割り算 # python3の時は、浮動小数で計算される(python2は端数が切られる) print(3 / 2) # -> 1.5 ...


[python]変数のデータ型を確認する

2018年5月11日 | カテゴリ: python
pythonではtype()を使用することで変数のデータ型を確認できます。 ## プログラム ```language-python val = 1 print("- 1 -") print(type(val)) val = 'a' print("- 2 -") print(type(val)) val = [1, 2, 3] print("- 3 -") print(type(...


macOSでpyenvを使う[2018年, macOS High Sierra]

2018年5月10日 | カテゴリ: python | タグ: ,
pythonではpyenvを使うことで、python2系とpython3系を共存させることができます。 今回は、このpyenvをmacOSにインストールして、別バージョンのpythonをインストールしてみました。 ## 実行環境 macOS High Sierra10.13.4 brewで、gitコマン...


pythonを使って、指定されたファイルの内容全部を取得した上で、ファイル内に含まれる改行を取り除き、1行に連結するプログラムです。 ## プログラム ```language-python # test01.py text = open("input.txt").read().replace('\n', ' ') print...


pythonのscikit-learnをインストールするのに必要だったダウンロードファイルのサイズをメモしておきます。 合計55Mbyteぐらいで、モバイル回線経由でも問題なくダウンロードできる程度でした。 ## 実行したコマンド ```language-bash pip install n...