タグ

2019年12月2日のブックマーク (26件)

  • How Crystal Performs Compared to Ruby —  Filtering Module for Marketplace

    To put things in context, I and my partner are launching a marketplace for babysitters soon in Budapest, Hungary. Current open-source marketplaces don’t fit our expectations. We need a marketplace that is both very fast and good looking. We also need the code to be flexible enough to add custom features quickly. Hence I decided to build it from scratch. To have a great UX, I’ll rely on Vue.js and

    How Crystal Performs Compared to Ruby —  Filtering Module for Marketplace
  • 2019年、2020年のJavaScript - 別にしんどくないブログ

    この記事は JavaScript Advent Calendar 2019 - Qiita の初日の記事です。 2019年を締めくくるアドベントカレンダーの初日ということで、今年のJavaScriptを簡単に振り返りたいと思います。2020年のJavaScriptについても予習しましょう。 2019年、2020年が何を指しているかは後述します。 カテゴリが「プログラミング言語」なので、ReactVueAngularやNode.jsなどJavaScriptを使った技術ではなく、JavaScriptの言語機能にフォーカスしたいと思います。 はじめに ES2019 Optional catch binding JSON superset Symbol.prototype.description Object.fromEntries Well-formed JSON.stringify Arr

    2019年、2020年のJavaScript - 別にしんどくないブログ
  • AVX-512を用いた、たぶん世界最速のBase64エンコード実装について - Qiita

    この記事で紹介するのは高スループットなBase64エンコードの実装方法です。 Base64は、Webの世界を始めとして、世界中さまざまな箇所で使われているエンコード方式です。とてもよく使われるので、高速化についてもしばしば研究されてきたようです。 高速化の最新成果として、2019年10月に、Wojciech Muła, Daniel Lemireによる新しい論文がarxivに投稿されました。なかなか強烈なタイトルが付いています。 Base64 encoding and decoding at almost the speed of a memory copy 論文の主張としては、x86 CPUの持つ最新の命令群を駆使することで、非常に高効率なBase64エンコード・デコードが実現できたというものです。このQiita記事では論文の内容の一部を紹介します。 Base64は問題としては単純に見え

    AVX-512を用いた、たぶん世界最速のBase64エンコード実装について - Qiita
    Watson
    Watson 2019/12/02
  • 日本語で初対面の人と仲良くなるのむずい問題

    ちょうど1年前、初めて国内の大きなテック・カンファレンスに行ったときの話。業界歴が浅いために知り合いがおらず、完全ぼっちで参加した。 セッションをやってる間はライブツイートしたりしながら自然に時間が過ぎる。しかしこれだけ大勢の参加者がいるのに、途中の休憩や隙間時間でびっくりするほど誰からも話しかけられることがなく、自分から軽く話しかけるのも非常に難しく感じる。話しかけるどころかお互いに必死で視線を避け合っている。 そんな孤立感が地味に積み重なるうちに懇親会の時間になった。ギリギリの気力で参加を試みたが、やはりまったく入り込める感じではなく、ものの数分で内心半泣きになりながら退散した。 心が折れて、カンファレンス2日目はもういいや、行くのをやめようと思った。が、私のちょっとした弱音ツイートを偶然見た優しいフォロワーのひとりがDMをくれて、その人に挨拶するためだけでも行ってみようと、2日目の夕

    日本語で初対面の人と仲良くなるのむずい問題
    Watson
    Watson 2019/12/02
    わかる(・ω・)
  • AirPods Pro を使って英会話の訓練をしながら Kubernetes をはじめとするあらゆるテクノロジーについて学べるすごい学習法

    AirPods Pro を使って英会話の訓練をしながら Kubernetes をはじめとするあらゆるテクノロジーについて学べるすごい学習法 Dec 2, 2019 約 1 年ぶりにブログを書くにあたって、めちゃくちゃ釣りっぽいタイトルにしてみました。 (昨日すでに別の記事が出ていますが、書き始めたのはこちらが先でした) この記事は AirPods Pro のアフィリエイトによる小銭稼ぎ (まぁ今現在 Amazon では売り切れてるけど) と、僕のあらゆる物事に対する学習・訓練に対する考え方をまとめて、識者からフィードバックを得ることを目的にしています。 で、その両方を達成する上で都合がいいので、AirPods Pro を使ったシャドーイングを題材に書いてみようと思います。学習に関する考え方についてはいかにもわかってる風に書きますが、素人が適当なことを言っているだけなので、暇つぶし程度にご笑

    AirPods Pro を使って英会話の訓練をしながら Kubernetes をはじめとするあらゆるテクノロジーについて学べるすごい学習法
  • JavaScriptのリファクタリングツール「jscodeshift」の使い方 - Qiita

    はじめに JavaScriptのコードを一括で変換したり修正したい場合、正規表現などを使い置換しますか? シンプルなケースであればそれでも問題ないですが、複雑な変換であればASTベースでコードを自在に変換できる「jscodeshift」が便利です。 jscodeshiftを利用すると、以下のようなことができます。 例) functionで書かれた関数をアロー関数に一括で変換 target/arrow-function/index.js const fn = function() { console.log("foo"); }.bind(this); [1, 2, 3].map(function(v) { return v * v; }); Promise.resolve() .then(function() { console.log("foo"); }) .then(function()

    JavaScriptのリファクタリングツール「jscodeshift」の使い方 - Qiita
  • Qiitaのビジュアルアイデンティティを再定義し、ロゴ等を変更しました - Qiita Blog

    こんにちは、Qiita 開発チームのyaotti です。 Qiita では昨日12/1から、年間を通して一番盛り上がるイベントであるアドベントカレンダーが始まりました。 12月になりましたが参加者募集中のカレンダーもまだたくさんあります。書けそうなテーマのカレンダーがあれば是非参加登録して一緒にそのテーマを盛り上げていきましょう🎅🎄 2019年の募集中のカレンダー一覧 – Qiita 今回は日2019/12/2に変更した Qiita のロゴについて、その背景と目的をお伝えします。 一言でいうとQiita 運営者としてサービスの思想やブランドをユーザーの皆様にお伝えするために、ビジュアルアイデンティティを社内で定義・言語化し、それに沿った形にロゴや各種ビジュアル要素を作成しました。 ビジュアルアイデンティティとはビジュアルアイデンティティ (VI) とは、ブランドを視覚的に伝えるための

    Qiitaのビジュアルアイデンティティを再定義し、ロゴ等を変更しました - Qiita Blog
    Watson
    Watson 2019/12/02
  • コードの健全性: 礼儀正しいレビュー == 役立つレビュー

    .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

    コードの健全性: 礼儀正しいレビュー == 役立つレビュー
  • 50年来の信号処理に関する謎が解かれる、逆高速フーリエ変換がついに一般化 - fabcross for エンジニア

    アメリカのアイオワ州立大学電気コンピューター工学科准教授のAlexander Stoytchev氏と博士課程学生のVladimir Sukhoy氏は、信号処理の肝と言われる高速フーリエ変換(Fast Fourier transform:FFT)と逆高速フーリエ変換(Inverse Fast Fourier transform:IFFT)のアルゴリズムの研究を進め、50年間にわたり謎であったIFFTアルゴリズムを解明したと発表した。研究成果は『Scientific Reports』に論文「Generalizing the inverse FFT off the unit circle」として2019年10月8日に発表されている。 FFTアルゴリズム自体は1965年に公開され、その4年後には汎用性の高い一般化されたバージョンであるチャープZ変換(CZT)も開発されてきた。しかし、IFFTアルゴ

    50年来の信号処理に関する謎が解かれる、逆高速フーリエ変換がついに一般化 - fabcross for エンジニア
  • 物理の法則に反して「電気は通すが熱は通さない物質」を物理学者が特定

    by seventyfourimages 物理学の法則の中には、「よく電気を通す物質は熱も通しやすい」というものがあり、ウィーデマン・フランツの法則として知られています。しかし、このウィーデマン・フランツの法則に反して、「電気は通すが熱は伝えない物質」が発見されたことが分かりました。 Anomalously low electronic thermal conductivity in metallic vanadium dioxide | Science https://science.sciencemag.org/content/355/6323/371 Physicists Have Identified a Metal That Conducts Electricity But Not Heat https://www.sciencealert.com/physicists-iden

    物理の法則に反して「電気は通すが熱は通さない物質」を物理学者が特定
  • Scala で書いたマイクロサービスを Go で書き直した話 - JX通信社エンジニアブログ

    この記事はJX通信社 Advent Calendar 2019 2日目の記事です。 昨日は、たっちさんの「Kubernetes Admission Webhookでリソース作成を自在にコントロールする」でした。 こんにちは、サーバーサイドエンジニアの @kimihiro_n です。 今回は長年動かしてた Scala のマイクロサービスのリビルドを行った話をしようと思います。 TL;DR 新しい言語を投入するのにマイクロサービスは便利 Scala で感じていた問題点を解消しつつ Go へ移行できた 消費メモリが大きく減って安定稼働できるようになった 予防線を貼っておきますと、Scala より Go のほうがいいよね、といった旨ではありません。 Scala で書いたマイクロサービス 弊社のマイクロサービスの一つにカテゴリ分類専用のサービスが存在します。 カテゴリやキーワードを登録しておくとル

    Scala で書いたマイクロサービスを Go で書き直した話 - JX通信社エンジニアブログ
    Watson
    Watson 2019/12/02
    グラフが凄いことになってんね
  • 東プレ、Mac向けのテンキーレスキーボード

    東プレ、Mac向けのテンキーレスキーボード
  • SRE チームで Engineering Manager になって二ヶ月経っての心境など

    SRE チームで Engineering Manager になって二ヶ月経っての心境など Dec 1, 2019 この記事は Engineering Manager vol.2 Advent Calendar 2019 の 1 日目の記事です。 2 日目は taminif さんのマネージャーになったら身に付けたいファシリテーションスキルです。 ふわっとしたタイトルのゆる目の記事ですが、Engineering Manager としては新米ですし、Advent Calendar 的にもまだ初日なのでこれぐらいで許してください。 まぁ一言でいうと「Engineering Manager は決して楽ではないけど楽しいぞ!」という感じです。 Engineering Manager として置かれている状況 前提としてこんな感じですよ、というのを軽く書いておきますがここは読み飛ばしてもらっても大丈夫です

    SRE チームで Engineering Manager になって二ヶ月経っての心境など
  • Ruby 2.7 の変更点 - 復活したものや入りそうで入らなかったもの - tmtms のメモ

    Ruby 2.7 アドベントカレンダーの1日目の記事です。 qiita.com Ruby は毎年クリスマスにバージョンが上がります。 今年も順調にいけば 12/25 に Ruby 2.7 がリリースされる予定です。 2.7 がリリースされるまで毎日少しずつ変更点を見ていきます。 ソースは NEWS(とか git log とか)です。 Ruby 2.7 までに復活したもの キーワード引数のハッシュのシンボルでないキー flip-flop 構文 Ruby 2.7 で入りそうだったけど入らなかったもの パイプライン演算子 メソッド参照演算子 Ruby 2.7 までに復活したもの キーワード引数のハッシュのシンボルでないキー Ruby 2.6.0 で キーワード引数のハッシュのキーがシンボルでない場合はエラーになったんですが、2.6.2 でその挙動が取り消されてエラーにならなくなりました。 2.7

    Ruby 2.7 の変更点 - 復活したものや入りそうで入らなかったもの - tmtms のメモ
    Watson
    Watson 2019/12/02
  • crontab database ~君がしでかしてくれたもの~ - Qiita

    この記事は番環境でやらかしちゃった人のアドベントカレンダー2日目の記事です。 内容的にそろそろ時効だと思うので供養のために書きました。 追記。そういえば時期をちゃんと書いてなかったけど事件が起きたのは去年2018年、つまり仕込み(ヲイ)は2017年の話です ぶっちゃけネタ記事ですw (たまたま見つけて参加してみただけなのに昨日の記事の伸びっぷりを見て戦々恐々としてる TL;DR DB移行作業において、テスト期間中は常に最新のデータで処理できるように書いておいたプログラムをcrontabで実行していた。最終的に番に合わせて日時を調整していたが、そのことを失念し1年後に再実行されてしまい、番データが1年前に巻き戻る事故発生。 crontab は分、時、日、月、曜日を指定できるが、1年後に帰ってくるから気をつけてね。という話。 惨劇はなぜおこってしまったのか 結論から言えばcrontabの

    crontab database ~君がしでかしてくれたもの~ - Qiita
    Watson
    Watson 2019/12/02
  • kagoshima-rubykaigi01

    # "REGIONAL" WASN'T MEANT TO BE MEAN "PROVINCIAL" ## 参考URL * 地域Ruby会議: https://regional.rubykaigi.org * 一般社団法人日Rubyの会: https://ruby-no-kai.org/ * Regional RubyKaigi (ruby-no-kai/official/wiki): https://github.com/ruby-no-kai/official/wiki/RegionalRubyKaigi * RubyEventCheck: https://github.com/ruby-no-kai/official/wiki/RubyEventCheck * Ruby Conferences: https://rubyconferences.org/ * Regional Ruby

    kagoshima-rubykaigi01
    Watson
    Watson 2019/12/02
  • C++やPython向けのコード可視化ツール「Sourcetrail」がオープンソースに

    Sourcetrailは、開発者が他人の書いたソースコードを理解し、生産的にコーディングを行えるよう支援する。開発者は既存のソースコードを理解することに多大な時間を費やすが、一般的なコードエディタは、こういった作業にはほとんど役に立たない。 Sourcetrailの主要開発者であるEberhard Gräther氏は、「Google Chrome」のグラフィックスチームにインターンシップとして参加した2012年時点の経験を次のように語っている。 「割り当てられた単純に見えるタスクに着手し、具体的なコードの改善に取り組み始めるとすぐに、Chromiumの巨大なアーキテクチャを理解する機会が全くないことに気付いた。ドキュメントはあまり役に立たず、開発チームのメンバーは非常に友好的だったが、コードベースについて質問するインターンに邪魔されることを好まないことも分かった。そこで、ソースコードを読ん

    C++やPython向けのコード可視化ツール「Sourcetrail」がオープンソースに
  • ruby-jp

    鹿児島Ruby会議01 https://k-ruby.github.io/kagoshima-rubykaigi01/

    ruby-jp
    Watson
    Watson 2019/12/02
  • ようこそdotfilesの世界へ - Qiita

    はじめに 少し前から話題になっているが、日の労働生産性はG7で最も低いらしい。 日生産性部資料より https://www.jpc-net.jp/intl_comparison/intl_comparison_2018_press.pdfは人口減少に突入していることもあって、「作業の効率化」や「自動化・省力化」をいうフレーズをあらゆる業種で聞くようになった。 ITエンジニアは、あらゆる職業の中でも最も効率化、自動化をして生産性を高められるといっても過言ではないだろう。プログラマの三大美徳(「怠惰」「短気」「傲慢」)にもあるように、同じことを何度もやらない、楽をするためにがんばるという生産性を意識した感性が重要視されているからだ。 生産性を高めることで、勉強する時間が作れたり、新しいことを経験したりするなどしてさらにスキルアップができ、さらに生産性が上がるという好循環を作り出すこ

    ようこそdotfilesの世界へ - Qiita
    Watson
    Watson 2019/12/02
  • Dockerfile書きたくないでござる

    CloudNative Days Kansai 2019前夜祭のLTで発表した資料です。 発表の大筋は@makingの『Pack to the Future - SpringOne Platform 2019報告会』 https://docs.google.com/presentation/d/1rzaxReQ92WaWI24v-GsTwjtLCMq2YaFSTl9t6SEjPxQ/mobilepresent?slide=id.g6ad6e2f668_0_5 およびその元ネタの『Pack to the Future: Cloud-Native Buildpacks on k8s』 https://www.slideshare.net/SpringCentral/pack-to-the-future-cloudnative-buildpacks-on-k8s をベースにしています。 Clou

    Dockerfile書きたくないでござる
  • 【Ruby Advent Calendar 2019】ピュア Ruby で Ruby 2.7 の Numbered parameter を実装してみよう!【1日目】 - Secret Garden(Instrumental)

    Ruby Advent Calendar 2019 1日目の記事になります。 記事では Ruby 2.7 で実装される Numbered parameter っぽい機能をピュアRuby で実装してみたいと思います。 またこの記事の実装は以下の記事を参考にして書いています。 Rubyのブロックつらい問題を解決する暗黙のブロックパラメータ - Qiita 4年以上前にこういうのが書かれていたのすごい。 Numbered parameter とは Numbered parameter、略してナンパラです。 ナンパラは『暗黙的にブロックの引数を参照する構文』になります。 通常ブロックで引数を受け取る場合、仮引数を定義して受け取ります。 # it という名前の仮引数を定義して、それで引数を参照する [1, 2, 3].map { |it| it.to_s + it.to_s } # => ["11

    【Ruby Advent Calendar 2019】ピュア Ruby で Ruby 2.7 の Numbered parameter を実装してみよう!【1日目】 - Secret Garden(Instrumental)
    Watson
    Watson 2019/12/02
  • 環境変数を設定するだけでRuby on Railsサーバが10%高速化する(かもしれない)話 - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

    この記事は Akatsuki Advent Calendar 2019 1日目の記事です。 はじめに アカツキでは Ruby on Rails を使ったゲームサーバを開発・運用しています。ゲームの体験を向上するために、レスポンスタイムは一つの重要な要素となるため、種々のパフォーマンスチューニングを行なっています。今回はその一例として、環境変数を1つ設定するだけで、あるAPIのレスポンスタイムが10%も改善した例をご紹介します。 TL;DR 多数の時刻を含むレコードを扱う Ruby on Rails サーバでは、 TZ 環境変数を設定することで、デフォルトタイムゾーン設定ファイル /etc/localtime へのアクセスが減り、高速化が図れるかもしれません。 効果は Time オブジェクト1個あたり数μsの短縮といったオーダーですが、チリも積もれば山となり、数千個のレコードを処理するAPI

    環境変数を設定するだけでRuby on Railsサーバが10%高速化する(かもしれない)話 - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)
  • エンジニアリングマネージャ/プロダクトマネージャのための知識体系と読書ガイド - Qiita

    記事は、Engineering Manager Advent Calenderの1日目です。 はじめに エンジニアリングマネージャ(EM)と呼ばれる職務を設置する企業が増えてきました。 私たちの主催したイベントEOF2019でも700名近い方に参加していだき、また多くの方にご協力いただき成功裏に終わることができました。 EM Meetup/EM.FMなどのムーブメントの中心の一翼を担わせていただき、その高まりを感じる一方で不安も感じます。このエンジニアリングマネージャという職務は非常に多岐にわたるケースが存在していますし、必要だとされるスキルもまちまちです。そして、多くの場合、その企業のステージや状況ごとに求めるものは違います。また、求めていることを明文化することすらされていないケースも存在します。 このことから、エンジニアリングマネージメント自体が一時的な潮流として消費され、消えていっ

    エンジニアリングマネージャ/プロダクトマネージャのための知識体系と読書ガイド - Qiita
  • いつものように本番作業してたはずなのに - Qiita

    この記事は「番環境でやらかしちゃった人 Advent Calendar 2019」の1日目です。 https://qiita.com/advent-calendar/2019/yarakashi-production なかなか濃いラインナップが期待されますが、まずはさらっといきたいと思います。 具体性が乏しい部分もあると思いますが、そこはお察しください。。。 やらかし 背景(前提条件) いっていに昔の話です ETL(データ加工)サーバ 数十を超えるシステムからデータを集める BIツールなどで活用できるように各種加工処理を行い、DBなどにロードする 繁忙の違いはあれど、24/365で常時一定量の処理は稼働している 複数のチームが共存しているサーバ アプリ面では比較的疎 ETL処理のリリース前に番サーバ上で試験をする取り決めになっていた 性能や番相当データのテストが安全に行えるような環境

    いつものように本番作業してたはずなのに - Qiita
    Watson
    Watson 2019/12/02
  • Kyashに入社して2年くらい経ちました - Konifar's WIP

    入社1年3ヶ月くらいの時に近況を書いてから9ヶ月くらい経ちました。入社して2年くらい経ったのでまた自分の備忘のために近況を書き残しておこうと思います。いわゆる在職エントリです。 やっていたこと 開発 : 採用 : その他 = 2 : 4 : 4 くらいでやっていました。5月に素晴らしいAndroidアプリエンジニアの@_Cordeaが入社してくれて、実は自分はここ数ヶ月Androidの開発をほとんどやっていません。Android、iOSの細かいタスクをやったり、サーバーサイドAPIのドキュメントやモックを書いたりする一方で、他のメンバーがタスクに集中できるようにプロジェクトの細かいボールを拾ったりしています。 この9ヶ月間でやっていたことを書き出すとこんな感じです。 開発 送金請求画面の改善 海外加盟店決済後の為替変動時の対応 未使用のリソースを定期的に削除するスクリプト作成 64bit

    Kyashに入社して2年くらい経ちました - Konifar's WIP
    Watson
    Watson 2019/12/02
  • Rails newの処理を追ってみた - Qiita

    動機 せっかくアドベントカレンダーの初日なので、rails newのオプションの解説をしようと思ったんですが、それだけだとありきたりなのでコードを読んでみることにしました。 前提条件 ソースコードはv6.0.1のタグが付いているもの(執筆時点の最新安定版)。 注意書き この記事は筆者がガチでコードを読みつつ書いたものです。順番の前後や過度のライブ感がありますがご了承ください。 とっかかり ここかなあ… module Rails module Command class NewCommand < Base # :nodoc: no_commands do def help Rails::Command.invoke :application, [ "--help" ] end end def perform(*) say "Can't initialize a new Rails appli

    Rails newの処理を追ってみた - Qiita
    Watson
    Watson 2019/12/02