React.js & Next.jsの勉強メモ

概要 React.js & Next.js超入門 第2版 を読んでちまちま写経していたが、 firebaseのところが現行のversion9とは結構乖離が大きくなっていたので、差分をメモしておく。 (買ってから1年以上放置してたのがそもそも悪い) React.js&Next.js超入門 第2版作者:…

Docker + SolrCloud

概要 以下の書籍の内容をベースにDocker + Solr8でSolrCloud環境を構築した。 [改訂第3版]Apache Solr入門 ―オープンソース全文検索エンジン作者:打田 智子,大須賀 稔,大杉 直也,西潟 一生,西本 順平,平賀 一昭発売日: 2017/04/27メディア: Kindle版 構成 …

WWW::Curl::Easyでファイルをアップロード

目的 WWW::Curl::EasyでファイルをPOSTでアップロードしたい。 ただし、ファイルは巨大になるケースを想定して、一旦メモリに読み込むのを避けたい。 コード use strict; use warnings; use WWW::Curl::Easy; my $file = 'hoge.csv'; my $size = -s $file; o…

YAPC::Tokyo 2019 に参加した感想

とりあえず雑でも感想を書いておく。後にすると絶対書かない。 メッセージングのプロトコル https://speakerdeck.com/lyokato/yapc-japan-tokyo-2019-metusezingufalsepurotokoru 発表後の本人のMediumのエントリ を読むと発表の意図がわかりやすい。確かに…

Erlangことはじめ

Erlangことはじめ erlangを書くことになったので、初歩的なスクリプトの実行からテストの実行までを勉強。 ディレクトリ構成 myproject ├── ebin │ └── mymath.beam # コンパイル時に生成される ├── rebar ├── src │ └── mymath.erl └── test └── mymath_tes…

リーダブルコードを読んだ

今更ながら「リーダブルコード」を読んだ。 きっかけ 職場では開発したコードをチーム内のメンバーでお互いに見せ合い、内容に問題ないかをレビューしている。 あるとき別のメンバー同士でレビューをしてる際に、「リーダブルコードに書かれているから…」と…

Slow Query 対策 - コンテンツの前後リンク

Slow Query 対策 - コンテンツの前後リンク 背景 例えば日記などのコンテンツのように、ユーザーとコンテンツが1対Nで存在するケースで、任意のコンテンツで前後のコンテンツのリンクを出したい。 そのためには、あるコンテンツのIDの近傍データにアクセスし…

Slow Query 対策 - シーケンシャルリードを行いたい

背景 数百万行のデータを保持するMySQLから、定時でSolrのインデックス構築用にMySQLから全行の取得を行っていた。 ただし、サービスインしているためクエリ一発で取得するのは負荷のためNGであり、繰り返し一定行数データを取得する必要があった。 今回、既…

Jogport Ariake & お台場ラン

今日はお台場でランニングしてきた。 利用したランステは「Jogport Ariake」。 りんかい線の国際展示場駅からだとちょっと歩くけど、ゆりかもめの国際展示場正門前駅からだと目の前にある。 丁度ランニングイベントがあったのか、M高史さんがいた。 他のラン…

サーバー上のユーザーのオペレーションをお手軽に記録する

Linux/Unixサーバー上で、ユーザーにオペレーション権限を与えたいが無制限に開放するとセキュリティ上好ましくないので、ユーザーに改竄されない形でオペレーションを記録しておいて後で追跡できるようにしたい。 ただし、以下の制約が存在する。 パッケー…

ASICS STORE原宿店で足形測定をした

ニューバランスをやめた ニューバランスが昔から好きで、初任給でNB Zipのランニングシューズを買って以降、ランニングシューズは全部ニューバランスでした。 しかし、ここ最近のシューズは合うまでに2ヶ月かかる、もしくは合わないということが続きました。…

サハラマラソンに出てリタイアしてきた話

はじめに 4/3-4/16に有給をもらい、第29回サハラマラソンに参加してきました。 結果をだけ書いておきますと、自分は2日目の第2チェックポイントでリタイアしました。 今回は主に失敗した原因について書いています。 サハラマラソンとは サハラマラソンとはそ…

Redisでランキングを作る

「Redisでランキングを作る」という手垢の付きまくったネタをPerlでやります。 Redis::Clientを使いました。 データの準備 Redisサーバーをインストール・起動した後、ランキング用のデータを準備します。 100万件のデータをスクリプトで入れました。 1件1件…

C言語とLuaの連携 -2次元配列のやりとり-

やりたいこと 昨日の続きで、今回はCからLuaに2次元配列を渡し、Luaで加工した後、LuaからCに値を返します。 C言語のコード matrix.c #include <stdio.h> #include <stdlib.h> #include "include/lua.h" #include "include/lualib.h" #include "include/lauxlib.h" #include "lu</stdlib.h></stdio.h>…

C言語とLuaの連携 -配列のやりとり-

やりたいこと C言語とLua間で配列のやり取りをしたい。 具体的にはCからLuaに配列を渡し、Luaで配列を加工してC言語に返したい。 C言語のコード array.c #include <stdio.h> #include <stdlib.h> #include "include/lua.h" #include "include/lualib.h" #include "include/lauxl</stdlib.h></stdio.h>…

DelphiとLuaの連携

やりたいこと Delphiのプログラム上でスプライトオブジェクトを動かします。ただし、このスプライトオブジェクトの動作をある程度動的に変更できるように、スプライトオブジェクトの動作をLuaで定義します。 準備 八角研究所:高速スクリプト言語「Lua」を始…

続・C言語とLuaの連携

やりたいこと 前回の積分をpthreadで並列化します。 例えば[0.0, 1.0]の区間で2スレッドで積分する場合、1スレッド目は[0.0, 0.5]区間を、2スレッド目は[0.5, 1.0]区間を同時に積分して合算します。 準備 基本的には前回と一緒です。 pthreadはだいたいの環…

C言語とLuaの連携

やりたいこと C言語で積分するのを目的とします。ただし、積分対象となる関数は入れ替え可能なようにLuaで与えることにします。 具体的な例題として、1/(1 + x^2) を [0, 1] の区間で積分し、4をかけて円周率Piを算出します。 準備 gccやLuaのインストールは…

技術的負債返済に対する論理回路的アプローチ

CCとは Cyclomatic Complexityの略で関数の簡潔さ/複雑さを測定する指標の一つです。 CC、複雑さの状態、バグ混入率は以下のようになるそうです。 http://d.hatena.ne.jp/szk-takanori/20111219/p1 循環的複雑度複雑さの状態バグ混入確率 10以下非常に良い…

mixiページについたイイネ/コメントを通知してくれるデスクトップアプリ(2)

前回からの続き 前回はmixi Graph APIを利用してmixiページのページ情報やフィード情報を取得するコードを紹介しました。 今回はこれらのAPIを一定間隔でコールし、前回の呼び出し結果の差分を用いて、ユーザーに通知するアプリを作りました。 ソースコード …

mixiページについたイイネ/コメントを通知してくれるデスクトップアプリ

はじめに mixiページを運用する上で、フォロワーからのイイネ/コメントに対して、管理者は迅速に対応することが求められます。 しかし、現状ではmixiページにイイネ/コメントがついても管理者アカウントのホーム画面に通知されるのみで、フォロワーからのレ…

mixi Graph API Sample for Delphi

はじめに これは Delphi Advent Calendar 2012の12/4の記事になります。 この記事では、mixi Graph APIをDelphiから扱うサンプルコードについて書いています。 事前準備 mixi Graphi API を利用するためには、mixi Developer Centerから個人パートナー登録の…

mixi Graph API のライブラリ

mixi Graph APIのライブラリを書いてみました。https://github.com/sota2502/mixi-api今のところはアクセストークンの生成・再生成を便利にできるようにした程度。 以下にサンプルを載せます。前準備 このサンプルを実行するに当たって、mixi Graph API << m…

はじめました。

はてなブログを始めました。 楽しく更新できたらなと思います。