Mac
Mac
2019.10.13 日
ひょんなことでpg_ctlが使えないことあります。 $ pg_ctl reload -bash: pg_ctl: コマンドが見つかりません 殆どの場合パスが通っていないだけ。 $ echo $PATH /usr/pgsql-12/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/var/lib/pgsql/bin:/usr/local/bin:/var/lib/pgsql/bin:/usr/local/bin ん?なんか通ってるくさい? # find / -name "pgsql" /etc/sysconfig/pgsql /var/lib/pgsql いや、全然違う。postgresのホームを指しているっぽい。なんか問題...
2019.10.11 金
インストール 2019-10-11現在の最新のPostgresは11系になるのかなと思っていたら、もう12が出てますね。 E.1. Release 12 ここでは最新入れると何かといろいろあるので11の方をインストールします。 古いバージョンの確認、アンインストール 現行でインストールされているものを確認します。 # yum list installed | grep postgresql 9系がインストールされているので、アンインストールします。 postgresql.x86_64 9.2.24-1.el7_5 @base postgresql-libs.x86_64 9.2.24-1.el7_5 @base postgresql-server.x86_64 9.2.24-1.el7_5 ...
2019.10.10 木
TODO: あとで追加 FIXME: 既知の不具合があるコード HACK: あまりきれいじゃないコード XXX: 危険!動くけどなぜうごくかわからない。 REVIEW: 意図した通りに動くか見直す必要がある OPTIMIZE: 無駄が多い。 CHANGED: コードをどのように変更したか。 NOTE: 告知 WARNING: 注意
2019.10.8 火
Projectの進め方ということで、マネージメント側のお話なんですが、システム制作においてはシステムのことを知っている誰かが指揮をとらないといけないというのがあって、プログラマーにとっては非常に頭の痛い話です。 テストと調査がすなわち制作物になっちゃうことがある。→ 予定が立たない。 テストと調査がすなわち制作物になっちゃうことがある。→ 予定が立たない。 既存のシステムの中身を全部知っている人はたぶんいないです。知っている人がいるなんていう期待をしない方がいい。「仕様 as Code」といわれるように、すべての事実はCodeに書かれているという悲劇。書かれていることは確かではあるが、
2019.10.8 火
今どきこんな作業することになるとは。 # yum list | grep cvs cvs.x86_64 1.11.23-35.el7 @base なんかあるっぽい。安定版の最新が1.11.23。 # yum -y install cvs バージョン確認 # cvs --version Concurrent Versions System (CVS) 1.11.23 (client/server) 場所 # which cvs /usr/bin/cvs なるほど。 /home/cvsrootを使いたいので、対象ディレクトリで初期化。 私の場合は既存のcvsのファイルを別サーバーから移動してきて行いました。とくに問題なくinitできたようです。 # cvs -d /home/cvsroot in...
2019.10.4 金
テキストで図を管理できるので、仕様変更をGit管理できるというのがとてもよいです。 主にvs code上で使うことが多いですが、簡易的な場合はtyporaで使うのがいちばんいいです。vs codeはプラグイン的な扱いでmarmaidを導入しますが、typoraはそのままで使えます。 sequenceDiagramでこんなような書き方ができます。 sequenceDiagram foo->>bar: 数を増やしたいときは、それに連なるものをつなげてゆきます。 sequenceDiagram foo->>bar: bar->>baz: いくらでもつなげます。 sequenceDiagram foo->>bar: bar->>baz: b...
2019.10.4 金
Python3でAnsibleが使えるようにします。以下、参考。 MacにPythonの開発環境を作る Ansileのインストールと設定 Pythonをバージョンによって使い分ける ここでやること Macへansibleをインストール リモートホストへの接続 userでのHello world. root(sudo)でのHello world. Install Macにインストールするには、brew使うのがいちばんいいと思います。brewを更新、またはアップデートしておきます。Doctorもやっておいてエラーなどを解消しておいた方がいいです。 $ brew update $ brew doctor $ brew upgrade 現行でインストールできるansibleを確認します。 $ bre...
2019.10.3 木
$ killall Dock killだけど自動的に再起動かかります。 または、アクティビティーマネージャーから強制的に停止します。(自動的に起動するので再起動ってことになります。) × Close
2019.10.2 水
Xcodeのインストール Xcode Mac App Storeでダウンロードします。(無料) かなりの容量のソフトなのでダウンロードには結構時間がかかります。 Command line toolをhttps://developer.apple.com/download/more/ダウンロード。アップルIDが必要です。dmgファイルでインストール。インストーラがあるので楽。 インストールができたら、以下でライセンス確認します。 $ sudo xcodebuild -license パスを確認 $ xcode-select --print-path これでインストールは完了。 pyenvのインストール pythonはバージョン管理したいのでpyenvを入れて、python3とpython2を切...
2019.10.2 水
CentOS7にAnsibleをインストールする例です。 # yum install epel-release # cd ~ # yum -y install ansible バージョン確認。ansible 2.8.5が入りました。 # ansible --version ansible 2.8.5 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/s...
2019.10.2 水
python2とpythin3の過渡期と言われて、まだまだ過渡期が続いていったい何年続くんや?ということで、結局2も3も使わないといけないわけなので、結局エブリデー過渡期のPythonです。 特に私の場合はAnsibleをどっちのバージョンでやるべきかという検討でかなり迷ったので、結局Pythonはバージョンを複数使わないとダメだなという結論でした。その他のアプリでも言語のバージョンを複数使いこなさないといけない場合があると思います。 Python 3サポート AnsibleはPythonバージョン3.5以降のみをサポートします。なのでCentOS7などではデフォルトでPython 2.7.5がインストールされているので、Python3をインストールする必要があります。 Ansibleの環境...
2019.10.1 火
GCPはやれること多すぎて知見がないと、すべてただのトラブルです。 SSHが接続できない チェック項目 メタデータにそもそも公開鍵を登録していない。またそのユーザー名も確認しましょう。 「プロジェクト全体の SSH 認証鍵をブロック」という項目にチェックが入っている。(チェックを外して保存しても、また元に戻ってしまって外せないことがある)
2019.9.30 月
Compute EngineのメタデータからSSHKeyを登録する。 VMインスタンスを作成する。 FWの設定をする。
2019.9.30 月
既存のVMインスタンスの設定をterraform側に還元できるというやつです。ぶっちゃけimportの意味がよくわからなくなります。 公式ドキュメントはこちら Import Usage v0.7.0以降のterraformで可能な機能で、ここではGCPでもってTerraform v0.12.3で説明します。 公式では構成ファイルを作成するには至っておらず、状態のパラメータのみをjsonで吐き出すとのこと。手動でtfファイルを作らないといけない作業は残りますが、これはそうとう便利になったということができます。https://www.terraform.io/docs/import/index.html インポート Terraformは、既存のインフラストラクチャをインポートできます。これにより...
2019.9.29 日
GmailのSMTPサーバーの使い方が変更になったこととG-Suiteなどの有料サービスがだんだん浸透してきたのもあって情報がかなり錯綜している感じ。GmailのSMTPサーバー使えますが、2段階認証が設けられてSMTPサーバーはGoogleのアプリの一部として認証するという仕組みになった模様です。 2段階認証の設定 ランディングページからの設定はこちらからできるようです。Google アカウントの セキュリティを強化 アカウントから設定する場合は、該当のアカウントでGmailにログインします。 右上の自分のアイコンをクリックするとGoogleアカウントという青いボタンが現れるので、それを押下。 ようこそ画面に遷移します。 左メニューの...
2019.9.29 日
巷でいうところの修正をしてもダメでした。 プラグインの問題。Wordpressのプラグインを全部止めるとアップロードできるので、ちょっとずつプラグインを起動して確認する。 php.iniの「max_execution_time」を30(秒)から60(秒)に変更。単に設定変える。 niginxの方でアップロードサイズを拡張する。 niginxのアップロードサイズ変更 niginxとapacheでリバースプロキシしているので、Wordpressのエラーに対してApacheの方のエラーログはなし。ってことはnginxの問題でレスポンスが返っているってことです。client_max_body_size 2g;を追加 location / { proxy_pass http://localhost:8...
2019.9.28 土
Dockerの基本的な使い方 Dockerにはいろんな使い方があるのですが、その中でも最も基本的な使い方を説明します。すでにDockerがインストールされている状態を想定しているので、インストールと初期設定が終わっていることが前提になります。 ここではdocker pullでDockerhubからイメージを引っ張り出して構築します。Dockerhub 現時点ではversion 19.03.2を前提に話をすすめます。(2019-09-28時点) $ docker --version Docker version 19.03.2, build 6a30dfc Dockerを運用するディレクトリを作成します。 $ mkdir -m 755 ~/mydocker $ cd mydocker Dock...
2019.9.26 木
1つのアカウントにつき6台の複数端末での共有が可能。 端末で共有する 1つのアカウントで6台の複数端末での共有が可能です。メインのPCで購入することを仮定すると、自分のiPhoneとiPad、自分の会社のPCと奥さんのPCとiPhoneといった感じで、これで6台です。 Amazonにログインしてください。画面右上にある「アカウント&サービス」を選択するとメニューが出てきます。そこをクリックして進みます。(場合によってはもう一度パスワードを求められるときがあります。) 現在自分がもっているコンテンツの一覧が出るので、共有したい書籍をリスト中の先頭のチェックボックスで選択します。選択すると上部の「配信」ボタンがアクティブになるので、配信ボタンを押します。 &t...
2019.9.24 火
Terraform for GCPの目次 Terraformを使ってみていろいろな側面が見えてきたので、Terraformとはを含めて諸々書いてゆきたいと思います。 Terrafromはクラウドサーバー構築のAPIで、いわゆる設定ファイルを読み込んで実行するだけで今までポチポチと管理コンソールで行っていた設定を一気に実行できるという利点がまずあります。とはいえインフラストラクチャーをコマンド上で実行するのは非常に抵抗があるという方は冪等性という概念を一度理解してあげるとそこそこ安心するのではないかと思います。またこの「設定ファイルを読み込んで実行する」というのは、設定ファイルをgitなどで管理できて、その変更履歴を常に保存できるという利点もあります。そしてこれはインフラ構築のパラメータ管理を...
2019.9.22 日
Laravelのプロジェクトを立ち上げるときはLaradockが便利です。Laravel5で使うその他のツールやDBも一通り揃っているので大変便利です。結構頻繁に更新も行われているものなのでちゃんとしているという印象。 Laradockのclone 入手の方法はこれで終わり。適当なディレクトリを作ってcloneするだけです。 $ git clone git@github.com:laradock/laradock.git Laradockの設定 基本的にはenvファイルを作成するだけです。env-exampleを.envにコピーしてから設定をします。これで各アプリケーションやミドルウェアにでデフォルトの設定が完了しました。 $ cd laradock $ cp env-example .e...
2019.9.22 日
#----- # mac #----- .DS_Store .AppleDouble .LSOverride # Icon must end with two Icon # Thumbnails ._* # Files that might appear on external disk .Spotlight-V100 .Trashes # Directories potentially created on remote AFP share .AppleDB .AppleDesktop Network Trash Folder Temporary Items .apdisk #--------- # windows #--------- Thumbs.db ehthumbs.db # Fo...
2019.9.21 土
source .bash_profileの実行し忘れというのではなく、起動するたびに設定が反映されていないときがありました。なんで? そもそもパスが通っていないのかもしれない。echo $HOMEとかで確認。 そもそもログインシェルが違うのかもしれない。 一度ログアウトしてからログインするとまた元に戻っていて設定が反映されていないという始末。再起動時も同じ。毎回source .bash_profileやsource .bashrcを実行するのは何か変。そもそもデーモン化したアプリとかはどうすんのよ。 ってのは、.bash_profileや.bashrcはログインシェルがbashのときに起動するということなので、ログインシェルとしてbashが起動していないという可能性が大きい。ログインシェルの...
2019.9.16 月
php artisan tinkerを実行すると以下のようなエラーで実行できないことがあります。 In Configuration.php line 363: [ErrorException] mkdir(): Permission denied -vvvvをつけて、デバックモードでコマンドを実行してみます。 $ php artisan tinker -vvvv In Configuration.php line 363: [ErrorException] mkdir(): Permission denied Exception trace: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at n/a:n...
2019.9.16 月
CentOS7でapacheを動かしている環境です。PHPは7.2.17で動いています。 laravel5でtinkerを実行すると以下のようなエラー(Warning) $ php artisan tinker PHP Warning: Module 'ssh2' already loaded in Unknown on line 0 ssh2が二重に読み込まれているっぽいので、エクステンションの部分を検索してみる。/etcあたりを検索。 $ find ./etc -type f | xargs grep "ssh2.so" ./php.d/ssh2.ini:extension=ssh2.so ./php.d/20-ssh2.ini:extension=ssh2.so どっちかが無駄っぽい気...
2019.8.28 水
人物 ルネサンス期を代表する芸術家であり、「飽くなき探究心」と「尽きることのない独創性」を兼ね備えた人物といい、日本の美術史では「万能の天才」といわれている[1]。史上最高の呼び声高い画家の一人であるとともに、人類史上もっとも多才の呼び声も高い人物である[2]。アメリカ人美術史家ヘレン・ガードナー(英語版)は、レオナルドが関心を持っていた領域分野の広さと深さは空前のもので「レオナルドの知性と性格は超人的、神秘的かつ隔絶的なものである」とした[1]。しかしながらマルコ・ロッシは、レオナルドに関して様々な考察がなされているが、レオナルドのものの見方は神秘的などではなく極めて論理的であり、その実証的手法が時代を遥かに先取りしていたのであるとしている[3]。 1452年4...
2019.5.23 木
PostgreSQL11をDockerで構築します。 環境はMacで Docker version 18.09.2 docker-compose version 1.23.2 docker-machine version 0.16.1 Dockerfileの作成 適当なDockerのディレクトリを作成してDockerfileに以下を記述 FROM postgres:11.3 RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8 ENV LANG ja_JP.utf8 ビルドします。 $ docker build -t dev-postgres -f Dockerfile . 終わったら...
2019.5.23 木
実行環境の確認 python2で動くAnsibleですが、python3でもサポートしているようです。何かとアップデートが早い時代なので、新しいものにしておいた方がよいかもしれません。 Python 3 Support Ansibleの基本概念 インベントリ(inventory) インベントリは構成管理をする対象ノードへの接続情報を記載したもの。 デフォルトでは /etc/ansible/hosts だが、環境変数 ANSIBLE_HOSTS を設定したり、-i オプションでhostsファイルへのパスを指定可能です。 モジュール(module) モジュールはユーザーを作成したり、ファイルをコピーしたりするもので、多くは冪等性が保たれたものとなります。基本モジュールをそのまま利用するだけで大抵...
2019.5.22 水
バージョン確認 $ terraform --version Terraform v0.11.13
2019.5.13 月
Vue.jsの醍醐味は双方向バインドを簡単にできるところ。vueで設定したモデル(変数や配列)に変更を加えるというところで、なかなかまとめているサイトがなかったのでまとめてみました。 create (insert) read update delete create html <!--html--> <div id="todoList"> <form> <input type="text" v-model="newItem"> <button v-on:click="createItem">Create</button> </form> ... js new Vue({ el: '#todoList', da...
2019.5.8 水
GoogleアカウントとG-Suite GCPはGoogleアカウントが最低一つあれば利用することができます。フリーのGoogleアカウントを取得(またはすでに持っていたら)GCPの無料枠でもってすぐにVMインスタンスを立てて使うことができます。が、いずれにしろ大きなプロジェクトになってくると複数の人間または組織で仕事をすることになるので、アカウントの数や権限を管理しなくてはならくなります。まずGCPは「プロジェクト」という単位で管理します。これは一つのネットワークセグメント単位であり課金請求の単位であり、参加アカウントの単位となります。つまりGoogleアカウントでGCPを契約するとそのアカウントを基準に複数のプロジェクトを立てることがで、このプロジェクトはそれぞれ全く個別の契約という性格...