忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
エンジニア組織を強くするための本を出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 この記事について この記事は、新人向けの研修内容を再編集してお送りします。 この記事の内
私たちが見ている映画はもちろん「完成型」なのですが、製作の途中で様々な変化があったと思います。もしかすると「ボツ案」の方が面白かった…なんてこともあったかもしれません。 今回は「スター・ウォーズ」と「LEGOムービー」の知られざるボツ案を紹介したいと思います。 「スターウォーズ」 1973年に、ジョージ・ルーカス監督が映画雑誌のインタビューに応じた際、監督は「スター・ウォーズ」を「アラビアのロレンス」と「007」、そして「2001年宇宙の旅」を掛け合わせたようなモノだと言っていたそうです。 初期設定では、宇宙人が正義の味方で人類が悪役であり、ルークはウーキー族の長との戦いに勝利して、一族の長の息子として認められる予定だったとか。そしてベン・ケノービとハン・ソロが、帝国軍と戦うためにウーキーを鍛える...と。 ルーカス監督が「アメリカン・グラフィティ」を撮影していた頃、ウーキーは毛深いけれど
ローカル開発の環境ではあんまcarton使う必要ないなーとか思っていて実際僕は使っていないんですが、みんなまじめにCarton入れて、いちいち% carton execとか打ったりとか独自エイリアス作ったりしてて大変そうだなーとか思っていたので以下の様なスクリプトを書いた。 プロジェクトリポジトリの直下なりに置いておいて叩いてもらうと、プロジェクト用のPerlがインストールされる。適当に-j 4してるけど結構早くて手元の環境だと10分位でビルドできた。 以下の2点がミソ。 plenvの--asオプションを使いプロジェクト固有の名前でPerlをビルドする .perl-versionファイルをプロジェクトディレクトリに配置して上の名前を指定する これで、プロジェクトディレクトリに入れば自動的にプロジェクト用のPerlを見てくれるようになります。.perl-versionはリポジトリにコミットし
こんにちは、三井田です。 VPCでプライベートサブネットからインターネットにアクセスしたい場合、NATインスタンスを利用することがあります。 参考資料:Amazon VPC ユーザガイド amzn-ami-vpc-nat-pv-2013.03.1.x86_64-ebs - ami-5f840e5e amzn-ami-vpc-nat-pv-2013.09.0.x86_64-ebs - ami-cd43d9cc このエントリでは、上記のAWSが用意しているNATインスタンスを使うのではなく、自前でNATインスタンスを作ってみました。 自前で作ることで、次のようなメリットがあると思っています。 最新のAmazon Linuxベースで、他のサーバなどと環境を合わせることができる amzn-ami-minimal-pvイメージを利用すると、EBSタイプのインスタンスでは、EBSは2GBと少量であり、
2014年4月20日、FacebookがF8カンファレンスでApp Linksというアプリ間連携のための新しい仕組みを発表しました。App Linksではこの仕組みをオープンにし、全ての開発者が利用できることを目標としています。 FacebookアプリからTumblrの記事を開こうとしたらアクションシートに「Tumblrで開く」があります。これがApp Linksで実装できます。 簡単な機能紹介はニュースサイトから引用します。 アプリ開発者は、アプリのコンテンツに数行のコードを追加することでApp Linkメタデータをパブリッシュできる。このコンテンツにリンクするアプリはメタデータを利用してアプリに“deep-link”できるようになる。例えば映画紹介アプリ内に映画のチケット販売アプリへのリンクをApp Linksで入れておけば、ユーザーは映画紹介アプリからチケット販売アプリを直接開いてチ
TypeScriptの勉強用に小さなテンプレートエンジンを作った。 型チェックができるmustacheを目指して作り始めたんだけど、そもそもmustacheが型にゆるふわ過ぎる仕様だったので途中で後悔した。結局mustacheの仕様からいろいろ削って何とか形にはなったので公開してみる。 こんな感じ テンプレートエンジン Chonmage (https://github.com/ryiwamoto/chonmage) Chonmageを使ったプロジェクトのサンプル(https://github.com/ryiwamoto/chonmage-sample) テンプレートに渡すデータのinterface テンプレートファイル 生成されるTypeScriptコード テンプレートの描画 Chonmageの特徴 テンプレートを取得するためのキーやテンプレートに渡した変数がインターフェースを満たしている
This documentation site is open source. The README in our Git repository explains how to contribute. What This Guide Covers # This guide covers build environment and configuration topics specific to Android projects. Please make sure to read our Tutorial and general build configuration guides first. Android builds are not available on the macOS environment. CI Environment for Android Projects # Ov
こんにちは。望月です。 今日はPacker関連の小ネタです。 発生した事象 今日、少し久しぶりにPackerを触っていました。PackerでChef Provisioningを行うために、以下のようなテンプレートを書いていました。 { "builders": [{ "type": "amazon-ebs", .... }], "provisioners": [ { "type": "chef-solo", "cookbook_paths" : "cookbook" }, "run_list" : [ "apache24" ] } ] } このテンプレートを一ヶ月ほど前に実行した時は問題なく作成されていたのですが、今日実行したところ以下のWarningが。 $ packer build packer.json <snip> ==> amazon-ebs: Provisioning with
Windowsを使っていたマカーが必ず迷うであろう「保存しない」ボタンをキーボードで選択する方法。 WindowsならばTabキーをタ、タン!と叩いて「保存しない」にカーソルを合わせたあとEnterをパチコーン!と押せばよかったんですが、MacではTabをいくら叩いてもフォーカスが動きやがらねぇダイアログがあります。 たとえばPhotoshopとかPhotoshopとかPhotoshopとかPhotoshopです。ほかにはPhotoshopとかです。 そのたびにいちいちトラックパッドやマウスに手を延ばすなんて面倒すぎるわけですが、そんなときは「Cmd+d」を押してみるといいでしょう。サクッと保存しないを選ぶことができます。 何事もなかったように終わるでしょう?今までトラックパッドやマウスに手を伸ばしてきた時間をまとめて返してくれと思うでしょう? ちなみにキャンセルボタンを押すときのショート
よく忘れるのでメモ。とりあえずperlの場合だけ書いておく。 $hash_array = [ { user_id => '01234', user_name => 'tarou', user_mail => 'tarou@example.com', user_old => 10 }, { user_id => '12121', user_name => 'hanako', user_mail => 'hanako@example.com', user_old => 15 } ]; こういうデータ構造から、user_idとuser_nameが紐付いたハッシュリファレンスが欲しい時は my $new_hash = +{ map { $_->{user_id} => $_->{user_name} } @$hash_array }; としてあげれば良い。
note.mu の使い方に迷っていたところですが、次世代DNAシーケンサ(NGS)のデータ解析初心者に聞かれたことを淡々と書くのはありかも。特にコンピューティングについては基礎的すぎて、NGS解析という文脈で整理されていないので書く価値があるかもしれません。早速、最近聞かれたことを書きます。 外付けHDDで数TBのデータが *.tar.bz, *.tar.gz などで送られてくるみなさん、こんばんは。受け取ったデータが解凍できない、自分の計算機にコピーしたけど解凍できない、みたいなことありませんか。DNAシーケンスデータのように、大きなファイルはディスクやサーバ間を移動している間に欠けてしまったりします。大きなFASTQの中身を目で比較するのは大変です。ファイルサイズをみるのは良い手のひとつですが厳密ではないです。 厳密にファイルの同一性を担保するには、データの送り主に「md5 チェックサ
うちの研究室では, 有線LANと無線LANを同時に繋ぐのは禁止. 無線LANは,大学のグロバールIPが割り当てられる. そのマシンを踏めば研究室のネットワークに入れて, セキュリティ的にやばいという理由. あとは,WiFiは使ってなくても, Onになってるだけど電力を使うから, 出来るだけOFFにしておいたほうがいい. (Bluetoothも) だから,PCを持ち歩くときは, いちいち手動で切り替えてたんだけど, こんなことは自動で出来るようにしたい. ということで調べたら,もうやっている人がいました. 誰でも考えることは一緒ですね. 参考: http://www.macworld.com/article/1154976/turnoffairportscripts.html コマンドラインから,ethernetとかairportをチェックしたりいじったり出来るらしい. あとは,MacのLa
テスト駆動開発(TDD)の一般化とGitHubの登場によって、機能追加の際にコードとテストを同時に実装する(そして、両者を一括してmasterにmergeする)という開発手法が一般化してきました。 しかし、「良いプログラム」の要素を構成するのは、コードとテストのみではありません。動作するコードと、その品質を担保するためのテストがあったとしても、適切なドキュメントがなければ、ユーザーはそのプログラムをどうやって使ったら良いかわかりません。 つまり、ユーザーに使いやすいプログラムを継続的に開発/提供しようと思うと、 コード テスト ドキュメント の3点セットを提供する必要があるのです注1。 今日のJSXが抱えている最大の課題は、ドキュメントが不足しているという点にあります。その原因は、「機能追加」の際にコードとテストのみを実装してmasterにmergeすることを繰り返す一方で、ドキュメントは
米国 RedMonk のアナリスト Donnie Berkholz 氏は5月2日、「GitHub language trends and the fragmenting landscape」と題した調査報告を発表した。GitHub におけるプログラミング言語の利用状況をまとめている。 Berkholz 氏は2008年から2013年の間で、GitHub に作成されたリポジトリの主要プログラミング言語を調査。その増減をグラフにまとめた。調査対象となった言語は、C、C++、C#、CSS、Java、JavaScript、Objective-C、Perl、PHP、Python、Ruby、Shell の12言語だった。 同報告は、調査対象となった大半のプログラミング言語の人気が、2008年以降下落傾向にあることを明らかにしている。これは開発者の言語に対する嗜好が多様化し、あまり知られてない言語を選択す
2014年05月09日08:00 ヴァイキング時代の北欧の歴史について適当に学ぼうぜ Tweet 1:アスペニート:2014/05/07(水) 21:49:56.94 ID:0ozFFldv0.net まず北欧の地理から確認 この地図の白くなってる国々を北欧五ヶ国という このうちフィンランドは民族・言語系統が違うし歴史的にもちょっと別物 ヴァイキングと関係があるのはノルウェー、スウェーデン、デンマーク、アイスランドの4ヶ国 転載元:http://viper.2ch.sc/test/read.cgi/news4vip/1399466996/ 日本史における不思議な出来事、奇談。 http://blog.livedoor.jp/nwknews/archives/4668473.html 4:アスペニート:2014/05/07(水) 21:52:35.66 ID:0ozFFldv0.net ヴァ
前回まで延々と続いていたデータ可視化の話も今回で最終回です。 散布図 前回と同様 pydata-book のデータを利用します。 pydata-book/ch08/macrodata.csv https://github.com/pydata/pydata-book/blob/master/ch08/macrodata.csv import numpy as np from pandas import * import matplotlib.pyplot as plt # CSV データを読み込む macro = read_csv('macrodata.csv') # いくつかの列をピックアップする data = macro[['cpi', 'm1', 'tbilrate', 'unemp']] # .diff() メソッドは値をひとつ前の行からの差分に変更する # 先頭が NaN になる
Podfile (テキストファイル) podspec (テキストファイル) Specs (複数のpodspecの集まり) CocoaPods/Specs <公式のSpecs> Specs [SPEC_NAME].podspecを持つ、決められたディレクトリ構成のGitリポジトリ CocoaPods/Specs 公式のSpecsリポジトリ CocoaPodsをインストールした時にデフォルトでクローンされるリポジトリ。保存先は~/.cocoapods/repos/master 他のSpecsリポジトリを追加したい場合は$ pod repo add REPO_NAME SOURCE_URLでクローンの保存先は~/.cocoapods/repos/REPO_NAME podspec ファイル名は [SPEC_NAME].podspec どのGitリポジトリのどのファイルをインストールすればいいかを
(わりと特殊な状況だと思うけど・・・) 安易なgit revertによる事故に遭遇したので備忘録をつける。 現象 開発ブランチをメインブランチにマージして、バグってたのでメインブランチをgit revertした。 その後、開発ブランチでバグを修正してメインブランチにマージし直したら、マージされないファイルが出た。 原因 git revertで戻したファイルが、それ以降の開発ブランチで編集されていなかったため、マージ対象にならなかった。 こんな状況 my-featureでXXX.rbとYYY.rbを編集してマージした状態 * commit 9965401bafd800bec9ea0ce8fa75d8d0d5c8af25 |\ Merge: 3d7c60f cf474a6 | | | | Merge branch 'my-feature' | | | * commit cf474a61754a
こっそりMackerel使ってみてます。 すてき グラフがきれい agentの負荷がすごく少ない タイムゾーンが日本w 今後Azureとかつかうことになっても同じRoleで監視できる いまいち マルチコアのときにCPUの使用率表記が100%を越える メモリのグラフが利用率じゃなくて絶対値(xGByte利用) 使ってるポートどこ('ω'三'ω') サーバにroleを与えるのがいまのとこ手動だけっぽい? Mackerelは手軽さがうれしいと思いました。 今後の機能追加にも期待です。 最終的にいくらで使えるのかもきになります。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful inform
問題 編集したあとにいちいち:wとかして保存するのがだるい。Emacsでいうところの以下の拡張のようなことをしたい。 auto-save-buffers auto-save-buffers-enhanced 解決 vim-auto-saveを使う。 設定は以下(NeoBundleの場合)。 200msecなんもしなかったり(デフォルト設定)、インサートモードを抜けたりした時に、ファイルが保存される。 議論 実際のところ、僕の場合は、auto-save-buffers を設定してから困っ たことはほとんどない。その反対に以前は、ファイルが自動保存さ れないために、編集内容を失ったり、コードは修正したものの保存 を忘れて「なんでバグが直らないんだ!」と混乱したりと、困った ことは何度もあった。誰もが auto-save-buffers に向いていると は言わないけど、興味のある人は試してもらえ
Railsサーバを再起動して適当にclassをあててみてBootstrapが適用されていることを確認 Javascript assets/javascripts/application.jsに以下の内容を追加
($mx,$my) = gets.split(" ").map(&:to_i) $mem = [] $mx.times do $mem << gets.chomp.bytes.map(&:chr).map(&:to_i) end def count(x,y) k = 0 $mx.times do |i| $my.times do |j| if $mem[i][j] == 0 k += 1 if drawable(i,j,x,y) end end end puts k end def drawable(mx,my,x,y) return false if mx + x > $mx return false if my + y > $my x.times do |i| y.times do |j| return false if $mem[mx + i][my + j] == 1 end en
JavaScriptの等価演算子 JavaScriptには、2種類の比較方法があります。 等価演算子(==) 暗黙の型変換をして比較する 厳密等価演算子(===) オペランド同士を型変換することなく、型や値を厳密に比較する
いままでMacOS/UbuntuでVagrantを利用してCentOSを仮想化して開発を行ってきましたが、仮想化されたCentOSは決してコンパクトではなく可搬性がとても低いと感じていました。本番環境と同じOSを利用するためにUbuntu上でCentOSを動かすのも無駄かなと。 そこで最近仮想化で話題のDockerを利用し、コンテナ型仮想環境へ移行することにしました。Dockerがもっと安定してきたら本番環境にも是非適用してみたいと考えています。 Homepage - Docker: the Linux container engine https://www.docker.io/ この投稿は長くなりそうなので、何回かに分けて投稿していきます。本投稿ではCoreOSを仮想環境上に構築し、Dockerの動作を確認するするところまで説明していきます。 UbuntuではネイティブでDockerが
別にそんなランキングが好きってワケでもないのだけど、 sortとuniqとawkでいけそうなので試してみた。 元のファイル user_1 2 user_2 4 user_3 3 user_4 5 user_5 5 user_6 10 user_7 10 user_8 2 user_9 5 user_10 9 user_11 1 user_12 10 user_13 5 user_14 3 user_15 10 user_16 3 user_17 8 user_18 8 user_19 6 user_20 8
はじめに 以前は「貧者の GitHub Enerprise」などと言われることもあった GitLab ですが、「GITLABはブランチ毎に書き込み権限を制限できるという点においてGitHubよりも圧倒的に優れている」という意見も見られるなど、機能面、安定面ともに着実に進歩しています。 そのインストールの難しさが話題に挙がることもありましたが、公式インストールドキュメント はとてもよく書かれていますし、Chef の Cookbook なども多数存在します。個人的に Chef より Ansible が使い易かったため、CentOS 用の playbook も書きました。 以上のような状況から、GitLab は何らかの理由で GitHub や GitHub Enterprise を利用できない環境においても、Git および Pull Request (Merge Request) による開発フロ
Railsプロジェクトでグラフ描画用のライブラリ「Chartkick」を使用する手順をまとめました。 Railsでグラフを描画する Railsでグラフを描画する場合、「lazy_high_chart」「Chartkick」「Gruff」などのライブラリを利用することができます。 Ruby on Rails で使えるグラフ・チャート用ライブラリまとめ | EasyRamble 今回は、比較的簡単そうな「Chartkick」を使用してみました。 Chartkick Chartkickの使用手順 Gemfileを編集する JavaScriptのライブラリを読み込む グラフ描画用のデータを準備する ヘルパーメソッドでグラフを描画する 1. Gemfileを編集する Gemfileにgem 'chartkick'を追加します。
3D(3次元)プリンターで作られた樹脂製拳銃(3Dプリント銃)とみられる銃が見つかった事件で、銃刀法違反(所持)容疑で逮捕された私立大学契約職員の居村佳知容疑者(27)(川崎市高津区)は10万円前後で3Dプリンターを購入していたことが、捜査関係者への取材で分かった。 さらに、銃の一部がアルミや鉄で補強されていたことも判明。居村容疑者は「米国のサイトからダウンロードした設計図を何回か書き換えた」と供述しており、神奈川県警は強度を高めるため試行錯誤していたとみて調べを進めている。 捜査関係者などによると、居村容疑者は半年ほど前、組み立て式の外国製3Dプリンターをインターネットサイトを通じ、静岡県富士宮市の業者から10万円前後で購入していたという。3Dプリンターは1980年代に実用化。主要な特許の期限が切れたことなどから低価格化が進み、家庭向けは10万円以下の商品もある。
3D(3次元)プリンターで作られた樹脂製拳銃(3Dプリント銃)とみられる銃が見つかった事件で、神奈川県警は、銃刀法違反容疑で逮捕した私立大学職員の居村佳知容疑者(27)(川崎市高津区)が、インターネットで銃の設計データとプリンターを入手し、自宅で一人、製造したとみて捜査している。 銃規制の専門家らは、懸念していた事態が現実となり、「法規制の検討が必要」と危機感を募らせる。 居村容疑者は今年4月から、理系大学で契約職員として勤務していた。高等職業技術校を卒業し、旋盤などの技能資格を持っていたが、大学によると、学内の3Dプリンターは業務上も業務外でも使用したことはないという。 銃犯罪に詳しい立正大の小宮信夫教授(犯罪学)は、「国内の銃規制を根底から揺るがす事態」と語る。小宮教授によると、日本は原則、製造も所持も禁止する厳格な規制を取ってきた。暴力団など反社会的勢力が扱う銃も、大半は海外からの密
Built for Code Ace is an embeddable code editor written in JavaScript. It matches the features and performance of native editors such as Sublime, Vim and TextMate. It can be easily embedded in any web page and JavaScript application. Ace is maintained as the primary editor for Cloud9 IDE and is the successor of the Mozilla Skywriter (Bespin) project. /** * In fact, you're looking at ACE right now.
と追記すれば使えるようになります。(上記はユーザ名がuserの場合) ただ、/etc/sudoers はreadonlyでrootユーザも編集できません。 そのときは、visudoコマンドを使えば、編集できるようになります。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
puppylinux 5 辺りの devx.sfs に含まれている git で、なぜか git log の表示ができなくて気になっていたのですが、 (lupu528jpやprecise5.6.1jp でも同じ。) git log を表示するのに必要なpagerの設定がうまくいってなかったようで、 次のように、git config で pager に less を設定すると表示されるようになった。 git config --global core.pager less 設定の確認 git config --global --list .. core.pager=less <--- これが表示されていればセットされている。 Register as a new user and use Qiita more conveniently You get articles that match you
Macではsayコマンドで音声合成を再生することができますので、それを利用します。 リポジトリのあるディレクトリで $ vim .git/hook/post-commit #!/bin/zsh git log -1 HEAD --pretty=format:%s | read _msg /usr/bin/say -v "Kathy" "$_msg" $ chmod +x .git/hook/post-commit とします。そして、 $ git commit -am "Hello" のようにコミットすると「Hello」と合成音声で再生されます。 'Kathy'は英語しか話してくれないので、日本語が混じっているとうまく再生されません。 日本語のときは、'Kyoko' にします。 Register as a new user and use Qiita more conveniently Yo
FactoryGirl.define do factory :user do name "Michael Hartl" email "michael@example.com" password "foobar" password_confirmation "foobar" end end シンボル:userがfactoryコマンドに渡されると、Factory Girlはそれに続く定義がUserモデルオブジェクトを対象としていることを認識する。 ハッシュ保存するパスワードなどを含むモデルを使ったテストは遅い。 BCryptアルゴリズムによるセキュアパスワードのハッシュ生成そのものが仕様上遅い 対策としては以下のコードを埋め込む
String str = "a"; int[] array = new int[10]; System.out.println( "文字列の長さ = " + str.length() + "配列の要素数 = " + array.length); なぜ、配列のlength には() がつかないのか? 疑問に思ってAPI のソース(1.8)を見てみました。 String.java#length() /** * Returns the length of this string. * The length is equal to the number of <a href="Character.html#unicode">Unicode * code units</a> in the string. * * @return the length of the sequence of charac
class User < ActiveRecord::Base has_many :items end User.items.total_attack # 装備しているアイテムの総攻撃力 User.items.drop_random! # ランダムでアイテムを1つ落とす scopeで実装できることも多いと思いますが、SQLだけで処理できないような(Arelだけで記述できないような)処理をscopeにしてしまうのもいかがなものかと思います。 has_manyにはextendオプションがあって、その名の通り関連を拡張できます。 module ItemCollection def total_attack # ... end def drop_random! # ... end end class User < ActiveRecord::Base has_many :items, extend
Sign up for freeGet started in minutes with our cloud products TerraformInfrastructure as code provisioning
Vimでのコピー方法を調べてたら「Visualモードでyを押せばテキストがコピーできて便利だぜ、ヤフゥー!」な紹介がすぐに見つかったのに他のソフトと連携するためにyankじゃなくてクリップボードにコピーする方法がちょっと見つかりにくかったので紹介します。
なぜ、Go言語にはpackageに対するリフレクションがないか。または如何にしてgo testが動作しているか。Go プログラマあるあるとしては、新しい言語をはじめると自然とリフレクションAPIを探してしまうものです。 当然、golangにもreflectパッケージはあって、それを眺める訳ですが、packageに自体に対するclassや関数の列挙がないのです。 そうなってくると不思議なのは、go testです。 go testは、テストコードから、TestやBench、Exampleといったprefixのついているものだけを実行したり、Testしたい関数のprefixを指定できたりします。 これをみて、すっかりLL脳になっていた私は、packageに対してのreflectionがあるんだろうと思い込んでいたのです。 実際のところgo testは標準ライブラリとしてついてくるgo/parse
StoryBoardで作成する場合は下記のような構造で組めば良い。 rootViewControllerをNavigationControllerにすると、実行時に一見うまくいってるように見えるが、 実際には各UIViewControllerで追加したNavigation Itemの設定が反映されないので注意。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
初期状態だとNGUI用のFontのプレハブが無いのでまずそれを作成する。 とりあえず Type で Dynamic を選択。 Font TTF の横の○をクリックして、Arial を選択。 Font Maker に戻って [Create the Font] をクリック。 すると、UnityのProjectビューに"Arial"という名前でプレハブができるので、それを適当な場所("Fonts"フォルダなど)に移動。 シーンビューに戻って、メニューから [NGUI]-[Open the Widget Wizard] を選択。 Widget Tool で Template から Label を選択し [Add To] をクリック。 Register as a new user and use Qiita more conveniently You get articles that match
Google Apps 利用規約 – Google Apps 採用事例には多くの企業 さまざまな規模の企業や団体が利用しています。公表していないだけで利用しているところもあるでしょう。 お客様の声 – Google Apps for Business キユーピー株式会社 株式会社マイナビ 株式会社クボタ 全日本空輸株式会社 ミサワホーム株式会社 ソフトバンクテレコム株式会社 カシオ計算機株式会社 戸田建設株式会社 三井倉庫株式会社 株式会社ノーリツ 株式会社アデランス(旧株式会社ユニヘアー) 株式会社ジェイティービー 生活協同組合コープさっぽろ 年間1ユーザあたり6000円でその他のGoogleツールも付いてくる Gmail以外のさまざまなアプリケーションが利用可能です。 ファイル共有やビデオ会議、カレンダーなどが使えます。もちろんモバイルにも対応し二段階認証などのセキュリティを担保する機
Fluentdでは出力側が詰まると、バッファがたまっていき、ある程度するとバッファが詰まり、今度はそこにForwardしているバッファが詰まり、数珠つなぎにバッファが詰まっていく。大量にたまらないときは出力側が流れ出したら、復帰してくれてとても便利だ。memoryバッファにしておくと、プロセスを再起動しないといけないときに消えちゃうので、fileバッファにするのがいまのところ王道設定である。 しかし、出力先で障害が発生し長引くと、バッファが詰まっていって回復するまでにバッファがあふれてログを取りこぼしてしまったり、いざ回復しても、今度はFluentdからバースト的にログが流れてきてまた詰まってしまったりする。また、出力先が何かの障害でログが失われてしまったとき、復旧する手段がなくて困る。 そこで、Fluentdからいろんな時に出力するときに、一旦ファイルにログを書き出して数週間ためておいて
PhantomJSはすごく便利なのですが、ちょろっと使いたいだけのときにスクリプトファイルを用意するのは若干面倒です。対話モード(REPL)も用意されていますが、対話的に使うだけならChromeの方が使いやすい場面が多いです。 今回の想定シーンは、「GitHubでStarしてくれた人の一覧が欲しい」というようなケース。時々、Issueで全員に連絡したいことがありますよね。↓ こういうやつ。 @user1, @user2, @user3, ... GitHubだとJSONを返すAPIが用意されているので、それを使います。 コンソールを開く 新規タブを開いて、about:blankに移動します。まっさらな状態にするのがポイントです。 jQueryを仕込む PhantomJSを使う場合もそうですが、素のJavaScriptだと面倒が多いので、jQueryを仕込みます。次の2行を実行すればOK。
はてなのサーバ監視サービス「Mackerel」(鯖)のベータ版サービスが開始されました。 大量のサーバでも状態をグラフとかに可視化してわかりやすく監視できるよ!ってサービスで、競合も多いのですがMackerelは設定が簡単なのとグラフがカッチョイイのがいいですね。 とりあえずプライベートのサーバ(CentOS 5.10)にエージェントをインストールしてみましたが、すぐ監視が開始されました。 簡単すぎる! そしてかっちょいい! 参考記事 セットアップまでは以下のサイトで大変わかりやすく解説されています。 Mackerelを始めてみた 現状ハマり 「Services」でグラフを選択しようとすると、Chrome(Windows)の場合メニュー表示が白地いに白文字になってしまいます。 最初選択できないのかとおもって焦りました。すぐ修正されると思いますが…。 原理 サーバ監視のために、監視対象のサー
Vagrant + VirtualBox を使って Macbook Air に VM を立てて、CentOS 上に Rails4 の開発を行っています。 DB には MySQL を使っているのですが、なんともわかりづらい。 ノートで設計して、頭で設計してコマンド叩いて...の手法に限界を感じました。 できればER図かけるし、DBとも繋がっているし、な環境にならないかなぁって思っていたら、MySQL Workbenchと出会いました。(1年位前にorz) VagrantとMySQLWorkbenchを繋ぐ方法をメモります。 MySQL Workbenchのインストール こちらからどうぞ => http://dev.mysql.com/downloads/tools/workbench/ 面倒くさくて有名なORACLEの認証が必要になりますorz ナビゲーション通りにすすめば問題なくインストー
ブロックで作られた世界でプレイヤーが自由に建物を作ったり破壊したりできるゲーム「マインクラフト」は、モバイル版の売上が2100万本・Xbox 360版が1200万本以上という世界中で人気のゲームです。デンマーク政府は人気の高いマインクラフトを教育に取り入れようと、デンマークの国土を1/1スケールで完全再現しユーザーに公開する、という新しい試みを展開していました。ところが、心のないプレイヤーによって再現した建物などが破壊されてしまう事態が発生しています。 Besøgende hærger Danmark i Minecraft | Nyheder | DR http://www.dr.dk/Nyheder/Indland/2014/04/25/124123.htm Denmark dynamited by cunning American Minecraft vandals • The Re
世の中で最も食されているものが最も美味しいと定義するならば、マックのハンバーガーとコーラは世界で最も美味しいということになるというのは有名です。そんな原理でいくとExcelは世界最高のツールになるのかも知れません。 つまり他の言語でもExcelの関数を実装すれば、誰でもプログラミングができてしまう…そんな世の中になるのかも知れませんね!ということで第一弾としてJavaScriptでExcelの関数を実装したFormulaJSを紹介します。 FormulaJSの使い方 例えば配列系の関数。 テキスト系。 演算系。 例えばASINのような関数はこのようにラッピングで実現しています。 Formula.ASIN = function (number) { return Math.asin(number); }; 全ての関数を実装し直しという訳ではなく、ラッピングで実装しているものも数多くあります。
Hacker NewsでおもしろそうなMac用のHTTPクライアントアプリ「Paw」が紹介されていました。 Paw HTTP Client カテゴリ: 開発ツール 価格: ¥2,000 Pawの機能は多彩ですが、要は自分好みのHTTPリクエストをGUIで組み立てて、テスト送信したり、管理したり、結果を受け取ったりすることができる開発者向けのアプリのようです。 HTTPを使ったプログラムを作成する際に、サーバーとクライアントとの間で実際にどのようなデータのやりとりが行われているか可視化することができるので、Web開発やデバッグに便利そうです。 ユニークな機能として「Code Generation」というものもあります。作成したリクエストからプログラムのソースコードを作成してくれる機能で、「cURL」、「Objective-C」、「Python」、「Ruby」、「jQuery」、「PHP」など
*トレジャーデータはデータ収集、保存、分析のためのエンドツーエンドでサポートされたクラウドサービスです。 「Login(アクセス)ログからわかる12の指標 シリーズ」 その1,その2,その3,その4 クエリ内のTreasure UDFのリファレンスはこちら。 本シリーズの主張は,例え単純な ”ログイン”(アクセス)の記録のみを取るだけでも,それにユーザーIDが付くことでトレジャーデータ上で遙かにリッチな示唆を得ることができる,ということです。 もしユーザーを識別できるサービスをお持ちでこれから分析を始めたい企業様は,きちんとそれをloginログを残すことから始めましょう。本記事では「login(アクセス)ログ」というたった1種類のデータから得られる12の指標を紹介したいと思います。 定義 以下の項目で定義されるログを「loginログ」と定義し,かつ各ユーザーの登録時からこのログデータが取得
Mac用の人気ランチャーアプリAlfredの最新版 2.3 がリリースされました(公式ブログ)。 Alfred カテゴリ: 仕事効率化 価格: 無料 バージョン2.3では、有料オプションであるPowerpackに関連した新機能が多数追加されており、例えば「Context-sensitiveなホットキー機能」、「外部トリガー機能」、「ファイルを特定のアプリで開くことができる機能」、「Workflowのデフォルト(開発者向け)」などの機能が新規追加あるいは改善されています。 便利そうだなと思ったのは「Context-sensitiveなホットキー機能」でしょうか。この機能を使えば、Workflowにホットキーを割り当てて利用する際に、例えば「Safari、Chrome」がフォーカスしていた場合だけアクティブにするといったことができるようになります。無闇やたらにグローバルなホットキーを定義すると
昨日のCovert Redirect で Query 漏れるケースもある!?やOAuth 2.0 の脆弱性 (!?) “Covert Redirect” とはにあるように、OAuth 2.0 の code が漏れちゃうことも、ありえます。 漏れないためにやるべきことは、上記の記事やFacebook Login で Covert Redirect を防止するなんかでも紹介してるので、そちら読んでください。 で、今回の内容は「code が漏れたら何がまずいのか」についてです。 「code は漏れても大丈夫」説 「Covert Redirect」についての John Bradley 氏の解説(追記あり)にも、こうありましたね。 OAuth と OpenID Connect には複数の response_type があるんだけど、さきのリポートの著者は、最も一般的な response_type が
久しぶりにDBAとしてお手伝いした時の汚いメモになります。 Percona Server5.5+ioDriveのMySQLで、イベント時やピークタイムにアプリケーションからのDB利用が重くなる、ということで調査から対応方法まで考えてみました。 問題点の大雑把な特定 高トラフィック時に、RubyからMySQLの接続やクエリがちょこちょこ重くなり、レスポンス速度に影響が出る、とのこと。で調査開始。今回のPercona Serverのバージョンは 5.5.34 でした。 top -d1 で触診してみると、謎の10秒間隔でiowaitが5~10%に上がることを確認 5分平均のiowaitグラフを見ても、ピーク時は50~60%であることを確認。ioDriveでこれはイカン dstat で見ると、平時はwrite数MB/s~十数MB/sのところが、やはり10秒間隔でwrite 数百MBを確認。ピーク時
Israel is in discussions with SpaceX to rollout Starlink internet services, especially for communities near the conflict zone, an Israeli official said Tuesday. Starlink currently isn’t available in Stellantis announced Tuesday that it will cancel its planned presentations and display at CES 2024, the tech trade show that takes over Las Vegas every January. The reason? The automaker, which owns a
電書ちゃん EPUB制作を解説した文書っていっぱいあるけど、情報が多すぎてかえって振り回されちゃうこともあるのよね。 ろす そこで、今日はさまざまなEPUB制作ガイドに対する基本的な考え方について話したいと思います。セルフパブリッシングの人よりも、商業出版の世界で電子書籍制作に関わり始めた人向けの内容です。 ザ・原点(EPUBの仕様とベストプラクティス) ろす まず最も根底にあるのはEPUBを策定した団体IDPFが公開しているEPUBの仕様だよね。なかなか巨大な代物です。そもそも出版物とは多様なもの。一般書、コミック、専門書、雑誌、絵本、オーディオブックなどなど。その結果、あらゆる出版物に使える汎用的なフォーマットを目指すEPUBの仕様も肥大化してゆきました。 仕様書とIMAGEDRIVEさんによる日本語訳はこちら。 EPUB 3 | International Digital Publi
位置情報の取得とWebSocketによる送信 [Geolocation APIとwebsocket-railsによる位置情報通知アプリ #1] はじめに ブラウザにて位置情報を取得し、その情報を別のクライアントへPush通知する処理の サンプルをRuby on Railsで作成してみました。 なんらかの業務で、ある社員が持つ端末より位置情報を取得し、本社側でリアルタイムで その情報を把握する、というような用途を想定しています。 アプリの機能としては JavaScriptにて、Geolocation APIを使用して位置情報を取得する websocket-railsを使い、WebSocketでサーバ側へ送信する サーバ側は、受け取った位置情報をwebsocket-railsを使い、別画面へPush通知する の3つに分けることができます。 これらの機能を実装するポイントについて書いていきたいと
tlongren/jquery-sticky-alert GitHub ページトップに固定したアラートを表示できる「jquery-sticky-alert」。 スクロールしてもfixedされたアラートを簡単に実装できます。サクッと自作しちゃえる物かもしれませんが、手早く実装したい際に参考にできるかも。 関連エントリ ページ内にどんどん通知アラートを設定できるjQueryプラグイン「Messenger」
unicorn,resqueのプロセス管理に今回はeyeを使うことにします。 はじめBluepillで設定していたのですが、Ruby2.0環境だとBluepillのプロセスがゾンビで溜まりまくるという問題があり、代替をさがしていたところeyeというのがありました。God、Bluepillを参考に作られているということで設定も似た感じかな?と思い採用しています。今のところRuby2.x環境でも問題は起きていません。 EyeとMonitで監視対象のプロセスをわける デプロイの際に再起動するプロセスをeyeで、それ以外をmonitで監視するようにします。 eye unicorn,resque-work, resque-scheduler, resque-web monit crond,rsyslogd,postfix,nginx,など インストール bundleでは無くgemで入れてます。 $g
最近、Railsで開発していると、ActiveModelを使ってプレーンなオブジェクトを拡張してモデルとして利用する事が増えてきた。 そういうクラスを定義していると、しばしばActiveRecordなオブジェクトに対する参照が欲しくなる事がある。 で、単純にこういう定義をしたりする。 class Comment include ActiveModel::Model attr_accessor :body, :user_id def user @user ||= User.find_by(id: user_id) end def user=(user) self.user_id = user.id @user = user end end とは言え、タイプチェック入れたり、同じような定義がいくつも入ると邪魔である。こういうものは宣言的に済ませてソースコードには、もっとドメインのコードを表現し
注意 このポストも半年以上が経過し、情報が古くなっています。選定の際は以下のサイトなどで再度検討することをおすすめします。 Top Open-Source Static Site Generators - StaticGen 方向性は2つ選択肢は3つ タスクランナ 単ページやシンプルな構造のサイトの場合いわゆるスタティックサイトジェネレータでなくても、GRUNTやgulp.jsなどのタスクランナーで十分 わざわざ独自の規格とかに乗っかるより、そっちのエコシステムに乗っかったほうが断然いい ただし、それなりにタスクランナーについて予備知識は必要 タスクランナ+ジェネレータ 設定ファイルとかディレクトリの初期設定が面倒なら、GruntならYeoman、gulp.jsならSlushなどを使えばいい。 こっちはタスクランナーの予備知識に加えてジェネレータの知識も必要。 大きなエコシステムに乗っから
やりたいこと deviseを使ってログイン機能を実装しており、Sign_upするときに、emailとpasswordだけじゃなく、usernameも登録のときに入力させたいなと思った。 <h2>Sign up</h2> <%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> <%= f.error_notification %> <div class="form-inputs"> <%= f.input :username, required: true %> #ここを追記 <%= f.input :email, required: true %> <%= f.input :password, required: true %> <%= f.input
warning CS0618: UnityEngine.GameObject.active' is obsolete:GameObject.active is obsolete. Use GameObject.SetActive(), GameObject.activeSelf or GameObject.activeInHierarchy.' Unity 4 から "active"プロパティが"activeSelf" に変更されたので該当箇所を修正する。 error CS0200: Property or indexer `UnityEngine.GameObject.activeSelf' cannot be assigned to (it is read only) activeSelfは読み取り専用なので、"gameobject.activeSelf = true"とかは無理。 書
MacではKeyRemap4MacBookを使って爆速にしているキーボードでのカーソル移動速度ですが、windowsでは特に何にもしていなかったので、激遅に感じます。 快適に動かす為の方法を調べました。 コントロールパネルから変更 画面左下のwindowsボタンをクリックしたら出てくる「プログラムとファイルの検索」欄に『キーボード』と入力して検索。 コントロール欄の中に「キーボード」という項目が出てくると思うので、それをクリック 「表示までの待ち時間」や「表示の間隔」を調整(試す欄がすぐ下にあるので、試し試しやってみてください) 適応ボタンを押下 OKボタンを押下して終了(再起動しなくてもすぐに反映されているはず) レジストリ操作をして更に速くする(非推奨!!) !!レジストリ操作は自己責任でお願いします!! 1.1 画面左下のwindowsボタンをクリックしたら出てくる「プログラムとファ
オバマ大統領の再選に大きく寄与したことで大きな注目を集めているA/Bテスト。A/Bテストを導入した、することを検討している、という開発現場も多いのではないだろうか。 そんな中、Web上で次のような議論を見つけた。 20 lines of code that will beat A/B testing every time Why multi-armed bandit algorithm is not “better” than A/B testing 一言でまとめると「A/Bテストよりバンディットアルゴリズムの方がすごいよ」「いやいやA/Bテストの方がすごいし」ということだ。 で、バンディットアルゴリズムとは一体何者なのか? そこでBandit Algorithms for Website Optimization (O'REILLY)を読んでみた。その結果分かったことを踏まえてざっくりと
超具体的に言うと、WebDriverのPython APIでByを使うんですがこれが何宣言してんのか知りたい。By.NAMEは覚えたけどBy.CLASS_NAMEなのかBy.CLASSなのかどっちだっけ。 ……というときにlocate '/usr*python*webdriver*by*'とかやるの、なんだかアホいなぁと。 > locate '/usr*python*/webdriver*by*' /usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/by.py /usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/by.pyc (viewとかemacsで見る) In [1]> from selenium.webdriver.common.
# -*- coding: utf-8 -*- import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): # self.write_errorをオーバーライド def write_error(self, status_code, exc_info=None, **kwargs): self.set_header('Content-Type', 'text/html; charset="utf-8"') # 適宜content-typeを宣言(optional) if status_code == 503: # 直接書いてもいいし、 self.finish('<h1>503 Service Temporarily Unavailable</h1>') elif status_
前にも書いた気がするのですが、できることの情報共有だけじゃなくて出来ないことの情報も積極的に公開していったほうが良いと思うんです。そうすれば無駄に検索に時間を費やすこともなくなるし。 できないと思って情報公開したら「それできるよ。」と誰かが教えてくれるかもしれないし! さて、Ruby界隈で迫害され続けるWindowsですが、自分はやっぱりWindowsがなんだかんだで一番使いやすいのでWindowsでRubyを使いたいんです。快適なRuby開発環境をWindowsに求めて今回は文字コードに関してのお話です。 基礎知識 Windowsの日本語版のコンソールはShift-JIS(CP932) 最近のRubyの標準はUTF-8 WindowsでUnicodeといった時には文字コード体系のUnicodeではなくてUTF-16を指すことが多い。 Rubyのコンソールで日本語を表示する方法 取れる方法
備忘録。 何らかの設定画面をシートダイアログでつくるとき、ベースとなる NSWindowの Title Barオプションを外すとテキスト編集ができなくなる。ボタンとかは使える。 参考: http://stackoverflow.com/questions/7561347/cant-edit-nstextfield-in-sheet-at-runtime 後半を読むと、キーウィンドウになるよう設定するだけでも良いみたい Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signi
サーバの死活監視を手軽に設定したかったので、monitを使ってみることにしました。 参考にさせていただいたサイト 株式会社シャノン技術ブログ: 15分で始めるmonitによるサーバ監視 Monit でお手軽に外部のサーバを監視する - akishin999の日記 環境 OS : CentOS release 5.9 (Final) monit : 5.5 インストール DAGリポジトリ(rpmforge)を設定済みだったので、yumでインストール可能でした。 設定 設定ファイルは共通となるものが「/etc/monit.conf」、さらに「/etc/monit.d」の中に監視対象を細かく分けて書いていきます。 /etc/monit.conf 自分の場合は変更したのは初期設定から二点だけでした。 メールサーバの設定
前回までに引き続き matplotlib と pandas によるデータ可視化について話を進めていきます。 外部データを可視化する 今回はより実践的なデータとして外部のデータを利用しましょう。この記事の参考にもしている pydata-book のデータをまずダウンロードしてきます。 pydata-book/ch08/tips.csv https://github.com/pydata/pydata-book/blob/master/ch08/tips.csv import numpy as np from pandas import * import matplotlib.pyplot as plt tips = read_csv('tips.csv') # CSV データのクロス集計をおこなう party_counts = crosstab(tips.day, tips.size) pr
Capistranoはバージョン3から汎用的なデプロイフレームワークになりました。タスクのフックを利用することで簡単に自分のアプリケーション環境に特化したデプロイプロセスを記述することができます。 本稿では、この汎用化されたデプロイ機能の使い方に焦点を絞って解説したいと思います。より基本的なCapistrano3の解説は 入門 Capistrano 3 ~ 全ての手作業を生まれる前に消し去りたい | GREE Engineers' Blog がよくまとまっているので、そちらを参考にしてください。この参考記事では "5. Capistranoデフォルトタスクの消去" でCapistranoの新規導入時のコストを下げる目的で、このフレームワーク機能を消去しています。本稿はこのフレームワーク機能の使い方を解説するものです。 deployとframeworkの2つの抽象度が用意されている Capi
DegitalOceanとは SimpleCloudHosting for Developper VPSっす。 AWSとかだと料金体系がめんどくさいですが、 最低スペックで、5$/月のみ。シンプルでわかりやすいです。 これで20GB SSD Diskと1TB/monthの帯域がついてきます。 個人的に遊ぶ分には十分なサーバです。 WebAPIが提供されています。 開発者向けと銘打つだけあり、WebAPIが提供されています。 今回、そのラッパーをPHPで書いてみました。 コマンドライン上からサーバを停止してスナップショットをとる。 とかができるようになります。 oceanを導入 wget https://raw.github.com/abe00makoto/ocean/master/ocean chmod +x ocean vim ~/.bash_profile export OCEAN_A
htmlspecialchars_decode について。 突然のエラー、、 原因は「htmlspecialchars_decode」関数がPHP4環境では動作しないとのこと。。 そのため、似たような処理をPHP4上で実現させるための対処方法を調べました。 if ( !function_exists('htmlspecialchars_decode') ){ function htmlspecialchars_decode($string,$style=ENT_COMPAT) { $translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS,$style)); if($style === ENT_QUOTES){ $translation['''] = '\''; } return strtr($st
Navigation Timingだからできる、Webアプリを俯瞰したパフォーマンス計測(3/3) 川田寛(ピクシブ株式会社) いよいよHTMLドキュメントのダウンロードと、画面上への表示です。この動作の仕組みから、TATの「終了」がいつなのかを追ってみましょう。「終了」についてはかなり奥が深く、Web標準でもそのプロセスを「The End」として定義はしていますが、それだけでは語りきれない難しさがあります。 4. TCP接続、5. HTTPリクエスト/レスポンス 名前解決で得られたIPアドレスを使って、HTMLドキュメントが置かれたサーバへ「4. TCP接続」します。いわゆる、3ウェイハンドシェークというものです。サーバとの接続交渉が終わると、HTTPリクエストをサーバへ送信し、HTTPレスポンスを受け取ります。 HTTPレスポンスの結果からリダイレクトであることが発覚した場合、「2.
Vagrant1.6のDocker provider Feature Preview: Docker-Based Development Environments Vagrant 1.6からDocker providerがサポートされた.つまり,VagrantでVMだけでなくコンテナも管理できるようになった. この機能はネイティブでDockerをサポートしてないOSXでも使え,この場合は裏側でProxy VM(boot2docker box)が勝手に立ち上がって,その上でコンテナが立ち上がる.つまり,以下のようになる. OSX -> (Proxy VM) -> Docker Container OSXの場合,これは今までboot2dockerを使ってやってきたのと変わらない.ただ,Docker providerを使うと,boot2dockerの立ち上げまで面倒を見てくれる. 何が嬉しいのか
Ruby Weekly経由。Array()を使ったnilガードを紹介しているGuarding with arraysという記事がナイスでした。 Rubyでのコーディングは常にnilとの戦いなのであります。 例えばparams[:pictures]に配列が入ってくると期待して、こんなコードを書くと、 params[:pictures].each do |picture_id| # なんか処理がある end params[:pictures]がnilのときにエラーになりますよね。なのでこんな風に書いたりするんですが、ちょいダサい。 (params[:pictures].presence || []).each do |picture_id| # なんか処理がある end で、Guarding with arraysで紹介されている方法が、こんな書き方。 Array(params[:pictur
https://www.youtube.com/watch?v=-KFe5pGMFbo 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Uberは、配下のタクシーの乗車率を最大化して、かつ顧客の不満「タクシーがつかまらない!」「呼んだタクシーがくるのが遅い!」を下げるために、タクシーがつかまりづらい時間帯は動的に価格が上がる仕組みにして、需給バランスの最適化を計ってます。 最初はしばらく手動で値上がり率を入力して、データを蓄積。それからアルゴリズム化した。 都市ごとに係数は変えている。大きな都市では、空きタクシーの検索範囲は市全体でなく時間帯で適切なエリアだけをカバーするかたちに変えた。 最初はその時間に適用される値上がり率を、へりくだったお詫び的なテキストの中で表示していたが、請求されてから気づく酔
vim-quickrun quickrun とは、vim のプラグインである。 vimで編集しているファイルをそのまま実行できるものであり、大変便利である。 問題点 保存されていないファイルで quickrun を実行すると、一旦テンポラリファイルに書きだされてから実行される。 その時のテンポラリファイルのパスは、tempname()で生成されるパスであり、これは/tmp/下に作られるようだ。 通常これでも問題はないのだが、例えば require_relativeを使用しているRubyプログラムなどでは問題となる。 require_relativeは、プログラムファイルからの相対パスで別のRubyファイルを読み込むメソッドである。 つまり、元のプログラムとは違う位置でテンポラリファイルが生成されて実行されてしまっては、require_relativeがファイルを見つけることは出来なくなって
README のファイル名は慣習的にすべて大文字(であることが多い) GitHub でプロジェクトを作るときに README を作成するオプションを入れておくと、README.md というファイルができる。それ以外の場所のプロジェクトでも README.txt や README など、ファイル名がすべて大文字になっているものをよく見かける。 なんか気持ち悪いなぁ、って思ってました。 readme でいいじゃん、と。 詳解 Linuxカーネル 第3版 作者: Daniel P. Bovet,Marco Cesati,高橋浩和,杉田由美子,清水正明,高杉昌督,平松雅巳,安井隆宏出版社/メーカー: オライリー・ジャパン発売日: 2007/02/26メディア: 大型本購入: 9人 クリック: 269回この商品を含むブログ (71件) を見る 調べてみた README - Wikipedia, th
最近のウェブページでよく見かけるカルーセル、アコーディオン、ドロップダウン、モーダルウインドウ、タブコンテンツなど、さまざまなコンポーネントをHTML5+CSS3で実装するライブラリを紹介します。 HTML5の「aria-hidden属性」とラジオボタン・チェックボックスをうまく使い、スクリプト無しで実装されています。 Pure CSS Components Pure CSS Components -GitHub ダウンロードできるCSSファイルには、通常のスタイルシートのほかにLESS版も含まれています。 Pure CSSで実装するカルーセル Pure CSSで実装するアコーディオン Pure CSSで実装するドロップダウン Pure CSSで実装するモーダルウインドウ Pure CSSで実装するタブコンテンツ 各コンテンツはHTML5対応ブラウザ、IEは9+でご覧ください。 Pure
オーディオ好きだけでなく、そうでない人にもかなり珍しい、さまざまなオーディオや音響関係のアイテムをまとめたグラフィック素材を紹介します。
Ubuntu 14.04 LTS「Trusty Tahr」のような長期サポート版(LTS)には、劇的な変化は期待されていない。そういった大きな変更は、その間のリリースで行われるべきものだ。そのかわりLTSリリースには、安定性の向上と、中間リリースで施された変更内容を洗練させることが求められる。実はMark Shuttoleworth氏は3年近く前に、Ubuntu 14.04 LTSは、すべてのハードウェアフォーマットに横断的な「コンバージェンス」を実現するリリースになると述べている。しかし今にして思えば、この目標を達成するには、これ以前のリリースでコンバージェンスに必要な要素(「Mir」および「Unity 8」)の導入に成功している必要があった。Canonicalはそのためにそれなりの労力を投じたが、開発の中心がスマートフォンおよびタブレット用のUbuntuに移ったこともあり、このコンバー
orlandotm/payment-webfont GitHub amazon、各種クレカなど決済用のWEBフォント「payment-webfont」 次のようなクレジットカードから各種サービスのロゴがあつまったWEBフォント。 こういうのもフォントで表現したいという場合は使えそうです 関連エントリ 大量のフォントから好きなフォントだけ抜き取ってWEBフォント化できる「Font Combiner」 サイトのフォントを特定のWEBフォントでプレビューできる「TypeWonder」 FontAwsomeのアイコンフォントをCSS3でアニメーションさせる「Font Awesome Animation」
ハッカーとは何者かにかんする定番のリンクなど。 How To Become A Hacker(Eric Steven Raymond による) ハッカーになろう(山形浩生氏他による日本語訳) Great Hackers (Paul Grahamによる) 素晴らしきハッカー(川合史郎氏による日本語訳) How to become a hacker Eric Raymondのハッカーになろうは、 この世界は解決を待っている魅力的な問題でいっぱいだ 同じ問題を二度解くような無駄はいやだ 退屈と単純作業は悪 自由は善 心構えは技能の代用にはならない という基本的な考え方、心構えから始まる。 そして基本的な技能として プログラミングを身につけること。 オープンソース UNIX 類のひとつを入手し、使いかたと動かしかたをおぼえること。 World Wide Web の使い方を学び、HTML を書くこと
HashiCorp 社によるオーケストレーションツール、Serf の最新バージョン v.0.6.0 が 5/9 (現地5/8)に公開されました。 新機能としては、鍵ローテーション対応や、タグ指定のために外部 JSON ファイルが利用可能になったこと、’serf info’ で統計情報が出力されること、ノード追加時のオプションで’–retry-join’がサポートされたことがあげられます。改良点としては、’serf query’ の出力結果で JSON が選べるようになったほか、syslog へのログ出力が可能になったことです。 Serf 芸人(見習い)としては、とりあえず使ってみなくては!、という事で、以下検証になります。 ■ README に目を通してみると 今回の更新情報を見るためには、README を読むのが手っ取り早いですね。 新機能を見ていくと、 鍵のローテーションを行えるよう、
Windowsパソコンのキーボードで覚えると便利な特殊キーを15個紹介します! 2014年5月8日投稿 2018年10月14日更新 カテゴリ:Windows 著者: jMatsuzaki 私の愛しいアップルパイへ 気づいていましたか?Windowsのキーボードにはアルファベットのキー以外にも特殊なキーがいくつもついています。そして中には実に便利に機能してくれるものもあります。これを見て見ぬふりしておくのは勿体無いというものです。 だからといって今更1つ1つのキーの役割を調べたり覚えたりするのは面倒ですか?なるほど、良いニュースが1つあります。実は、私は覚えておくと便利な特殊キーを教えるべく、今日馳せ参じたのです。 (私がそう言うと彼女は100万ドルの笑顔を浮かべ、私の頬にそっとキスをした) Windowsキーボードの特殊キーを覚えておくと便利なので紹介します! それでは早速レクチャーに入り
Switch Examples Your powerful rich text editor. Trusted by: Quill Rich Text Editor Quill is a free, open source WYSIWYG editor built for the modern web. With its modular architecture and expressive API, it is completely customizable to fit any need. Getting Started is Easy // <link href="https://cdn.quilljs.com/1.2.6/quill.snow.css" rel="stylesheet"> // <script src="https://cdn.quilljs.com/1.2.6/q
酔ってる。 CodeGrid二周年記念パーティー良かった。 気になってたけど Twitter でリプライ送るの恥ずかしくて話ができなかった人、そんな人達と話せてよかった。 特に難しい話、新しい話はしてないけど、LT してきた。 CSS の構造化、その目的 - slideshare OOCSS, SMACSS, BEM などの CSS の構成案に手を出す前に、これらが出てきた背景と目的を理解しとくことが大事 スライドの例で言いたかったこと 予測しやすい BAD) .container とか .wrapper という名前が抽象的すぎる。 一番最後の .img+p は HTML の変更に弱過ぎる。 GOOD) 抽象的すぎる名前は変更する。 それでも自分以外に伝わらないと感じたらドキュメントに残す。 再利用しやすい BAD) ニュースページのリスト、 質問ページのリスト、ブログのリスト、こんなふう
要約 はてなブックマークを眺めていたら、「エンジニアの学び方」というタイトルの書評エントリを見かけた。 記事を読む限り、今の自分のニーズに合致しそうなことが書いてありそうだったので、該当書籍の「WEB+DB PRESS vol.80」を買ってみた。 該当特集の「エンジニアの学び方」を読んだところ、この特集内で言うところの「深い理解」軸と「応用対象」軸の学びに関して2年間くらい悩んでいたため、今後の学習計画の糸口が出来て非常に良かった。 Web+DB PRESS vol.80を購入したきっかけと実際に特集を読んでみて 直接のきっかけは上記要約に書いたように「『エンジニアの学び方』というタイトルの書評エントリを見かけて、内容が気になったから」というものです。 「じゃあ、何で該当エントリを読んで特集の内容が気になったの?」というと、2年くらい前から「個別具体的な技術とか知識とかツールの使い方ばか
本日βテストが始まった はてな の新サービス Mackerel を試してみました。 Mackerel はサーバのステータスを管理・監視するための SaaS です。 CPU使用率などの情報をサーバに仕込んだエージェントが Mackerel のサーバに送信し Mackerel 側でそれを取りまとめてグラフ化してくれたりするサービスです。 これがダッシュボードです。 すでに Kindleコミックデータベース のサーバを設定した状態になっています。 モダンな感じでいいですね。 設定手順を振り返ってみます。あまりのチョロさに説明も不要かもしれませんが。 1. アカウントを登録する まずは「無料アカウントを作成」をクリックして Mackerel に登録します。 はてなのサービスですが はてなID は使えません。新しくアカウントを登録しましょう。 メールアドレスを入力するだけで登録は完了します。 ログイ
現在の shell(以下、current shell) を確認する方法として真っ先に思い浮かぶのは以下だと思います。 $ echo $SHELL /bin/bash ただ、これは不正解で、$SHELL はあくまでも login shell ですので、 login shell と current shell が違う場合は正しい値を返してくれません。 私の場合ですと、ローカル環境で常時利用しているのは zsh ですが、 login shell は bash です(zsh を login shell にすると重いと教えていただいたことがあるので)。 このようなケースでも正しい値を返す方法が以下です。 $ echo $0 -zsh shell 上では $0 に current shell が格納されています。 これで解決すれば良いのですが、shellscript 内で確認しようと思うと話しは変わっ
Androidに比べると、iOSのアプリ開発は証明書やらprovisioning profileやらを用意しないといけなかったりデバイスを登録しないといけなかったりで、とかく面倒な印象です。 確かに以前はそうでしたが、Xcode5からはこのあたりの面倒さが大幅に改善されています。 ネットで情報を検索しても古い情報が大量にヒットしてしまい、なかなかそのことが分からなかったので、これからiOSアプリを開発する人のために情報をまとめておくことにしました。 前提 Xcode5を使ってiOSアプリを開発する場合に必要な準備についてまとめました。 MacBook Air(Mountain Lion)+Xcode 5.1.1+Firefoxで実際に試しました。 ちなみにこちらの環境ではChromeでDeveloperサイトで操作をすると「Loading...」という画面が表示されたまま先に進まないことが
GitLabは5月6日、オープンソースの継続的インテグレーション(CI)サーバー「GitLab CI 5.0」を公開した。ビルドを動かすRunnerコンポーネントを大きく改善するなどの強化が加わっている。 GitLab CIはプロダクトのビルドおよびテストを自動化するツールで、継続的インテグレーションを支援するもの。ビルドの管理を行うWebアプリケーション「Coodinator」と、ビルドを実行する「Runner」の2つのコンポーネントで構成される。 GitLab CI 5.0では、Rubyで実装されているRunnerで大きな変更が加えられている。これまではビルドスクリプトに記述されていた行ごとに個別のプロセスでビルド作業が実行されていたが、本バージョンではビルドスクリプト内のすべての行をまとめたファイルを作成し、これを1つのプロセスで実行するように変更された。これにより、たとえばcdコマ
はじめに 本日2014年5月8日、ベータ利用が可能となった株式会社はてなさんのサーバ監視サービス、Mackerelのベータ利用が可能になりましたので、早速試用させて頂きました。 Mackerel トップページ サインアップ 「無料アカウントを作成」に進みます。 利用条件を確認した後、メールアドレスを記入します。 記入したアドレス宛に送付されるメールのURLを開きます。 任意のパスワード文字列を入力します。 任意のオーガニゼーションを登録すると、サインアップは完了します。 監視ホストの設定、登録 エージェントのインストールに進みます。 今回、監視対象とするサーバOSはUbuntuを利用しました。 「debパッケージをインストール」を選択します。 案内に従い、エージェントパッケージのダウンロード、インストール、APIKEYの反映、エージェントの起動を実施します。 curl https://ma
(著者:サイボウズ kintone開発チーム 天野 祐介) kintoneはJavaScriptを使って自由にカスタマイズすることができます。 カスタマイズにより独自のリッチなUIを構築したり、新しい機能を追加したりできるようになりますが、セキュアなコーディングをしないとクロスサイトスクリプティング脆弱性を作り込んでしまう危険性があります。 この記事では、JavaScriptでセキュアなコーディングをするための基本的な点を解説します。 主な原因 脆弱性を作り込む主な原因になるコードは、要素の動的な生成です。特に、レコード情報などのユーザーが入力した値を使って要素を生成するときに脆弱性が発生しやすくなります。 対策 document.write()やelement.innerHTMLを使って要素を生成するときは、コンテンツとなる文字列をかならずHTMLエスケープするようにしましょう。 以下は
UPDATED: 2017/11/27 本記事は2014年当初の情報であり、現在は古くなっている可能性があります。 記事中で紹介している各種プロダクトの最新ドキュメントをご参照下さい。 はじめに OS X で最近流行のツールは Ruby や Python ベースのものが多いのですが もともとインストールされている各処理系はバージョンが古いです。 その更新自体にこれから紹介する Homebrew 等を使っている記事が多く、 どこから手を付けていいか迷ったりしたので、まとめておきます。 目標 パッケージマネージャ Homebrew のインストール システムデフォルトとは別に Git, JDK, Ruby, Perl, Python の最新版をインストール 大まかな流れ システムにプリインストールされている Ruby で Homebrew をインストール Homebrew から各種追加パッケージ
連載目次 前回の連載第2回記事「Ruby 2.1の基本構文/基本文法まとめ&Pryの使い方」では、Rubyの基礎と題して、変数とオブジェクト、定数、リテラル、式と演算子、制御構文について、主要なものを学習しました。ここまでの連載で、Rubyの基本的なプログラムが書けるようになったと思います。 今回からは数回に分けて、Rubyの組み込みライブラリについて、ちょっとしたスクリプトを交えながら解説していきます。読み終わったころには、ライブラリを使ってさまざまなプログラムを書けるようになっていることでしょう。日々の作業の自動化などに、ぜひお役立てください。 組み込みライブラリはRuby本体に含まれているため、特に何も意識することなく、すぐに使えます。 今回は、ArrayクラスやHashクラスなど「配列」「コンテナー」「コレクション」「スタック」「キュー」「連想配列」「ハッシュ(テーブル)」を表現す
ユニバーサルプロジェクトで開発するには?[ユニバーサルWindowsアプリ開発]:WinRT/Metro TIPS WindowsとWindows Phoneに共通のアプリを提供する仕組み「ユニバーサルWindowsアプリ」とVisual Studio 2013 Update 2でサポートされる「ユニバーサルプロジェクト」テンプレートの概要と、ユニバーサルWindowsアプリ作成の基本知識を取り上げる。 連載目次 米国時間で4月2~4日に開催された「Build 2014」で発表され(ちなみに日本版の「de:code」は5月29~30日)、すでにストアへの登録も可能になった「ユニバーサルWindowsアプリ」。それはエンドユーザーに対してWindows 8.1用とWindows Phone 8.1用に共通のアプリを提供する仕組みだ。難しそうに思えるかもしれないが、Visual Studio
GNOME 等 GUI が動作する環境での Vagrant 導入までの手順については, 様々なサイトで説明されていた. しかしながら, CUI での Vagrant 導入までの日本語の手順は少なかったのでメモする. というのも, まず, CUI での VirtualBox 導入までのドキュメントが少なかった. (もともと, GUI で Linux を扱うことがなかったので, これから X Window 入れて, っつーことが面倒くさかった.) やってみてわかったことは, VirtualBox をインストールできればよいということ. インストールしてしまえさえすれば, 自分で VM を起動できなくても vagrant が VM を起動してくれるし, vagrant のインストールはとても簡単である. % cat /etc/redhat-release CentOS release 6.4 (
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く