面倒なので塗装なし


カットはホームセンターでやってもらったので特に苦労なし。

自転車のトレーラーで運んだ。910mm ぐらいなら内側におさめて詰めるけど、これより長いとむずかしそう。うーん。


ダボ継ぎをしてみようと思いこの四角はダボでやってみた。まぁ普通にできたはできたって感じか……

クランプが大量に欲しい

備考

スターエム 5B-080 先三角ショートビット 8mm - スターエム

スターエム

5.0 / 5.0

大西工業 木工用スケールビットロング 8.0mm - 大西工業(Onishi Kogyo)

大西工業(Onishi Kogyo)

5.0 / 5.0

ショートタイプのφ8mmビットを買ったけど、これがちょっと短かすぎた。ロングタイプを買ったほうが良い。というのもドリルストッパーやドリルガイドを使うと長さが必要になるからだ。

スターエム 5005-080 ドリルストッパー 8mm - スターエム

スターエム

5.0 / 5.0

SK11 ドリルガイドキット 4~12mm SGK-6 - SK11(エスケー11)

SK11(エスケー11)

4.0 / 5.0

ダボは φ8mm 30mm がデファクトスタンダードでよさそうな雰囲気なのでこれにした。アマゾンが SKのダボマーカーに最小購入個数を課していてクソなのでセットのものにした。問題ない。

Z-Liant ダボ用マーキングポンチ8mm 5個 木ダボ 8☓30mm 約100個 木釘 木工ダボ 木 ダボ 家具 DIY つなぎ ジョイント - Z-Liant Nikitea

Z-Liant Nikitea

5.0 / 5.0

薄板継ぎだとポケットホールというのが手軽で流行っているっぽいので、そのうち試してみたい。3Dプリンタで治具をつくれるっぽい。

  1. トップ
  2. tech
  3. キッチンの棚 DIY

φ8 30mm を標準として考える。φ8では割れてしまうような厚さならφ6も視野に入るがあまり使わないだろう。1x4 サイズ(19mm厚)でもφ8で良い。

問題はダボ穴。アマチュアの場合正確に穴あけするのが難しいため、マイナス公差をとらずφ8のドリルであけてしまうほうが良いようだ。ドリルストッパーを併用してあける。

きっと、うまくいく [Blu-ray] - アーミル・カーン

アーミル・カーン

5.0 / 5.0

3時間弱あってなかなか見れなかったけどようやく見た。おもしろかった。

しばらく緊張させたあと解決して歌と踊り、みたいな流れが何度かある。ひとつのことを無駄にひっぱったりしないので、ずっと緊張させられることはない。割とショッキングなシーンもあるけど、最終的にうまくいってすっきりする。

序盤から細かい伏線がちりばめられていて、それらが終盤に向けて次々と解決していく感じが気持ちよい。最近あんまりこういう伏線回収が気持ちいいストーリー見てなかった。

とにかく良かった。

帰ってきたヒトラー [Blu-ray] - オリヴァー・マスッチ

オリヴァー・マスッチ

5.0 / 5.0

タイムスリップ異世界転生で、設定自体はものすごくありふれてるけど、扱っているのが際どい。

基本的にはコメディなのか?と思って前半笑って見ていると、徐々にドキュメンタリが入ってくる。実際のドイツ国民へのインタビューや極右団体との絡みなんかが入ってくる。映画の中のヒトラーは、ヒトラーに似た人間が演じているものだと思われている。この設定がそのまま現実に通用するため、ドキュメンタリとフィクションが混ざっても全く違和感がなく、目線が入っていない部分はフィクションなのかどうなのかよくわからない。

前半は異世界転生ものとして面白いのに、うまいグラデーションで見終わるころには怖くなっている。現実の合法的な議席獲得の最初の段階もこうだったのだろうか?と思わせる。

大井町の夏劇場で見てきた。妻がチケットをとらなかったら一生見なかったであろう (ミュージカルに興味がないので……)。

箇条書き

  • 急にはじまる
    • 特に2部はスタッフが走ってるな?と思ったら演者だった
  • 舞台装置がすごい
    • よく知らないので舞台って演目ごとに作りかえるのか?すごい大変だなとか考えてた。
      • → 作りかえるらしい。舞台装置も含めて作品みたい
  • 思ったより舞台の奥行があった。
  • 幕の演出が複雑ですごかった。いまいち原理がよくわからないのがあった
  • シーン転換にまったく隙がなかった。これが普通なのだろうか?
  • シルエット (逆光) と順光がスムーズに繋って転換するシーンが多くて印象的だった
  • ライオンのかぶりものの扱いが謎。演者は仮面のほうを見て演技してるっぽい。でもプライベートなシーンでは1回これをはずして会話してて、どういうことって思った。メタなのか? あの仮面どうやって操作してるんだろう。姿勢と連動してる?
  • トリが演者から離れるシーンも、あのトリの扱いはどういうものなんだ!?と思った。
  • 演者を意図的に見ようとしなければぜんぶちゃんと動物に見えるのがすごい。
  • 悪役スカーがめちゃくちゃよかった
  • 最後のほうで「人殺し!」っていうシーンがあるけど人……?人とは???とちょっと思った。
  • シーンで印象的だったのは1部最後のヌーの群れと2部の水面にうつるムファサのところ。すごかった。
  • すごく長い間やってるミュージカルみたいだけど、ずっと演出が同じなんだろうか。

@Async と @RequestScope を同時につかうとどうなるか

@RequestScope、これは @Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS) と同じ意味。この Bean はスレッドローカルにひもづけられているHttpServletRequestに保持されている。

@Async は別スレッドで処理を実行するため、間接的にでも @RequestScope な Bean を使っていると以下のような実行時エラーとなる。処理中のスレッドには該当する Bean が保持されていないという旨。

java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.

ScopedProxyMode.TARGET_CLASS なのでスタックトレースがややこしい。cglib を使ってクラスのプロキシを作って、プロキシクラス内で Bean をどこかからとってきて呼ぶという動きになっている。おかげでスコープに関わらずコード上は Singleton のように扱えているが、黒魔術はひっかかったとき大変です。

解決方法

https://stackoverflow.com/questions/23732089/how-to-enable-request-scope-in-async-task-executor に良い解決方法が書いてあって、これを使えばよい。やってることは単純で @Async で別スレッドで実行しようとする際に、呼び出し元スレッドのBeanを渡してあげるという感じ。

ただし、どうもコピペでは動かなくて、以下のようにかえてうまくいった。結局 Executor インターフェイスのメソッドだけオーバーライドしたら良い。

@Configuration
@EnableAsync
public class AsyncConfiguration implements AsyncConfigurer {
    // Default task executor for @Async annotation
    @Override
    @Bean
    public Executor getAsyncExecutor() {
        val executor = new ContextAwarePoolExecutor();
        executor.setCorePoolSize(25);
        executor.setQueueCapacity(25);
        executor.setMaxPoolSize(25);
        executor.setThreadNamePrefix("AsyncTask-");
        executor.initialize();
        return executor;
    }

    @Override
    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
        return null;
    }

    @SuppressWarnings("serial")
    public static class ContextAwarePoolExecutor extends ThreadPoolTaskExecutor {
        /**
         * Override Executor interface
         */
        @Override
        public void execute(Runnable task) {
            super.execute(new ContextAwareRunnable(task, RequestContextHolder.currentRequestAttributes()));
        }
    }

    public static class ContextAwareRunnable implements Runnable {
        private final Runnable task;
        private final RequestAttributes context;

        public ContextAwareRunnable(Runnable task, RequestAttributes context) {
            this.task = task;
            this.context = context;
        }

        @Override
        public void run() {
            if (context != null) {
                RequestContextHolder.setRequestAttributes(context);
            }

            try {
                task.run();
            } finally {
                RequestContextHolder.resetRequestAttributes();
            }
        }
    }
}
  1. トップ
  2. tech
  3. Spring MVC で @Async と @RequestScope を共存させるには?

await x は await Promise.resolve(x) という意味なので、どのような値がきても問題ない。同期関数を await しても問題は起こらない。呼び出し先の関数が Promise をかえすかどうかを悩む必要はない。

Promise.all も同様で、(別に意味はないけど) 即値を渡しても問題ない。

  1. トップ
  2. tech
  3. async 関数内では全ての関数呼び出しに await を書けば良い

3M 絆創膏 ネクスケア キズ キレイに 治す ハイドロ コロイド メディカルパッド M サイズ 10枚 HCD10M - スリーエム(3M)

スリーエム(3M)

5.0 / 5.0

【Amazon.co.jp限定】BAND-AID(バンドエイド) キズパワーパッド ふつうサイズ 10枚+ケース付き 防水 指先 指 絆創膏 早く きれいに 治す 痛みを和らげる ハイドロコロイド - BAND-AID(バンドエイド)

BAND-AID(バンドエイド)

5.0 / 5.0

ハイドロコロイド系の絆創膏だとキズパワーパッドがメジャーな気がするが、3M のネクスケアも試してみたら使い勝手が全然違って感動したので書く。(特に理由なく安いっぽいから買って常備しておいたのだけど、なかなか使う機会がなかった)

ネクスケアのカバーフィルムがすごい

キズパワーパッドは全面がハイドロコロイド素材になっていて、直接それを貼りつけて固定する感じになっている。密着しにくい部分にはったりするとどうしても剥れてしまい、その部分に水がかかってしまうと剥れた部分が白く変化して使えなくなってしまう。

ネクスケアの場合、ハイドロコロイド素材の上に防水フィルムがさらに貼り付けてあり、周囲10mmぐらいを、かなり薄い透明なフィルムでカバーするようになっている。上の写真だと指の間にフィルムがはみ出してるのでわかりやすい。

とにかく、このカバーフィルムがすごい。めちゃくちゃ薄くて透明で皮膚に密着するので、貼ってあるのか貼ってないのか心配になるぐらい見えない。伸縮性もあって密着しているので水がかかっても全く問題なくなる。不思議。

これだけ薄くて密着するので剥すのに苦労するかなと思ったけど、普通に端を爪で擦ったら特に強くひっぱられることもなく剥すことができた。

貼り付け方法も工夫してあって使いやすい。極薄のフィルムを貼り付けるのは普通は難しいのだけど、4ステップで貼ることで何の苦労もなく貼れるようになっている。

欠点としてはフィルム分、患部に対して貼り付け範囲は広くなってしまうことぐらいか。今回自分は手のひらだったので問題ないが、指先とかだともしかすると使いにくいかも。

しかもネクスケアのほうが安いぽい。完全にオススメ。


しかし酒飲んで転んで怪我をするという実績を解除してしまった…… 人生の先輩がたにおかれましてはそれで骨折している人も多くいるので、転んだ瞬間それがよぎった。結果的には擦り傷ぐらいですんだけど、気をつけたい。

「NEMA 17 Vibration Damper」 あたりで ebay を検索して出てきたやつを買ってみた。5個で520円ほど。中古品みたいな汚れたのが送られてくる。5個のうち1つはプレートが歪んでいて使えない感じ。よく見るとわかるが5個のうち2つは穴の大きさが違っていて、すこし大きい。というかそもそも商品説明の穴の形と違う。だいぶ謎仕様。まぁ機能が果たせれば文句をいえる値段ではないが……

取り付け

X軸とY軸だけ取り替える。Z軸も動いてるときはそれなりにうるさいのだけど、ほぼ全部分解しないといけないので大変だし、3Dプリンタの場合Z軸はほとんど動かないのでやらないことにした。E軸はそもそもうるさいと思ったことがない。

Originai Prusa i3 MK2.5 で、X軸は簡単に取り替えられる。シャフトの長さがギリギリなのがちょっとこわいか。

Y軸はちょっとややこしくて、Prusa i3 MK2: 3 Point Y Motor Holder を使って元々のパーツを3点支持型に変更するか、Prusa i3 MK2S Y axis stepper damper attachment plateを使ってあげるなどしないといけない。前者はフレームの組みなおしが必要になってしまうので、後者でなんとかした。

効果はどうか?

かなり効果がある。High Power モードでも Silent モードにしたぐらいの静かさになる。

もしかすると造形精度に影響があるかもしれないが、いまのところは大丈夫そう。耐久性も疑問があるけど、ヘタってきたら単に戻せばいいだけなので、気軽に導入できる。

  1. トップ
  2. tech
  3. 3Dプリンタの静音化のためにステッピングモーターにダンパーを追加