SeleniumのChromeDriverでエラー PythonでSeleniumのWebDriverを扱っているとよくこのエラーが出ますよね。SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81 インストールされているChromeとChrome WebDriverのバージョンが違うとこのエラーが出ます。…さらに読む
Squidでプロキシサーバーの構築 Squidを使ったプロキシサーバーの構築について解説します。Squidはオープンソースのプロキシサーバーのミドルウェアです。今回はCentOS7 / AmazonLinux2を例に解説していきます。まず最初にSquidをインストールします。$ sudo yum install squid 次に/etc/squid/squid.confを編集します。まずファイル中ほどにある「http_access deny all」をコメントアウトします。次いでファイルの最後に以下を追記します。…さらに読む
GCPのNatural Language APIで感情分析 GCP(Google Cloud Platform)では、Natural Language(自然言語解析)に関するAPIを提供しています。このAPIを活用することでテキストの感情分析を行うこともできます。例えばそのテキストがポジティブな話題であるのがネガティブな話題であるのかなどが推定できます。この記事では、GCPのNatural Language APIを使った感情分析の基本について解説していきます。GCPでプロジェクトを作成する GCP(Google Cloud Platform)で感情分析を行う方法を解説していきます。…さらに読む
MacのDNSキャッシュをクリアしたい Macで特定ドメインに対してなぜかdigやnslookupコマンドで引けるIPアドレスとPINGで引けるIPアドレスが違っていたので、DNSリゾルバキャッシュを削除したいと思いました。MacでDNSリゾルバキャッシュはコンソールを開いて以下のコマンドで削除することができます。$ sudo killall -HUP mDNSResponder 原因は /etc/hosts に特定ドメインとIPアドレスを記述していたためでした…。…さらに読む
Pythonのスクレイピング処理でエラー PythonでSeleniumパッケージを使った処理を実行しようとしたのですが、以下のエラーになりました。Unable to revert mtime: /Library/Fonts NotADirectoryError: Not a directory: 'chromedriver' 原因はChromeDriver 原因としてはChromeDriverがインストールされていなかったようです。公式だとこちらからダウンロードできますが、私のMacの場合うまく動きませんでした。…さらに読む
HTTPSを設定したサイトでPeer’s Certificate issuer is not recognized.エラーになる HTTPSを設定したサイトでFirefoxで開くと以下のエラーになっていました。Peer’s Certificate issuer is not recognized. HTTP Strict Transport Security: false HTTP 公開鍵ピンニング: false SEC_ERROR_UNKNOWN_ISSUER 原因としては中間証明書の設定不備。中間証明書の項目がコメントアウトされていました。…さらに読む
お名前.com の共用サーバーでviコマンドが使えない お名前.comの共有サーバーSDにてFTPではできない作業をするためSSHでログインする機会があったのですが、viコマンドでファイルを開こうとするとエラーが出ました。$ vi hogehoge.txt xterm-256color: Unknown terminal type I don't know what kind of terminal you are on - all I have is 'xterm-256color'. ターミナルタイプが認識できない。…さらに読む
Pleskで503エラーになる PleskでWebの特定の表示が503エラーとなり、Apacheのエラーログには以下が出力されていました。(70007)The timeout specified has expired: AH01075: Error dispatching request to : 検索すると以下のApacheの設定を追加することにより解決したケースが多いようです。…さらに読む
Pleskでドメインを登録していくのは面倒 Plesk(Onix)を使えばGUIでドメインの追加など簡単に設定することができますが、その度に管理画面から実行する必要があるため、大量のドメインを登録するのはかなり時間が掛かります。CUIで一括登録できないかなと思ってPlesk公式のヘルプセンターで探していたら良い方法がありました。How to automate domain creation via command-line interface? CSVファイルからコマンド一発で作成 CUIでドメイン設定を作成するにはまずCSVファイルを作成します。…さらに読む
Plesk / Onixでユーザーにchrooted以外のシェルを実行させたい Plesk10.1以降Cronの実行はchroot権限のシェルに制限されています。またUIDやchrooted権限が適切に設定されていない場合、SSHログイン時に下記のようなエラーが出ることがあります。user with id=***** and name=saito not found in chrooted passwd file system error: No such file or directory この制限を解決する方法として、chroot以外のシェルを実行できるようにする方法があります。…さらに読む
PleskのDB作成時にAuto Incrementエラーが出る Plesk / Onixでデータベース作成時にAuto Incrementのエラーが出ることがあります。…さらに読む
Pleskでパーミッションエラーが出た場合 Pleskでパーミッションが何らかの事由により適切に設定されずパーミッションエラーが多発する場合があります。$ /bin/tar: httpdocs/hogehoge: Cannot open: Permission denied このような場合、Plesk11.5、12、Onixでは以下のコマンドで仮想ホストのデフォルトパーミッションを復元することができます。…さらに読む
Pleskでchrooted環境を拡張するには Plesk / OnixではSSH接続したユーザーが実行できるコマンドは制限されており(Chrooted)、通常bashなどで使えるコマンドが実行できない場合が多いです。これあhシステムをセキュアに保つための措置ですが、何らかの事由によりchroot環境を拡張したい場合もあるでしょう。そのような場合は以下のコマンドで拡張することができます。…さらに読む
議論型掲示板DiscourseにSSLを設定する オープンソースの議論型掲示板Discourseに、Let's Encryptで無償のSSL証明書を追加してHTTPS化する方法についてです。まず/var/discourse/containers/app.ymlを編集して以下の項目をコメントアウトします。…さらに読む
LINE Messaging APIでメッセージが送れなくなった LINE BotをDeveloper Trialプランで運営してきました。LINE Messaging APIのDeveloper Trialプランは無料かつ無制限にプッシュ送信(リプライではないメッセージ送信)ができる便利なプランでしたが、2019年6月中旬以降、"You have reached your monthly limit."というエラーが出てメッセージを送れなくなりました。…さらに読む
AWS + Rails + letter_openerでLaunchy::CommandNotFoundError AWS(AmazonLinux)でRuby on Railsのアプリを構築していたのですが、letter_openerというgemでLaunchy::CommandNotFoundErrorというエラーが出ていました。…さらに読む
LINE APIを使ってLINEグループにプッシュ投稿を行う Botにリプライを行わせる事例は沢山あったのですが、プッシュ通知の事例は少なかったので自分用備忘録。まずComposerでLINE BotのSDKを導入します。$ composer require linecorp/line-bot-sdk LINE DevelopersでMessaging APIの利用登録を行います。その際にチャネルのアクセストークンとシークレットトークンをメモしておきましょう。次に参加しているLINEグループのIDが取得できるようにコールバック用のスクリプトを準備します。…さらに読む
WordPressでAWS S3に画像ファイルを配置して表示させる AWS S3にWordPressの画像データを移動させて使用する方法です。WP Offload S3 Liteなどのプラグインを使う方法もありますが、今回はプラグインを使わず、S3をファイルシステムとしてEC2からマウントして使用する方法をご紹介します。AWS-CLIの環境設定を行います。…さらに読む
PAY.JPの定期課金の支払日 PAY.JPの決済にカードの問題で失敗したカスタマーがいたのですが、その後に手動でPAY.JPの定期課金を実行してカスタマーへの課金を行いました。しかし、それだと手動実行日から1ヶ月後が次回の定期課金日となってしまい、支払いサイクルがズレることになります。その件をPAY.JPに質問したら、トライアル課金を当てることで次回支払日を調整できるとの回答がありました(日付など内容は一部改変してあります)。私からの質問 現在pay.jpを利用させて頂いております。定期課金の支払いサイクル調整についてお伺いしたくお問い合わせいたしました。…さらに読む
Twitter APIでTwitter Trendsを取得しよう PHPでのTwitterトレンドを取得する例です。まずcomposerをインストールしましょう。curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer composerからTwitter OAuthライブラリをインストールします。…さらに読む
仕事でLinuxを使ったりApacheやMariaDBも含めてOSSを使っているのに、コミュニティに何の還元もしない人は単なるフリーライダーだと思う。OpenSSLの悲劇はそうして起きた。なぜオープンソースが無償で利用することが出来るのか。それは無数のボランティアやコミュニティに支えられているからだ。スポンサー企業がつく場合もある。そういう支援の上で始めて無償で使うことが出来るのに、ただ仕事で使っていて、時おり「バグだらけで使い物にならない」とか「開発版は怖いので安定版を使おう」ってネガティブな発言をする人は重大な勘違いをしているのではないかと思う。…さらに読む
SE多重派遣問題が話題になっているので、自分も多重派遣の思い出を書く。派遣エンジニアの思い出 以前、「コールセンターで人を殺した思い出」という記事で、商社系のシステム開発部門に派遣されてクレジットカードのコールセンターの債権回収システムを開発した思い出を書いた。あの時ももちろん多重派遣だった。ティーカップに勤めるちょっと前の話だけど、私はサーバー技術に詳しくなりたくて、求人サイトで「未経験歓迎・研修制度あり」という求人を出していた恵比寿の会社に応募した。恵比寿の会社の面接で「サーバーに関してはどれくらい経験がありますか?」と聞かれた。…さらに読む
10個以上の会員制Webサービスを運営してきた経験から、ユーザーサポート対応に関して書きます。建前上は多くのWebサービスの会員は有料・無料の違いはあれど「平等」という原則になっていますが、実際はVIP待遇をするユーザーと数日間は塩漬けにしておくユーザーの違いがあります。お問い合わせ内容に依る部分が多いですが、一般論として裏側を書きます。お問い合わせ内容は、ほぼリアルタイムに読まれている まず、ユーザーがお問い合わせフォームからお問い合わせをした場合ですが、サポートスタッフはリアルタイムにお問い合わせ内容のフォームメールを受信しています。ディレクターやエンジニアも受信している場合が多いです。…さらに読む
三連休になったので、語り部がいなくなったWebの歴史の話をしても良いですか? 2006年12月に、YouTubeの動画にコメントが付けられるサービス「ニコニコ動画」が登場して大ヒットしますが、ニコニコ動画のサービスの原型は、2005年の名古屋大学長尾研究室の「Synvieプロジェクト」に求めることが出来ます。ニコニコ動画でも以前は↓のように謝辞に「コンセプトの元」「インスパイア」という表現を用いて掲載されたのですが、今となっては知っている人の方が少なくなりました。…さらに読む
黄昏のPerl もうすぐ、世界最大のPerlの祭典・YAPC::Asiaですね。私も2日間、慶應義塾日吉キャンパスまで遊びに行きます。そこで敢えて議論の一石になればと思い、少し書かせて頂きます。最近やはり正直Perlに関して思うところはあるんですよね〜。職業としてのPerlを選択できる道は年々狭くなっているなと。それこそ針の穴をラクダが通るよりも難しい。以前、「ついに顕在化し始めたPerlリスク」なんて増田の投稿が出たりして、詳しい人から手斧が投げられたりしましたが、やはり年々Perlを採用する企業は増えていないし、YAPCのスポンサーを見ていても毎回ほぼ同じ企業が並びますよね。…さらに読む
MacといえばHomeBrew 皆さんMacを使っていますか?私もMac・Linux・Windowsを3つ使い分けています。Macのパッケージ管理システムと言ったらHomebrewですね。私は新しいマシンが入ったらまず先にHomebrewをインストールしています。MacへのアプリケーションのインストールもApp Storeじゃなくて基本Homebrewから。ここで私がHomebrewでインストールしているアプリ一覧を晒してみます。…さらに読む
私も転職活動の話題を。私が前回転職活動をしたとき、サイバーエージェントから求人サイト経由でスカウトメールが来た。「貴殿のキャリアに大変に興味を持っており、弊社にて活躍頂けるのではないかと思っています」的な内容。「ふーん」と思って、たまに有名企業も受けてみるかと思って、応募してみた。面接は渋谷・道玄坂のサイバーエージェントのビルで行われた。Javaの試験が出題された。私はPHPやPerlの人なので、正直Javaはあんまり詳しくない。でも何とか頑張って解いた。その後、サイバーエージェントから面接の案内が来て面接へ。…さらに読む
近、フルスタックエンジニアって言葉がバズワードになっている。設計・インフラ・ミドルウェア・モバイル・デザインなど幅広い技術領域に渡って活躍するエンジニアのことを指す。いわゆる万能のエンジニアだ。自分の経験からすると、フルスタックエンジニアな人もいたけど、技術領域だけに留まらずディレクション能力なども兼ね備えるエンジニアもいた。ディレクターが日常業務として行うチームの調整作業・進捗管理・企画・数値解析なども行うことが出来るエンジニアだ。エンジニア全体からするとまだ少数派ではあるけれど、エンジニアの持つ課題解決能力や開発側から見た企画提案などを行える人はけっこういる。…さらに読む
何か最近、業界の過去の黒歴史を語ったりするキャラとして定着してスミマセン。バッドノウハウとして生温かく見守って頂ければと思います。黒歴史で思い出したのが、SEO業界の「IPアドレス分散」。「IPアドレス分散」ってご存じでしょうか? 数年前まで検索エンジンのSEO対策には大きく「内部対策」と「外部対策」がありました。大まかに言って、内部対策は、WEBサイト内のテキストやタグやリンクによって対策キーワードの順位を上げること。外部対策は、外部からのリンクを受ける(被リンク)によってサイトの価値を高めていくことでした。…さらに読む
週末になって一般企業は休日になって、監視の目が緩くなったと思うのでもう一つ黒歴史を書こうかな。今日はWEB業界のヤラセ投稿について書こうと思う。食べログのステマ問題が社会問題化する以前も以後も、WEB業界ではヤラセ投稿が沢山あった。私が見ていたものでは、歯科医院検索のポータルサイトで、歯科医院が有料会員になると目立つ場所に掲載されるようになるシステムがあった。有料会員の歯科医院へはポータルサイト内のQandAなどの質問が優先的に紹介される仕組みになっていたが、このQandAの質問はその運営会社が一般投稿者に成りすまして作っていた。その歯科医院に関するクチコミも作っていた。…さらに読む
Node-REDがかなり便利だった いま開発している機械学習系のプロジェクトで、外部のAPIと連携させる必要があったのでNode-REDを導入してみました。Node-REDを使うと、ハードウェアデバイス・API・オンラインサービスなどと連携するFlowをブラウザ上でヴィジュアル的に編集できるようになります。Node.jsがインストール済みならば以下のコマンドでインストールできます。$ npm install node-red Node-REDはlatestバージョンのNode.jsが推奨されているので、Node.jsのバージョンが古いならばアップデートさせておくと良いでしょう。…さらに読む
MongoDBセカンダリノードがオートフェイルバックしない HAProxyで負荷分散構成にしたアプリケーションサーバー群(Node.jsをpm2でデーモン化)からMongoose経由でMongoDBレプリケーション環境に接続しているのですが、先日にMongoDBセカンダリの幾つかのノードが疎通できない障害が起きました。MongoDBレプリケーション環境のためダウンしたノードは自動的に接続先から外され、アプリケーションサーバーのDB接続は問題が起きませんでした。…さらに読む
エディタはVimとAtomの両刀使いをしています エディタはVimとAtomの両刀使いをしています。Vimだと設定に時間が掛かりそうな作業がAtomだと簡単にできることもあるので…。現在Atomに導入しているプラグインを以下のコマンドで出力してみました。…さらに読む
FuelPHPのFormat::to_csv()をオーバーライドした場合のエラー対処 FuelPHPのFormat::to_csvはUTF-8対応で、Excel日本語版のShift-JISに対応していない。QiitaのFuelPHPでCSVの出力を参考にto_csvをオーバーライドする記述をformat.phpに記述した。…さらに読む
Validationでエラーが出たら FuelPHPで以下のエラーが出た場合の対処法。…さらに読む
肥大化傾向にあった.vimrcと.zshrc 最近までプライベートに忙しくて、やっと本格的に仕事に復帰するようになってきたのですが、ここ「商売道具」でありながら半年くらいメンテを放置して重厚長大になったままの.vimrcと.zshrcをそろそろ見直したいと思っています。プラグイン開発が既に終わったものやフォークされたものも存在するので、その辺から切り離してスリム構成にしていこうと思っています。あと10月27日に新型Macが出たら買いたいと思っているので、HomeBrewでインストールするものリストも整備しておきたいと思っています。…さらに読む
HAProxyを導入 クライアントiOSアプリのバックエンドサーバーで時々ロードバランサーが機能していない時があり、これを契機にkeepalivedとipvsadmとHAProxyによる高可用性クラスタを組むことになりました。ただ、データセンター側の制約でHAIP(VIP)が構成出来ないことが発覚して、急きょHAProxyとDNSラウンドロビンでAppサーバーにラウンドロビンすることになりました。以下、設定メモです。…さらに読む
参謀本部で箱根へ 参謀本部の開発合宿&慰安旅行で8月19日〜8月20日に箱根の第三新東京市に行ってきました。こちら、お土産です。温泉でリフレッシュ 箱根の旅館は今どこもガラガラです。温泉を満喫できて、気分も体もリフレッシュしてきました。…さらに読む
Apacheのaccess_logが記録されない障害 LVS配下のWEBサーバーでiptablesを動かしていたのですが、秒間アクセス2000くらいからApacheのアクセスログが記録されないという障害に悩まされていました。LVS・Apacheともに正常に稼働していて、access_logも全部記録されないわけではなく一定の確率で記録されていませんでした。error_logにも原因と思われる兆候なし。いわゆるログロストが断続的に続いている状態で、Apacheのパフォーマンスチューニングやカーネルパラメータのチューニングも行ったのですが、原因の方が掴みきれずにいました。…さらに読む
CentOSでIRCサーバーを構築する LINEやSkypeやチャットワークなどのコミュニケーションツールが流行っていても、やはり社内チャットの定番はIRC(Internet Relay Chat)!そこで今回はCentOS6にIRCサーバーを構築する方法をご紹介します。IRCサーバーは社内にも立てられますが、さくらVPSなど外部サーバーを使った場合も想定してSSL通信で暗号化する方法も解説いたします。ircd-hybridをインストール IRCサーバーのミドルウェアはいくつかありますが、今回はCentOS標準で用意されているircd-hybridをインストールしてみます。…さらに読む
検索エンジンにWEBページの情報を伝えるマイクロフォーマット「スキーマ」 今までのWEBページはHTMLなどの制約から、見出しや本文などの情報しか検索エンジンに伝えることしかできませんでした。例えば、WEBページの著者の職業や住所などを検索エンジンに伝えるのは現時点では不可能です。しかし、セマンティックWebやマイクロデータの整備によって状況は変わりつつあります。Googleも今後の検索結果で、マイクロデータを重視していく考えを明確にしています。…さらに読む
Cicindelaとは その昔、ライブドアがlivedoor Clipというソーシャルブックマークサービスを提供していました。livedoor Clipでは、今現在の国内スタンダードなはてなブックマークとは異なり、かなり初期の段階からレコメンデーションエンジンやコメント1000文字化や関連商品などの機能を搭載していました。そのうちレコメンドエンジンに関する部分、「あなたにオススメのクリップ」「このページをクリップしたユーザーはこのページもクリップしています」は「Cicindela」として、livedoor Clipのデータセットと共にオープンソースで公開されました。…さらに読む
アドオン開発について 今回はAdmatrix AnalyticsというChromeとFirefoxに関連した拡張機能・アドオンを採り上げます。SEOアナライザのような拡張機能で、サイトのSEOの内部対策を行っていくために必要な情報を抽出するアドオンです。アドオンのスクリプトは操作すれば誰でも見られるようになっていますので、ここで一挙に公開いたします。Google Chrome側の開発 Google Chromeで開発した拡張機能用のJavaScripyは以下のようになっています。…さらに読む
NASマウント時のエラー NFSをマウントしようとした際に、以下のエラーでマウントできないことがあった。…さらに読む
Zookeeperのトランザクションログの運用 Hadoopと組み合わせて使用されるZooKeeperは、タイミングが非常に重要な高可用性の分散協調システムです。NTPを設定してログの時刻ずれが無いように設定しておく必要があります。また、Zookeeperのトランザクションログとスナップショットは別のディスクドライブに保存することが望ましいとされています。ログが頻繁に書き込まれるため、I/O性能の良いSSDなどのフラッシュストレージに保存しておくことが望ましいです。これらはdataDirおよびDataLogDirプロパティによって設定が可能です。…さらに読む
ActiveMQの61616ポートが開放されない 先日、ActiveMQでフェイルオーバー時にMySQLと連携させる記事を書きましたが、MySQLと連携させるとActiveMQの通信ポート61616がなぜか解放されない問題が起きました。ログを見るとこんな感じ。…さらに読む
Facebook Japan Country Growth Manager 児玉 太郎 氏 facebook Japan Country Growth Managerの児玉さん。Yahoo!Japan出身。facebook Japanは当初は5人くらいでスタート。ローカライズとガラケーや絵文字対応を中心に事業を進めていった。当初、facebookが実名制でなかなか普及しなかったため、リクルートや電通に協力を仰いだ。日本語のフリガナの慣習が、facebook本社から来たエンジニアにはなかなか理解されなかったらしい。…さらに読む
ActiveMQとは ActiveMQとは、Java Message Serviceを実装したメッセージ関連のミドルウェアです。ActiveMQをインストールすることで、アプリケーションは非同期型のメッセージキューイングを行うことができます。メッセージを非同期にやり取りするため、一時的にシステムがダウンしても影響を受けずに処理を再開させることが可能です。以下のような感じです。ActiveMQのインストール ActiveMQはソースコードで提供されていますが、RPMの作成も可能です。ここではいったんRPMを作成してインストールする手順を解説します。…さらに読む
RとMySQLの連携 まず、Rを起動させてDBIとRMySQLのパッケージをインストールさせます。$ sudo R R version 2.15.2 (2012-10-26) -- "Trick or Treat" Copyright (C) 2012 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: x86_64-suse-linux-gnu (64-bit) Rは、自由なソフトウェアであり、「完全に無保証」です。一定の条件に従えば、自由にこれを再配布することができます。…さらに読む
エディタはvimを使っています 普段のコーディング作業ではエディタはvimを使っています。EclipseなどのIDEは使っていません。メインの開発がPHPやPerlというのもあるのですが、IDEにこだわるよりは、軽量にターミナル上でいつでもどこでも修正できることを重視しています。その分、.vimrcはちょっとカスタマイズしています。.vimrcはGitHubのdotfailesを利用する方法もあります。私は色々なサイトを参考にカスタマイズしました。私の設定を公開いたします。vimの設定 まずはNeoBundleプラグインをダウンロードします。…さらに読む
Feedback ChampuruプラグインのTwitter API Ver 1.1対応 WordPressのFeedBack ChampuruプラグインがTwitter API Ver1.1に対応していなくて、6月14日ごろからTwitterのコメントが取得できなくなっていたので、ちょっと改造してOAuthでつぶやきを取ってくるようにしました。臨時対処でちょっとハードコーディングになってしまうのですが、Feddback Champuruプラグインの_get_twitter関数を以下のように書き換えました。…さらに読む
git pushでデプロイしたい ローカルレポジトリにgit commitした後に、問題なければリモートレポジトリにgit pushすることになりますが、git pushしただけではリモートレポジトリの情報が更新されるだけでデプロイはされません。今までデプロイ作業は自宅サーバーにログインして、git pullを行なっていたのですが、それは面倒なのでgit pushのタイミングでデプロイを自動化することにしました。まず、レポジトリを立てるところから順を追って解説します。…さらに読む
RedHatもMySQLからMariaDBに移行する 既にFedoraやopenSUSEなどのディストリビューションは、MySQLからMariaDBへ移行していたのですが(移行は強制ではなく、MySQLもオプションのパッケージとして標準レポジトリには登録されています)、昨日になって、Red Hat Enterprise Linux 7でもMySQLに代えてMariaDBを採用というニュースも飛び込んできました。RHEL7でMariaDBが採用されるということは、そのクローンであるCentOSでもMariaDBが標準になっていくと思われます。…さらに読む
自分のツイートをAPI1.1経由で取得してファイルに出力する 自分のツイートをAPI経由で取得してファイルに出力するサンプルです。twitteroauth.phpを使っています。…さらに読む
001 Prime Strategy Translate Accelerator 001 Prime Strategy Translate Accelerator 翻訳ファイルの読み込みをキャッシュ化し、表示までにかかる実行時間を短縮します。BackWPup BackWPup バックアッププラグイン。ファイルとDB両方取れる。バックアップファイルをDropBoxやAWSにも転送可能。Broken Link Checker Broken Link Checker リンクエラーやリンクエラーの画像がないかブログをチェックし、見つかった場合は、ダッシュボード等で通知します。…さらに読む
upstream sent too big headerエラー Nginx + PHP-FPM構成で、クライアント環境(ブラウザ設定)によっては以下のようなエラーが発生してページが閲覧できない場合があります。…さらに読む
Hadoopクラスタの統計情報の取得方法 Hadoopクラスタでメトリックス情報(統計情報)を外部サーバーから取得する方法は幾つかありますが、以下ではmetricsサーブレットを有効化する方法について解説します。Hadoopクラスタの各ノードの/etc/hadoop/conf/hadoop-metrics.propertiesに以下の情報を追記します(既にパラメータが定義されている場合は置き換えます)。…さらに読む
毎日新聞のWEBサーバーはApache2.2.3とPHP5.1.6 まずFirefoxにLive HTTP Headersのアドオンを入れた状態で、毎日新聞のサイトを開いて、右クリックで「ページの情報を表示」→「ヘッダ」を選ぶとレスポンスヘッダが見られるのですが、ここに「X-Powerd-By PHP5.1.6」と書かれてあるのが確認できるかと思います。PHPのバージョンが露出している状態です。ServerヘッダでApacheのバージョンも露出していることがわかります。Apache2.2.3と比較的古めのバージョンを使っていることがわかります。…さらに読む
ニコニコ超会議とEPUB 今週末はネットではニコニコ超会議の話題で持ちきりでしたね。私も参加しようと思ったのですが、友達の家でオールナイトで飲んでいたので参加できずでした。個人的には堀江さんの以下の記事に思わず突っ込んでしまいました。**ニュース長すぎ、EPUBはクソ規格--ホリエモンがニコニコ超会議で語った全文2 #chokaig **http://matome.naver.jp/odai/2136713291397662901 堀江:けど、俺は正直いって、Epubの方がムカツクよ。Epubはクソ規格だよ、クソ規格。松浦:どこらへんが? 堀江:もっさりしすぎでしょ。…さらに読む
フェルミ推定のお話 「1台のバスにゴルフボールは何個入りますか?」 「シカゴにピアノ調律師は何人いますか?」 「東京に電柱は何本ありますか?」 Google入社試験などでよく出題されるフェルミ推定の解き方。ビッグデータを短期間で推定するための着想・工程・計算方法。電話のお話 PSTN(公衆交換電話網)への入り方。電話の切断理由コードの取得方法。Asteriskを使ってパソコンをPBX(構内電話交換機)にする方法。ファイルシステムのお話 NTFS、EXT4、XFS、ZFSなどの特徴とジャーナリング構造。rm -rfコマンドで誤って消したファイルを直ちに復活させる方法とか。…さらに読む
CiscoのL3スイッチの初期設定は超簡単 CiscoのL3スイッチCatalystシリーズの名前を出すと、ネットワークに詳しくない技術者を中心に「すごく難しそう」と思う人は多いのですが、初期設定自体はすごく簡単です。今回はCatalyst 3750-X(24ポート)を例に解説します(Catalyst 3750-Xは40万円くらいで買えます!安いですね!円安になってしまう前の今がチャンスかもしれません。私はAmazonで買いました) 割り当てられた回線のネットワーク情報が以下であったと仮定します。…さらに読む
robots.txtとは robots.txtは、検索エンジンのクローラー(bot)に、クロールされたいページや、クロールされたくないページを教えるテキストファイルのことです。多くの検索エンジンのクローラーは、そのドメインの最上位ディレクトリに設置されたrobotst.txtを最初に読み込んで、クロールするべきページとクロールするべきでないページを取得し、それに基づいて巡回します。ただ、一部のクローラーには、このrobots.txtを無視するものもあります。robots.txtの書き方はおよそ以下の通りです。User-agent:(ここにbotのユーザーエージェントを記述。…さらに読む
セマフォとは セマフォとは、並行動作しているプロセス間で同期を行ったり、割り込み処理の制御を実施するメカニズムまたはデータ型や信号のことです。もともとは「手旗信号」の意味を持っています。特に、複数のプロセスでメモリ内の領域やディスク上のファイルを共有している場合、同時にアクセスして内容の破壊や不整合が起きるのを防ぐために使われます。任意の数のリソースを扱うセマフォをカウンティングセマフォ、ロック・アンロックのために値が0と1に制限されているセマフォをバイナリセマフォといいます。…さらに読む
Twitter Cardsとは Twitter Cardsとは、最近Twitterが始めた新しいツイート表示形式のことです。今まで、リンク付きのツイートの詳細は、以下のような感じで見えていたと思いますが、 これが以下のように、リンク先のタイトル、概要、アイキャッチ画像、書いた人のTwitterアカウントが表示させることができるようになりました。Twitter Cradsに自分のブログなどのWEBサイトを対応させる方法 Twitter Cardsに自分のWEBサイトを対応させる方法は簡単です。HTMLのヘッダー情報に以下の例のようなHTMLが記述されていれば対応は完了です。…さらに読む
John the Ripperとは **John the Ripper**とは、正式名称をJohn the Ripper password crackerといって、代表的なパスワードクラックツールの一つです。UNIXやLinuxのユーザーパスワードの暗号化に使われるDES、MD5、Windowsログオンに使われるNTMLなど、幅広い暗号化アルゴリズムに対応しています。UNIX、Linux、Mac、Windowsのプラットフォームにインストール可能です。パスワードクラックツールではありますが、自分の設定したパスワードがどれくらい脆弱かを検証するツールにもなります。…さらに読む
今までの自宅サーバー高速化の取り組み このブログはWordPressを自宅サーバー(自作パソコン)で構築・配信しているのですが、今まで様々な高速化への取り組みやパフォーマンスチューニングを行って来ました。代表的なものでも以下のような対策を講じてきました。…さらに読む
AWSって料金は高いの? 高いです。時間貸しで従量課金なので、同スペックの専用サーバーを借りるよりランニングコストは高い。ただ、負荷に応じてサーバー(EC2インスタンス)をがんがん追加できるし削減も簡単なので、「どれくらいのアクセス規模に成長するか予測がつかないので、最初はスモールスタートで始めて、サービス規模の拡大に応じてサーバーを追加したい」という用途向けです。アクセス規模が読めて一定程度しか変動しないサービスならば、AWSを使うメリットは特にないかもしれえません。CDNを必要とするサービスならば、CloudFrontの料金は安いです。…さらに読む
redis-top Perl勉強メモ アルパカDiary出張版のtoritori0318さんが、Redisの使用状況をtopコマンドのように常時出力するredis-topというツールを作ってくださっていました。私のブログでもKVS(Key Value Store)はRedis2.6を使っています。Redisの使用状況はmuninとZabbixで監視していますが、若干時差があるので、リアルタイムにRedisの状況を調べるのに便利かなと思って、自分のブログにも導入してみました。toritori0318さん、ありがとうございます。…さらに読む
Amazon APIは2種類ある Amazon APIなどで検索すると、2種類のAPIの情報がヒットして混乱することがあります。1つはショッピング商品に関するAmazonアソシエイトのAPI。もう一つは、Amazon Web Service(AWS)のインスタンス制御に関するAPIです。これら2つを区別することなく「Amazon API」と呼んでいるサイトが多いのですが、AmazonアソシエイトAPIは正式にはAmazon Product Advertising APIといいます。今回はこのAmazon Product Advertising APIを使ったPHPの実装について解説します。…さらに読む
Apacheでロードバランサー Apache2.2以上では、mod_proxy_balancerを使ったロードバランサーの構築が可能です。まず、httpd.confで以下のモジュールを有効化します。…さらに読む
秋葉原のガラケー・スマホ実機検証会社 ケータイラボ http://www.ktai-labo.com/ 住所:東京都千代田区神田佐久間町4-14 ニューイワサキビル5F 大きな地図で見る 料金項目料金単位備考 1.基本料金¥9,0001日台数に関わらず一律。2.携帯電話利用料金(最初の30分)¥1,0001台スマートフォン・携帯・タブレットなど端末種別による料金の違いはなし。2.携帯電話利用料金(以降30分延長ごと)¥5001台 3.ルームチャージ¥1,00030分4名程度までの部屋。¥1,5008名程度までの部屋。¥1,500大阪支店での利用の場合。…さらに読む
はてなスターのトークンを取得 はてなにログインしてから、はてなスターのページに行き、ユーザーページを開きます( http://s.hatena.ne.jp/netcraft/ など)。このページで一番下の「外部のブログサイトを登録する」で、自分のブログのURLを入力します。そうすると、ブログタイトルを自動取得してリストに追加され、以下のメッセージが表示されます。以下のコードをブログテンプレートのhead内に追記してください。うまく表示されない場合ははてなスターをブログに設置するにはをご参照ください。このメッセージは最初の☆が付けられた際に消えます。…さらに読む
muninとは muninはサーバーリソース管理ツールです。とにかく、ひたすらグラフ化、可視化、見える化するツールです。名前の由来は、北欧神話の神オーディンに世界中の情報を収集して伝達するワタリガラスです。RRDtoolとPerlで作られています。こんなグラフを生成してサーバーのリソースをほぼリアルタイム(約5分おき)に伝えてくれます。私のサーバーのMuninは以下のアドレスで閲覧できます(自宅サーバーなので大規模ではないですが)。…さらに読む
1000バイトを超える改行なしメールは送信できない RFC2821によって、1000バイトを超えるメールに関しては以下の制限があります。text line(テキスト行)>CRLF/\>/ を含むテキスト行の最大長は、1000 文字である(透過処理のために二重化された先頭のドットは含まない)。この値は SMTP サービス拡張により増やされても良い。…さらに読む
PHP5.4.13がリリースされたようです php公式サイトでは、まだPHP5.4.12の更新情報しか出ていませんが、公式サイト右上のstableが5.4.13に変わっています。更新日時は3月14日。昨日です。stableには入ったけど、まだ公式には通知が来ていない感じでしょうか。remiレポジトリにも5.4.13が来た CentOS5.4でも、remiレポジトリに5.4.13-1.el6.remiっていうバージョン番号でパッケージが来ているようです。…さらに読む
クライアントの要望 - ボタンクリックで同一画面内の下部にあるコンテンツまでスクロールさせたい(スマホ対応したいのでFlash禁止) - ブラウザのウィンドウサイズに関係なく、下部のコンテンツが縦横ともに中央に来るようにしたい - ブラウザのズーム率(IEでいうフォントサイズ、Firefoxでいうズーム)に関係なくスクロール位置を固定したい - あらゆるブラウザ(特にスマホ)に対応したい という要望を受けて作ったコードの備忘録です。けっこうベタ書きしたので、ちょっと無駄な部分もあります。…さらに読む
昔話がしたくなって 今となっては昔話ですが、私がライブドア時代に書いたlivedoor Readerの開発日誌をアップします。Find Job!の求人情報を掲載 livedoor Readerをご利用いただきありがとうございます。担当の齊藤です。今回、株式会社ミクシィと提携して、livedoor Readerの中に求人情報サイト「Find Job!」の特設ページを設置しました。Find Job!には2万社を超えるIT関係の求人情報が日々集まってきています。職種ごとに検索が可能で、「エンジニア」 「クリエーター」「事務職」等の職種を中心に求人情報が提供されています。…さらに読む
Metasploitとは Metasploitは、セキュリティに関するフレームワークの一つで、脆弱性の検証やペネトレーションテストを実行することができます。いわゆるExploit(脆弱性を突いたコードの実行)を走らせて、サーバーが安全かどうかの検証を行うことのできる膨大なツール群が入っています。こういったツールは悪意のある攻撃者にとっての侵入ツールとしても使えてしまいますが、自分のサービスの脆弱性を把握する上でもペネトレーションテストは欠かすことができません。セキュリティの原則は、敵を知り自分を知ることだと思います。…さらに読む
サーバー台数の増加による諸問題 サーバーのノード数が増えてくると、各サーバーにログインしてコマンドを実行したり、設定ファイルを変更したりする行為が大変になってきます。数台程度ならまだ良い方でしょうが、ソーシャルゲームなどでは200台を超えるサーバーを管理することなどはザラにあるので、そのような運用効率手段として、複数台にコマンドを一括適用できるマルチSSHのシャルスクリプトがあると便利です。SSH公開鍵認証とssh-agent まず、SSHの秘密鍵と公開鍵を作成して各対象サーバーに配布します(鍵の作成や配布に関してはここでは省略します)。…さらに読む
WEB2.0勉強会を開催する固有の意義 - Wikipediaは概念を羅列して相互に等値で結合させているモデル - マインドマップは中心概念が存在して連鎖的に関連づけるモデル - 勉強会はセマンテックにWEBのサブシステムとして機能させたい - Wikipedia型だと従来型の勉強会との固有差がない。マインドマップを参考に情報の中心概念を設置して、その関連づけを示すメタ情報を付与していくべきではないか。…さらに読む
Redis2.6のインストール方法 以下のコマンドを実行します。$ wget http://redis.googlecode.com/files/redis-2.6.10.tar.gz $ tar xzf redis-2.6.10.tar.gz $ cd redis-2.6.10 $ make これで$ src/redis-serverというファイルが出来て、Redisサーバーを起動させることはできます。…さらに読む
Apache2.4.4リリース 本日、Apache2.4.4がリリースされました。主要な変更項目については下記をご参照ください。http://www.apache.jp/news/apache-http-server-2.4.4-released バグフィックスやセキュリティ対策がメインですが、その中でも注目に値するのが、 httpd.conf: IE 10 からのリクエストの場合は bad_DNT 環境変数を設定して、DNT ヘッダを無視してしまう設定をデフォルトでは有効化しないように戻しました。関連する項目は '#' でコメントアウトして残してあります。…さらに読む
Nmapとは Nmapとは、クライアント側から対象サーバーのポートスキャンやOSスキャンなどを実施できるセキュリティスキャナです。100を超えるオプションが用意されており、対象サーバーのミドルウェアのバージョンなどを調査することもできます。今回はポートスキャンに焦点を当てて、Nmapの使い方をご紹介します。サーバーでポートが空いているかどうかを確認する方法として、対象サーバーにログインし、netstat -anなどのコマンドでポートの開放状況を確認する方法は広く知られています。あるいは、iptables -Lなどでファイアウォールの空き状況を確認する方もいるでしょう。…さらに読む
オープンソースカンファレンス2013 Tokyo/Spring オープンソースカンファレンスに行って来ました。openSUSE Linuxの展示ブースの手伝いを主に行ったのですが、主要なブースは回りました。主な関心事はHadoopクラスタのZabbixでの監視。Hadoopについて Hadoopを扱っているブースは沢山ありましたが、ヒューレッド・パッカード(日本HP)のブースで一番詳細な情報と資料をもらえました。…さらに読む
RPMインストールでの依存ライブラリ問題 CentOSなどでrpmコマンドでRPMをインストールしようとする時、以下のような依存関係のエラーにぶつかることがよくあると思います。…さらに読む
Redmineのインストール RedmineをGitHubからダウンロードしてきて、bundle installを行います(今回はMySQLを使うのでpostgresql sqliteは外しました) git clone https://github.com/redmine/redmine.git cd redmine bundle install --path vendor/bundle --without development test rmagick postgresql sqlite MySQLでDB作成 MySQLでDBとユーザー……さらに読む
マルコフ連鎖とは マルコフ連鎖は未来の挙動が現在の値だけで決定され、過去の挙動と無関係であることを利用した確率統計モデルです。定義としては次のような形を取ります。マルコフ連鎖は、一連の確率変数 X1, X2, X3, ... で、現在の状態が決まっていれば、過去および未来の状態は独立であるものである。…さらに読む
Rとは何か Rはオープンソースの統計解析の実行環境です。OSに拘らず、様々な環境で実行できます。統計解析業務に当たっている人では知らない人はいないほどメジャーなツールです。WEBマーケティングに必要な重回帰分析はもちろんのこと、以下のような解析環境を提供しています。- ベクトル、配列、行列、データフレーム(テーブルに相当)、リスト、時系列、などの動的型付けデータ型。(後出「データ型」参照) - 高階関数(データとして関数を操作する関数)を、ベクトル処理として記述可能。- 『モデル式』の導入により、複雑な統計モデル記述と曲線あてはめ等のモデルフィット指示を、簡潔で統一的に表現可能。…さらに読む
Adobe公式サイトの記事 Adobe公式サイトのFlashディベロッパーセンターには、Flash(SWF)をHTMLに埋め込む方法について次のように解説しています。**将来を見据えた、新たなHTML内SWF埋め込み用コードの考察 http://www.adobe.com/jp/devnet/flash/articles/spark_project_swf_embed.html ** この記事は現在も多くの人が参照していて、はてなブックマークなども沢山ついています。記事の趣旨は以下の通りです。…さらに読む
CentOS6.3のYUMレポジトリを構築しました CentOS6.3のYUMレポジトリを構築しました。レポジトリの中には、私の自作RPMと、昨日公開されたばかりのMySQL5.6のRPMを入れました。このレポジトリをCentOSのYUMレポジトリに追加すると、yum installで色々なパッケージが導入できます。もちろん、自己責任です。特にコンフリクト関係はあまりチェックしていないので、別レポジトリの既存パッケージを上書きインストールしようとするとエラーが発生すると思います。それでも良い方はぜひご活用ください(本番用途よりは最新のミドルウェアの試験用に向いています)。…さらに読む
MySQL5.6 正式リリース 本日、待ちに待ったMySQL5.6の正式版がリリースされたので、MySQL5.5だった自宅サーバーとさくらVPSをさっそくMySQL5.6にしてみました(参考:MySQL 5.6正式リリース!! #mysql56)。さくらVPS(CentOS6.3)のMySQL5.6化 まず、さくらVPS(CentOS・メモリ1GB・SSDプラン)をMySQL5.6にしてみました。MySQLの公式サイトから、MySQL5.6.10の以下のRPMをダウンロードしました。このサーバーでは、ZabbixとphpMyAdminが動いています。…さらに読む
さくらインターネット VPSサーバーの制約 さくらインターネットのVPSサーバーは、申し込んだ直後の状態ではお試し期間(試用期間)になります。このお試し期間中には、全プラン(石狩・大阪、SSDプランも含めて)、外部への25番ポート(SMTP)接続が出来ない(OP25B設定)、アップロード帯域は2Mbpsなどの制約があります(さくらインターネット 「さくらのVPS」のお試し期間中に制限はありますか?)。このため、お試し期間が終わるまでは、VPSにPostfixなどでメールサーバーを立てても、サーバーからメール送信ができません。…さらに読む
facebookアプリの仕様変更 2月6日にfacebookのAPIの仕様変更が予定されていて、「facebook Graph APIによる友だちのウォールへの投稿」機能が廃止されます。今まで、変なfacebookアプリをインストールしたために友達のウォールにも自分の名前 で変な宣伝を自動投稿するようなアプリが後を絶たなかったため、そういうアプリの根絶にfacebookが動き出したようです。ただ、これ、友達へのお祝 い投稿機能とか実装していたfacebook開発者も影響を受けるので、僕達facebookアプリ開発者には影響が大きい。…さらに読む
YUMインストール sudo yum install -y ipvsadm keepalivedのインストール keepalivedはYUMレポジトリに追加されていないので、基本ソースからコンパイルしてインストールになります(その際、カーネルのソースコードが必要です。ただ、RPMを作れるオプションもあって、私の方でCentOS6.3(x86_64)のRPMを作成しました。…さらに読む
メモリが32GBになったのでパフォーマンスチューニング 自宅サーバーのメモリが32GB、CPUがHTで8コアになったので、それに伴ってMySQLとNginxのパフォーマンス設定を大幅に見直しました。具体的には以下に書き換えました。…さらに読む
今までの自宅サーバー 今まで、自宅サーバーはZBOXNANO-AD10という超小型ベアボーンを使っていました。超小型なので設置場所に困らず便利だったのですが、メモリスロットが1つしかないためメモリ8GBまでしか詰めませんでした。また、CPUのAMD Fusion E350 APUは低電圧ですが、その分性能があまり良くないので、ブログもアクセスアップしていることだし、サーバーを増強することにしました。ZBOXNANO-AD10 Shuttleサーバー 今回も筐体はベアボーンを使いました。ShuttleのSZ77R5です。…さらに読む
はてなブログのサーバー はてなブログのサーバーが何を使っているかは非公開になっています。さくらインターネットの石狩データセンターの記事なども出ていますが、あれは宣伝です。では、はてなブログのサーバーはどのデータセンターを使っているのか、調べてみました。はてなブログにPINGを打ったら返ってきた結果が はてなブログの使っているIPを調べようと思って、hatenablog.comにPINGを打ってみました。そうしたら、結果が返ってきました。…さらに読む
自宅サーバーのmy.cnf 自宅サーバーのメモリは8GBです。このメモリを使ってMySQLのパフォーマンスを向上させるために、my.cnfは以下の設定にしています。innodb_buffer_pool_sizeとquery_cache_sizeは、メモリに比べると大きめに取っていますが、他のNginxなどはあまりメモリを消費しないので問題ないようです。…さらに読む
WordPress PagelinesテーマのSEO修正 細かな設定ができて何かと便利なWordPressのPagelinesテーマですが、SEO上、タイトルタグに問題があります。そのため、以下のファイル、 wp-content/themes/pagelines/includes/library.templates.php のpagelines_filter_wp_titleを以下のように修正します。…さらに読む
JUnitのエラー EclipseでJavaのスクリプトをJUnitで大量にHTTPリクエストを発行する処理を実行したら、以下のエラーになりました。…さらに読む
MySQL接続クラス PHPでMySQL接続のためのクラスを書きました。PDO(PHP Data Object)で書かれているので、PHP5.1以上が必要です(PHP4では動きません)。…さらに読む
PHPのcURLでCookieを保存しつつ別のページにアクセス PHPのcURLで特定サイトにアクセスしてcookieを取得した後に、同じドメインの別なページにcookieを保持したままアクセスする必要性があったので、サンプルコードを書きました。ユーザーエージェントがランダム選択なのは利用上の必要性です。cURLのオプションの書き方とか2個別々とかではなく、もっとスマートに書けたかもしれません(急いで書いたので適当です)。…さらに読む
画像処理概要 HTMLの画像リクエストを受け取って、サーバーに画像が存在したらキャッシュを返して、サーバーに画像が存在しなかったら外部に画像を取得しに行くPHPコードのサンプルです(一部省略しています。pecl install imagick必須です)。…さらに読む
国際連合のアクセス解析 最近、中東情勢とかで海外のサイトを見ていて気づいたのですが、 国際連合のWEBサイトのソースには以下のタグが埋め込まれています http://www.un.org/en/ script type="text/javascript"wbrwbr/wbr>www.nato.int/](http://www.nato.int/) script type="text/javascript"wbrwbr /script>www.whitehouse.gov/](http://www.whitehouse.gov/) s……さらに読む
ソーシャルゲーム業界の掟 「ソーシャルゲーム業界には「5秒ルール」っていう裏の掟がある。これはゲームの応答速度が5秒以上かかってしまうと、そのゲームが自動的に配信停止になるっていう恐ろしい掟で、GREEもDeNAもみんな採用している。だからソーシャルゲーム業界に参入している中小企業は、応答速度を速めるために大規模サーバー群を抱えざるをえなんだよね。ってたまに、インフラエンジニアっぽいことを書いてみる。だから、NginxやKVS(memcached、kumofs、redis)などで高速化をはかっている。そこにインフラエンジニアのビジネスチャンスも発生するので、ご飯が食べられる。…さらに読む
Muninの導入 いつ何時もサーバーの監視こそ、サーバーエンジニアの務め!ということで、自宅サーバーにリソース監視ツール・muninを導入しました。CentOSなどの場合はmuninはdagレポジトリから入りますが、openSUSEでは同じようにPackmanの拡張レポジトリを指定します(OpenSUSE 12.2の場合は( http://packman.inode.at/suse/12.2/ )。レポジトリを追加した後は普通にzypperでmuninとmunin-nodeをインストールできます。…さらに読む
ApacheからNginxへの移行 Nginxを業務(ソーシャルゲームなど)では使っていたのですが、このたび、自宅サーバーにもNginxを導入しました。NginxとPHP-FPMでWordPressを動かしています。OSはopenSUSE Linuxなので、NginxとPHP-FPMはYaSTで入れました。NginxでWordPressを動かし、Apacheのmod_rewriteを代替させ、WP Super Cacheプラグインを動かすために、nginx.confに以下を記述しました(参考:Nginxを使ったもう一歩進んだWordPressチューニング)。…さらに読む
Amazon Kindle Storeへ電子書籍を出展 Amazon Kindleストアが本格的にスタートして、電子書籍ブームが到来しようとしています。そのAmazon Kindleストアに自分のブログの記事を電子書籍化して出品することに成功しました。その手順を解説します(参考:ブログをMT形式で書き出し→MyBooks.jpでEPUB化(無料)→KindleGenでKF8化→Amazonで自費出版)。自分のブログ記事をEPUBでエクスポート まず、ブログ記事のデータをWordPressのePUB Exportというプラグインで、ePub形式で出力します。…さらに読む
TumblrダッシュボードをRSS化 みんな大好きTumblrの、ダッシュボードはログインしないと見られません。ダッシュボードこそTumblrの命の源!ダッシュボードの結果を、ログインしていなくてもRSSリーダーとかでチェックしたい!という思いを抱いて、Tumblr APIとOAuth認証でダッシュボードの結果を自動取得するスクリプトを書きました。Tumblr API v2を使っています。…さらに読む
facebookフィードのRSS化 まだまだgithubの使い方が十分に分かっていないのですが、 以前、www.open.shでテスト公開した、facebookの新着投稿をRSSファイルとして出力させるスクリプトをgithubで公開しました。最初のコミットなので、汚いソースのまま貼り付けました。…さらに読む
Twitter API RSS仕様変更 昨日からTwitter APIのエンドポイントの仕様が変更になって、旧バージョンでのAPIアクセスができなくなりました。…さらに読む
facebookの新着情報のRSS化 facebookは認証情報が要求されて、RSSリーダーやブラウザのRSS機能で更新情報を取得することができません。さきほど、早朝プログラミングの一環として、facebook SDKを使って、私のfacebookの新着情報をRSSで取得できるようにしました。RSSは下記のリンク先から取得できます。https://www.geek.sc/facebook.rdf アクセストークンを元に新着情報を引っ張ってきて、ベタにRSS形式で吐き出しています。…さらに読む