Goldstine研究所

mosuke5's tech blog

ブログ移転しました。5秒後にリダイレクトします。

Ajaxの嫌いだった部分をJsRenderで心地良くした

1. はじめに ぼくはフロントエンドは本業ではありません。 jsはあまり好きではありません。 そしてAjax通信後にhtmlをアウトプットする際にjsの変数の中にhtmlを書いていくソースコードがもっと好きではありません。(後述) それをJSテンプレートエンジンを使…

他人の家のインターネットを環境を整えて分かった無線LANルータのこと

他人の家のインターネットを環境を整えて分かった無線LANルータのことがあったのでまとめる。 我が家のインターネット環境は以下のような構成になっている。 この構成では無線LANルータはL3とL2の両方の機器として働いている。 グローバルIPとプライベートIP…

sinatra-assetpackをproduction環境で使う時にはまったー

Sinatraアプリケーションで、JSファイルを圧縮するsinatra-assetpackを利用していて、 production環境で動作させようとしたら動かなくなってしまった問題について調査した。 起こったこと Sinatraを使ってアプリケーションを作っていて、development環境で完…

Ansibleで最新のMySQLをインストールする際にハマったこと。MySQL-shared-compatのこと。

CentOS 6.5環境でAnsibleを使って最新のMySQLのセットアップをしようと思った際にハマったことをまとめた。 本質的にはAnsibleというよりLinux RPMパッケージのはなし。 ついでに、しょっぼいgithubを公開しました。 (1) 本記事を書くに至った経緯 Ansibleで…

SSHエージェントフォワード後に他のユーザでgit cloneする(鍵を使う)ことに関する考察

SSHのエージェントフォワードした後に、接続したユーザとは別のユーザでgit cloneしたいことがあった。 それについて調べていく中で学習したことや検討したことについてまとめた。 0. 前提 ローカルのPC(Mac)上で、Vagrantを使用してCentOS7の仮想サーバ(tes…

Ruby, thin(bundler利用)を使った環境でのアプリの自動起動設定

bunlderを使ったWebアプリをプロダクション環境で動かすときに、アプリの起動をどうやって実現しているだろうか。 Apache Passengerを使う場合には、Apacheの起動がアプリの起動につながるので、 アプリの起動はあまり気にしなかったかもしれない。 しかし、…

勘違いしやすいFTPとSFTPの転送モードの話

FTPやSFTPでの転送モードの話。 ついこの前、WinSCPを利用している人が転送モードを選んでいて、 「SFTPには転送モードはないと思っていたのに、転送モードを選んでいる!?」 と疑問に思ったのでその辺りまとめた。 FTPのバイナリーモードとアスキーモード …

SSHポートフォワード、https接続をするときに間違えやすいこと

SSHローカルフォワードの話。 前回は簡単に実践してみたというのを書いたのだが、今度は実際に使ってみてハマった部分があったのでメモ。 SSHでローカルポートフォワードを実際に試す - Goldstine研究所 1. やりたいこと httpsでしか接続を許可していないサ…

リモートのサーバでdockerを起動させるときの端末割り当て

自分がハマったのでメモ。 リモートのサーバでdocker runを実行し(/bin/bash)、ローカル側でシェルを操作したかった。 sshでリモートサーバに接続し、docker runすればいいや、と思い以下を実行してみた。 ssh user@host 'docker run -t -i image_name /bin/…

Ansible、コマンド実行結果を"ok"にする(冪等性を保つ方法)

Ansibleでソースコードインストールする際とか すでにインストールされているかのチェックなどで、 シェルコマンドを実行してその結果で判断したい時がある。 ぼくがよくやる例では以下とか。 - name: check httpd installed command: which httpd ignore_er…

dockerで特定ユーザでログインした状態のシェル環境を提供する

dockerの一般的な利用の仕方ではあまり想定されないケースかもしれないが、 特定のユーザでログインした状態のコンテナを作りたいという場面に遭遇した。 <やりたいこと> 特定のユーザでログインした状態のシェルを提供すること その際、ユーザの.bash_profi…

スーパーサーバってなに? xinetdでサービスを常駐起動せずに利用する

使用頻度の低いサービスのデーモンをメモリに常駐させておくのは効率が悪い。 そこでスーパーサーバという使用頻度の低いサービスの窓口のサービスのみ起動しておき、要求があったときだけ特定のサービスを起動させることが可能らしい。 ということで、その…

2014年を思い返して…

2015年になってしまいました。 2014年に技術分野で印象に残ってること3つを思い返してみる。 1. インフラ会 @mogulla3と軽いノリで始めたインフラ会。 普段触らない、あるいは触ったとしてもすでに構築された環境で触ることの多いインフラ技術について 土日…

SSHでローカルポートフォワードを実際に試す

SSH・・・ いろんなことができる"らしい"ということは知っていたし、 例えばポートフォワーディングなんていうこともできるのも知っている。 でもそれがどんなものなのか自分の手で試したことはないし、 なんとなくただのサーバログインツールとして利用して…

【年末遊び】秋葉原で自作PCパーツ集めて作った

自作PCを作ったのでその材料と参考資料などを簡単にまとめる。 すべての部品は秋葉原のツクモで揃えた。 パソコン・ゲームPC・自作パソコンなら【TSUKUMO】わけがあって荷物はすべて手で運んだのだが、かなり重くなるので郵送をおすすめする。 以下買ったパ…

【VPS1台でインフラ勉強】SoftEtherを使ってVPN構築

VPS1台でインフラ勉強シリーズでVPN構築を行ったのでそのメモ。 1. 実施したこと VPSのホストサーバをVPSサーバとし、その上で仮想で立ち上げたサーバ(ローカルネットワーク)に外部から接続できるようにすること。 2. 環境 ・VPNソフトウェア:SoftEther VPN…

Ansible, sudoパスワード要求を忘れただけでめんどくなる

AnsibleをVagrant上でずっと使ってて、Playbookも完成したし本番サーバへ... と思ったところである初歩的な罠にハマった。本番環境へPalybook実行!! $ ansible-playbook playbook.yml -i hostsあれ、GATHERING FACTSで10分以上も待たされた... しかも、エ…

GithubクローンのGitlabの導入とその際のちょっとした注意点

もろもろな理由のためにGithubが利用できないことも多くあると思う。 というわけでGithubクローンのGitlabを試しに立ててみたが、簡単すぎでした…GitLab | Open source software to collaborate on code環境 さくらVPS 1Gプラン OS:CentOS7インストール 基…

後からGitレポジトリを共有設定に。sharedオプションの仕組みについて

Gitレポジトリを作って、複数人で開発をしていた。 しかし、レポジトリの中に作成されるファイルやディレクトリが個人のグループになってしまい、 Push, PullするときにPermission errorで怒られまくる。ユーザには共通のグループを作っていたのに…なんでだ…

Ansible、コマンドでワイルドカードを使うときの注意

AnsibleのPlaybookを書いていると、ワイルドカードを含んだコマンドを実行したい時がある。 そんなときあるところでハマった。Apacheをソースインストールして、パスを/usr/sbinにリンクを貼ろうとして以下を実行した。 - command: ln -s /usr/local/httpd/b…

Ansible、ソースインストールする際のPalybookの書き方

最近、Ansibleを使い始めたのだが、yumやapt-getでインストールできるものはいいけど、 どうしてもソースインストールが必要な場合がある。ソースインストールを行う際のPlaybookの書き方と注意点をまとめた。まず、あたりまえだが、ソースインストールを行…

【VPS1台でインフラ勉強】多段SSH設定(おまけ)

VPS1台でインフラ勉強の会で、VPSのホストサーバ上に仮想でさらにいつくかのサーバを立てたが、 仮想のサーバにアクセスするには、ホストサーバにアクセスしてから更にSSHをしなければならない。 これが面倒だったので多段SSHの設定をして、一発でSSH接続で…

【VPS1台でインフラ勉強】HAProxyでロードバランサーを構築

前回の【VPS1台でインフラ勉強】サーバ複数台構成、Nginxでリバースプロキシ構築に続き、同様の環境を用いて、ロードバランサ構築を行った。 ロードバランサの構築にはHAProxyを利用した。 1. 環境 前回同様で、さくらVPSの1GBのプラン1台のみ。 ・メモリ:…

自宅サーバ公開時などのDDNS、固定IPについて整理

自宅サーバを公開するときに使うDDNSや固定IP。 それが必要な理由について図解的にまとめ。それだけ。

【VPS1台でインフラ勉強】サーバ複数台構成、Nginxでリバースプロキシ構築

ロードバランシングとかクラスタリングとかリバースプロキシとか、 業務でも使っているし、概念とかはわかってるけど、自分で構築したことはやっぱりない。自分で構築してみたいなーと思いつつもあたりまえだけど、サーバやネットワーク機器をそう簡単に調達…

CentOS7, iptables設定でハマった

最近VPSのOSをcentos7にしたのだが、なかなか手付かずでiptablesの設定も放置していた… (sshの最低限の設定はしていたが、ほんとうに良くない…)久しぶりに手が空いたので設定するかーと思いきや まず/etc/sysconfig/iptablesがないし...Cent7からのsystemc…

D3.js、DBからのデータ連携方法の検討

最近D3.jsを使う機会があり、DBのデータを読み込ませる方法についていくつか検討した。 例えば以下の状況を考える。 【やりたいこと】 「DBに格納されているデータを使って、D3.jsで折れ線グラフを描く」【DBの構造】 カラム名:型 date : datetime value : …

2014/8/2 Arduino会を実施の報告

2014年8月2日(土)に大学時代の研究室の同期・後輩を巻き込んでArduino勉強会を行った。 Arduinoをほとんど触ったことのないメンバーで実施したのだが、初心者でもプロダクトを作り上げられるところまでできた。 その勉強会の簡単な資料を掲載。

【Ethernetシールド】Arduinoをネットワークへ繋げる(1)

Ethernetシールドを使ってネットワークへ繋げる。 とりあえずは、スモールステップでPCとの1対1の通信。 PCとの1対1通信 構成図 Arduinoソースコード #include <SPI.h> #include <Ethernet.h> byte MAC[] = {0x90,0xA2,0xDA,0x0F,0x8B,0xA2}; byte IP[] = {192,168,11,3}; void </ethernet.h></spi.h>…

【これだけは抑えておきたい】Arduino入門まとめ

前々からArduino自体はもっていたし、ちょろっと触ったことはあったのだが、 大学時代の研究室の仲間とArduino勉強会をやることになり、それに向けて友人と再入門したのでそのときのメモ。 Arduino入門にこれだけは知っておきたい事項をプログラム形式にまと…