プログラミングガール

Developing a better me

Webアプリケーションにおけるエラーコード:403と404 について

最近なるほどなあと思ったので書き留めておく。 そもそも403と404とは 403 Forbidden: The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource, or may need an account of some sor…

Apache|クロスオリジンなURLからのアクセスを許可する

HTML5のCanvasを使用する際、クロスオリジンの画像を使うためにimgサーバのApacheでクロスオリジンからのアクセスを許可する必要がありました。 以下はその設定と確認方法です。 HOWTO ① Apacheの設定(/etc/httpd/conf/httpd.conf) <Location /images/hoge> Header set Access-Con</location>…

Rails|FactoryGirlでユニークな値を指定したいとき

背景とやりたいこと ユニーク制約を付与したため、create_list で一度にテストデータを作成しようとした場合、値が重複しているとお叱りを受けた。 ActiveRecord::RecordNotUnique: Mysql2::Error: Duplicate entry 修正前 user_name はユニークな値になるよ…

特定のサイトを簡単に監視したい

概要 指定したURL先のステータスコードを監視したい。 今回はステータスが200になったらLINEに通知を飛ばす。 使用したもの AWS EC2 shell LINE Notify つくりかた 1. AWSのEC2を立てる 2. Line Notifyのトークンをゲットする 3. shell scriptsを以下のか…

Ruby|配列の計算ふりかえり

そういえばRubyは配列同士で計算ができるんだった! ということをうっかりしていたのでもう一度整理してみる。 # 配列を2つ用意 a = [1, 2, 2] b = [1, 3, 4, 5] # それぞれ計算してみる p a + b #concatと同じ p a.concat(b) #配列の結合 p a | b #和集合 …

OWASP ZAPをプロキシとして使ってみる

何をしたいか とあるリクエストのヘッダー(OriginとかContent-Lengthとか)を確認したい。 そのためOWASP ZAPをプロキシとして使用する。 ダウンロード お手元にOWASP ZAPがない方は、こちらからダウンロードしてね。 設定 ① OWASP ZAPの設定 ツール → オプ…

Rails|Deviseのログアウトでルーティングエラー

事象 ユーザー認証にDeviseを使用しているのですが、サインアウトをしようとした際、以下のようにエラーになってしまいます。 ログインまわりのソースコード↓ <% if user_signed_in? %> Logged in as <strong><%= current_user.email %></strong>. …

特定のページのみ特定のCSSを読み込ませる

やりたいこと 特定のページ(今回はサイトのTOPのWelcomeページ)のみ特定のCSSを読み込ませたい。 HOWTO ① 特定のページ用のlayoutを作成する /app/views/layouts/welcome_layout.html.erb ② コントローラーに使用するlayoutを明記する class WelcomeContro…

Vagrant開発環境でメールサーバを立てる

やりたいこと 普段Vagrant上でRuby on Railsのアプリを開発しています。 ユーザー認証にDeviseを使っていてサインアップの際、開発環境でアプリからメールを送りたい場面があったので、今回MailCatcherを使ってメールサーバをVagrant上に立てました。 ※ 今回…

git configの値の設定

Git

はじめに いつもいつも値のユーザー名やメアドの設定方法をググっている気がするので、備忘録(´・ω・`) コミット時のユーザーを設定するよ。 設定の確認 $ git config --global --list user.name=programming_girl user.email=programming_girl@hoge.com cor…

Vagrant Share でHTTPS通信する

1.Vagrantfile記述 2.オレオレ証明書を発行 ① 証明書の発行 # On Vagrant $ yum install mod_ssl openssl $ openssl genrsa -out ca.key 2048 $ openssl req -new -key ca.key -out ca.csr ② 決められた場所に各ファイルを配置する $ cp ca.crt /etc/pki…

文字化け問題の解決

問題 開発している環境(Vagrant上)で以下の問題が発生。 ① viしたときに日本語が文字化けて見える ② git diffしたときに日本語が文字化けて見える ①の解決方法 $ vi ~/.vimrc ---- .vimrc追記内容 ---- set encoding=utf-8 set fileencodings=iso-2022-jp,…

Vagrant Shareを使ってみた

Vagrant Shareは、ローカルで立てたVagrantの環境へ誰でもアクセスできるようにしてくれます。 まぁとりあえず使ってみよう。 www.vagrantup.com HOW TO 1.ATLASの無料のアカウント作成 https://atlas.hashicorp.com/account/new 2.ローカルのVagrantを…

AWS構築|Let’s Encrypt で レッツ暗号化

AWS

なにするの? AWSにのっけたWebサービスをHTTPSでアクセスできるようにする。 HOW TO ENCRYPT on AWS 1.Apache停止 $ apachectl stop 2.Certbotをダウンロード $ git clone https://github.com/certbot/certbot 3.Certbotの実行(証明書の取得) $ cd …

サービス開発|KPTアプリをリリースしたよ

このあいだ、「KPTer」というKPTのiOSアプリをリリースしました! 業務中にKPTをしている方も多いのではないかと思います。ぜひ一度つかってみてください(^^) アプリはこちら。 Facebookページはこちら。 LPも作ってみました♡ kpter.net コンセプト 振り返り…

CentOS|SSHログイン時にアスキーアートを表示する

なにがしたい sshでサーバにログインした時に、AAを表示することでどのサーバにログインしたかをわかりやすくしたい。 HOW TO 1.AAを作成 Text to ASCII Art Generator (TAAG) 2./etc/motdに上記で作成したAAを記述 ______ _ _ _ | ___ \ | | | | (_) | …

Rails|Emailのバリデーション

背景 はじめはemail_validatorを使用していたのですが、 「hogehoge@hoge.com」のように入力された時、うまくバリデーションがかからなく・・・。 あらためて調べてみると、以下の場合はうまくバリデーションがかかっていないようでした。 先頭に半角/全角…

iOS開発|Images can't contain alpha channels or transparencies

iTune Connectの画像登録での一コマ Images can't contain alpha channels or transparencies ↑ iTune Connectの画像登録ででた注意文言 「App Preview and Screenshots」の画像をリサイズして登録しようとしたときに発生。 原因 画像をリサイズした際に、縦…

Rails|レイアウトを新規で作成する

なにがしたい Viewを表示する際に、「layout.html.erb」とは別のレイアウトを作成して適応したい。 シチュエーション hana-ori.hatenablog.com 上記の方法でerror画面をカスタマイズすると、Viewに対応するコントローラーがないため、「Template Inheritance…

Rails|エラーページのカスタマイズ

なにがしたい エラーページをいい感じにカスタマイズしたい。 HOW TO 1. view配下にerrorsディレクトリを切り、「error_404.html.erb」と「500.html.erb」を作成 2. application_controller.rbに下記を記述 class ApplicationController < ActionControlle…

Vagrant|There are stopped jobs.

困ったこと vagrantからログアウトしようと思った際、下記の文言がでて、ログアウトできなくなった。 There are stopped jobs. 解決方法 どうやら、vagrantから抜け出す前に、中断中のプロセスをKillする必要があるらしい。 $ ps aux|grep {{ ログイン名 }} …

Rails|Cannot add foreign key constraint エラー対処

困ったシチュエーション 後でマスターテーブルを追加しようとした際、以下のエラーに遭遇。 Mysql2::Error: Cannot add foreign key constraint: ALTER TABLE `application_forms` ADD CONSTRAINT `fk_rails_386b13f566` え、どういうこと? 原因 マスターテ…

Java|クローラーかどうか判別する

なにがしたい サイトへアクセスしたユーザーエージェントがクローラーのものか判断する。 実装 /** * 例外対応するクローラーUAリスト */ public static final ArrayList<String> CRAWLER_UA = ImmutableList.of("Googlebot", "Yahoo!", "bingbot", "Yeti", "Baidu",</string>…

CentOS6系にOracleのJavaをインストールする

なにがしたい wgetでCentOSにJavaをインストールしたい。 失敗 wgetしようとするもののあえなく失敗。 $ wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm $ sudo rpm -ihv jdk-7u75-linux-x64.rpm error: open of jdk-7u…

Github|Wikiに画像をのせる

なにをしたい GithubのWikiに画像をのせたい。 こんな感じ↓ How To Wikiをclone してくる clone してきたら、image/ディレクトリを切り、その配下に画像を格納する img タグを書き、画像を表示させる <img src="https://github.com/repository/wiki/images/S__15982629.jpg" width=200px>

Realm|1.0がリリース!

ついに! ついにRealm1.0がリリースされました! realm.io ついに!やったー!と思って、issueまで切って意気揚々とライブラリーのバージョンをあげようとしたのです。 そこで起こる悲劇 Podfileをpod 'RealmSwift' , '~> 1.0'のように編集し、pod installす…

クローラーの User Agent でサイトにアクセスする

前提 使用ブラウザ:Chrome How To 開発者ツールの Network conditions を開く Select automatically のチェックを外し、UAを選択する Googlebotはデフォルトで用意されてる その他の検索エンジンbotを指定したい場合は Other を選択し、後述のUAの値を入力…

Swift:文字数によるボタンの非活性制御

何がしたい UITextFieldに文字が入力されていない場合、Saveボタンを非活性にします。 実現方法 所感 例のごとく、もっといいやり方があるのかなと思います。 もしご存知の方いらっしゃったらご指摘くださいませ m( )m

プログラミングガールの英語教室:ユーザーへの問いかけ編

こういう時どう言うの? 次の動作を確定するかユーザーに確かめる。 文法講座 Are you sure you want to ~ ? 本当に〜しますか? Example Are you sure you want to delete this item? この商品を削除しますか? ※「消したい」と思っているか(意思)の確認 …

RLMException:Can't mutate a persisted array outside of a write transaction

そのまんまなんですが 'RLMException', reason: 'Can't mutate a persisted array outside of a write transaction.' 上記エラーは Realm の writeトランザクション外でデータの追加や削除を行おうとした場合に発生します。 try! realm.write { // 追加・削…