タグ

ブックマーク / blog.shibayu36.org (13)

  • クラスター株式会社に入社しました - $shibayu36->blog;

    2023/07/01よりクラスター株式会社に入社しました。 corp.cluster.mu 今回もいくつかオファーをもらったが、次の理由からクラスター株式会社へ決めた。 とにかくクリエイターを応援したい 社内にもクリエイター気質の人が多そうだ リアルタイム通信サーバーなど、裏側のシステムにワクワクする VR自体が子供の教育を改善しうる とにかくクリエイターを応援したい 転職活動の際にいろんな転職軸を言語化していたのだが、結局のところ自分がどうしても貢献したいプロダクトでなければモチベーションを保てないと感じた。もう一度これまでの仕事を振り返った時、自分は「漫画家・小説家・ブロガーなどのクリエイターが、自分の作ったプロダクトによって報われた時」に非常に嬉しく感じる1ことに気づいた。 クラスター株式会社は現在clusterというメタバースプラットフォームを作っているが、単純にメタバースプラット

    クラスター株式会社に入社しました - $shibayu36->blog;
    tanishiking24
    tanishiking24 2023/07/03
    "自分は「漫画家・小説家・ブロガーなどのクリエイターが、自分の作ったプロダクトによって報われた時」に非常に嬉しく感じる1ことに気づいた。" ナイス言語化、おめでとうございます&がんばってください〜
  • コード変更で抜け漏れやミスを少なくするための習慣 - $shibayu36->blog;

    自分はこれまでの仕事で、バグ修正や機能追加でPullRequestを送るときに、考慮の抜けもれやケアレスミスが非常に少ない方であると思っている。振り返ってみて、これは自分に課している習慣が大いに効いていると思っているので、メモしておく。 毎回のcommit時 必要な部分だけをgit addし、git diff --cachedによって差分をセルフコードレビューした上でcommitする PullRequest作成時 filesの内容をセルフコードレビューし、直した方が良い部分は直す + わかりにくい部分にGitHub上でラインコメントを行う + コード上にコメントを残した方がいいならコメントする ユーザーの導線に影響するコードなら、必ず自動テストだけでなく、自分自身でユーザーの行動をトレースし、違和感がある部分が存在しないかチェックする。チェックした流れについては、PullRequest上に

    コード変更で抜け漏れやミスを少なくするための習慣 - $shibayu36->blog;
    tanishiking24
    tanishiking24 2022/04/25
    OSSでもセルフレビューのためにforkしたリポジトリに一旦PR作って(Github actionなら)CIまわしてみたり、diff眺めたりしてる
  • 「実践Scala入門」読んだ - $shibayu36->blog;

    [asin:4297101416:detail] 読んだ。このは「コンパクトなコップ」を目指したと最初に書かれているとおり、このを読めばひとまずScalaを書けるようになるなと思った。これからScalaを始めたくなったらまずはこのを読んでおけば十分だと思う。 また、「コンパクトなコップ」だけに留まらず、実践ではよく使うがコップではあまり言及されていないような機能についても解説されていたことが非常に良かった。例えばコップではOptionやEither、Tryなどを使ったエラー処理についてあまり書かれておらず、昔Scalaを始める時にエラー処理のやり方で詰まったことがあった。その時にこのを読んでいたらもっとスタートダッシュが速かっただろうと思う。他にも実践ではほとんどの場合利用するsbtについても解説されているのも良かった。 こんな感じでScala入門するには最適な一冊だと感じ

    「実践Scala入門」読んだ - $shibayu36->blog;
  • CloudFormationでVPCを構築し、CloudFormationに入門する方法を知った - $shibayu36->blog;

    最近CloudFormationに入門しようとしている。それで、AWS CloudFormation への入門に「Amazon Web Services 基礎からのネットワーク&サーバー構築」を使ってみた - えいのうにっきの記事をみて、これはいい入門の仕方だなあと思い、「Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版」を購入して、CloudFormationで構築するということをやっている。 Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版 作者:玉川憲,片山暁雄,今井雄太,大澤文孝日経BPAmazon 今回はChapter2の「ネットワークを構築する」をCloudFormationでやってみた。 CloudFormationの概念や使い方を理解するには やってみようとすると、まずCloudFormationの概念

    CloudFormationでVPCを構築し、CloudFormationに入門する方法を知った - $shibayu36->blog;
  • 自作ScalaライブラリをMaven Centralにリリースする手順メモ - $shibayu36->blog;

    最近Scalaの勉強も兼ねてjoda-time-fakeというScalaライブラリをMaven Central Repositoryにリリースしてみた。今回はその手順を忘れないようにメモとして残しておく。 今回の手順でできたこと com.github.shibayu36 organizationにjoda-time-fakeとしてライブラリをリリースする Scalaの2.11と2.12でクロスコンパイルして両方共リリースする 最終的にsbt-releaseでリリースを自動化できるようにする 参考資料 自作のScalaライブラリをMaven Central Repositoryにリリースする - Qiitaが一番参考になった。少しハマりどころはあったものの、これを見て一つずつやっていったらリリースまで出来たので感謝。今回の僕の記事はクロスコンパイルして複数バージョン上げるという点が違うだけで

    自作ScalaライブラリをMaven Centralにリリースする手順メモ - $shibayu36->blog;
  • 良かったことは良かったとはっきりフィードバックする - $shibayu36->blog;

    最近心がけていることとして、「良かったことは良かったとはっきりフィードバックする」ということがある。 自分がリーダーやマネージャのポジションになった時に、方針やメッセージを打ち出す、チームの開発フローを改善するなどを行うことがあった。この時、何もフィードバックが返ってこなくて、結局良かったのか、それともあまり興味がないのか、実は不満に思っているのか、どれなのかわからず、非常に不安に思ったという経験がある。 逆に自分が伝えられる立場になった時を考えてみると、何かが行われた時、気になることはよくフィードバックするけど、良かったなと思うことは心の中で思うだけでフィードバックしないことが多いと感じた。 そこで最近は、「良かったことは良かったとはっきりフィードバックする」ように心がけている。はっきりフィードバックするというのは、どこが良かったかを出来る限り具体的に相手に伝えるということである。伝える

    良かったことは良かったとはっきりフィードバックする - $shibayu36->blog;
  • ioドメイン障害を理解するため、DNSの仕組みについて勉強した - $shibayu36->blog;

    先日、ioドメインの障害があったのだけど、自分がDNSの仕組みをよく分かっていないせいで、いまいちどういうことが起こっていたのか把握できなかった。そこで、DNSの仕組みについて軽く勉強したので、そのメモを残しておく。内容は間違っているかもしれないので、その場合は指摘してください。 DNSについて学んだこと Software Design 2015/4のDNSの教科書が非常に勉強になった。また、 インターネット10分講座:DNSキャッシュ - JPNICも参考になる。 権威サーバとフルリゾルバ まず、DNSサーバには権威サーバとフルリゾルバの二つの種類が存在する。 権威サーバ ドメインの情報を管理し、自分の管理しているゾーンの情報を提供するだけのサーバ 問い合わせたドメインが自分のゾーンの管理下ではない場合、別の権威サーバへ委任するという情報を返す コンテンツサーバとも言われる? 例) co

    ioドメイン障害を理解するため、DNSの仕組みについて勉強した - $shibayu36->blog;
  • Scalaの関数リテラルの学習メモ - $shibayu36->blog;

    Scalaスケーラブルプログラミングを読んでいて、関数リテラルについて気になったことがあったので、いろいろ試したことをメモしておく。 Scalaスケーラブルプログラミング第3版 作者:Martin Odersky,Lex Spoon,Bill VennersインプレスAmazon 関数リテラルの基形 基形はこんな感じ。 val f = (a: Int, b: Int) => a + b f(1,2) 省略記法 アンダースコアを使って省略できる。 val f = (_: Int) + (_: Int) f(1,3)このままだとアンダースコアに型を付けないといけないけど、変数側に型を明示しておくとアンダースコア側に型を書かなくても済む。これが利用されてfilter関数とかはアンダースコアに型が書かなくても良い。 val f: (Int, Int) => Int = _ + _ f(1,4)

    Scalaの関数リテラルの学習メモ - $shibayu36->blog;
  • Server::Starterから学ぶhot deployの仕組み - $shibayu36->blog;

    以前http://tech.naver.jp/blog/?p=1369の記事を読んだのだけれど、それまでにprocessの知識が無かったりして、まったく理解できませんでした。そこでWorking with UNIX ProcessesやServer::Starterの中身を呼んでようやくhot deployの仕組みを理解できた(気になっている)ので、Server::Starterの実装を追いながら、それをまとめてみます。 hot deployとは hot deployとは「再起動の時にリクエストの処理を続けながら、変更の内容を反映するための手段」です。 通常serverをrestartさせるときは、stop -> startの流れになると思いますが、この場合stopしてから、start出来るまでの期間にリクエストを処理できない期間が発生します。その期間なしにdeployする仕組みがhot

    Server::Starterから学ぶhot deployの仕組み - $shibayu36->blog;
  • 文字列マッチングのためのLCP Arrayを構築する - $shibayu36->blog;

    前回のブログ記事で、文字列マッチングをするためのSuffix Arrayという構造を構築した。このSuffix Arrayという構造だけでも、テキスト長をn、パターン長をmとして、の計算量で文字列マッチングできるようになった。 suffix arrayを一番簡単なアルゴリズムで実装する - アルゴリズム学習(その6) - $shibayu36->blog; suffix array構築のメモリ効率を良くする - アルゴリズム学習(その7) - $shibayu36->blog; しかし、前処理としてSuffix ArrayからLCP Array(Longest Common Prefix Array)という構造をさらに作っておくと、という計算量で文字列マッチングが出来るようになるらしい。そこで、今回はLCP Array(Longest Common Prefix Array)の構築を実装し

    tanishiking24
    tanishiking24 2017/01/06
    “kasai'sアルゴリズムはLCPの値が大きくなればなるほど、次ステップの比較を多くスキップ出来るものである。”
  • gulp + browserify + tsifyを利用してTypeScriptコンパイル環境を作る - $shibayu36->blog;

    最近TypeScriptを書いている。TypeScriptはそのままではブラウザで動かないのでコンパイルしてES5の形式にする必要がある。tscを使えば普通にコンパイル出来るのだが、今回はgulp + browserify + tsifyを利用したTypeScriptコンパイル環境を作ってみたのでメモしておく。 必要なnodeモジュールのインストール typescript, gulp, browserify, vinyl-source-stream, tsifyが必要。 # globalにtypescriptを入れる npm install -g typescript # ビルドに必要なモジュールを入れる npm install gulp --save-dev npm install browserify --save-dev npm install vinyl-source-stream

    gulp + browserify + tsifyを利用してTypeScriptコンパイル環境を作る - $shibayu36->blog;
  • typingsを使ってnpmモジュールをTypeScriptで利用する - $shibayu36->blog;

    以前、npmモジュールをTypeScriptで利用する(tsdによる型ファイル管理) - $shibayu36->blog; という記事を書いたが、最近tsdを使っていると、 npm WARN deprecated tsd@0.6.5: TSD is deprecated in favor of Typings (https://github.com/typings/typings) - see https://github.com/DefinitelyTyped/tsd/issues/269 for more informationと出るようになったので、ここで推奨されているtypings を使って同じことを出来るようにしてみる。同じような記事は既に沢山あるが自分用メモとして。 typingsのインストール 使いたいプロジェクトrootで $ npm install typings --

    typingsを使ってnpmモジュールをTypeScriptで利用する - $shibayu36->blog;
  • 符号化文字集合と文字符号化方式 - 「プログラマのための文字コード技術入門」を読んだ - $shibayu36->blog;

    最近文字コード周りでハマった時に、文字コードというものをそもそもちゃんと分かってないと気づいた。そこで「プログラマのための文字コード技術入門」を読んで勉強してみた。 プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ) 作者:矢野 啓介技術評論社Amazon このはコンピュータにおける文字について体系的にまとめてくれている。ASCIIやLatin1、UTF-8やUnicodeについて、どういう分類で何のために使われているかを知ることができる。また、歴史も合わせて教えてくれるので、今現状起こっている問題(円マークとバックスラッシュ問題とか)がどういう経緯で起こってしまったのかなどを理解できる。 簡単な文章で書かれているので、一度でも文字コードに関係することでハマったことのある人なら、どんどん読めると思う。ただ、符号化文

    符号化文字集合と文字符号化方式 - 「プログラマのための文字コード技術入門」を読んだ - $shibayu36->blog;
  • 1