Skip to content

Instantly share code, notes, and snippets.

View yasuoka's full-sized avatar

YASUOKA Masahiko yasuoka

View GitHub Profile

論理トレーニング自習ノート

テキスト

新版 論理トレーニング 野矢 茂樹 著

スケジュール

タイトル 年月日#1 年月日#2 備考
@yasuoka
yasuoka / lua_gc.md
Last active September 16, 2022 07:21

https://www.lua.org/manual/5.1/manual.html#2.10

2.10 ガーベージコレクタ

Lua は自動でメモリ管理を行う。これは、新しいオブジェクトのメモリを確保したり、オブジェクトが不要になった時にそのメモリを解放する心配をする必要がないことを意味する。Lua は、逐次「死んだオブジェクト」(Lua からもうアクセスできないオブジェクト) を回収する「ガベージコレクタ」を走らせ、メモリを自動で管理する。テーブル、ユーザデータ、関数、スレッド、文字列、など、Lua が使うすべてのメモリは自動で管理される。

Lua はインクリメンタル mark-and-sweap コレクタを実装する。これはガベージコレクションのサイクルを制御するために、「ガベージコレクタ pause」と「ガベージコレクタ step multiplier」、二つのを用いる。どちらも単位としてパーセンテージを使う (つまり、100 は内部値として 1 を意味する)

ガベージコレクタ pause は新しいサイクルを開始するまでの長さを制御する。大きな値は、コレクタをより消極的にする。100 以下の値は、コレクタは新しいサイクルをスタートするまで待たないことを意味する。200 は、コレクタは新しいサイクルを開始する前より合計メモリが倍になるまで待つことを意味する。

@yasuoka
yasuoka / migration.md
Last active May 23, 2021 03:46
Health Planet から Withings にデータ移行

Health Planet からデータ取り出し

Health Planet API 仕様書 を参考にしてデータを取り出していく

Health Planet API の client_id と client_secret を得る

  1. https://www.healthplanet.jp/ にアクセス
  2. 登録情報 > サービス連携 で、「アプリケーション開発者の方はこちら」をクリック
  3. 適当に入力して登録。最初にアプリケーションタイプを「クライアントアプリケーション」に設定すると入力項目が減り、サービス名とメールアドレスだけなる
  4. client_id と client_secret が表示される

Health Planet API の token を得る

@yasuoka
yasuoka / README.md
Last active April 23, 2020 03:42
npppd test
@yasuoka
yasuoka / sample.lua
Created November 18, 2019 23:26
mail script 説明
mailserver = mailfilter.pop3("pop3s://mailserver", "username")
mailserver:getpass()
inbox = mailfilter.mh_folder("inbox")
spam = mailfilter.mh_folder("spam")
for _,msg in pairs(mailserver:list()) do
spam = false
msg:top({
on_header = function(key, val)
@yasuoka
yasuoka / curl_libevent.c
Created November 17, 2019 09:25
glue for libcurl (multi) and libevent
#include <err.h>
#include <event.h>
#include <unistd.h>
#include <stdlib.h>
#include <curl/curl.h>
void *xcalloc(size_t , size_t);
/* curl glue */
@yasuoka
yasuoka / pppoe.md
Last active September 7, 2019 05:45
Test cases for npppd

Test PPPoE on a standalone OpenBSD

This test

  • assumes /etc/npppd/npppd.conf is kept the original.
    • uses 10.0.0.0/24 for pool address for npppd
  • uses rdomain 1 for client PPPoE