Kroutonのブックマーク (112)

  • pyenv install 3.6.6 でエラーが発生する。 – digitalnauts – Medium

    pyenv install でエラーが発生する。 macOS Mojave に pyenv install 3.6.6 でPython3系をインストールしようとしたらエラーが発生した。 ~ $ pyenv install 3.6.6 python-build: use openssl from homebrew python-build: use readline from homebrew Downloading Python-3.6.6.tar.xz... -> https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz Installing Python-3.6.6... python-build: use readline from homebrewBUILD FAILED (OS X 10.14 using python

    pyenv install 3.6.6 でエラーが発生する。 – digitalnauts – Medium
    Krouton
    Krouton 2020/11/11
    “CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" \LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" \PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 \pyenv install -v” e
  • ネット全体が残念なノリになってきていてキツい

    今日もネットはイキリオタクフェミニストがいがみ合う。 PV乞のメディアが釣りタイトルやローソンの商品を絶賛するゴミ記事を量産する。 バズを狙ったしょうもない投稿がツイートされる。 無名のおっさんが仕事論を偉そうに語る。 誤クリックを狙ったカスみたいな広告がブラウジングを邪魔してくる。 知り合いが政治的な記事をシェアして頭抱えるようなコメントをする。 うっかりバズるとクソリプがたくさんついて消耗する。 ネットにつなげるとストレス溜まることばっかりになってきた。 マスメディアのオルタナティブとして、一時期はすごく楽しかったのに、最近はまったく楽しめないし、TVやのほうがちゃんと作られてるよなーと思うことが多い。 はぁ、もうネット見るのやめようかな。普通に仕事がんばって友達と飯ってるほうが楽しいよ。なんでこうなっちゃったんだろ。 (追記) ほらな、ちょっとでも発信するとお前らみたいなやつ

    ネット全体が残念なノリになってきていてキツい
    Krouton
    Krouton 2020/11/06
  • 事業成長と働きやすさを高次元でバランスさせる「フレキシブルワークスタイル制度」を新設します - はてな広報ブログ

    株式会社はてなは、2020年11月1日から2022年10月31日までの2年間を対象に、変化やスタッフの働きやすさに合わせた「フレキシブルワーク」を実現するための新制度(フレキシブルワークスタイル制度)を実施します。制度は、新型コロナウイルス感染症による影響の長期化を想定し、これまで当社が推進してきたさまざまな働き方への取り組みも含めて新たに制度化したものです。 2022年5月/8月のアップデートを追記 2022年5月1日より「フレキシブルワークスタイル制度」を恒久的な制度とし、内容をアップデートしました。 はてな、働き方制度をアップデート。働く時間や場所に捉われないフレキシブルワークを推進 - プレスリリース - 株式会社はてな 2022年8月1日より備品の在宅利用(貸与)を中止し、在宅勤務一時金を2万円から12万円に変更しました。 はてな、在宅勤務環境構築に関わる福利厚生を更新 - プ

    事業成長と働きやすさを高次元でバランスさせる「フレキシブルワークスタイル制度」を新設します - はてな広報ブログ
    Krouton
    Krouton 2020/11/03
  • mkr hosts にコントリビュートした話 - Hateburo: kazeburo hatenablog

    mackerel.io こちらでリリースの紹介があったmkrコマンドに一つコントリビュートしておりました。 リリースされたのは、mkr v0.41.0 です。 一つ前のバージョンまで mkr hosts は検索結果が一台もないと、null が返っていました。 $ mkr hosts --service all-working-service --status poweroff null これだと、jq コマンドで何かしら処理するのが面倒。とあるスクリプトでは以下のようにしていました。 HOSTS=$(mkr hosts --service all-working-service --status poweroff) if [ "${HOSTS}" == "null" ]; then HOSTS="[]" fi for _ID in $(echo "$HOSTS"| jq -c -r '.[

    mkr hosts にコントリビュートした話 - Hateburo: kazeburo hatenablog
    Krouton
    Krouton 2020/11/02
    レビューやりました、コントリビュートありがとうございました!!
  • Brian Tracy - copy-paste-shell

    Don't Copy Paste Into A ShellWhen you see a shell command on the Internet, do not copy it into your terminal. Modern JavaScript Clipboard APIs allow a website to trivially overwrite what you put inside your clipboard, without the user's confirmation or permission. Here is an example of how easy it is to perform this attack. Imagine that the red text below is a shell command you want to use. Below

    Krouton
    Krouton 2020/10/22
    “$ echo "looks safe to me!"” をコピーしたら違う文字になった、こういうexploitがあるんだなぁ
  • Rustの知見を深めたい! 開発合宿でmackerel-agentを再実装してみた - Hatena Developer Blog

    はてなには、開発合宿というイベントがあります。有志で集ったメンバーが普段の開発から離れ、テーマを決めて集中して取り組むイベントです。 今回、私(id:dekokun)、id:Krouton、id:ne-sachirouの3人からなるチームで、はてなが提供するサーバー管理・監視サービスMackerelに必須であるmackerel-agentというプログラムを題材に、Rustでの再実装を試みました。 mackerel-agentは、監視対象のホストにインストールし、ホストの情報(メトリックやメタデータ)を集めてMackerelに送るプログラムで、Go言語で実装されています。なお、今回はあくまでRustの知見を得る材料として選択したもので、今後の実装を置き換えようとしているわけではありません。 Rustmackerel-agentを再実装する狙い なぜRustなのか なぜmackerel-ag

    Rustの知見を深めたい! 開発合宿でmackerel-agentを再実装してみた - Hatena Developer Blog
    Krouton
    Krouton 2020/10/22
    やりました!!!!!未だにやってます!!!!!!
  • メンタルが弱いエンジニアが安心して開発するために気をつけていること - SMARTCAMP Engineer Blog

    スマートキャンプで業務委託でエンジニアをしている佐藤です。BOXILの開発を1年3ヶ月前から、沖縄からフルリモートでやっています。 皆さんは、毎日楽しくお仕事できていますか? エンジニアという職業は労働時間やストレスが多く、IT業界は他の業界と比べて精神疾患にかかりやすいと言われています。 私はもともと自己否定ばかりしてしまう思考の癖があることに加えて、7年前に起業に失敗してメンタルを壊してしまったことをいまだに引きずっていて、日々悩みながら生活をしています。 スマートキャンプは、過労とは無縁で、メンバー間のサポートもよく、これ以上ないくらい私に合った職場です。それでも自分の心の問題で不安になったり、絶望感に襲われたりすることがあります。今回はそうなるたびに書き綴ったメモを、開発中にネガティブな気持ちにならないための技術としてまとめようと思います。 メンタルが強くないエンジニアはこんな気持

    メンタルが弱いエンジニアが安心して開発するために気をつけていること - SMARTCAMP Engineer Blog
    Krouton
    Krouton 2020/10/19
  • コードレビューの目的と考え方 - osa_k’s diary

    まえがき コードレビューの目的 大目的 小目的 チェックリスト 優先度高(大きな損失を生む問題・後からの修正が困難な問題) 優先度中 優先度低(システムに大きな影響を与えない問題・後からの修正が容易な問題) レビューを負担にしないために レビューサイズのコントロール 誰がレビューをするか 議論をどうまとめるか 批判と個人攻撃 レビュワー向けアドバイス Code author向けアドバイス 参考文献 まえがき コードレビューの有効性が説かれるようになって久しい。しかし、コードレビューをするべきという観念ばかりが先立ってしまい、何のためにコードレビューをするのか、どのような点をレビューするべきなのかといった、目的や進め方に対する意識が曖昧なケースも数多くあるように思われる[6]。コードレビューの目的を理解せずに惰性でレビューしているだけでは、いずれレビューそのものが形骸化し、単に承認のハンコを

    コードレビューの目的と考え方 - osa_k’s diary
    Krouton
    Krouton 2020/10/19
    Google's Engineering Practices documentationを先に読んでたからスッと頭に入ってきた、優先的に見るべき部分なども書かれてていい
  • さらなる型安全性を求めて ~ Refinement TypeをScalaで実現する ~

    SoRの性質が強いBtoBアプリケーションでは、「堅く」作ることを求められる箇所がしばしばあります。 Scalaの型安全性が頼もしく感じられるのは、まさにこのような箇所においてです。 「堅く」作るために、私たちがいま注目しているのが refined と newtype というライブラリです。 この記事では、refinedとnewtypeを使ってScalaの型安全性をさらに引き出すテクニックを紹介します。 Value Class / Tagged Type refined + newtypeの話題に入る前に、これまでにどのようなテクニックが使われてきたかを簡単に振り返りましょう。 ここに、SNSのユーザーアカウントを表現するクラスがあります。 case class User(id: String, email: String, age: Int) val user1 = User("@tod

    さらなる型安全性を求めて ~ Refinement TypeをScalaで実現する ~
    Krouton
    Krouton 2020/10/16
    Refinement Type面白そうで便利
  • Nested Tagged Unions · Issue #18758 · microsoft/TypeScript

  • Golangのシングルバイナリをいい感じでDocker Image化する - blog.potproject.net

    Golangはシングルバイナリ(単体で動く実行ファイル)を出力してくれてありがたいのですが、それをコンテナ向けの軽量LinuxであるalpineやBusyBoxを使って動かそうとすると、ハマることが多い。 シングルバイナリじゃなかったのか、と思ってしまうのだが、どうやらデフォルトで一部のライブラリがダイナミックリンクになっているからである。 このあたりが参考になった。 golangでビルドしたバイナリをスタティックリンク (static link)にする これ、割とググればいろいろ出てくるのですが結局のところイマイチ最適解が見つからない。 何故かっていうと、中身に入っているライブラリなどで割かしビルド条件を変える必要があるため。 また、コンテナのサイズも小さくしたいので、いろいろとオプションを調べて、自分はこんな感じで落ち着いた。 ※ちなみに今回想定しているシングルバイナリは、Golang

    Golangのシングルバイナリをいい感じでDocker Image化する - blog.potproject.net
  • Rustの非同期プログラミングをマスターする - OPTiM TECH BLOG

    こんにちは、R&Dチームの齋藤(@aznhe21)です。 さあみなさん、ついにこの時がやってまいりました。 日2019/11/8にリリースされたRust 1.39により、あらゆる環境で最高速な非同期プログラミングが可能になりました。 新たな時代に乗り遅れないよう、今のうちにRustでの非同期プログラミングをマスターしておきましょう。 なお、この記事は、先日開催したOPTiM TECH BLOG Meetupの内容を大幅に加筆修正した上でエントリに仕上げたものです。 まず最初に伝えたいこと 非同期の歴史 Rustの非同期プログラミングの歴史 Rust 1.0以前 Rust 1.0 〜Rust 1.3 Rust 1.2あたり Rust 1.11あたり Rust 1.26あたり Rust 1.36 Rust 1.39 Rustの非同期プログラミングの特徴 ゼロコスト抽象化 プラットフォーム非依

    Rustの非同期プログラミングをマスターする - OPTiM TECH BLOG
    Krouton
    Krouton 2020/09/29
    “ここまでは純粋に非同期プログラミングの書き方を紹介してきました。 これで確かに非同期プログラミングを書けるようにはなるのですが、実際にコードを書く前に1つ注意点があります。 それは非同期タスクの中でブロ
  • Docker Quizを力技で解く - 貳佰伍拾陸夜日記

    こういうのがあった: 二時間目コンテナの講義ではDocker Quizが出題。君は、すべて解くことができるか? $ docker run --rm -i hatena/intern-2020-docker-quiz #hatenaintern2020— hatenatech (@hatenatech) 2020年9月7日 自社のインターンの課題だけど, 僕は今年のインターンには全く関わっていないので, 新鮮な気持ちで問題を楽しめた. みんな話題にしているのはQ7でなかなか骨がある. 全体的にCTFっぽさがある(参加したことないのでしらんけど)中で, Q7はとくにそっち方向の面白さがある. Q7 このイメージのentrypointとして指定されているコマンドのソースコードを復元して、この問題の答えを取得せよ 「ソースコードを復元して」と言われて「うーん, それホントに復元しないとダメかな?」

    Docker Quizを力技で解く - 貳佰伍拾陸夜日記
    Krouton
    Krouton 2020/09/17
    CALL main.printQuestions(SB) までは気づいたけどverify気づかなかったな...
  • LSP学習記 #1 - Qiita

    LSP サーバーの実装の練習をしています。この記事は勉強ノートとして、調査事項をまとめつつ、成果物を作成した手順を解説します。 第1回では LSP の基礎部分に触れ、極小の LSP サーバーを準備し、「エディター上にリアルタイムで警告を表示する」機能を作ります。 おことわり 読者には Node.js と TypeScript の基的な知識を前提とします。 若干解説調の文章になってしまっていますが、筆者は詳しいわけではないのでご了承ください。 LSP とは LSP = Language Server Protocol すごく雑に利点をいうと、いわゆるインテリセンス (ソースコードに警告を出したり入力補完をしたりするやつ) の実装をテキストエディターから分離するのに使えます。 もう少し詳しくは、以下の記事を参考: Overview 公式の概要 (英語) 有志による日語訳 tennashi/

    LSP学習記 #1 - Qiita
    Krouton
    Krouton 2020/08/28
  • PEG Parser Generator + Packrat Parserを実装してみた - LINE ENGINEERING

    詳しい解説はネット上に沢山存在するので割愛しますが、ご覧のようにEBNFの表現の一つに(EBNFはいくつかの表現方法があるようです。例えばこれはW3Cが定義しているものです)似ています。違いは先に述べたようにChoiceの働きが異なるのと、文法上に先読みが存在することです。 このPEGを使って四則演算を受理するシンプルなルールを書くとすると、例えばこのようになります。 # expressionからパースが始まるとする expression <- additive additive <- multitive ("+" multitive / "-" multitive)* multitive <- primary ("*" primary / "/" primary)* primary <- "(" expression ")" / number number <- digit+ digit

    PEG Parser Generator + Packrat Parserを実装してみた - LINE ENGINEERING
  • ISUCONに向けてRustでのリハーサルを実施した。採用したRustのライブラリなど - でこてっくろぐ ねお

    ISUCONでRustで参加する同胞達や、Rustの参考実装を書く人の参考に少しでもなればとこのエントリを書いてます。(いや実際全然わからないのでもっといいの教えて!ってのもあります。はい。) 今年のISUCONはRustで戦います。 なぜなら、私はRustが好きだからです。 ISUCON、Trust Rustというチーム名で参加登録しました。Rustを信じろ!!!!!!!!!!!!— でこくん (@dekokun) July 10, 2020 しかし、私含めてチームメンバー全員がRustでWebアプリを書いたことがなかったため、毎週ミーティングを行いRustの勉強としてやることを宣言して1週間後に進捗報告をしまたやることを宣伝する、ということを繰り返しています。 ただそれだけではチーム全員で動くISUCONの訓練としては弱いので、ISUCONを模したリハーサルをしてみました。 お題 お題

    ISUCONに向けてRustでのリハーサルを実施した。採用したRustのライブラリなど - でこてっくろぐ ねお
    Krouton
    Krouton 2020/08/24
  • お気楽 OCaml プログラミング入門

    継続渡しスタイル 今回は「継続渡しスタイル (Continuation Passing Style : CPS)」という手法について説明します。Scheme には「継続」という他の言語 [*1] にはない強力な機能がありますが、使いこなすのはちょっと難しいといわれています。継続渡しスタイルはクロージャを使った汎用的な方法で、クロージャがあるプログラミング言語であれば、継続渡しスタイルでプログラムを作成することができます。 ●継続とは? 最初に継続について簡単に説明します。継続は「次に行われる計算」のことです。たとえば、次のプログラムを例に考えてみましょう。 リスト 1 : 逐次実行 let foo () = print_string "foo\n" let bar () = print_string "bar\n" let baz () = print_string "baz\n" let

    Krouton
    Krouton 2020/08/08
  • LoLと私(ハマるまで~Season4)|Yoshihiko Kato

    初めまして、discord4415と申します. 慶應義塾大学の大学院後期博士課程にて人工知能の研究をしながら,Burning CoreというLJLのチームのジェネラルマネージャーとして活動させていただいておりましたが,研究に専念するため,2019年をもってBurning Coreを退職させていただきました. 先日友人がNA時代のLoLあるあるのツイートしているのを見て, 自分がLoL界の変遷について見てきたもの,感じたことが失われていってしまうことに危機感に近い寂しい気持ちになりました.そこで,忘備録を兼ねて,私がLoLと出会いどのようなことを感じ,どのようなことをしてきたのかをつらつらとnoteの場をお借りして綴っていこうと思います. このnoteはあくまで私が思ったこと考えたことを綴ったものなので,間違った認識をしていたり,歪んだ解釈をしてしまっている部分があると思います.そういう点に

    LoLと私(ハマるまで~Season4)|Yoshihiko Kato
    Krouton
    Krouton 2020/08/07
  • Brainf*ck系言語を作るやつ

    Brainf*ck系言語を作るやつはBrainf*ck系プログラミング言語を簡単に作成・公開できるサービスです。 機能プログラミング言語の名前・説明を入力し、命令を8個決めるだけで言語を作成できます。 プログラミング言語を作成すると、以下の内容を持ったページが作成されます。作成したプログラミング言語は、Twitterで自慢するなど自由に利用してください。 プログラミング言語の名前・説明命令の紹介ブラウザ上で動作するインタプリタプログラムのサンプルサンプル 最近作成された言語 最強のプログラミング言語「モンゴル文字言語」 by 【るみさん㌨Да!】@すらーぷの妖精 @RTの人🇵🇼🇺🇦あなぐま語(プログラミング言語) by しんくろー最強のプログラミング言語「おちカラ」 by 🍡最強のプログラミング言語「BBL成長型」 by ごえんだまララチャンカワイイヤッター! by そふぃー・

    Krouton
    Krouton 2020/07/28
    昔考えてたやつに先駆者いた
  • プロダクションのRustコードを async / await に移行した話

    κeenです。日時間の 11/8 日に Rust 1.39.0 が リリースされ、Rustでもいよいよ async / await が利用できるようになりました。 async / await は面倒な Future の記述をすっきり書けるようにするシンタックスシュガーであると共に、 Future をまたいだ値のライフタイムもよしなに扱ってくれるので視認性以上のメリットがあります。 可能な限り使った方が良いでしょう。 Ideinのプロダクションコードもすぐさま async / await に移行しました。 IdeinのActcastのプロジェクトにはいくつかRustのコードベースがありますが、そのうちのAPIサーバの部分を async / await に移行しました。元々非同期なWAFを使っていたこともあり、ほとんどのコードで Future を使っています。規模としてはRustだけで23パ

    プロダクションのRustコードを async / await に移行した話