yuji38kwmtのブックマーク (21)

  • DBMSをGoで実装してみた - Sansan Tech Blog

    こんにちは。プロダクト開発部の荒川 id:ad-sho-loko です。突然ですが、皆さんはこんな疑問を持ったことはありませんか? データベースの内部実装はどうなっているのか? トランザクションとはどのようなアルゴリズムで実現されているのか? NoSQLが遅いのはなぜか? 古典的なデータベースとは内部的にどのように違うの? データベースを何かしらの形で利用しているのにも関わらず、意外と内部の仕組みを理解していない場合が多いかと思います。僕もそうです。*1 しかし、エンジニアたるもの、その仕組みを知ることは非常に重要です。僕もデータベースについて勉強しようといくつかのやサイトを調べていたのですが、なかでもCMU(カーネギーメロン大学)のDatabase System Groupがアップロードしている講義が最も勉強になりました。 www.youtube.com そしてブログでは、上記の講義

    DBMSをGoで実装してみた - Sansan Tech Blog
  • 高速なハッシュテーブルを設計する | POSTD

    (訳注:2016/9/28、頂きましたフィードバックを元に記事を修正いたしました。) はじめに 稿では、高速で汎用的なハッシュテーブルを作るために行う、設計についての多くの意思決定事項を紹介します。最終的に、私の emilib::HashSet とC++11の std::unordered_set の間のベンチマークが出来上がりました。もし、ハッシュテーブルに興味があって、自分で設計したいなら(どのプログラミング言語かに関わらず)、稿がヒントになるかもしれません。 ハッシュテーブル は、素晴らしい発明です。 ならし計算量O(1) ( O(√N)時間 )で、挿入、削除、検索を行うことができます。ならし計算量とは、ハッシュテーブルの計算に平均でO(1)の計算量がかかることを意味しますが、時々、これよりも多くの時間がかかる場合があります。具体的には、ハッシュテーブルに空きがない場合で、挿入の

    高速なハッシュテーブルを設計する | POSTD
  • JUnit5で変わるテストの書き方 - きしだのHatena

    JUnit5が案外よさげなので、JUnit5を使うとどんな感じでテストが変わるのか考えてみます。 実際にどこが変わったかとか、使い方自体はいろいろまとめられたブログがあるし、公式ドキュメントも読みやすいのでそちらを。 http://junit.org/junit5/docs/current/user-guide/ メソッドごとのテスト JUnit5でいいのは、Nestedですね。 いままで、いろんなメソッドを対象にしたテストが入り混じってたと思います。 import org.junit.Before; import org.junit.Test; public class PurchaseTest { @Before public void setup() { // 全体のセットアップ // purchase()用のセットアップ // history()用のセットアップ } @Test p

    JUnit5で変わるテストの書き方 - きしだのHatena
  • 【Scala】foldLeftとfoldRightのしくみ | DevelopersIO

    利用方法はとても簡単で、カリー化された第一引数にアキュームレータの初期値を渡し、第二引数に関数を渡します。 List(1, 2, 3, 4).foldLeft(0) { (acc, x) => acc + x } // -> 10 "abcd".foldRight(Nil : List[Int]) { (x, acc) => x :: acc } // -> List(97, 98, 99, 100) コレクションAPIに定義されているほとんどのメソッドは、 foldLeft か foldRight を用いて実装することができます。上記の foldLeft のコード例などは、 sum (総和) 関数そのものですね。 さて、それぞれの特徴を比較すると真っ先に目につくのが、foldLeft はスタックセーフな高階関数で、foldRight はそうではない、という点だと思います。それじゃあ、 f

    【Scala】foldLeftとfoldRightのしくみ | DevelopersIO
  • Spring BootでWARファイルを作成してTomcatへデプロイする方法 | ホームページ制作のサカエン Developer's Blog

    Spring Boot 1.4.1 Thymeleaf 3.0.2 Windows7 Java8 Eclipse 4.6 Neon こちらのページを参考にサンプルアプリを作ってください。既にSpring Boot Webアプリがある場合は、読み飛ばして結構です。 Spring Bootを使ってWebアプリを作る方法2020-05-25Spring Bootを使ってWebアプリを作る方法です。Spring Boot とは、Springプロジェクトが提供する様々なライブラリを手軽に使って、開発の生産性を向上させようっていう代物です。Struts1もSeasar2もEOL となった今、Spring Bootが簡単でおすすめです。ここではSpring Bootを使ってWebアプリを作る方法を、実際にサンプルアプリを作って紹介しています。www.saka-en.com まず、pom.xml の pa

    Spring BootでWARファイルを作成してTomcatへデプロイする方法 | ホームページ制作のサカエン Developer's Blog
  • SpringBoot pom.xmlのversionで警告が出る場合の対処方法 - Web系開発メモ

    Spring Boot のアプリで Maven を使っていたところ、pom.xml の dependency/version で警告が出ました。 これから、その詳細と解決方法を書いていきます。 バージョン Spring Boot 2.7.5 事象 以下の version に警告マークが付きました。 <project> ... <dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version> <scope>provided</scope> </dependency> ... </dependencies> ... </project> Eclipse の警告メッセージは以下の通りです。 Duplicating m

    SpringBoot pom.xmlのversionで警告が出る場合の対処方法 - Web系開発メモ
  • JavaTechnology Slot Online | Cara Daftar bermain Slot Online

    Dapatkan Peluang Menang Slot Online Lebih Besar Di Bandar Teraman Karena banyaknya pilihan situs judi di internet. Penting bagi seorang pemula khususnya untuk memilih sebuah bandar judi terpercaya. Karena berbagai

    JavaTechnology Slot Online | Cara Daftar bermain Slot Online
  • Scalaを学ぶ前に押さえておきたい!スニペット実行ツール8選!! #scala|CodeIQ MAGAZINE

    Scalaは記述の自由度が高く、同じ処理を様々な書き方ができたり、シュガーシンタクスや短縮形のバリエーションが豊富です。 Scalaを学び始めた段階ではWebで見つけてきたスニペットひとつとっても、咀嚼しながら理解することが重要です。今回は学習やテストできっと役立つような、Scalaのスニペットを実行できるツールを8つに絞って紹介します。 by 株式会社クラフトマンソフトウェア 野澤 秀仁 学び始めの人におすすめ!「SimplyScala」 今すぐScalaがどんな言語か試してみたい人にオススメしたいのが、SimplyScalaです。SimplyScalaGoogle App Engine上で動いているWebサイトなので、コンパイルから実行までリモートで処理してくれるため、ブラウザさえあればScalaのスニペットを試すことができます。 SimplyScalaは、「Scalaを学び始める人

    Scalaを学ぶ前に押さえておきたい!スニペット実行ツール8選!! #scala|CodeIQ MAGAZINE
  • 勾配降下法の最適化アルゴリズムを概観する | POSTD

    (編注:2020/10/01、2016/07/29、いただいたフィードバックをもとに記事を修正いたしました。) 目次: さまざまな勾配降下法 バッチ勾配降下法 確率的勾配降下法 ミニバッチ勾配降下法 課題 勾配降下法を最適化するアルゴリズム Momentum(慣性) Nesterovの加速勾配降下法 Adagrad Adadelta RMSprop Adam アルゴリズムの可視化 どのオプティマイザを選ぶべき? SGDの並列化と分散化 Hogwild! Downpour SGD SGDのための遅延耐性アルゴリズム TensorFlow Elastic Averaging SGD 最適化されたSGDに対する更なる戦略 シャッフル学習とカリキュラム学習 バッチ正規化 早期終了 勾配ノイズ 結論 参考文献 勾配降下法は、最適化のための最も知られたアルゴリズムの1つです。これまではニューラルネット

    勾配降下法の最適化アルゴリズムを概観する | POSTD
  • あえて言うほどではない 数値 ⇔ 文字列変換 Java編 | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは元Javaプログラマの村上です。 コーディングしている時に 文字列 ⇔ 数値 の変換ってよくやりますよね? Javaでの王道は 数値 ⇒ 文字列

  • JavaScriptで追加したスタイル指定を削除して元のCSSの指定に戻す方法 - すたらブログ

    結論 jQueryでも素のJavaScriptでも、空文字''を代入すればいいようです。 例 CSS #foo { width: 20%; } jQuery // スタイル指定する $('#foo').width('100%'); // 元のCSSの指定に戻す $('#foo').width(''); JavaScript // スタイル指定する document.getElementById('foo').style.width = '100%'; // 元のCSSの指定に戻す document.getElementById('foo').style.width = ''; すごく悩んでいたのですが、こんな簡単な解決方法で拍子抜けしました。 経緯 これまでは元の指定を変数に保存していました。 // 保存 var original = $('#foo').width(); // 元に戻す

    JavaScriptで追加したスタイル指定を削除して元のCSSの指定に戻す方法 - すたらブログ
  • 【CSS】displayの使い方を総まとめ!inlineやblockの違いは?

    今回はCSSのdisplayプロパティをマスターしましょう。少し分かりづらい内容ではありますが、Webサイトを作るためには必ず理解しておく必要があります。

    【CSS】displayの使い方を総まとめ!inlineやblockの違いは?
    yuji38kwmt
    yuji38kwmt 2017/06/05
    表が分かりやすかった
  • まずコードの可読性を最適化しよう | POSTD

    最近では 最適化 という言葉を使う場合、GPUメモリ消費やネットワークトラフィックの最適化、などと明示的に言わない限りは、 実行時間の最適化 という意味で使われるケースがほとんどです。 自分が何を最適化しようとしているかを知ろう 私がプログラムを始めた頃、プロセッサの処理能力は遅く、メモリサイズもとても限られていて、キロバイト単位で計算されていました。ですからメモリ容量をよく考え、メモリ消費を上手に最適化しなくてはなりませんでした。大学では最適化について2つの極論を教わりました。 メモリを犠牲にして実行スピードを最適化する。 または何度も計算を繰り返して、メモリ消費を最適化する。 最近では誰もメモリについては大して気にしていません(デモシーン製作者、組み込みシステムのエンジニア、一部の携帯電話ゲームのディベロッパなどは別です)。RAMだけでなく、ハードディスクの容量についても同様です。 W

    まずコードの可読性を最適化しよう | POSTD
  • CSSコーディングテクニック : 詳細度、単位、flexbox、mixin | POSTD

    (2016/7/15、記事を修正いたしました。) 最近、ビギナーからベテランのデベロッパに至るまで、CSSに手を焼く人を多く見かけます。そうした人たちの中には、CSSの機能を好まず、別の言語を使った方がいいのではないかと考えている人もいます。もともと、CSSのプロセッサもこうした考え方から生まれました。書くべきコードを少なくできることを期待して( 以前の記事で ご紹介しているとおり、普通はそうではありません)CSSのフレームワークを使う人もいれば、CSSを完全に見限り、スタイルの指定にJavaScriptを使うという人もいます。 しかし、あなたが取り組んでいるパイプラインにCSSプロセッサをいつも取り入れる必要があるとは限りません。どんなプロジェクトであれ、開始の時点から、膨れ上がったフレームワークをデフォルトに取り込む必要はありません。また、CSSを使うところで、代わりにJavaScri

    CSSコーディングテクニック : 詳細度、単位、flexbox、mixin | POSTD
  • 原則と規則の意味の違いを日本人が決して理解できない理由とは?|トルコに移住した京都大学出身のリオンが超効率的な勉強法を伝えるブログ

    「原則」という言葉の定義とは? 「原則」という言葉は、 英語のPrinciple という単語に対する訳語として 用いられていることが多い単語です。 英語では、Principle という語は、次のように定義されています。 Principles are fundamental truths that never change, regardless of time or circumstance. They provide the basis on which specific laws are founded. 一応、日語にしておくと、 『 Principle(s)とは、時間や状況のいかんを問わず、 絶対に変化することのない基的な真理・真実のことです。 Principle は、基礎・基盤を規定しており、 その規定された基礎・基盤の上に、 特定のlaws(法律・規則など)が成り立っています

    原則と規則の意味の違いを日本人が決して理解できない理由とは?|トルコに移住した京都大学出身のリオンが超効率的な勉強法を伝えるブログ
  • ごく普通の会社で社内勉強会・社内研修みたいのを散々やってきたけど、あまり成果が出てこなかった話でもひとつ。 - terurouメモ

    社内勉強会ネタがなんか盛り上がってますね。2004年ぐらいから散々やってきましたが、大きな成果を得られていないみたいな話でも書いとこうかと思います。 認識してる元ネタ 社内勉強会をやらない理由 - 勘と経験と読経 社内内弁慶を社外勉強会に参加させる方法: ソフトウェアさかば 社内勉強会はヤメだ。自主的はいらん、全員技術発表だ! - Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。 はてブコメントとかを流し見ていると、どうも空中戦になってるようですね。 話がややこしくなるので、対象を絞り込む ここではとりあえず、Web系を除いたSI・メーカ系で、業界平均レベルの技術力の人間が社員の大半を占める会社に対象を絞ります(Web系あまりわからない。あと技術力が高いところは勉強会ガーとか言ってないはず)。 社内勉強会の目的 社内勉強会を開催する目的は大きく分けて、

    ごく普通の会社で社内勉強会・社内研修みたいのを散々やってきたけど、あまり成果が出てこなかった話でもひとつ。 - terurouメモ
  • 最高に怠惰な技術書との向き合い方、または私は如何にして積ん読の山を築いたか #shinsotsu_wakaru - 技術memo

    新卒でもわかるソフトウェア開発技術書の良書の見分け方 で発表した資料です。概ねギャグです。

    最高に怠惰な技術書との向き合い方、または私は如何にして積ん読の山を築いたか #shinsotsu_wakaru - 技術memo
  • 「なぜ?」をやめたら簡単に原因究明できた話 | コマースデザイン

    理由がわからないときに使う言葉で、「なぜ?」「どうして?」というものがあります。ビジネスでもプライベートでも、この言葉で原因を究明し、事にあたられる方も多いかと思います。 しかし、ときどき、「なぜ?」では、うまく原因を引き出せないことがありませんか。 たとえば、「なぜ、締め切りに間に合わなかったの?」と相手に聞いても、「対応する時間がありませんでした」といった”原因っぽい答え”しか出てこない的な。 ゆっくり時間をかけて考えれば、また具体的な原因も出てくるのでしょうが、とはいえ、忙しいとなかなかそうも行かないもの。 そこで、今回は「なぜ?」と全く変わらない手間と時間で、原因を数倍は究明しやすくする(かもしれない)、あるテクニックをご紹介します。 誰でも、いますぐ簡単にできますので、ぜひ試してみてください。 「何があったの?」 結論としては、「なぜ?」の代わりに「何があったの?」を使います。

    「なぜ?」をやめたら簡単に原因究明できた話 | コマースデザイン
  • これまでに読んできた技術書を振り返る - give IT a try

    このエントリを書こうと思ったきっかけ irofさんのこちらのエントリが面白かったので、僕も技術書についてあれこれ書いてみたくなりました。 私の技術書の選び方 - 日々常々 僕の場合は技術書の選び方、というテーマではなくて、自分が技術書とどのように付き合ってきたのかということを振り返ってみたいと思います。 序盤 僕もこの業界に入った時は、技術書らしい技術書よりも「xxxポケットリファレンス」とか「逆引きxxxの技」みたいな、「書いてある内容をそのまま書き写せば終わる」タイプのリファレンスをよく買っていた気がします。 代表的な一冊はやはりコレですね。 【改訂第3版】 SQLポケットリファレンス (POCKET REFERENCE) 作者: 朝井淳出版社/メーカー: 技術評論社発売日: 2009/04/29メディア: 単行(ソフトカバー)購入: 6人 クリック: 117回この商品を含むブログ

    これまでに読んできた技術書を振り返る - give IT a try
  • 【プログラマー名言集】リーナス・トーバルズの名言 - 望月いちろうのREADME.md

    2016 - 12 - 05 【プログラマー名言集】リーナス・トーバルズの名言 プログラマー名言集 Linux Tweet リーナス・トーバルズ(Linuxの開発者) 北欧・フィンランド共和国出身 ヘルシンキ大学在学中にオープンソース・オペレーティングシステムの Linux を発表する。 現在Linuxは世界中で利用され、ITが浸透した現代文明に欠かせないモノとなっている。 身近な例をあげれば、スマートフォンのAndroidは、Linuxカーネルを採用している代表的な製品である。 まずはコードを見せろ Talk is cheap. Show me the code. 理屈を言うのは簡単だ。コードを見せてみろ コードを書く理由 most of the good programmers do programming not because they expect to get paid or

    【プログラマー名言集】リーナス・トーバルズの名言 - 望月いちろうのREADME.md