はやし雑記

はやしです

全く酒の飲めない下戸だけど、アルコール感受性の遺伝子検査をしてみた

メリークリスマス!

皆さんクリスマスは如何お過ごしでしょうか。僕は昨晩も一人でコーラを飲んで、今日も一人でコーラを飲む予定です。

年末年始といえば忘年会に新年会など、お酒を飲む機会が多いですが、皆さんは正しくお酒と付き合えていますか?

僕は酒が全く飲めない下戸なので、飲み会が全般的に地獄です。お酒が全く飲めないと飲み会なんてまぁクソダルいですよねぇ。

なんなんでしょうかあの酔って前後不覚になって周りに迷惑をかけても酒の場なら許されるみたいな風潮は。なんですか飲み会に下戸がいれば最悪後はそいつがなんとかしてくれるやろみたいな空気は。

あとなんだとりあえずビールって、7.6%いるというLGBTには優しい人たちも9.5%いる下戸には厳しかったりするので、飲酒は悪です。

なにはともあれ、

僕もベロンベロンに酔って他人の事なんか考えずに楽しく酒を飲んで辛いことも悲しいことも忘れて快楽に溺れたい。

みたいな事を思って、アルコール感受性の遺伝子検査をしてみました。

続きを読む

新しくiOSアプリを書くにあたって、VIPERを採用した

注:これはポエムです。

タイトルのままです。

最近諸事情により新しくiOSアプリを作っています。 めちゃくちゃ複雑とか、エキセントリックなアプリというわけではなく、極めて普通のアプリです。

コンプライアンス的なアレがアレなのでアレですが、Twitter公式アプリのような内容感です(?)。

今回そのアプリの開発にVIPERを採用した訳ですが、なぜそれを採用するに至ったかの経緯と理由のポエムを綴ります。

参考にした記事等は以下です

iOSアプリ設計大全集 2016 - Qiita

GitHub - pedrohperalta/Articles-iOS-VIPER: Demo app for VIPER design pattern implementation

iOS Project Architecture : Using VIPER [和訳] - Qiita

続きを読む

vibe.d(D言語製WAF)でWeb開発、DockerでAWSへデプロイ

はじめに

皆さん、vibe.dはご存知でしょうか。そもそもD言語はご存知でしょうか。

D言語 - Wikipedia

C++erがD言語を使ってみて感激した機能 - Qiita

型推論GC、テンプレートやコンパイル時関数実行などもでできて、モダンでCoolな言語仕様の言語です。 個人的には、若干Swiftに似ているかなぁ(D言語がSwiftに似ているのでは無く、SwiftがD言語に似ているのだが)という感じがあります。

残念なことに、D言語はまだユーザーが少なく、Googleにも"dlang"で検索すると"もしかして golang"と煽られる始末で、まだまだライブラリやフレームワークは発展途上です。 そんな数少ないD言語製のWeb Application Frameworkの中で、vibe.dは最も成熟したものだと思います。

vibed.org

先日Pythonで運用していたhayashikun.comのさくらVPSの契約が切れ、もう運用してないWebサービス等もあったので一新しようと思い、vibe.dで実装、dockerでAWSにデプロイしたので、備忘録を残します。

件のhayashikun.comは、以下のリポジトリで公開しております。

GitHub - hayashikun/hayashikun.com

2018年4月22日 追記: 中身もなんもないカスサイトの維持に3000円強/月かかってるのでgithub pagesに移行した

続きを読む

2016年をサクッと振り返る

1月

研究室に配属される.第二志望の研究室で教授の退官が近いので,配属は1人で同期がいない,ぼっち.それに,院進するとしたら研究室変わらないといけないところになってしまった. 研究室入ってちょっと勉強とかしてたら就職するんじゃなくて院進したくなったので就活系を全部辞めた.

2月

学科の友達はみんな結構春休み取ってたけど,特に春休みしたいこともなかったから殆ど毎日研究室行っていろいろしてた. あと,一年ぶりにバイトを始めた.割と有名なIT企業で,時間的にそんなに余裕は無いけど働けてうれしーって感じ.

3月

特に何もなし

4月

4回生になった. 卒業研究を始めた.

5月

人生初の再履バスに乗った. 特に何もなし

6月

院試の事を考えて研究室の見学とか行った.

7月

院試出願を決める.阪大の別の研究室と東大の研究室に出願した.

8月

院試勉強を本格的に開始した.毎日(殆ど)勉強していた. 8月末に院試を受けた.

9月

院試は受かってた. 研究を再開. 東大に進学することにした.

10月

マジでクソな一ヶ月だった.

11月

実験の毎日,特に何もない単調な毎日.

12月

単調な毎日.

まとめ

クソな1年だった.来年はいい年にしたい. 来年も皆さんよろしくお願いします.

DeAGOSTINIの「日本の神社」を約2年4ヶ月かけてコンプリートして得られた知見を共有(自慢)する

いえーい!!!

先日やっとDeAGOSTINIの「日本の神社」をコンプリートしました。 2014年1月28日創刊で、第121号が2016年6月7日発行(5月中に届いたけど)なので約2年4ヶ月かけて……!

続きを読む

TwitterのlikeみたいなエフェクトをJSとCSSで実現する

祝 Twitter10周年!

らしい それに合わせてかTwitterのlikeのエフェクトが変わった

このlike押した時にエフェクトかかるのは去年から

これの仕組みはどうなっているのか、どうすれば自前で実現できるかについて書いていきます

仕組み

このエフェクトはどっちも横長の画像を切り替えて実現させている 旧エフェクトは f:id:hayashikunsan:20160321164758p:plain

新エフェクトは f:id:hayashikunsan:20160321164813p:plain

で成っていて、前者は2900 × 100pxで後者は15960 × 280pxなので、それぞれ29コマと57コマの画像を切り替えてアニメーションにしてる

では、この横長の画像1枚からアニメーションを実現させるのはどうすれば良いかというと、CSSのbackground-positionを使う この属性の詳細はググってみてください

この属性の値を一定時間ごとに変えて、表示させる場所を変えればアニメーションになる

デモ

Twitterの新エフェクトを動かしてみる ソースは

<html>
    <head>
        <style>
            #heart {
                background-image: url(heart.png);
                height: 280px;
                width: 280px;
                animation: like 5s steps(57) 0s 1;
                animation-fill-mode: forwards;
            }
            
            @keyframes like {
                0% { background-position: 0px center; }
                100% { background-position: -15960px center; }
            }
        </style>
    </head>
    <body>
        <div id="heart"></div>
    </body>
</html>
<html>
<body>
<style>
#heart {
    width: 280px;
    height: 280px;
    background-image: url(heart.png);
    background-position: left;
}
</style>

<div id="heart"></div>

<script>
document.getElementById("heart").addEventListener("click", function(el) {
    var offset = 280 * 57;
    var tm = setInterval(function() {
        if (offset == 0) {
            clearTimeout(tm)
        } else {
            el.target.style.backgroundPosition =  offset + "px 50%";
        }
        offset -= 280;
    }, 50);
});
</script>
</body>
</html>

汚いけど許して

前者がCSS3のみを使う場合で、後者がJSを使って頑張る場合 前者のほうがよさ気だけど、IEとか一部対応してなさそう

こんな感じ

実際Twitterの中ではもうちょいいい感じにやってるんだろうけど、こんな感じで簡単に実現できるね!やったね!