サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
都知事選
matsu.teraren.com
概要 15年前ぐらいに設計、実装したシステムの設計と実装を公開します。 目的は、誰かに特許を取られてしまっても困るので。自分で特許を取るほどでもないので共有資産として残しておきます。特許というか、どちらかと言うと論文で発表するほうが向いていそうです。 航空会社のマイルで使われているポイント管理機能の実現方法です。このようなポイントシステムの要求はビジネスサイドではよくありそうですが、設計内容が公開されている事例を見つけられませんでした。 類似ポイントシステム JALやANAのマイルシステム まさにこれと同じ機能の実現方法です。 設計と実装が比較的難しいので、当時はこの機能を実現しているサービスは見つけられませんでした。 2022年の今となってはこのポイントの仕組みはメジャーになりつつあります。様々な大手ポイントサイトで使われています。設計と実装の難易度が高かかったり、ユースケースが限られて
概要 写真のバックアップを安価で安全に保存したいと10年ぐらい前からぼんやりと考えていました。この記事では、やっと満足の行くバックアップ方法を実現したので共有します。ファイルサーバをLinuxにしたことで柔軟なワークフローを構築できました。プロ写真家の場合は、この記事に書いてあるバックアップの期間の単位を1段階粒度を細かくして設定するとより頻度を高められて安全になると思います。 私の写真ファイル保存ワークフロー 私の写真の使い方をまとめておきます。 月に1回ぐらい、デジタル一眼レフカメラでRaw画像で撮影。データはカメラに挿入しているXDカードに保存。XDカードからLightroom経由でローカルPCに転送し、レタッチ、現像。良さそうな写真は現像してGoogle Photo, Facebook, iCloudなどにアップロードして共有。Lightroomからファイルサーバのディレクトリをs
概要 no space left on deviceは、日本語訳すると「空きディスク容量がありません」ということです。まずは、OS自体のディスク容量不足をまずはチェックします。 OSのディスク容量が空いているのに、no space left on deviceが表示された場合はDocker自体に割り当てられたディスク容量が枯渇したことが原因です。 例えば、Docker for Macは20GB分しか確保しないです。 普通にDockerを利用しているとゴミデータが溜まっていくので、不要なデータを消していきます。 下に行けば下に行くほど、重要なデータを消していくことになりますのでご注意ください。 0. 割当領域の拡張 macOSであれば以下のような設定画面から、割り当てているディスク容量の変更を行えます。設定を変更後はDockerの再起動が必要になります。 そもそも、自分が思っている以上にDo
概要 github上でmentionされても気づくのが難しい状態でした。メールはいろいろな通知が送られてくるし、githubのwebサイト上の通知欄は自分から見に行かないと行けないし、後ほどTODOとして未読に変更ができないので自分のタスク管理がしづらい状態でした。github-mention-to-slackというGithub Actionがあったので設定してみたところ、かなり快適でした。紹介されている設定では、運用に不十分なところが多かったので、ほとんどコピペでできるような設定をgistに置いておきます。 設定 githubのrepositoryまたはorganizationのSecretにSLACK_WEBHOOK_URL_FOR_MENTIONとうキーでSlackのwebhook URLを登録します。 (organizationに登録しておけば設定を使い回せるので楽です) 以下を実
背景 CTOA Advent Calendar 14日目の記事です。 CTOの役割や業務については他の素晴らしいCTOが書いてくださっているので、この記事では会社員エンジニアとして働きながら事業アイデアを仮説検証し、自社プロダクトのスタートアップを立ち上げるまでの話をしたいと思います。 一般的にスタートアップを立ち上げるのはハイリスクと思われているかもしれませんが、しっかりとリスクヘッジをすれば超低リスクにスタートアップを立ち上げることができると、実体験ベースで思いました。今回はリスクヘッジの要点を5つに絞ってそのコツをお伝えできればと思います。 概要 私の人生の目標のうち、一部を抜粋します。0からサービスとビジネスを作る。世の中を効率的、便利、公平にする。そのためには、スタートアップをやろうと20年前からの目標です。そのためにはITを使ったスタートアップを立ち上げるというアプローチが最適
背景 事業規模の拡大に伴いオフィスの移転がありました。それに伴い社内ネットワークインフラの構築を行いました。 中小ベンチャーのネットワーク構築の記事は5年前の@wadapさんの記事が詳しいです。まぁ、5年前なので細かいアップデートが色々あるので記事にしておきます。 要求定義 ゲスト用ネットワークの分離(インターネット回線、LAN回線) 将来のシステム監査で指摘されるであろうことなので。 トラフィックのQoS制御のため。 役割(部署)毎にLANの分離 ウィルス感染した場合に被害を減らすため。 重要情報を扱うエンジニアのネットワークを守るため。 安定 ストリーミングを扱うプロダクトを扱っているので安定性を高める。 特にWiFiは安定してほしい。 WiFiと有線を用意してL1レイヤの冗長性を確保しておく。 低レイテンシー 初期費用、固定費は安く。 20人ぐらい (平均3台/人で計算して60端末同
"Raw data" format is TSV so you can copy and past the data to Excel directory or you can use the URL as web query source. Data is acquired every 2am JST. If you 'd like to add Facebook page to track, please add the setting to this config file and send me a pull request via github.
コードはこちら:https://github.com/matsubo/devise_sample deviseの公式の手順書が分かりづらいので、シンプルな認証を実現するための要点を整理してみました!細かい設定とか、自分のサイトにあった設定はこれを元にオプションを変更していただければと思います。1手順ごとにコミットを分けてあるので、変更点が明確に分かるようになっています。 一部、手順が前後しても大丈夫なところがあるので間あり神経質にならなくても大丈夫です。 railsアプリケーション作成 % rails new devise_smaple scaffoldで適当なページを作る % rails generate scaffold Post name:string title:string content:text テーブルを作成しておく % rake db:migrate deviseモジュー
https://github.com/visionmedia/git-extras生のgitをより便利にするためのサブコマンド集。 リリース管理も出来ちゃう。 いっぱいあるので抜粋。 reset --hard HEAD~xのalias % git undo % git undo 3 容量の大きいファイルを間違って追加してしまったっ際に、過去のリビジョンからも存在を消去したいとき。 過去のリビジョンIDが書き換わるので要注意。 git obliterate secrets.json Rewrite e814bdf6e24c3468fba1b7185a135d5bb9273758 (125/126)rm 'History.md' Rewrite 8e4a332bbea3aa890c2d4fdc1528e082e13dc54f (126/126)rm 'History.md' Ref 'refs
概要 エンジニアとして知っておくべき知識や便利な設定を紹介します。 小規模オフィスのネットワーク構築 航空会社のマイルを管理するシステム MySQLにおけるデータの境界値 意図した値が出てこない可能性があるので知って置かなければまずいこと。...
今日、知人に教えてもらって目から鱗。 この手のソフトで有名どころは、ScreenFlowだが、なんとMacデフォルトで入っているQuickTimeでスクリーンキャストできちゃいます!! 操作は簡単で、QuickTimeを立ち上げて、ファイルメニューから新規画面収録を選ぶと録画用のコントロールが表示されます。そして、録画ボタンを押すだけ。 スクリーン全体も撮れるし、画面の一部も撮れる。 試しにQuickTimeでスクリーンショットの動画を録画して、iMovieで編集してみました↓
Rails, Web Services, Software Development, Startups
概要 PHPのセッションハンドラをデフォルトで使っている場合のガーベージコレクタ(GC)の話。PHPはサーバ上で保存してあるセッション情報を保存してあるファイルをを定期的に削除している。削除するタイミングはPHPが起動する時、HTTPリクエストまたはコマンドラインからPHPが起動した際に一定の確率でGCが起動するようになっている。Javaのアプリケーションサーバならメモリ上にJVMが常駐しているからプログラムの起動とは非同期にできるが、PHPは同期で処理している。そのため、PHPではGCが起動したときにプログラムの実行時間が長ってしまう。よって、大規模サイトになったときには必然的にセッションファイルが扱うセッションが多くなるため、GCにかかる時間が長くってしまうから、同期によるPHPのGCに任せないで自前で非同期にGCを行うべき。 設定項目 PHPのGCを制御する設定はphp.iniに記載
ファーストサーバーの障害報告 http://support.fsv.jp/urgent/pdf/fs-report.pdf 月末だし、月初へ向けてファーストサーバーの障害報告を読んで、エンジニアの仕事のあり方に関して思ったことを書く。 上記のPDFから得られる知見 周りに比べて、優秀な人がこのような問題を起こす可能性が高い。どんな人でもミスを起こすことの証明。 レースで例えると サーキットでカローラを与えられて、100周しろ!と言われたときに、エアバッグなどの重い安全装置を取っ払い、ターボ付けたりサスペンション変えたりして改造し、より早いラップタイムを目指した結果、コースアウトしてマシンが大破した状態。 安全性vsパフォーマンス理論 いくら仕事のパフォーマンスが高くても、安全に仕事を行えていないとこのような大障害になってしまう可能性がある。よって、安全対策とパフォーマンスの理想はバランスが
概要 ユーザがページ最下部へスクロールしたことを検出するjQuery書きました。 サンプルコード github http://github.com/matsubo/detect-reaching-to-the-bottom-of-the-page デモ TODO jQuery pluginにする
概要 MySQLの独自拡張であるREPLACE INTOとINSERT … ON DUPLICATE KEY UPDATEが似ている挙動しているので実験してみた。on MySQL 5.1 参考資料 12.2.6. REPLACE 構文 12.2.4.3. INSERT … ON DUPLICATE KEY UPDATE 構文 INSERT IGNORE http://d.hatena.ne.jp/IT7C/20100715/1279148768 実行例 テーブル作成&初期データ投入 mysql> CREATE TABLE IF NOT EXISTS `color` ( -> `id` int(11) NOT NULL AUTO_INCREMENT, -> `value` varchar(255) NOT NULL, -> PRIMARY KEY (`id`), -> UNIQUE KEY
このページを最初にブックマークしてみませんか?
『matsu.teraren.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く