タグ

2022年12月14日のブックマーク (9件)

  • Ubie は Go と Node.js の会社になります

    Ubie では、創業当初から Server-Side Kotlin を推進してきましたが、全社的な技術選定を再度行い、これからは Go と Node.js を中心とすることにしました。 記事では、Go と Node.js を選定した理由や、それを普及させる取り組み、そして選定の流れを紹介します。 経緯 これまで Ubie では技術スタックを発散させてきていて、現在は KotlinGo、Node.js、RubyPython のバックエンドサービスが動いています。以前は新規開発が多く、それぞれに携わるメンバーが技術選定をすることにより、最大瞬間風速を出せるなどのメリットがありました。しかし、現在では弊害が目立ってきています。 まず、事業成長に伴って運用の重要性が増しています。人材が潤沢とは言えないスタートアップにおいて、様々な技術スタックを安定運用することはコストが高すぎると感じています

    Ubie は Go と Node.js の会社になります
    ryshinoz
    ryshinoz 2022/12/14
  • 2022 年に学んで良かった技術

    雑に書いていきます。 バックグラウンド自分のバックグラウンドスキルは以下の通り。専門はリアルタイムな通信プロトコルを利用したサーバーの設計と開発とマーケティング。 Erlang/OTPWebRTCEnd to End Encryption細かいのはこちら。 SQLGosqlc を使うために学ぶことにした。sqlc を採用したのは複数人数で開発するときの共通言語としては SQL の方がいいだろうというのと、SQL はどんなデータを持たせたいのかを伝えるのに便利と判断したため。 今までずっと通信系ミドルウェアの開発をしてきたこともあって SQL を学ぶ必要が無かったが、今回いい機会なのでちゃんと学ぶことにした。 まずは利用データベースを完全にしぼって TimescaleDB (PostgreSQL ベース) で利用する SQL だけを学ぶことにした。 書籍は元 SIer のガチ SQL

    ryshinoz
    ryshinoz 2022/12/14
  • Engineering Managerを廃止して1年経ちました - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

    こんにちは、ゆのん(id:yunon_phys)です。このエントリーはAkatsuki Games Advent Calendar 2022の14日目の記事です。昨日はMaxBaconPowerさんの「巨大数でわかる Elixir の魅力」でした。Elixirが再帰が得意とはいえ、良くこんな題材を思いついたなと感心しました。早くふぃっしゅ数を見てみたいものです。 さて題に入るわけですが、昨年、Engineering Manager(EM)を廃止して3つに分割したという話を書きました。そこから1年経ち、どのような状態になったのか、ふりかえりも含めて書いていきます。記事は前回の記事を読まなくても読めるようにしていますが、更に背景理解したい方は前回の記事も読んでみてください。 hackerslab.aktsk.jp ずばりEMを無くして良かったのか これはマクロに見ると明確に良かったと思って

    Engineering Managerを廃止して1年経ちました - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)
    ryshinoz
    ryshinoz 2022/12/14
  • RustでOSを書いた

    はじめに RISC-V CPUFPGA 上に実装して、マイクロカーネル OS を Rust で書いて動かしてみました。 CPU について RISC-VとChiselで学ぶ はじめてのCPU自作 に沿って RISC-VCPU を作り、機能をエンハンスしました。 乗除算命令、RVC命令、ビット拡張命令の一部を追加 7段パイプライン化 DRAM コントローラ 4KB命令キャッシュ、8KBデータキャッシュ 2ビット分岐予測 周辺コントローラ実装(SDC、UART、タイマー、割込コントローラ) Arty A7-35T という FPGA ボード上で動作させています。 スーパーバイザーモードは実装していないので、仮想メモリは使えません。みんなで仲良くメモリを共有します。 CPU の実装はこちらに置いてあります。書籍のサポートリポジトリの fpga 実装版を fork して機能追加しています。

    RustでOSを書いた
    ryshinoz
    ryshinoz 2022/12/14
  • ケーブルシップをたずねて三千里 | IIJ Engineers Blog

    2020年新卒入社の中で一番若いピチピチの新人。IIJバックボーンネットワークを運用する部署で働く。好きなものはネットワーク(L1~3)とtracerouteとマンホールと架空とDC。社内ではマンホールtakezの異名(?)を持つ。 【IIJ 2022 TECHアドベントカレンダー 12/14(水)の記事です】 皆様お久しぶりです。(初めての方ははじめまして) ネットワーク技術部の竹﨑です。IIJには2020年度に新卒で入社し、IIJバックボーンに携わる部署で働いております。過去にはこのような記事を投稿しております。 はじめに 皆様、突然ですが海底ケーブルはお好きでしょうか?もちろん大好きだという方が多いと思いますがご存知ない方のために説明すると、海底ケーブルとは海底に埋設されたケーブルです。一口に海底ケーブルと言っても通信用海底ケーブルと送電用海底ケーブルがあります。ここでは通信用海底ケ

    ケーブルシップをたずねて三千里 | IIJ Engineers Blog
    ryshinoz
    ryshinoz 2022/12/14
  • 運動不足な読書家、ゲーマーはエアロバイクを漕ぐべし - 基本読書

    アルインコ(ALINCO) フィットネスバイク AF6200 見やすい大型液晶メーター エアロマグネティック 8段階負荷調節 テレビで紹介された 静音 サドル調整 組立簡単 心拍測定 簡単移動 タブレットトレー アルインコ(Alinco)Amazon今年買ってよかったもの記事でも書こうかなあと思ったのだけど、自分の場合これは一択(エアロバイク)しか存在しなかったので、むしろエアロバイク普及記事を書こうと突如思い至った。とにかくこれはよかったので、今更感もあるが、運動できない/したいと悩んでいる人、特に読書家やゲーマーにオススメしたい。何しろ、これなら運動しながら読書ができるし、ゲームだって(対戦系ゲームは難しいが)できるし無論のことゲーム配信や映画やドラマを見ることだってできるのである。 なぜ運動しようと思い立ったのか そもそもなぜ運動しようと思い立ったのか。その流れを最初に書いておくと、

    運動不足な読書家、ゲーマーはエアロバイクを漕ぐべし - 基本読書
    ryshinoz
    ryshinoz 2022/12/14
  • GitHub Codespacesの導入とその設計 - Speee DEVELOPER BLOG

    ネイティブアド配信プラットフォームUZOUの開発をしているエンジニアの @kanga333 です。UZOUでは今年の8月あたりからGitHub Codespaces(以後Codespaces)を全面的に導入しました。この記事ではUZOUにおけるCodespacesの利用事例について簡単に紹介します。 GitHub Codespacesとは? GitHub CodespacesとはGitHubの提供するクラウド開発環境のサービスです。Codespacesを利用するとクラウド上のVMの上にリポジトリのコードと諸々の環境がセットアップされたコンテナが立ち上がり、開発者はその環境に接続して開発をすることができます。 GitHub, Inc. 自体がGitHub Codespcesのユーザーであるため、かなりの大規模環境でも実績のあるサービスとなっています。GitHub自身の事例に興味が出た方は以下

    GitHub Codespacesの導入とその設計 - Speee DEVELOPER BLOG
    ryshinoz
    ryshinoz 2022/12/14
  • RSA署名を正しく理解する

    初めに 「署名とはメッセージのハッシュ値を秘密鍵で暗号化したものであり、検証は署名を公開鍵で復号してハッシュ値と等しいかを確認することである」という説明(×)をよく見かけます。 正しい署名の定義と実際のRSA署名がどのようなものであり、上記説明(×)がなぜよくないのかを理解しましょう。 署名の定義 署名の解説は署名の概要でも解説しましたが、再掲します。 署名(方式)は鍵生成(KeyGen)、署名(Sign)、検証(Verify)の3個のアルゴリズムからなります。 KeyGenではアリスが署名鍵sと検証鍵Sを生成します。署名鍵sは自分だけの秘密の値なので秘密鍵、検証鍵Sは他人に渡して使ってもらう鍵なので公開鍵ともいいます。 Signは署名したいデータmに対して署名鍵sを使って署名と呼ばれるデータσを作ります。 データmと署名σのペアを他人(ボブ)に渡します。 Verifyはボブが検証鍵Sを使

    RSA署名を正しく理解する
    ryshinoz
    ryshinoz 2022/12/14
  • Unovis

    import React, { useCallback } from 'react' import { VisXYContainer, VisAxis, VisArea, VisXYLabels } from '@unovis/react' import { data, formats, DataRecord, getLabels } from './data' export default function StackedArea (): JSX.Element { const labels = getLabels(data) return ( <> <VisXYContainer data={data} height={'50vh'}> <VisArea x={useCallback((d: DataRecord) => d.year, [])} y={formats.map(g =>

    Unovis
    ryshinoz
    ryshinoz 2022/12/14