はじめに
macのバージョンをHighSierraにアップデートしてgit pushをサーバに実行するとエラーになりました。
ssh接続もできなくなっていました。
Unable to negotiate with xxx.xxx.xxx.xxx port xx: no matching cipher found. Their offer: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se fatal: Could not read from remote repository.
原因
sshクライアント側の使用している暗号がサーバ側で対応していない判断になりこのようになるそうです。
対応
ssh/confgファイルの設定を変更します
# vim ~/.ssh/config
下記の内容を追加します。これによりローカルクライアントでサポートされている暗号がリモートサーバーによって提供されている暗号と一致することを確認するために調整されます。
Host *
Ciphers +aes256-cbc
はじめに
macにhomebrewを使用してhydraをインストールしてクラックをデモしてみます。
hydraインストール
hydraはパスワードクラック用のライブラリです。
あるサーバのftpやssh、basic認証のパスをクラックします。
クラックを推奨しているわけではなく、自サーバがブルートフォースにあった場合に突破されにくいかどうかをチェックするためです。汗
インストール
まずはhydraの概要をチェックします
% brew info hydra (git)-[master] hydra: stable 8.1 (bottled), HEAD Network logon cracker which supports many services https://www.thc.org/thc-hydra/ /usr/local/Cellar/hydra/8.1 (14 files, 1.2M) * Built from source with: --with-libssh From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/hydra.rb ==> Dependencies Build: pkg-config ✔ Required: openssl ✔ Optional: subversion ✘, libidn ✘, libssh ✔, pcre ✔, gtk+ ✘ ==> Options --with-gtk+ Build with gtk+ support --with-libidn Build with libidn support --with-libssh Build with libssh support --with-pcre Build with pcre support --with-subversion Build with subversion support --HEAD Install HEAD version
info情報の通り、opensshが必須です。インストールされていない場合(チェックになっていない)はインストールしてください
% brew install openssh
ではhydraをインストールします
libsshも必要なようなのでwithオプションでインストールします
% brew install hydra --with-libssh
これでインストールできました。
hydraのバージョンをチェックしてみましょう ※合わせてオプションを確認してみましょう
% hydra -v Hydra v8.1 (c) 2014 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes. Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-SuvVd46] [service://server[:PORT][/OPT]] Options: -l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE -p PASS or -P FILE try password PASS, or load several passwords from FILE -C FILE colon separated "login:pass" format, instead of -L/-P options -M FILE list of servers to attack, one entry per line, ':' to specify port -t TASKS run TASKS number of connects in parallel (per host, default: 16) -U service module usage details -h more command line options (COMPLETE HELP) server the target: DNS, IP or 192.168.0.0/24 (this OR the -M option) service the service to crack (see below for supported protocols) OPT some service modules support additional input (-U for module help) Supported services: asterisk cisco cisco-enable cvs ftp ftps http[s]-{head|get} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp redis rexec rlogin rsh s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey teamspeak telnet[s] vmauthd vnc xmpp Hydra is a tool to guess/crack valid login/password pairs. Licensed under AGPL v3.0. The newest version is always available at http://www.thc.org/thc-hydra Don't use in military or secret service organizations, or for illegal purposes. Example: hydra -l user -P passlist.txt ftp://192.168.0.1
-xオプションを使う場合のyosemite環境の対策
-xオプションはランダム(passlistがない場合 ※password辞書)なブルートフォースを行う場合に使えるオプションです。
/usr/includeディレクトリがない場合に-xオプションでエラーとなるため対応が必要です。
macのバージョンにより存在しないようでyosemite環境ではなかったです。marveric以降はないのかもしれません。
% hydra -x -h Hydra v8.1 (c) 2014 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes. [ERROR] -x option is not available as math.h was not found at compile time
※/usr/includeの直下にmath.hが必要です
以下のコマンドでダイアログが表示されるのでインストールしてください
% xcode-select --install
hydraでsshクラックデモ
今回はsshクラックのみ確認してみます
パスワードリストファイルを使用してブルートフォース
まずはパスワードリストファイルを作ります。適当です。
password 123456 abc123 hello testtest
※ファイル名はpasslistとしておきます
よく使われるパスワードトップ500について参考:
http://www.symantec.com/connect/blogs/top-500-worst-passwords-all-time
※ここにあるパスワードは個人でパスワードとしては使わないほうが安全です
フォーマット
hydra -l [ユーザ名] -P [パスワード辞書ファイル] [対象サーバIPアドレス] ssh
ではクラックします
% hydra -l root -P passlist 123.456.789.000 ssh
※ユーザ名はroot,サーバIPは123.456.789.000として確認します。ユーザ名もパスワード同様に-Lオプションでクラック可能です。
うまくパスワードをクラックすると以下のようなメッセージになります
1 of 1 target successfully completed, 1 valid password found
ランダム値を使用してブルートフォース(-xオプション使用)
フォーマット
hydra -l [ユーザ名] -x [パスワードパターン] [対象サーバIPアドレス] ssh
[パスワードパターン]は MIN:MAX:CHARSET形式で指定します
MINからMAXまでの範囲の文字数のパスワードを設定します ※4:6であれば4文字から6文字の範囲
CHARSETは、1指定で数字、a指定でアルファベット小文字、A指定でアルファベット大文字を指します
ではクラックします
% hydra -l root -x 4:6:1aA 123.456.789.000 ssh
※ユーザ名はroot,サーバIPは123.456.789.000として確認します。
うまくパスワードをクラックすると以下のようなメッセージになります
1 of 1 target successfully completed, 1 valid password found
はじめに
vagrantからssh接続とFTPソフト(Cyberduck)で接続する方法を残しておきます。
今回はCyberduckにしますが、FTPソフトでSFTP対応であればなんでも構いません。
Vagrant接続
前提(Vagrantfileの設定)
Vagrantfileで以下の設定をしておくこと ※ipアドレスは任意
config.vm.network :private_network, ip: “192.168.33.10″
vagrant ssh-configで設定情報を確認
Vagrantディレクトリ(Vagrantfileと同じパス)で接続情報を確認します
接続情報を確認
$ vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /Users/xxxx/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
接続情報のipアドレスを変更します
$ vagrant ssh-config --host 192.168.33.10
接続情報を確認
$ vagrant ssh-config
Host 192.168.33.10
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /Users/xxxx/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
ssh接続(公開鍵認証ログイン)
以下の秘密鍵を使い公開鍵認証でログインします
IdentityFile /Users/xxxx/.vagrant/machines/default/virtualbox/private_key
.ssh/config設定
$ vagrant ssh-config --host 192.168.33.10 >> ~/.ssh/config
ログイン
$ ssh 192.168.33.10
Cyberduck(公開鍵認証ログイン)
ssh-configコマンドより接続情報を確認しCyberduckの新規接続から情報を入力しログインします。
接続情報を確認
$ vagrant ssh-config
Host 192.168.33.10
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /Users/xxxx/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
接続:SFTP(SSHによる暗号化FTP)
サーバ:127.0.0.1 または 192.168.33.10
ユーザ名:vagrant
ポート:2222
秘密鍵:/Users/xxxx/.vagrant/machines/default/virtualbox/private_key
秘密鍵を選択する場合、デフォルトでは隠しファイルが表示されないため、ファイルにたどり着けませんが、Commond + Shift + . を実行することで隠しファイルが表示されるようになります。
公開鍵認証ログインではなく、パスワードログインを行う場合は、秘密鍵認証の設定を行わずに、パスワード[vagrant]でログインできます。
はじめに
ssh認証でサーバにログインする場合にsshのconfigを設定しておくと楽になるのでやり方をメモしておきます。
設定しておくと、秘密鍵の指定や接続先ホスト名の指定を簡単にすることができます。
~/.ssh/configの使い方
configのフォーマットについて
~/.ssh/configファイルのフォーマット:
Host [ホスト名] HostName [リモートサーバIP] Port [ポート番号] User [ユーザ名] IdentityFile [秘密鍵のpath]
通常のssh接続
通常時のサーバ接続:
$ ssh [リモートサーバIP]
config設定をした場合のssh接続
configファイルの作成:
$ vim ~/.ssh/config $ chmod 600 ~/.ssh/config
configファイル編集:
Host hoge HostName [リモートサーバIP]
※hogeという名前でエイリアスを設定
config設定時のサーバ接続:
$ ssh hoge
Vagrant(CentOS) + VirtualBoxでRailsの開発環境を構築するときのメモ
Vagrantは、仮想化マシン(VirtualBox,VM etc)の自動作成・管理ツール。
今回はVirtualBoxでCentOSを使用し、Railsの環境を構築しておく。
一度テンプレート化しておくと、次回以降に同様の環境を作成するのが楽になる。
公式サイト:
Vagrant
https://www.vagrantup.com/
VirtualBox
https://www.virtualbox.org/
Vagrant + VirtualBoxダウンロード・インストール
OSにあわせて公式サイトよりダウンロードを行う
現在2015/3/2時点でCentOS[7.0],Vagrant[1.7.3],VirtualBox[4.4.2]のバージョンが最新となっている
Vagrant:
https://www.vagrantup.com/downloads.html
VirtualBox:
https://www.virtualbox.org/wiki/Downloads
ダウンロードしたdmgやmsiファイルからインストール作業を行う
※ウィザードに従いそのままインストールで良い
Vagrantのバージョン確認
バージョン確認:
$ vagrant -v Vagrant version 1.7.3
※インストールバージョンが表示されればインストールOK
Box(CentOS)のテンプレートを取得
Boxリンクが集まっている有名サイト:
http://www.vagrantbox.es/
https://vagrantcloud.com/boxes/search
※今回はCentOS7の最新で仮想ソフトにVirtualBoxを使用しているBoxを選択する:
https://f0fff3908f081cb6461b407be80daf97f07ac418.googledrive.com/host/0BwtuV7VyVTSkUG1PM3pCeDJ4dVE/centos7.box
Boxの追加コマンド:
$ vagrant box add centos https://f0fff3908f081cb6461b407be80daf97f07ac418.googledrive.com/host/0BwtuV7VyVTSkUG1PM3pCeDJ4dVE/centos7.box Downloading or copying the box... Extracting box... Successfully added box 'centos' with provider 'virtualbox'!
※centos部は任意のboxの名前
「Successfully added box ‘centos’ with provider ‘virtualbox’!」のメッセージが表示されればOK
Boxの確認:
$ vagrant box list centos (virtualbox)
Box(CentOS)のテンプレートから仮想マシンを作成
仮想マシン作成のディレクトリを作成し移動
$ mkdir RailsEnv $ cd RailsEnv
仮想マシンを作成
$ vagrant init centos
※centosはboxに任意につけておいた名前を指定
仮想マシンの起動
仮想マシンの起動
$ vagrant vp
※Vagrantfileの設定情報を読み込み起動する
仮想環境のアクセス(設定)
仮想環境にssh接続を行う
$ vagrant ssh
仮想環境の設定・ツールインストールなど
ファイアーウォールを切っておく ※ローカル環境のためセキュリティは無視
$ sudo service iptables stop $ sudo chkconfig iptables off
vimをインストール
$ sudo yum -y install vim
仮想マシンへブラウザからアクセスするための接続設定 ※Vagrantfileの編集
仮想マシンを抜ける
$ exit
Vagrantfileの編集
$ vim Vagrantfile
ネットワークアクセスのconfigのコメントアウトを解除する(#を消す)
デフォルト設定されている「192.168.33.10」でアクセスができるようになる
# Create a private network, which allows host-only access to the machine # using a specific IP. config.vm.network :private_network, ip: "192.168.33.10"
※ 仮想マシンの/var/www/htmlディレクトリへアクセスされる
Vagrantfileの設定反映
$ vagrant reload
仮想マシンの「/var/www/htmlディレクトリ」とローカルの「仮想マシンディレクトリ」のリンク設定
シンボリックリンクを設置
$ vagrant ssh $ ln -s /vagrant /var/www/html/
※ Vagrantでは仮想マシンの「/vagrantディレクトリ」はローカルの「仮想マシンディレクトリ」とリンクしている
Ruby/Rails環境を構築
以前の記事「最新・安定版のRuby2.2.1(rbenv) / Rails4.1.1環境を構築する」の通り環境を構築する
ここまでで構築完了!
puttyで作成した公開鍵をopenssh(GitHubなど)キーへ変換する方法
windowsのputtygenで作成した公開鍵をそのままgithubなどのopenssh対応ツールにそのまま使う事ができない。githubの場合はadd keyでエラーになり登録ができない。
そのため一度puttyで作成したキーをssh-keygenで作成したのと同じ状態のopenssh対応版に変更する必要がある。
変換方法
ssh-keygen -i -f [変換前公開鍵putty] > [変換後公開鍵名 ※id_rsa.pubが一般的]
ssh-keygen -i の書式について
ssh-keygen -i [-m 鍵の形式 ] [-f 変換するidentityファイル ]
自動化ツールGruntの開発環境構築をメモ
Webデザイナの間で流行っている(便利な)Gruntについて。
Gruntは主にWebデザイナの普段の作業を自動化するツールになる。
ブラウザのオートリロードやSass/Lessのコンパイル、minファイル(css,javascriptの縮小)作成の自動化、ファイルの結合、バージョン管理システムとの連携などの作業を自動化してくれる。
今回はオートリロードが動作するところまで確認する。
ブラウザのオートリロードを実現するためにはGruntのサーバとブラウザにクライアントツールを設置する必要がある。
オートリロードはファイル更新時のブラウザの更新Windowsの場合は「F5」MACの場合は「Ctrl + R」が自動化される。そのため作業の手間を1つ減らす事ができる。
node.jsとnpmのインストール
node.jsは非同期処理を実現するためのjavascriptライブラリ(リアルタイム処理が可能)でGruntを動かすためにはこれが必要となる。
npmはnode.jsのパッケージ管理ツールでnode.jsのプラグインをインストールしたりする場合に使用する。
公式サイトより「Install」ボタンを押下してファイルダウンロードしそのまま実行する。
基本的に変更しないで全て「次へ」でインストール完了
動作確認:
windowsの場合:
コマンドプロンプト(すべてのプログラム > アクセサリ)を立ち上げて下記コマンドを実行し、バージョン番号が表示されれば成功
macの場合:
ターミナルを立ち上げて下記コマンドを実行し、バージョン番号が表示されれば成功
node.jsのインストール確認
node -v
npmのインストール確認
npm -v
grunt-cliをインストール
gruntの実体をnpmパッケージ管理ツールでインストールする
npm install -g grunt-cli
※ -g オプションを入れることでグローバル領域にインストールされる
サンプルプロジェクトのダウンロード
オートリロードのサンプルをとりあえず動作させる。
まずはサンプルを下記よりダウンロード
https://github.com/y-matsumoto/grunt-sample
ディレクトリ構成について:
css
- base.css ※サンプルCSSのため好きなファイルへ変更して良い
- style.css ※サンプルCSSのため好きなファイルへ変更して良い
index.html ※サンプルHTMLのため好きなファイルへ変更して良い
Gruntfile.js ※Gruntの設定ファイル(パッケージ追加などはここで行う)
package.json ※npmの設定ファイル(基本的に一度作成したら手動では弄らない)
サンプルプロジェクトへGruntインストール
1.コマンドプロンプトでサンプルディレクトリへ移動する
※cdコマンド 参考:http://cmd-pro.com/com_00.html
2.インストールコマンドの実行
npm install
Gruntサーバの立ち上げ
Gruntサーバの立ち上げ
grunt
Running “watch” task
Waiting…
状態であれば成功
※基本的にこの状態でサーバが立ち上がっている状態のため常に起動しておくこと
Gruntクライアントツールのインストール
GoogleChromeやFireFoxヘクライアントツールのLiveReloadプラグインを導入する
下記参考サイトを参考に導入すると良い。
参考サイト:http://blog.sou-lab.com/livereload/
クライアントツールの起動
index.htmlファイルをプラグインをインストールしたブラウザで開き、LiveReloadのスイッチを入れる
※参考サイトを参考にすること
オートリロード動作確認
index.html、各cssを更新し、ファイルを保存しリアルタイムで更新されたら成功
※更新されるタイミングはファイルを保存したタイミングになる
それぞれのファイルの設定情報などについてはまた次回!
MACでフィンガープリントを取得する方法をメモ
Google Maps API V2を使用するときにSHA1が必要になるため取り方を忘れないようにメモ
フィンガープリントを取得
keystoreから取得
keytool -v -list -keystore ~/.android/debug.keystore
apkファイルから取得
keytool -list -printcert -jarfile app.apk
パスワードは指定なしでエンターで表示される。
文字化けしたらshift-jisあたりに変更すると良い。
※フィンガープリント番号は文字化けしないので問題ないかも
EC2のインスタンスにssh接続する手順をメモ
「AWS Management Console」へログインしインスタンスを表示
sshの接続コマンドを取得
表示されているEC2インスタンスを右クリックし「connect」をクリックする
「Connect with a standalone SSH Client」のインスタンスを展開し「Example」へ
「Enter the following command line:」コマンドが表示されている。
sshコマンドをコピーする
ssh -i [pemファイル名] root@[ホスト名/IPアドレス]
[pemファイル名] は秘密鍵でAWSから取得したプライベートキー(.pem)を使用する
ターミナルでssh接続
取得したsshコマンドをそのままターミナルを立ち上げてペーストし実行する。
そのあと( yes/no )? でyesでエンターしログイン完了
※パーミッションエラーになる場合はアクセス権を600にすること(600以外ではだめ。理由不明)
pemはwindowsで抽出したものでもmacで使える。逆も。
いろいろな作業をする場合(インストールなど)はrootである必要があるため
「sudo su -」コマンドでチェンジ
Vagrant+Chefレシピでphp環境の方法をメモ
仮想マシンを構築するvagrantで仮想環境はvirtualboxのcentosとする
centosのBoxを使ってphp + mysql + apache を構築する
1. virtualbox,vagrantをインストールする
公式サイトから各環境に合わせてダウンロードしインストールを実行
Virtualboxインストール
https://www.virtualbox.org/
Vagrantインストール
http://www.vagrantup.com/
2. vagrantのcentosBoxをインストールする
今回は「Vagrant-Box一覧サイト」内のCentOSのBOXを使用する
Vagrant-Boxesインストール
http://www.vagrantbox.es/
http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-i386-v20130427.box
3. chefをインストールする
chefは構築環境の設定内容をコードで記述するもの
Chefインストール
http://www.opscode.com/chef/
マック環境:
curl -L https://www.opscode.com/chef/install.sh | sudo bash
インストール確認
gem list
4. knife-soloプラグインをインストールする
cookbook(開発環境を記したもの)の命令をリクエストするためのものがknifeになる
sudo gem install knife-solo
インストール確認
gem list
5. knife-soloの初期設定をする
knife configure
全てデフォルト設定としてエンターを続けて押し終了する
6. 仮想マシンに使用するvagrantを構築する
・仮想マシンに使用するディレクトリを作成する
mkdir [仮想マシンディレクトリ名] cd [仮想マシンディレクトリ名] vagrant init [boxの名前]
・vagrantファイルの編集
プライベートネットワークを設定しローカル環境からアクセスできるようにする
IPアドレスは初期状態で「192.168.33.10」になっているが変更しても良い
この設定でローカルから仮想環境にipアドレスでアクセスが可能になる
- #config.vm.network :private_network, ip: "192.168.33.10" + config.vm.network :private_network, ip: "192.168.33.10"
7. 仮想マシンを立ち上げる
vagrant up
8. 仮想マシンの状態確認
vagrant status
「default running (virtualbox)」
が表示されればOK
9. sshのエイリアス作成
vagrant ssh-config --host [sshエイリアス名] >> ~/.ssh/config
仮想マシンアクセス方法
vagrant ssh
又は指定したエイリアス名
ssh [エイリアス名]
10. chefのリポジトリを作成する(ローカル側)
knife solo init [リポジトリ名]
リポジトリの中にディレクトリが構成される
※ここではsite-cookbook,nodesディレクトリのみ使用する
11. 仮想マシンをchef対応にする
cd [リポジトリ名] knife solo prepare [sshエイリアス名]
12. cookbookを作成する
cookbookに構築する環境の設定コードを記述することで仮想環境が指定した環境になる
knife cookbook create [cookbookの名前] -o site_cookbooks/
13. cookbookに構築する環境の設定コードを記述する
[リポジトリ名]\[cookbookの名前]\recipes\default.rbファイル編集
# # Cookbook Name:: php # Recipe:: default # # Copyright 2013, YOUR_COMPANY_NAME # # All rights reserved - Do Not Redistribute # service "iptables" do action [:stop, :disable] end %w{php php-common php-mbstring php-xml php-devel php-process php-cli php-pear php-mysql mysql-server}.each do |p| package p do action :install end end # apacheのインストール CentOSの場合 package "httpd" do action :install end # apacheの起動 CentOSの場合 service "httpd" do action [:start, :enable] end template "/var/www/html/index.html" do source "index.html.erb" mode 0644 end
完成例 ※ 「PHP + MYSQL + APACHE」環境
https://github.com/y-matsumoto/php-mysql-apache-vagrant-environment
14. 実行するrecipe(cookbook)を指定する
[リポジトリ名]\nodes\[sshエイリアス名].jsonファイル編集
{ "run_list":[ "recipe[[cookbookの名前]]" ] }
15. 完成したcookbookをvagrant仮想環境へ反映させる
knife solo cook [sshエイリアス名]
16. Webサーバ(apatch)テスト
ブラウザでhttp://192.168.33.10/ へアクセス
[リポジトリ名]\[cookbookの名前]\template\default\index.html.erbが表示される ※完成例
chef test html test desu
coffee-break
Don't write code that useless.
1日5杯はコーヒー、カフェオレ飲みます。狭心症のため安静にします☆松本 雄貴
Kotlinでサービスリリース目指す!
iOSでチャットアプリ作成中。自然言語解析LSIを習得中
Mac / Android・iOS / Rails / Oracle
2017年 Lpic L2取得
2012年 Android技術者資格取得
2010年 OracleMasterGold10g取得
2008年 CCNAQiitaもたまに投稿
https://qiita.com/y-matsumoto東京近郊で常駐開発探してる方はこちらよりご連絡ください
SES企業でパートナー会社を探している企業様はこちらよりご連絡ください
スプリットカメラ iOS / Android
音声認識で聞いた日付から曜日当てアプリ Android
ソーシャルタイマー Android
カテゴリー
- ActiveRecord (2)
- Android (52)
- AndroidStudio (10)
- Ansible (1)
- AWS (1)
- Bash (18)
- Blog (7)
- BootStrap (1)
- CentOS (16)
- Chef (1)
- css (2)
- Eclipse (5)
- error (1)
- Facebook (2)
- Firebase (1)
- FuelPHP (16)
- Git (22)
- GitHub (3)
- Gradle (2)
- GraphAPI (1)
- Grunt (1)
- heroku (2)
- illustrator (1)
- iOS (17)
- Java (4)
- Jenkins (1)
- jQuery (3)
- Kotlin (2)
- Mac (22)
- nginx (1)
- Node.js (3)
- peco (1)
- php (5)
- Python (1)
- Rails (16)
- Ruby (11)
- shell (1)
- SNS (1)
- Swift (2)
- tmux (2)
- Vagrant (6)
- Vim (6)
- windows (2)
- WordPress (3)
- zsh (4)
- フリーランス (1)
- ライブラリ (1)
- 勉強会 (2)
- 宣伝 (1)
- 未分類 (2)
最近の投稿
- [MAC]HighSierraでgitプッシュエラー「Unable to negotiate with xxx.xxx.xxx.xxx port xx: no matching cipher found. Their offer: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se fatal: Could not read from remote repository.」
- [iOS]iOS11からFacebook,Twitter連携(シェアなど)廃止の対応方法
- [iOS]速報2017AppleSpecialEventのiOS11、iPhone8など発表内容について
- [iOS][Firebase]The default Firebase app has not yet been configured. Add `[FIRApp configure];
- [iOS]2017年9月リリースのiOS11で開発者が対応するべきこと
- 今人気の現金化サービスCASH(キャッシュ)を使ったレビュー
- [Pandoc][Mac]pandocでmarkdownからwordファイル作成
- [Android]映画サマーウォーズの聞いた日付(誕生日)から曜日当てをアプリ音声認識で簡単に実現
- [Android]起動しているActivityを取得するadb shell コマンド
- [Android][Kotlin]kotlin学習で参考になるサイト一覧
2023年12月 月 火 水 木 金 土 日 « 5月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 アーカイブ
- 2018年5月
- 2017年9月
- 2017年8月
- 2017年7月
- 2017年6月
- 2017年5月
- 2017年2月
- 2017年1月
- 2016年12月
- 2016年7月
- 2016年6月
- 2016年1月
- 2015年12月
- 2015年11月
- 2015年10月
- 2015年9月
- 2015年8月
- 2015年7月
- 2015年6月
- 2015年5月
- 2015年4月
- 2015年3月
- 2015年2月
- 2015年1月
- 2014年12月
- 2014年11月
- 2014年6月
- 2014年5月
- 2014年4月
- 2014年3月
- 2014年2月
- 2014年1月
- 2013年12月
- 2013年11月
- 2013年9月
- 2013年8月
- 2013年7月
- 2013年6月
- 2013年5月
- 2013年4月
- 2013年3月
- 2013年2月
- 2013年1月
- 2012年12月
- 2012年10月
- 2012年5月
- 2010年6月
エントリ