# /etc/init.d/crond start # /etc/init.d/crond status crond (pid 160) is running... 正常に起動できていれば、/cron-testに 時刻が書き込まれるはずだが、いっこうにファイルができない・・ 現在調査中・・ まだdockerについてよくわかってないが、 なにか特殊な設定が必要なのだろうか・・。 解決法をご存じの方がいらっしゃれば、 コメントください。お願いします。 以下、2015.1.4追記 別の環境(ホストOS)で試したら、できました。 成功した環境 ホストOS:Mac OS 10.10.1 Docker version 1.4.1, build 5bc2ff8 はじめにできなった環境(今もできない) ホストOS:CentOS release 6.6 Docker version 1.3.2, build
クライアントに対してレポートを出力してお見せしているプロジェクトにて 画面をPDF化してクライアントに送付したいという依頼があった 環境 フロントエンド:NodeJS(表示からAPIアクセス) バックエンド:Rails 遭遇した問題点 Screenshotを取得するツールやGemでは正しく画面のデータが取得出来ない PhantomJSなどを利用してブラウザを立ち上げる方法を探ったが取得出来たデータがまっしろ 対応策 画面を新しく作ってその中でレポートを再描画しよう wkhtmltopdfでPDFを作成する 学び wkhtmltopdfはGemだと0.8.0なのでCSSやJSがうまい具合に動いてくれない サーバに直接ソースインストールしよう!最新版は0.12以降 Rubyvis大変だけど結構たのしい CSSは縦版・横版分けると捗る SVGも読まれるので楽しい ※最後 ソースとか細い所は時間あ
はじめに dockerでrailsを動かす場合にどうするのが良いかなーと試行錯誤し、構成も落ち着いてきたのでまとめます。 お試しバージョン 一番最初はとりあえずってことで、railsリポジトリ + railsを動作させるコンテナの組み合わせで試してみました。 Dockerfileの内容 FROM base # rubyインストールに必要なパッケージを用意 RUN apt-get update RUN apt-get install -y --force-yes build-essential curl git zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev # rbenv, ruby-buildをインストール RUN git clone https://github.com/sstephen
var han= '。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワンガギグゲゴザジズゼゾダヂヅデドバパビピブプベペボポヷヴヺ'; var zen= '。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワンガギグゲゴザジズゼゾダヂヅデドバパビピブプベペボポヷヴヺ' console.log(toZenkaku(han)===zen);// true console.log(toHankaku(zen)===han);// true function toZenkaku(str){ var dakuten= {'ガ':'ガ','ギ':'ギ','グ':'グ','ゲ':'ゲ','ゴ':'ゴ','
#... log_format main '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $host; #... wget https://gist.githubusercontent.com/richmikan/7254345/raw/50ae183eb83f3843c273705400f18d3875dcf097/apalognorm -O ~/bin/apalognorm chmod 755 ~/bin/apalognorm # print $11の部分はスペース区切りで数えた12番目の項目。上記access_logのフォーマットの%vが出てくるように指定 cat /var/log/apache2/acce
概要 Meteor Tutorial | Creating an appを参考に、雛形のアプリケーションにちょっとずつ修正を入れていきながらMeteorの使い方を学習したメモです。 環境 Windows7 (64bit) Meteor 1.2.0.2 参考 Meteor Documentation - Meteor Discover Meteor Discover Meteor (日本語版) Meteor 1.2 ECMAScript2015 (ES6) Official support for Angular and React. Cordova has been updated to 5.2.0. 1. プロジェクトの雛形を作成する チュートリアル: Creating your first app meteor createコマンドでプロジェクトの雛形を作成します。 > meteor
概要 Linuxの場合ログローテーションはlogrotateというrpmを用います だいたいのディストリビューションには最初から入っているはずです。 設定もとても簡単で、ローテーションしたいファイルの指定と、 ローテーションする際の設定を数行書けば完了です。 準備 ログローテーションにはcronを用いてるため crondが動いているかどうか確認 ローテーション設定 /etc/logrotate.confと/etc/logrotate.d/配下のファイルによって設定します。 おそらく/etc/logrotate.d/配下に最初から幾つか設定ファイルがあるのでそれらも参考にすると良いでしょう。 例えばnginxの各種ログファイルのローテーション設定は /var/log/nginx/*log { create 0644 nginx nginx daily rotate 10 missingok
考えを整理しながらドキュメントを書くのにMarkdownが便利ですが、資料を印刷して持ってきてとか言われると困ったりします。 そんな時にPandocを使ってdocxなどの形式に変換して印刷すると便利です。(PDFにも出来ますが、フォントサイズなどの微調整も出来るのでdocxにすることが多いです) pandocは、Haskell製のドキュメント変換ツールです。 対応している形式などは以下を参照してください。 Pandoc - About pandoc インストール インストールは以下を参考にしてください。PDFへ変換するには別途依存するライブラリを入れる必要があります。 http://johnmacfarlane.net/pandoc/installing.html MacとWindows向けにはインストーラが提供されているので、それを使ってインストールすると楽です。 Releases ·
はじめに Facebook認証するアプリを作りたいと思い色々調べたのですが、最新の方法がキレイにまとまっているものがなく、ちょっと苦労したので自分でまとめてみました。 これから作る方の参考になればなーと思います。 アプリの登録 アプリの登録はこちらから行います。 特につまづくところはなかったかと思います。 準備 環境と使用するライブラリは以下のとおりです。 - Swift 2.0 - Xcode 7.0.1 - Facebook SDK Podfileを以下のように編集し、pod installでインストールします。 # Uncomment this line to define a global platform for your project platform :ios, '8.4' use_frameworks! target 'SampleApp' do pod 'FBSDKLo
// デフォルトの比較関数 function compare (a, b) { if (a === b) { return 0; } else if (a > b) { return 1; } else { return -1; } } function stableSort (array, fn) { if (fn == null) { fn = compare; } var i, len = array.length; if (len === 0) return array; // 値とインデックスのペアにする for (i = 0; i < len; i++) { array[i] = [array[i], i]; } array.sort(function (p1, p2) { var cmp = fn(p1[0], p2[0]); if (cmp !== 0) { // ペアの0
Mac(本投稿ではOS X 10.9〜で説明)でのiPhoneのパケットキャプチャについて投稿します。 色々なやり方があると思いますが、自分は ・HTTPリクエストとレスポンス内容を確認する場合はCharles。 ・ネットワーク関連のエラー解析を行う場合はWireShark を使っております。 上記2つについて手順や自分が思う良いところ(個人的な見解ですが。。)などついて記載します。 Charlesを使用する場合 HTTPプロキシとしてPC上で動作し、iPhoneからのリクエストとレスポンスをモニタリングします。 参考: http://www.charlesproxy.com/ 手順 Mac側 1.下記Webページの”Download a free trial”からCharlesをダウンロード/インストール。 http://www.charlesproxy.com/download/ 2.
HTML5の標準でDrag&Dropが実装されましたので、jQueryなどを使わなくてもドラッグ&ドロップが簡単に実現できるようになりました。 しかしマウスイベントのみという状況なので、iPhoneなどのマウスを使わない、TouchイベントのデバイスではjQueryに頼っているという人も多いと思います。 jQueryやプラグインを使用しなくても、以下の様なVanillaの簡単なコードでリストの並び替えができます。 var lis = document.querySelectorAll('li'); var draggingItem; [].forEach.call(lis, function(li){ li.setAttribute('draggable', true); li.addEventListener('touchstart', function(e){ draggingItem
2日目も無事にやる気が維持して続きました、ストックしてもらえると嬉しいですね。皆さんに役立ててもらえるような記事を書けるように頑張ります。 現在のappディレクトリの構成 現在のappディレクトリの構成は下記のようになっているかと思います。 app ├ bin │ └ www ├ routes │ └ pages.js ├ views │ └ pages │ └ anonymous-home.jade ├ index.js └ package.json 前回は、とにかく最小限のファイルで動作確認出来るようにと色々とはしょってしまったので、いくつかファイルを加えていこうと思います。 設定ファイルを格納するconfigディレクトリ データベースの設定やCookie/Sessionの設定を格納するためのディレクトリを作成します。
時々必要になってその度にググってるんだけど自分用にまとめメモ 追記2015-10-15: 最強の多段SSH設定 も出来たので合わせて読んでみてください。 ケース1 サーバ構成 よくある↓こんな構成を想定 [MyPC] | _人人人人人人人人_ > インターネット <  ̄Y^Y^Y^Y^Y^Y^Y^ ̄ | |(EIP:54.178.xxx.yyy) ┌─ [projectX-bastion] ─┐ │ _人 人_ ├ [projectX-web1] (10.123.1.80) > VPC < └ [projectX-web2] (10.123.2.80)  ̄Y^ Y^ ̄ 接続情報 こんな情報が与えられて、どのサーバも authorized_keys とかを勝手に修正しちゃいけないとする。 projectX-bastion ユーザ: bastion 秘密鍵: projectX-bastion.
追記:openssh-7.3 以降なら ProxyJump や -J が使えます ホスト名を + で繋げることで多段Proxy接続も簡単に、がコンセプトだった本エントリの設定ですが、OpenSSH 7.3 から ProxyJump という設定が使えるようになったので、使えるなら ProxyJump を使う方が健全だし柔軟で使い勝手も良いのでそちらを覚えて帰ることをオススメします。 使い方は簡単で以下のような感じです。多段も行けるし、踏み台ホスト毎にユーザ名やポート番号を変えることも出来ます。 # 1. bastion.example.jp -> internal.example.jp ssh -J bastion.example.jp internal.example.jp # 2. bastion.example.jp -> internal.example.jp -> super-de
テキスト主体だけど最終的には印刷できる形式にしないといけない文書を、Markdownで書きたくなり、試した結果をまとめておきます。テキストエディタ使いが、会議の議事録をWordやPDFで配布しなくてはいけない場合などに便利だと思います。 ツールの選定: Pandocでdocx出力 Markdownの整形に関して検索すると、まず出てくるのがPandocというツールです。Markdownをはじめとする、各種のテキスト形式を入力して、HTML・Wordファイル・LaTeX・PDFといった多数の形式に出力することができます。 ただ、PDFに変換するにはLaTeXを経由する必要があります。 自分は学生時代および社会人初期に、かなりLaTeXを使っていたのですが、この目的だけのために15年ぶりぐらいでTeX環境を選定・構築する気になれず、Wordファイル(docx形式)に出力して、そこで印刷やPDF変
※(2014/10/1 追記) 脆弱性の番号を誤って CVE-2014-6721 と表記してしまっていました 正しくは "CVE-2014-6271" です 失礼致しました ※(2014/10/7 追記) 2014/10/7 14:00時点で Shell Shock への修正パッチは6個 公開されています 既に対応済みのシステムでもパッチの漏れがないか注意してください シェルに脆弱性が見つかったらしいです このコマンドを実行すると脆弱性があるバージョンかのチェックができるようです $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" 以下のように表示されたらアウトです vulnerable this is a test どうやら、このコマンドが正常に実行できるというのがこの脆弱性の正体らしく、 echo vuln
を叩けばOK。 --softオプション:ワークディレクトリの内容はそのままでコミットだけを取り消したい場合に使用。 --hardオプション:コミット取り消した上でワークディレクトリの内容も書き換えたい場合に使用。 HEAD^:直前のコミットを意味する。 HEAD~{n} :n個前のコミットを意味する。 HEAD^やHEAD~{n}の代わりにコミットのハッシュ値を書いても良い。 gitのv1.8.5からは、「HEAD」のエイリアスとして「@」が用意されている。 HEAD~とHEAD^と@^は同じ意味。 HEAD^^^とHEAD~3とHEAD~~~とHEAD~{3}と@^^^は同じ意味。 ただしWindowsの場合はgit reset --soft "HEAD^"と、HEAD^を"で囲んでください。 git resetの詳細は、下記記事に詳しく書いているので、ぜひ参考にされてください。 ▼[g
git commitを実行あとでコミットをやり直したり、コミット自体を取り消す方法です。 直前にしたコミットをやり直す(git commit --amend) 直前にしたコミットをやり直す場合、「git commit --amend」を使用します。 例えば、直前のコミットログが以下のような状態だったとします。 実は直前のコミットに含めるべきであった「hoge.txt」が含まれていませんでした。 コミットログ(git commit --amend 実行前) $ git log commit cca638b48b4c8be7ad5432f7882497534b04e2b4 Author: mrgoofy <hogehoge@example.com> Date: Wed Sep 8 23:03:57 2010 +0900 2nd Commit.-> New Add File : bar.txtこ
信頼性の高いバックアップツールは贅沢品などではない--誰もが持っていてしかるべきものである。とは言うものの、自らのニーズを満たす機能を手に入れるために大金を投じる必要があるというわけではない。本記事では、マルチプラットフォーム対応のものも含めて、Linux用の優れたバックアップツールを紹介する。 あなたがIT業界に身を置いているか、コンピュータのパワーユーザーであるかにかかわらず、バックアップツールは必携のツールであるはずだ。そしてバックアップツールには、定期的なバックアップや一時的なバックアップ、ローカルバックアップ、リモートバックアップを始めとする多くの機能が必要なのである。 プロプライエタリなソリューションは世の中にたくさん存在している。そしてそれらの中には必要最低限の機能を搭載した、費用対効果の高いものもある一方で、豊富な機能を搭載した、高価なものもあるのである。これに対して、オー
サーバの構築を一通り終えると、システムのバックアップが必要になります。 バックアップの目的は言うまでもなく、ファイルの消失やディスクの故障・トラブルに備えることです。 このページでは DAR (Disk ARchive) というソフトウェアを使い、 効率よくシステムのバックアップを行う方法をご紹介いたします。 このページでは対象OSをCentOS4.4として動作確認をしています。 当サイト内の「ファイルの自動バックアップ」でも自動的にファイルのバックアップを取る方法を紹介しておりますが、 こちらは単純にフルバックアップするだけのものになっています。 ページ内コンテンツ一覧 バックアップの基本 DARのインストール フルバックアップ 差分バックアップ 復元 本格的な運用に向けて バックアップの基本 バックアップには大きく分けて3つの方法があります。 この項目ではそれらを簡単に説明いたします。
Linuxサーバー内データの自動バックアップを行う。 ここでは、サーバー内データをtarコマンドで圧縮してバックアップ先ディレクトリへ退避しておき、指定により、退避したバックアップを管理者以外が参照できないようにGnuPGコマンドで暗号化もできるようにする。 [root@centos ~]# vi backup.sh ← バックアップスクリプト作成 #!/bin/bash # # ローカル内でバックアップ # LANG=C # # 設定開始 # # バックアップ対象リスト名 # ※バックアップ対象をフルパスで記述したリスト BACKUPLIST=/root/backuplist [ ! -s ${BACKUPLIST} ] && echo "${BACKUPLIST} is not found" && error_exit # バックアップ対象外リスト名 # ※バックアップ対象外をフルパス
バックアップは毎日きちんと行うことが重要ですが、対象ファイルが増えてくると容量も大きくなり、効率よく実施する必要が生じます。そこで今回は、tarコマンドの増分メカニズムを使って効率的にLinux上の特定ディレクトリをバックアップする方法をご紹介します。今回のポイントは、一定間隔で古いバックアップをAmazon S3に移動することで、バックアップのサイクルを確立し、同時にローカルの容量を節約する点です。 1)そもそも増分バックアップとは? バックアップには、完全バックアップ、差分バックアップ、増分バックアップという3つの方法があります。 完全バックアップ(対象ファイルを全部コピー) 差分バックアップ(最後の完全バックアップとの差分だけコピー) 増分バックアップ(前回のバックアップとの差分だけコピー) 通常は、週1回や月1回など一定間隔で完全バックアップを行い、その間は差分バックアップか増分バ
rdiff-backupを使うと、非常に手軽にLinuxで差分バックアップを行うことができます。 rsyncで日頃の完全なバックアップを用意しつつ、日次の差分バックアップはrdiff-backupを併用すると、安心したバックアップ環境が構築できます。 インストール CentOS/RHELの場合は、EPELリポジトリよりyumでインストールが可能です。 または、以下よりRPMをダウンロードしてインストールも可能です。 RepoView: "Fedora EPEL 5 - i386" RepoView: "Fedora EPEL 6 - i386" RepoView: "Fedora EPEL 5 - x86_64" RepoView: "Fedora EPEL 6 - x86_64" バックアップ方法 ローカルバックアップ バックアップ元ディレクトリ:/data_dir バックアップ先ディレ
社内で論文輪読会みたいなことやってて、そこで紹介した論文の内容についてです。 最近、Graphite に保存しているデータのバックアップ(データ同期)に rsync 使ってて、かなり遅いので困ってた。 LISA っていう 大規模システム、sysadmin 系のカンファレンスがあって、ここから論文探してたら、ちょうど巨大データの高速バックアップの実装の話があったので読んでみた。 論文概要 dsync: Efficient Block-wise Synchronization of Multi-Gigabyte Binary Data - https://www.usenix.org/conference/lisa13/technical-sessions/presentation/knauth - Thomas Knauth and Christof Fetzer, Technische U
2014年09月24日、 GNU bash の脆弱性 (CVE-2014-6271 / CVE-2014-7169) ~shellshock 問題~ について報告されました。 インシデント情報活用フレームワーク検討 WGでは、インシデント対応検討 WG (旧:インシデント対応技術調査 WG)、日本シーサート協議会に加盟しているチームに協力を得て、インシデント発生を事前に予防する措置として、「GNU bash の脆弱性 ~ shellshock 問題~」に関する公開情報を調査し、本レポートにまとめました。 ・GNU bash の脆弱性 ~ shellshock 問題~ とは ・対策 ・ベンダ情報 ・観測日記 ・更新履歴 GNU bash の脆弱性 ~ shellshock 問題~ は、 Linux で使用するシェルのひとつである GNU bash (Bourne-Again Shell) の
205.234.xxx.xxx - - [18/Mar/2015:01:29:33 +0900] "POST /xmlrpc.php HTTP/1.0" 200 370 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; http://www.google.com/bot.html)" 205.234.xxx.xxx - - [18/Mar/2015:01:29:50 +0900] "POST /xmlrpc.php HTTP/1.0" 200 370 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" 205.234.xxx.xxx - - [18/Mar/2015:01:29:55 +0900] "POST /xmlrpc.php HTTP/1.0" 200 370 "-" "Mozil
アクセスログの取得 まずは、サーバーからアクセスログを取得します。 僕は、今エックスサーバーしか利用していないので、その方法を書きます。 エックスサーバーの場合はサーバーパネルからログインしてパネルを開きます。 そして、「統計」項目の「ログファイル」をクリックします。 あとはドメインを選択して、 ダウンロードするだけです。 エックスサーバーデフォルトの場合は「nelog.jp.access_log」というファイルがダウンロードされます。 このアクセスログには、すべてのファイルへのアクセスに対する「1週間のログ」が書き込まれています。 すべてのファイルへのログなので、当サイトの場合だと2GB以上あり、600万行以上のテキストになっていました。 アクセスログの解析方法 これら膨大なアクセスログから、一つ一つ怪しいファイルを見ていくのは不可能なので、簡単な解析用コードをRubyで書きました。 W
CMSのトラブルは忘れた頃に…ましてや大掛かりなサイトだと完全再現の難易度は高い。とにかくアクシデントにあせりまくると二度と再生出来なくなるので、ここに緊急時の最低限の手順を記載する。…本当のところ緊急時にはこのサイト自体消えて備忘録にならない…(サクラサーバーにてhttp://tsukapiko.sakura.ne.jp/でセカンドサイトを設置) まず既存のデータを確保。 ◎JoomlaPackでのバックアップ このエクステンションはファイルとデータベースを一括で吐き出してくれる。バックエンドからの操作に限定されるが定期的かつ気軽にバックアップできることが特徴。尚、圧縮zip方式とJPA形式からリストアファイルを吐き出す措置が行える。zipの処理は壊れやすいデメリットがありながら(確かにDBは不完全)ファイルが実体化して解りやすく手間だけど確実に復元できるイメージがある。JPAは現在のサ
ここに掲載している記事は執筆時点のものです。内容が古くなっている事もありますのでご注意下さい。 ここで紹介しているエクステンションの利用を推奨するものではありません。ご利用は自己責任でお願いします。 ご自分が利用しているエクステンションの最新情報は常に確認しましょう。様々なエクステンションで日々脆弱性が見つかっており、あなたのサイトがクラックの被害に遭わないとも限りません。脆弱性情報はこちら。 サイトのファイルおよびデータベースをまるごとバックアップするコンポーネント。 設定をプロファイルに保存しておき、その都度切り替えてバックアップが可能。 特定のディレクトリ、ファイル、データベースのテーブル、エクステンションをバックアップしないように設定できる。 特定のURLへアクセスすることでフロントエンドからバックアップできる。この機能を利用し、CRONなどに登録すれば完全自動バックアップが可能。
Visitors は Linux、Windows およびその他の Unix ライクな OS で動くとても軽快なウェブログ解析ツールです。 ウェブサーバログファイルを入力すると、統計をいろいろな形のレポートとして出力します。 その設計方針は同じタイプの他のソフトウェアと比較するとかなり異なっています: インストールは必要ありません。高速なコンピュータでは毎秒最大150,000行のログエントリ(作者自身のログファイルの平均では毎秒20MB)を処理します。 コマンドラインで実行するように設計されており、html とテキストでレポートを出力します。 テキストのレポートを less にパイプすることで ssh を通じてウェブ統計をチェックすることができます。 バージョン 0.3 で導入された Visitors ストリームモードによってリアルタイム統計をサポートしています。 ログの書式を指定する必要は
2015年7月24日(金曜日) マイナンバーについては、来る10月5日から国民への番号通知が始まるスケジュールも固まり、各自治体ではシステム改修の追い込みでてんてこ舞いといったところかと思料される。 一方で、総務省のスケジュールでは、まさにこの時期は、マイナンバーカードの独自サービスを各自治体が検討し、条例化を進める時期にも位置づけられているのであるが、ほとんどの自治体ではこの検討まで手が回っていない状況である。 ここでは、マイナンバーカードの独自サービスを市民に理解してもらう機会の創出方法と、「早く」「安く」独自サービスを実現する方策を提示したい。 1. 独自サービスを提供する際のハードル さて、番号法第18条第1項では、「市町村の機関は、個人番号カードを、地域住民の利便性の向上に資するものとして条例で定める事務に利用することができる」とされている。 おそらく、国がイメージしているのは、
ローカル変数 インスタンス変数 クラス変数 クラス変数のスコープ グローバル変数 疑似変数 定数 定数参照の優先順位 Ruby の変数と定数の種別は変数名の最初の一文字によって、 ローカル変数、 インスタンス変数、 クラス変数、 グローバル変数、 定数 のいずれかに区別されます。 通常の変数の二文字目以降は英数字または _ですが、組み込み変数の一部には 「`$'+1文字の記号」という変数があります(組み込み変数を参照)。変数名 の長さにはメモリのサイズ以外の制限はありません。 ローカル変数 例: foobar 小文字または`_'で始まる識別子はローカル変数また はメソッド呼び出しです。ローカル変数スコープ(クラス、モジュー ル、メソッド定義の本体)における小文字で始まる識別子への最初 の代入はそのスコープに属するローカル変数の宣言になります。宣 言されていない識別子の参照は引数の無いメソッ
リモートリポジトリの特定のコミット(ハッシュ値のcommit-id)だけを、ワーキングツリー(作業ツリー)に取り込みたい場合の操作。
sshd_configの設定は、最低限の設定だけしておいてあとは放ったらかし、という状況が多いかも。何のことかわかっていない項目も実はあったりするので、おさらいしてみた。とはいえ、全て網羅するのはしんどいので、気になるところだけあげてみる。 ・・・と、その前に注意点を。 sshd_configにおいて#で始まる項目は実は全てのデフォルト値である。 (本当のコメントにはスペースが入っている) 例えば以下はコメントがついてるから無効、ではなく有効なデフォルト値となる。 #PasswordAuthentication yes これらのデフォルト値は#を外しても設定行を削除しても、設定そのものは変化しない。 設定を変更したい場合に、sshd_configの作法に沿って記述するのであれば、以下のようになる。 #PasswordAuthentication yes PasswordAuthentica
クラス内で定数を定義することができます。定数はアルファベットの大文字で始まる定数名に対して一度だけ値を格納することができ、クラス内およびクラス外から参照することができます。ここでは Ruby でクラス内で定数を定義する方法について解説します。なお定数について詳しくは「定数」を参照して下さい。
概要 ahoy という gem を利用すると、Rails アプリケーション内でのイベントトラッキングが簡単にできるようになります。 ankane/ahoy ahoy では主に 2 つのエンティティを操作します。 #カッコ内は対応するテーブル名 Visit (visits) Event (ahoy_events) Visit はユーザがサイトに新たにアクセスした場合に生成され、 Event は開発者が定義したイベントが実行された場合に生成されます。 また、ahoy ではクライアントサイド、サーバサイド両方でのイベント計測が可能となります。 導入方法 公式通りに行いましょう。 ankane/ahoy gem をインストールして、
■ request-log-analyzer rails3のproduction.logを解析する事になったので、調べてみると request-log-analyzerというツールが良いとの記事を見た。 ■ インストールしてみる。 railsが入っている環境であれば以下のコマンドでインストールされます。 gem install request-log-analyzer 小職の環境では、以下にインストールされました。 /usr/local/bin/request-log-analyzer ■ 使ってみる 以下を入力すると。。。。 request-log-analyzer production.log 解析が始まり、解析が終わると Request summary リクエストのサマリー Parsed lines 解析した行数 Skipped lines スキップした行数 Parsed requ
Railsでサブドメインにアクセスすると、デフォルトの設定では、ログイン(セッション)が保持されません。 解決策は以下の通りです。 ググると間違った(or 古い)情報も散乱していたので、惑わされないようにそちらも一応のせておきます。 session_store.rbの設定session_store.rb で以下のように設定します。 # session_store.rb Appname::Application.config.session_store :cookie_store, key: '_user_session', domain: 'example.com' 少し解説すると、 domain: 'example.com' のように、domainを指定するのがポイント。 production, staging, development で以下のように分岐してあげればいいかなと。 if
【2014/08/21 追記】 Redmineのバージョンは2.3.4 こんにちは。今日も今日とてインターンの下準備です。 ようやく自分でRedmineのプラグイン開発をしはじめたのですが、 単純にプラグインのひな形を作っただけではアクセス出来ないし、 メニューに追加して表示できないことに気づきました。 GuideForProject - r-labs 要するにURLを設定するためにroute.rbというファイルを作成しないといけないらしいです。 で、ここで詰まってたんですが、これってプラグインごとにいろいろ考えないといけないんですよ。 先述したリンクのページで作成しているプラグインは、プロジェクトのメニューに追加する形で 使用するプラグインであるため、URLは以下のようになります。 http://127.0.0.1:3000/projects/project_name/foos プロジェ
Capistrano とは Ruby 製の自動デプロイ (& サーバー操作) ツール。 複雑な Rails 製アプリケーションのデプロイ作業を コマンド数行でさくっと片付けられるようになる。 Capistrano 自体の説明は以下の資料によくまとまっていた。 入門 Capistrano 3 ~ 全ての手作業を生まれる前に消し去りたい 本記事では Vagrant を利用して、 Rails 4.2 系 + Unicorn + Nginx 環境で Capistrano を利用してデプロイ作業をさくっとデプロイできるようになるまでの流れを (主に自分用に) まとめた。 前提条件 用意する開発・本番環境 development (開発用と同一サーバー), production (開発用と別サーバー) アプリケーションサーバー Unicorn Ruby のバージョン管理 RVM Webサーバー Ngi
どこの現場にも秘伝のたれ状態になったシェルスクリプトっていうのがあると思うのですけれども、ここの現場はみんなPHP使いなんでシェルスクリプト触りたくねえ、ていう状態のところに投入された僕が来ました。わしつい最近まで印刷屋さんだったんだけどもわしに任せてしまっていいんだろうか。 で、伝統を守り抜いたシェルスクリプトの中で自ホストに設定されたIPアドレスを得るコードがifconfigをこねくってeth0の所から得ようとしていたのですが、最近のサーバって必ずしもeth0が存在するってわけでもないのでこういう悪い習慣をここで断ち切ることになりました。 シェルスクリプトでIPアドレス得るために、シェルから使える環境変数で何か役立つものねえかなあと思っていたら、当然${HOSTNAME}は鉄板なんで、こいつをgetent hosts に入れてやればいいんでね、ていうアイディア。LinuxとFreeBS
前置き、概要説明 ことの始まりはRails4.1からconfig/secrets.ymlに下記のような環境変数が使われていたことです。 development: secret_key_base: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx test: secret_key_base: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx production: secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> 本番サーバー向け(production)のsecret_key_baseプロパティが環境変数を読んでいて、デプロイ後に本番サーバーを確認したら画面が真っ白。ローカル開発環境なら~/.zshrcにexport SECRET_KEY_B
またRubyとかRailsの話になってる。本当はこんな話なんてしたくなくて、スクフェスの話でもしたい。凛ちゃんマジえんじぇー。 Webアプリケーションを書いていると、データベースのユーザ名やパスワード、接続先サーバのIPなどなど、アプリケーションコードとは関係がないけれどもリポジトリ内には含めたくない、動かす環境に合わせて変更する必要のある設定を扱う機会がしばしばある。 こういう設定は環境変数に設定すると便利だよっていう考えがあって、The Twelve Factorsで紹介されていたりする。 The Twelve-Factor App これを実現するには、例えば /etc/environment や ~/.bash_profile みたいなファイルに書けばいいんだけど、開発環境では1台のPC上で複数のアプリケーションを書く機会も少なくないはず。 そういう場合に、/etc/environm
FORMに記述したrails:onbuildのDockefileはここにあります。 https://github.com/docker-library/rails/blob/master/onbuild/Dockerfile ONBUILDすばらしい。 データベースへの接続 データベースへの接続は環境変数DATABASE_URLを利用すればよいです。 DATABSE_URLを設定しておけばconfig/database.ymlの設定は無視して接続できます。 Railsの開発をしているのであればローカルでデータベースが動いているはずなので、ここに接続できるようにDATABASE_URLをつくればよいです。 アダプタ://ユーザ名@IPアドレス/データベース名 という感じです。 boot2dockerを使用しているMacユーザでbrewでインストールしたPostgreSQLを使用していれば、ベ
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
1.0.0 1.1.0 1.1.1 1.1.6 1.2.0 1.2.6 2.0.0 2.0.1 2.0.3 2.1.0 2.2.1 2.3.2 2.3.8 3.0.0 3.0.5 3.0.7 3.0.9 3.1.0 3.2.3 3.2.8 3.2.13 4.0.0 4.1.0 4.2.1
RailsなどのRubyライブラリのソースコードを見ていると、よく File.expand_path('相対パス', __FILE__) という一文を目にする。ちょっと調べてみた。 File.expand_pathとは riコマンドで調べてみる $ ri File.expand_path (from ruby core) ------------------------------------------------------------------------------ File.expand_path(file_name [, dir_string] ) -> abs_file_name ------------------------------------------------------------------------------ Converts a pathname
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く