ブックマーク / medium.com (29)

  • RustでLinuxカーネルの機能を拡張しよう!

    Linuxカーネルの機能を安全に拡張できるeBPFのコードはC言語で実装する必要があると知り、がっかりしているクラウドネイティブ 世代の皆様に朗報です。実は、Rustで、eBPFのコードを実装することができます。今更、C言語(クラウドネイティブ ではない感じ)を学ぶ必要はありません! eBPFとプログラミング言語eBPFを活用するソフトウェアは、カーネルスペースで動作するeBPFバイトコードと、eBPFバイトコードを制御するユーザスペースのアプリケーションから構成されます。後者は、GoPythonRustなど様々なプログラミング言語で実装することができますが、前者は、制限のあるC言語で実装する必要があります。 eBPFの構成Rust用eBPFライブラリRustでeBPFを扱う一般的な方法は、libbpf-rsライブラリです。これは、C言語でユーザスペースのアプリケーションを実装するため

    RustでLinuxカーネルの機能を拡張しよう!
    csouls
    csouls 2021/06/15
    C言語を理解している人がRust愛を語ると説得力がある
  • Raspberry Pi 4 で構築する録画マシン | 空気録学電子版【公式】

    🍓 Raspberry Pi 4 が買えるようになりました2019年11月、待望の Raspberry Pi 4 技適取得版が発売されました。H.264 ハードウェアエンコーダを搭載した、リッチなシングルボードコンピュータです。2020年5月28日には 8GB メモリ搭載の上位モデルも登場しています。 はたしてこれは何をするためのデバイスなのでしょうか? そうです、録画ですね。もうテレビの録画をするために高価なパソコンを購入する必要はありません。5000円台から入手できるマシンを利用して、安価に録画サーバーを構築することができるようになったのです。 この記事では Raspbery Pi 4 を利用した Mirakurun + EPGStation での録画サーバー構築方法と、ハードウェアエンコーダを利用した録画ファイルのエンコードについて解説を行います。 筆者の⾃宅で運⽤している録画サー

    Raspberry Pi 4 で構築する録画マシン | 空気録学電子版【公式】
    csouls
    csouls 2020/06/14
  • Google Cloud Storage でサクッとティザーサイトを公開する

    csouls
    csouls 2020/06/09
  • Pythonのアンダースコア( _ )を使いこなそう!

    Pythonは一番書きやすいプログラミング言語と知られ、多くの人の第二外国語(英語に次ぎ)です。でもGithubGitlabで他人のコードを参照した時や自分でclassを書いてる時、こういう疑問はあったでしょうか: 「def __init__(self): の__init__のアンダースコアは何故二つなのか?」 「def _func(x): と def func(x): とdef func_(x): に違いはあるのか?」 「y, _ = func(x)のアンダースコアは何か?」 そんな色んな所で使われてるアンダースコアの使い方を、今回整理して説明してみました! アンダースコアの使い場所Return値を無視する。関数の名付けで使い方を区別する。数字を読みやすくする。インタプリタで最後に表示された値を代表する。以上4種類の状況でアンダースコアを使いこなす事により、読みやすいpythonicな

    Pythonのアンダースコア( _ )を使いこなそう!
    csouls
    csouls 2020/04/05
  • プログラマーテストの原則 by Kent Beck

    チョコレート対バニラTDD対BDD。このテストツール対あのテストツール。テストビフォー対テストアフター対これは動くから俺を信じろ。ある時期から、こうした詳細に関する議論には飽きてしまった。もっと原則について議論したい。 詳細に関する議論はなかなか結論に至らずに、話が行ったり来たりする。チョコレート対バニラ。チョコレート。バニラ。チョコレート。バニラ。 詳細の議論に負けを認めさせられるようなことがあっても、その譲歩は絶対的なものではない。私の状況がチョコレートを勧めているのに、私にバニラをべさせてくれと言えるだろうか? これでは埒が明かない。 原則一方、原則は議論を生み出す基盤になる。原則には賛成しても状況が違っているのなら、答えは違ってくるかもしれないが、そこで論争になることはない。原則が、異なる状況における異なる答えを生み出したのである。 詳細で論争するよりも、原則で論争したほうが生産

    プログラマーテストの原則 by Kent Beck
    csouls
    csouls 2019/10/24
  • Google AI Research Division To Issue PhD Degrees

    MOUNTAIN VIEW, CALIFORNIA — In a move that is completely unsurprising to many, Google’s AI research division has announced that they are issuing PhD degrees to select employees. Industry research organizations like Google Brain, DeepMind, and FAIR are well known as heavy hitters in the artificial intelligence research community, publishing as many papers (if not more) as academic institutions like

    Google AI Research Division To Issue PhD Degrees
    csouls
    csouls 2019/10/13
    シリコンバレーでブランド昆布茶を売ったらお金持ちになれそう
  • コンテナ技術を捨て、 WASIを試す

    こんにちは、NTTの藤田です。 Dockerfileを書くのに疲れた?イメージサイズの縮小で1日が終わった?コンテナの起動が遅すぎる?コンテナ技術と悪戦苦闘する皆様のための新技術、アーキテクチャに依存しないポータブルなバイナリフォーマットと数十μsで起動するsandbox環境を実現する、WebAssembly System Interface(WASI)を試してみました。 WebAssembly System InterfaceとはWASIは、 WebAssemblyWASM)をウェブブラウザ以外の環境で実行するため、 ホストのファイルやネットワークなどの資源に安全にアクセスさせるための仕様です。 具体的には、POSIXに似たAPIが定義されており、WASMのバイナリが、OSが管理する資源にアクセスできるようになります。 WASMは、ネイティブコードなみの速度で動作する、ポータブルなバイ

    コンテナ技術を捨て、 WASIを試す
    csouls
    csouls 2019/05/13
  • インターンを開催して分かったGolangを書き始める人に知っておいてほしい事 – Eureka Engineering – Medium

    オリジナルのThe Go gopher(Gopherくん)は、Renée Frenchによってデザインされました。こんにちは。エウレカ APIチームの小島です。 先日エウレカではサマーインターンを開催しました 。今回の課題は「マッチングサービスに必要なAPIGolangで実装する」という内容でした。 ※ 詳細については高橋の記事[エウレカサマーインターンを開催しました! エウレカサマーインターンを開催しました!(サーバーサイド編) にあるので割愛します。 課題は当日発表だったこともあり、その日からGolangを始めた学生も少なくありませんでしたが、苦戦しつつも皆さん課題に一生懸命取り組んでいました。 記事では、初心者が知っておきたいGolangの扱い方など今回のサマーインターンの課題の内容をふまえつついくつか紹介します。 基的な書き方1. Golangでは基的にキャメルケースを使う

    インターンを開催して分かったGolangを書き始める人に知っておいてほしい事 – Eureka Engineering – Medium
    csouls
    csouls 2018/09/27
    なるほど、最初はこういうところで躓くのか。もう初学者の気持ちを忘れてしまったのでこういう記事は嬉しい
  • 3週間で48,000行のコードをこの世から抹消した話 – FiNC Engineering Blog – Medium

    qsona (twitter) です。以前、7,600行のコードを安全にこの世から抹消した話 という記事を投稿しましたが、今回はそれよりもずっと泥臭い話を書きたいと思います。あまりテクニカルな話はありませんが、現場における取り組み・試行錯誤の経過を読んでいただければ幸いです。 たくさん消しました、がんばりました〜背景肥大化するRailsサービスFiNCはマイクロサービスを指向しており、主にRuby on Railsで書かれたサービスが30個ほど存在します。しかし、FiNCアプリのメインとなるRailsのサービスは、テーブル数800を超える大きなサービスになっています。 FiNCのサービスは2014年から書きはじめており、かなり初期の段階(2015年)からマイクロサービス化を意識してきました。にもかかわらず1つのサービスが肥大化している理由はいくつかあります。 最初の1〜2年ですでに大量のコ

    3週間で48,000行のコードをこの世から抹消した話 – FiNC Engineering Blog – Medium
    csouls
    csouls 2018/09/21
    480,000行消したらその他のマイクロサービス含めて全部無くなりそう
  • From $erverless to Elixir

    The way forward is sometimes the way backI recently rewrote a service that was on AWS API Gateway and Lambda in Elixir and apparently that intrigued some people, so I decided to do a small write up. This post is going to be about our motivations for the move and what the replacement implementation looks like. This post is not a critique of NodeJS, Lambda, or the Serverless movement, but a word of

    From $erverless to Elixir
    csouls
    csouls 2018/09/01
    めっちゃ面白かった。日本だと、Erlang & Elixir Fest. 2018で各社のElixir案件の話があった。
  • 今週の GCP 7/30

    訳者: @apstndb, @nagachika この記事は Google Cloud の DevRel の @alexismp による TWiGCP — “Special Cloud Next ’18 Announcements” の日語訳に各参照先の記事の説明となる訳注を加えたものです。実際に読む記事を選ぶ際の参考にお使いください。 なお文中にあるように原著者が夏季休暇とのことなので次回更新は週を開ける予定です。 あなたが二万五千人の Google Cloud Next ’18 の参加者の一人であるかどうかに関わらず、全ての発表についていくのは難しいでしょう。なのでここに GCP と実務家視点でのカンファレンスの要約を用意しました。 「開発者視点の発表」コーナー: Cloud Build, クラウドでビルドとテストをできるフルマネージドな CI/CD プラットフォーム。 (訳注:

    今週の GCP 7/30
    csouls
    csouls 2018/08/07
  • 就活や進学がだるいので起業した

    株式会社emoiを設立しました。emoi inc, エモい!w 前置き2017年末に「起業するわ」といった趣旨のツイートをしましたが、あの話は無になりました。別です。 なぜやったか以下のような流れですが、一番楽に暮らせそうな道を選んだらこうなりました。 受験も就活もめんどくさい友達とワイワイ暮らしていきたい高2からフリーランスエンジニアっぽい事をやってた仕事が来すぎて1人で捌く事が困難になった趣味の延長線上で生きたい結構遊んだつもりだったけど、ちょうど登記費用分の金が余った結果として「友達集めて起業してワイワイするぞー」という感じになった。 そこに弊社役員の宮崎海斗が「旅行系事業のアイデアある」と言ってくれたので一緒にやっていく決断をした。 全日制高校を辞めた時点でやれば良かったのですが、同世代には高校生のうちに起業し「高校生起業家」の肩書きを手に入れてジャリ銭しか稼いでないのにTwit

    就活や進学がだるいので起業した
    csouls
    csouls 2018/06/03
  • TWiGCP— “Introducing Skaffold, Agons, europe-west4-a, and new Stackdriver pricing”

    csouls
    csouls 2018/04/24
  • google-cloud-jp – Medium

    これまでに、Actifio Go を使って Google Cloud や オンプレミス環境 で稼働している VM を Google Cloud 上にバックアップする方法について、前編と後編に分けて紹介してきました。今回は取得したバックアップを利用して Google Cloud…

    google-cloud-jp – Medium
    csouls
    csouls 2018/04/12
  • BigQuery に関する12の誤解の真相を明らかにする

    この記事は Busting 12 myths about BigQuery の著者の許可を得た上で @yutah_3 が日語訳、補足したものです。個人的に気になった話等を含めて “訳者注” を入れながら翻訳します。 割と最近、 Forrester Research のレポート The Forrester Wave™: Insight Platforms-As-A-Service, Q3 2017 では Google Cloud は Leader のポジションとして位置付けられました。 BigQuery がこの中で果たした功績は間違いなく大きいでしょう。 私達は日々、スタートアップから大企業のお客様に至るまで、多様な Google BigQuery をお使いのお客様と、お客様の分析やデータウェアハウスに関する課題を解決するために一緒に取り組んでいます。多くの場合、私達のお客様は BigQu

    BigQuery に関する12の誤解の真相を明らかにする
    csouls
    csouls 2018/03/21
  • TechBlog運用の難しさとHERPでの考えについて(TechHub公開に寄せて)

    HERPの技術発信の場として、HERP TechHubをリリースしました。会社のドメイン上ではなく、個人のブログのHubとしてのページを作成する形をとっています。 それに至った背景について書いてみたいと思います。 TechBlogのあり方を考えてみるTechBlogの目的と内包している問題について、エウレカでTechBlogの開設・運用をリードした経験から得られた課題も踏まえて考えてみる。 TechBlogの目的 従来のTechBlogの開設・運用の目的は以下の3つにまとめられると思う。 ブランディングを通じた採用力の向上エンジニアの個人ブランディングエンジニア全体・技術貢献ブランディングを通じた採用力の向上 エンジニア採用においては情報発信は欠かせない。もちろん一番大事なのは良いUXを提供できるプロダクトを作り、その品質を上げていくことだが、それだけでは社外の人間からして技術への考え方や

    TechBlog運用の難しさとHERPでの考えについて(TechHub公開に寄せて)
    csouls
    csouls 2018/03/16
  • Goのパッケージ構成の失敗遍歴と現状確認

    この記事は Gunosy Advent Calendar 2017の5日目の記事です。前回の記事はGunosyのパーソナライズを支える技術 -ワークフロー編-でした。 GoAPIを書くときの問題僕の在籍するGunosyはGoを昔(?)から番採用しておりまして、ノウハウも潤沢に溜まっている企業だと言えます。 しかし、contextの扱いやベストなパッケージ構成、テスト、net/httpでAPIを書くノウハウなどなど、迷うことは多々あります。 これは弊社特有の事情ではなく、Goのサーバーサイドエンジニア全員にとっての問題です。中でも、パッケージ構成をどうすればいいのか(相互参照せずに快適に開発を進められるパッケージ構成とは)を見つけるのは結構難しく、各々のチームにお任せ、という状況です。 今回は上記の問題のうち、パッケージ構成に踏みこんで見たいとおもいます。会社でもよくパッケージ構成をどう

    Goのパッケージ構成の失敗遍歴と現状確認
    csouls
    csouls 2017/12/05
  • mercari/datastore実戦投入

    DatastoreについてみなさまGCPをお使いになっているでしょうか。 GCPにはバックエンドのDBとしてCloudSQLというRDBと、NoSQLであるDatastoreというのがあります。 周囲の事例を聞く限りは、マスターデータなど変化が少なかったり、seedデータ的なものを用意しなければならないものをのぞいて、基的にDatastoreを利用している印象です。 また、GAEで開発する場合はinternalなAPIからDatastoreを利用できる一方、GKEなどからは、GCPの外部向けAPIを呼び出すことでデータを送受信します。 さて、自分はいつもGoAPIを書くのがいいよ!と触れ回ってるわけですが、GCP上で開発を進める際には前述の通りDBにはDatastoreを使っています。 このDatastoreですが、そのまま使うと自前でキーを発行する必要があったり、値をキャッシュしたり

    mercari/datastore実戦投入
    csouls
    csouls 2017/11/23
  • なんで駐在員は大変なのか (英語編)

    (この記事のその後の経緯をこちらに書きました) 今は日で働いているけど、いつか一度は海外で働いてみたいという人もきっと多いだろう。 海外で働く一般的な手段は駐在員かと思うが、日企業の駐在員というのは様々なパターンがある。任期付きの研修風な扱いか、採用目的のただの福利厚生的な位置づけか、社内の「期待の星」を育成するポストみたいになっているか、いっちょ若いやつに任せてみるか的なノープランポストか、そんな感じのイメージかもしれない。 メーカーさんや商社さんなどは、既に現地の市場か生産拠点があり、現地マネジメント、現地オペレーションという意味合いが強いかもしれない。バリューチェーンの中で欠かせないピースとして、海外子会社が存在する。 一方、インターネットの場合はちょっと様相が違うようだ。大半が、買収した海外の会社に行くか、もしくは全くの別事業を展開しているところに行く感じになる。こういった事業

    csouls
    csouls 2017/09/27
  • 成長期のベンチャーにおける採用の失敗 – Isoparametric – Medium

    成長期のベンチャーにおける採用の失敗2011年2月「任侠道」などのゲームがヒットし、売上が伴ってきたとき、それは終わらないマラソンが始まったことを意味していた。 そして、以後横展開した「道」シリーズがヒットを飛ばしていくために、様々な問題が噴出し始める時期である。 プロジェクトを広げようにも、どのプロジェクトも人が足らない。 加えてエンジニアだけではない「初期の頃のメンバー」が退職を重ねていく時期でもあった。 バックオフィスも開発も、見よう見まねでやっていたところに経験者が入ってきて、ポジションが入れ替わるようなことが頻繁に起きていた。 「自分の好きだったgumiは死んだ」というような事を言って辞めていく人たちもいた。 開発現場でも、のんびりと仲良く売れないゲームを運営していれば良い時代は終わってしまったのである。 「任侠道」が明確なヒットを飛ばしている傍らで、のびのび結果のでないプロジェ

    csouls
    csouls 2017/09/20