タグ

2017年10月10日のブックマーク (14件)

  • TechCrunch

    As if robocalling wasn’t already enough of a problem, the advent of easily accessible, realistic AI-powered writing and synthetic voice could supercharge the practice. The FCC aims to preempt th

    TechCrunch
  • Bashアプリケーションをテストする | POSTD

    以前、bashスクリプトをテストする仕事に取り組んだことがあります。最初、Pythonユニットテストを使うことにしましたが、プロジェクトに外部技術を持ち込むのは気が進みませんでした。そこで、仕方なく、悪名高い bash で書かれたテスト用フレームワークを使いました。 既存ソリューションの概要 手に入るソリューションを探してGoogle検索しましたが、選択肢はほんの少ししかありませんでした。そのうちいくつかについて、詳しく見ていきましょう。 重要になるのは、どんな基準でしょうか? 依存関係: bass のテスト用フレームワークを選ぶときに、 python 、 lua などのシステムパッケージも一緒に引きずり込むのは嫌ですね。 インストールの難しさ:継続的な開発の実装とTravis CIでの継続的な統合も仕事の1つだったので、私にとってインストールにかかる時間と手間数が妥当だということは、重要

    Bashアプリケーションをテストする | POSTD
  • 差分検出アルゴリズム三種盛り - Object.create(null)

    こんばんは. 気がつけばもうずいぶんと涼しくなってきました. 勢い余って凍ってしまったりせぬよう, くれぐれも普段の言動にはお気をつけください. はじめに さて, 我々人類にはどうしても二つの文字列 (あるいは行ごとに区切られたテキスト) 間の差分を求めなければいけない瞬間が発生します. 先人たちはそういった時のために diff のようなツールを開発し, それを利用することで文明はめざましい発展を遂げてきました. しかしながら, 使用するアルゴリズムを比較検討したい場合, 「差分」の定義を変えるなどして既存のアルゴリズムに変更を加えたい場合, diff のない異世界に飛ばされて自分で実装しなければいけない時などにおいては, 差分検出アルゴリズムについての理解が必要不可欠です. というわけで, この記事では文字列間の差分検出とは何かということと, 差分を求める三種類のアルゴリズムの紹介・解説

    差分検出アルゴリズム三種盛り - Object.create(null)
  • コードを書く際の指針として見返すサイトまとめ - Qiita

    お勧めの記事がありましたらコメントなどで教えて頂けると幸いです。 Guidelines プログラマが知るべき97のこと 技術的負債 不慣れなコードベースで短期間に生産性を高めるための7つの方法 何も知らない人を育てるために(新人教育情報キュレーション) 保守開発に開発者として入って困ることのまとめ(実体験) 技術系の名言まとめ++ 真似をする前にバッドプラクティスかどうかを調べてみよう 読まれない名著「人月の神話」を気で読み込んでみた(まとめ) 技術的負債とどうやって戦うか 楽しいコーディングのための CUPID - SOLID 原則に対するアンチテーゼ エンジニア基礎(新人研修資料) Coding Style モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう 関数名や変数名に使えそうな動詞・名詞・形容詞のメモ Naming -名前付け- DRY原則をもう一度 -コンカレント

    コードを書く際の指針として見返すサイトまとめ - Qiita
  • アホみたいにでかいgit repositoryを上手く扱う方法 - Qiita

    gitが大きくなると時間かかってしゃーないと思っていたら、ちょうどatlassianのブログにこんな記事があった。 How to handle big repositories with git - Atlassian Blogs 巨大なリポジトリ を Git で上手く扱う方法 直訳ではなく、読んだことを参考に自分用にメモを記す。これは当にメモ代わりなので原文を参照した方がいいと思う。 gitが重くなる原因は、「長い歴史」と「デカいファイル」の2つがある。その2つの対処法。 長い歴史に対処する shallow cloneを使う gitのhistoryが積み重なると、git cloneに時間がかかる。そのときはshallow cloneを使って、深さを限定してcloneする。 git clone --depth depth remote-url 手元の環境だと23sくらいかかっていたのでも

    アホみたいにでかいgit repositoryを上手く扱う方法 - Qiita
  • 負荷を均すための『時間軸シャーディング』という考え方 - プログラムモグモグ

    ウェブアプリケーションを作っていると、負荷を分散させるために「タイミングをばらけさせる」場面に時々遭遇します。 データの更新、キャッシュのフラッシュ、バッチ処理など様々な問題で、同じ構造が見られます。 例えば、スマホアプリからバックグラウンドで1時間ごとに何らかの情報をサーバーに送りたいとします。 愚直に毎時0分に更新処理を行うようにすると、すべてのユーザーから同じタイミングでリクエストが来てしまいます。 ですから、リクエストのタイミングをユーザーごとにばらして負荷を均す必要があります。 他のケースを考えます。 5分ごとにジョブを投入して何らかの更新を行うタスクがあるとします。 来ならデータベースに更新を行いたいのですが、データベースのハードウェアの限界が近いので、更新データをまずキャッシュに乗せるようにしました。 何らかのタイミングでキャッシュからデータベースにフラッシュする必要があり

    負荷を均すための『時間軸シャーディング』という考え方 - プログラムモグモグ
  • 無料で入手できる本格的(紙なら高額)な理数系専門書15選 第2回(2017年春) - 檜山正幸のキマイラ飼育記 (はてなBlog)

    去年・2016年の夏に、「無料で入手できる格的(紙なら高額)な理数系専門書15選」という記事でインターネットから入手可能な専門書を15冊紹介しました。 出版されている書籍と同じ内容のPDFファイルやHTMLページがインターネットに公開されている例は意外と多いみたいで、一年たたずに新しい15冊のリストができました。前回(2016年夏)と同様に、著作権があやしいものは除外し、著者人または著者の所属組織のWebサイト、あるいはarXiv.org, TAC (Theory and Applications of Categories)で公開されているものだけを紹介します。また、この記事の後半で、今回紹介する15冊と過去に紹介した20冊のタイトルとURLを再掲します。 内容: 幾何 Differential Algebraic Topology: From Stratifolds to Exot

    無料で入手できる本格的(紙なら高額)な理数系専門書15選 第2回(2017年春) - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • Mineflux: Minecraftサーバーのデータを収集するTelegrafプラグイン | Yakst

    Minecraft サーバーから RCONプロトコルで データを収集するプラグインについて。Minecraft サーバ側の設定から、Chronograf を用いたダッシュボードの作成まで。 免責事項 この記事はInfluxData Blogの投稿 Mineflux: Building a Telegraf plugin to collect data from your Minecraft Server をユーザが翻訳したものであり、InfluxData公式の文書ではありません。 概要 InfluxData での最初の1週間を、私たちは InluxData の背後にあるデータベースである InfluxDB について学ぶのに費やしました。私たちはその他のコンポーネントがいかに簡単に利用できるかということを言われていたので、この主張を検証することに決めて、Telegraf プラグインを書き、そ

    Mineflux: Minecraftサーバーのデータを収集するTelegrafプラグイン | Yakst
  • MySQLの高可用性構成の展望2017年版(大人編) | Yakst

    以前公開された「長老編」(https://yakst.com/ja/posts/4656) に引き続き、比較的新しいMySQL高可用性オプション(大人たち)について解説した記事。前回同様、初心者向けに「Galera」と「RDS Aurora」の2つを紹介している。 この記事では、いくつかの高可用性ソリューションについて考察を行います。 このシリーズの前回の記事(訳注:日語版はこちら)では、長きにわたって利用されてきたMySQLの高可用性ソリューションを取り上げました。私はこれらを「The Elders (長老たち)」と名づけました。レプリケーションなどは今でもよく使われており、MySQLの新バージョンがリリースされるごとに改善されています。 この記事では直近5年間で登場し、なおかつコミュニティの中で牽引力を増している高可用性ソリューションに着目します。私はその中から2つのソリューションを

    MySQLの高可用性構成の展望2017年版(大人編) | Yakst
  • Rustでソートアルゴリズム (7)バイトニックソート (SIMDで高速化) - Qiita

    概要 並列化が容易なため、GPGPU等で有用であるバイトニックソートを実装する。 Wikipediaでの説明(英語) ナイーブな実装 前提条件 前回と同様にRustのバージョンは1.19.0とします。 fn sort<T: PartialOrd>(&self, source: &mut [T]) { let source_size = source.len(); let size = source_size.next_power_of_two(); if source_size != size { return; } let half_size = size >> 1; let mut i = 2; while i <= size { let mut j = i >> 1; while j > 0 { let ml = j - 1; // 下位ビットマスク let mh = !ml; //

    Rustでソートアルゴリズム (7)バイトニックソート (SIMDで高速化) - Qiita
  • 最近の大学生がインタビューの文字起こしをするのに「iPhone」と「iPad」の2台だけを使っている理由

    岸政彦 @sociologbook こないだ龍大のゼミ生と話してて、卒論のための生活史調査の文字起こしをえらい丁寧にしてきたから、どうやってやったのって聞いたら、「インタビューの音声をiPhoneで再生してイヤホンで聞きながら、iPadのメモを音声入力にして、マイクに向かって自分で同じセリフを喋り続けた」だった→ 2017-10-06 01:04:51 岸政彦 @sociologbook →最近みんなこれ。InterviewWiterももはや時代遅れか(笑)。漢字変換の精度もかなりいいんだって。タイピングが遅い学生たちに無理やりキーボードで文字起こしさせるよりも、こっちのやり方をすすめていったほうが、これから院生指導するときでも、ええかもしれんね。→ 2017-10-06 01:05:09 岸政彦 @sociologbook →「いまでもタイピングしてるぞ!」という、そんな貴方に。文字起こ

    最近の大学生がインタビューの文字起こしをするのに「iPhone」と「iPad」の2台だけを使っている理由
  • オリジナルのキーキャップを作る - ロードヒポキシス

    写真ブログとして頑張っていたときもありましたがとうとう自作キーボードが混入します。 Twitterの方はすでにほとんどキーボードの話ばっかりになってましたが、ここ1年半ぐらいメカニカルキーボードを自作する界隈で活動をしてた流れでとうとうキーキャップを自作するに至った話です。 キーキャップとは キーボードの盤面の文字が書いてあるアレです。 カスタム、自作キーボードの界隈では色形様々なキーキャップの中から好みのキーキャップをとっかえひっかえしてニヤニヤする行為も楽しみの一つでもあります。 キーキャップはプラスチックの成形が伴うことから個人での製造が難しい部分(最近では3Dプリンタで出力するなどの手法もありますが)で、完成品のキーキャップのセットは少数で高額ということもあり、財布を痛めつける原因になっています。 そうしたことから最近では何も刻印されて無いキーキャップ(Blank Keycaps)

    オリジナルのキーキャップを作る - ロードヒポキシス
  • spring.jpa.hibernate.ddl-auto を "create" にした際、テーブルの命名規則に複数回適用される現象の対処策 - Qiita

    spring.jpa.hibernate.ddl-auto を "create" にした際、テーブルの命名規則に複数回適用される現象の対処策jpaJUnitSpringBoot 概要 公式のページ にあるように、Spring Data JPA にてエンティティを構成すると、application.properties のプロパティにて、インメモリのDBが接続対象のデータベースとして指定されている場合、アプリケーション実行時に、@Entity アノテーションをつけたクラスのテーブルを作成してくれます。 spring.jpa.hibernate.ddl-auto= # DDL mode. This is actually a shortcut for the "hibernate.hbm2ddl.auto" property. Default to "create-drop" when usi

    spring.jpa.hibernate.ddl-auto を "create" にした際、テーブルの命名規則に複数回適用される現象の対処策 - Qiita
  • Jenkins CLIをつかって操作 - Qiita

    目的 自分用備忘録 以外にJenkins CLI知らない人多いので公開 手順概要 ssh公開鍵をJenkinsに設定 jenkins-cli.jarをダウンロード jenkins-cliを実行する 手順 ssh公開鍵をJenkinsに設定 右上から 設定 クリックして自分のユーザ設定を変更する。 SSH Public Keysに自分の公開鍵の情報を追加する。 以下は入力例(ダミー) jenkins-cli.jarをダウンロード Jenkinsの管理 をクリック。 Jenkins CLI をクリック。 遷移先画面の jenkins-cli.jar リンクをクリックするとjenkins-cli.jarがダウンロードされる。 jenkins-cliを実行する 動作確認 ダウンロードしたファイルを適当な場所に配置して実行する。 ヘルプが表示されればOK。 $ java -jar jenkins-c

    Jenkins CLIをつかって操作 - Qiita