開発

GCEでライブパッチは使えなさそう。

手元の端末でcanonical-livepatchが動いてるのを見て、そういえば3台までいけるんだからサーバでも使おうか、と思った。 $ uname -a Linux yumenosora 4.15.0-1024-gcp #25~16.04.2-Ubuntu SMP Tue Oct 30 14:14:10 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux…

PGroongaのインデックスを常に使う方法。

PGroongaはJSON(B)に対しても全文検索できるのが便利ですが、レコード数が少ないとこんな感じで困ったことになる。 チュートリアルにあるサンプルスキーマとデータを投入した状態で、 test=# SELECT record FROM logs WHERE record @@ 'paths @ ".code" && n…

PGroonga on Travis CI

2015年2月13日追記: 公式な使い方が発表されました。以下の手順は用済みです。今回はTravis CIを使うので、無理矢理ですがPGroongaを使えるようにしてみました。 最初は.travis.ymlのbefore_installでpgroongaのドキュメントにあるようにソースからのインス…

PGroongaを使うための調査。

こないだリニューアルした読書びよりでは全文検索エンジンにGroongaを使用していて、Rroonga gemを使って全文検索用の処理を実装してあります。ただ、この実装だとPostgresに格納されている商品情報と、Groongaが使う検索用のインデックスが別管理になるので…

手軽にMaterial Designを使うには。

Material Design、いいですよね。 見るだけじゃなくて実際に自分のアプリケーションにも適用したかったので、いろいろ調べてみました。 自分でCSSやJSを書く。デザイナーならこれか一番早いかも。よく整備されたドキュメントがあるので、それを参考に。 Poly…

雪華舞台での『ランダムトークが足りない』問題について

雪華舞台におけるキャラクター(出演者)は、予め書かれたランダムトーク集(脚本)から内容を無作為に取り出して再生する、というよくある仕組みで動いてます。が、この方式だと脚本のボリュームによっては同じトークしか再生されずに飽きるという問題が出てき…

限定公開はじめました。

Welcome to nginx! window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widg…

AtomPub APIを実装しました。

カケラの樹にAtomPubで文書の操作ができるAPIを実装しました。 http://kakera.yumenosora.net/documents/1861 このAPIを使うことにより、外部のモバイルアプリケーションやWebアプリケーション等から文書の一覧取得・内容取得・新規作成・編集・削除と一通り…

OpalでJavaScriptの要らない開発

は、無理ですけど。 Best Casino Sites in UK - Play at Best Online Casinos in 2018! このコードトランスレータによって、それに近いことは可能になります。 導入や実際の使い方はドキュメントや解説記事に任せるとして、1週間ほど使ってみて分かったこと…

交換付箋リニューアル。

Twitterアカウントで使える問題追跡システム、交換付箋をリニューアルしました。主な更新内容としては、 デザイン変更 『分類』の概念の追加 リストによるアクセス制限方法の追加 が有ります。 3番目の機能により、たとえば次のような使い方が可能になりまし…

Passing a template handler in the template name is deprecated.

render_to_string( :partial => "tags.html.erb", :locals => { :tags => @user_product.tags, :user_id => @login_user.id } ) はDEPRECATION WARNINGが出る(Rails3.2.0.rc2)。 render_to_string( :partial => "tags", :formats => :html, :handlers => :er…

リリースしました。

本日、読書びよりの新版"Hibarigaoka-hanayashiki"をリリースしました。 主な変更点はデザイン・画面の全面刷新です。 今回の改修ではメディアクエリを活用して、画面サイズに応じて最適な表示を行うようにしてあり、スマートフォンやタブレットでも利用でき…

Ikedaプロジェクトについて。

某イラスト系SNS問題の話があったところに、 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://p…

限定公開機能を考える。

カケラの樹には限定公開機能が実装されており、非公開文書を特定のユーザのみに公開することが可能になってます。 概要としては、 限定公開したい相手のOpenID URLを設定 相手は自らのOpenIDにてカケラの樹にログインし、文書を開く この機能はサービスの初…

開発コードネームについて

ウチで開発しているサービスは、プロジェクトごとにコードネームを振ることにしてます。 例として、先日新たに運用を開始した『交換付箋』は“Kasuganomichi“、リニューアルされた読書びよりシステムは“Kiyoshikojin“といった具合。命名規則は、内容とは関係…

今日の作業

Nakayamaプロジェクト 本番用リモートレポジトリ作成 ステージング環境へ配備

今日の作業

Nakayamaプロジェクト(共通サービス再構築) 画面デザイン調整 詳細なロギング処理実装

新たな世界を見るために。

IPv4アドレスの中央在庫がついに枯渇、最後の5ブロックを各RIRに分配 -INTERNET Watch Watch とうとうIANAのIPv4アドレスブロックが在庫切れとなり、v4アドレス配布も最終段階へ。そこで、今後拡大していくIPv6ネットワークへと手元の端末をつないでみました…

あと少しでリリース。

現在進行中の読書びよりの再構築プロジェクトですが、開発がほぼ完了しました。 残タスクは以下の通り。 最終動作テスト 脆弱性検査 移行計画作成 ステージング環境での移行リハーサル 本番環境移行メンテナンス 順調にいけば、遅くとも2月の半ばまでにはリ…

今年の振り返り

リリース内容から今年を振り返ると、停滞の年だったなと思います。 一番大きな物はインフラ移行。アメリカにあったサーバが国内配置になり、性能も上がってサービス基盤の増強が行われました。その他には新サービス、交換付箋をリリースしましたが、予定より…

Rails3系でセッション有効期限の設定。

3系の資料が見あたらなかったので。 config/initializers/session_store.rb Kasuganomichi::Application.config.session_store :cookie_store, :key => '_kasuganomichi_session', :expire_after => 2.weeks これで、2週間有効のセッションになります。 2系…

Kasuganomichiプロジェクトで得ようとするもの。

現在アクティブに進行中のプロジェクト、Kasuganomichiで行いたいことはこれ。 Rails 3による開発方法の習得 Twitter API利用方法の習得 新共通デザインのWebアプリケーションへの適用実験 UIの品質向上 サービス提供、と言う目的の他に以上のような練習、実…

Ajaxの周りで。

Rails3ではPrototypeHelperが廃止されて、form_for_remoteとかが消えた。その代わり、form_forに :remote => true を渡すことでAjaxなフォームが作れるようになる。 ただし、今までnew Ajax.Requestする前やリクエストの完了後などにJSで処理をさせる場合に…

遊び場の風景。

ふと描いてみたくなったので、現在のyumenosora.netサービス環境のシステム構成図(のようなもの)を描いてみました。 大枠は伝統的な構成で、さほど妙な構成ではないです。会員DBと基幹DBが分かれているのは歴史的経緯。ウチのサービス群の規模では全て基幹DB…

新サービスの開発スケジュール。

現在開発が進行中の、OjiKoenプロジェクトはこんな感じのスケジュールで進む予定にしてます。 8月第1週 開発者向け基盤機能の完成 8月末 ユーザ向け機能の完成 9月第2週 開発者向け機能・UI調整の完了 10月第1週 デザイン調整完了 11月末 モバイルサポート開…

現在のウチでの標準。

ころころと変わり続けてますが、開発に使うフレームワークやライブラリなど、こんな構成で標準にしようとしてます。 Ruby on Rails 2系 Prototype.js Script.aculo.us Blueprint CSS Kitaguchiプロフィール認証 KitaguchiフルテキストサーチAPI 個人開発なの…

私の増える城。

カケラの樹のAppEngine移行に失敗し、続いて読書びよりの移行にも失敗したわけですが*1、これはとてもまずい傾向だって思ってた。けど、この記事を読んで認識が変わった。スケールアウトからスケールアップへの回帰:Kenn's Clairvoyance - CNET Japanこの記…

年始のご挨拶。

あけましておめでとうございます。本年も殊海夕音と『雨上がりの青空を探して。』をよろしくお願いします。 今年も開発予定は盛りだくさん。まず、コード名"Okamoto"のAppEngine版読書びよりへの移行。今までウチのインフラでサービスしていた読書びよりが、…

iCalendar on AppEngine

Okamotoプロジェクトの開発中に引っかかったとこの一つに、iCalendar gemがそのままでは使えなかったのがある。 iCalendar gemは内部でSocket#gethostnameを使用していて、これがAppEngineで制限されてるライブラリに引っかかって落ちてた。これ、iCalendar…

過去から学ぶ。

かつて、ウチが最初に作った"Marble Note"というサービスが動いていました。 一定の成功を収めたあのサービスに学ぶべく、当時を知っているユーザの方々にアンケートをお願いしたいとおもいます。よろしければどうぞ。http://spreadsheets.google.com/viewfo…