タグ

ブックマーク / qiita.com (674)

  • 2020年現在のNewSQLについて - Qiita

    Disclaimer 当記事はNewSQL開発ベンダの技術ブログや各種論文、その他ニュースサイト等の内容を個人的にまとめたものです。 そのため、理解不足等に起因する誤解・誤認を含む可能性があります。更なる理解が必要な方はリファレンスに挙げた各種文献を直接参照下さい。技術的な指摘は可能であれば取り込み修正しますが、迅速な対応はお約束できません。 NewSQLの解説は二部構成 当記事は前編でNewSQLの概要編となる。 全体の目次は下記である。 NewSQLとは何か NewSQLのアーキテクチャ NewSQLとこれまでのデータベースの比較 NewSQLのコンポーネント詳解 1章から3章までの内容を当記事で解説する。 4章はさらに詳細な技術的解説となり、後編の「NewSQLのコンポーネント詳解」で記述している。 こちらも合わせて一読いただきたい。 1. NewSQLとは何か NewSQLとは、海

    2020年現在のNewSQLについて - Qiita
  • ls よりも exa を使おう!モダンな Linux コマンド達を紹介 - Qiita

    上記の画像を見ると分かる通り、カラフルで見やすいですね。右図のようにディレクトリのツリー表示にも対応しています。さらに --icons オプションを付けると、ファイルタイプに応じたアイコン表示も可能です。 bat 続いて cat コマンドの代替である bat の紹介です。 ファイルの拡張子に応じてソースコードを色付けして表示してくれます。また less のようなページャの機能も持っており、行数の長いファイルを渡すと自動でページャモードで開いてくれます。 hexyl hexyl はバイナリダンプコマンド od の代替コマンドです。bat の開発者と同じ方が開発しています。

    ls よりも exa を使おう!モダンな Linux コマンド達を紹介 - Qiita
    t2y-1979
    t2y-1979 2020/02/26
    ripgrep 気になる
  • Go1.14のcontextは何が変わるのか - Qiita

    背景 Go1.14 で context パッケージが少し改善されるのは mattn さんの twitter を見て知った方も多いのではないでしょうか。このツイートされた時期と同じくらいにちょうど社内の勉強会で context パッケージをみんなで読んでおり、皆完全に context を理解したので ある程度実装も把握していました。勉強会では GoDoc と最新 master ブランチのコードが結構違うね、みたいな話もありました。ということで、個人的にとても興味深いツイートでした。Go.1.14のリリースノートには記載されていないのがミソです(2020/02/23現在)。 Go 1.4 のリリースノートにまだ含まれてないけど context の WithCancel と WithTimeout の伝搬がこのコミットで速くなってる。https://t.co/gJiT81uVyj — mattn

    Go1.14のcontextは何が変わるのか - Qiita
  • DXを大幅に低下させるDocker for Macを捨ててMac最速のDocker環境を手に入れる - Qiita

    DXはデジタルトランスフォーメーションではなくてDeveloper Experienceの方です 2020/05/26追記 https://qiita.com/nanasess/items/16ab9274c34bdc34e567 を使うことでVagrantを経由せずにDocker for Macの機能だけでMutagenを使うことができるようになりそうです。 パフォーマンスの測定はしていませんが、Docker for Macの設定のみでこの記事の手法と同等の速度が出るようになるかもしれません。 概要 Macでネイティブでの動作とほぼ同等の速度の安定したDocker環境を手に入れることができたので、その知見について公開します。 ものによりますが、最大10倍程度パフォーマンスの向上が見られました。 具体的な手法としてはVirtualBox + Dockerを用います。 設定は2ファイル50

    DXを大幅に低下させるDocker for Macを捨ててMac最速のDocker環境を手に入れる - Qiita
  • Java 14新機能まとめ - Qiita

    Java 14が2020/3/17にリリースされました。 Java SE 14 Platform JSR 389 ダウンロード OpenJDKサイトからダウンロードできます。 https://jdk.java.net/14/ MacLinuxでのインストールにはSDKMAN!をお勧めします Oracle OpenJDK以外に無償で商用利用できるディストリビューションとしては、次のようなものがあります。 AdoptOpenJDK Azul Zulu Community Liberica JDK LTSではないのでAmazon Correttoではリリースされないようです。 アップデートは4月に14.0.1が、7月に14.0.2がリリースされることになります。 Oracle JDKは開発用途には利用できますが、商用利用にはJava SE Subscriptionを購入する必要があります。 J

    Java 14新機能まとめ - Qiita
  • メンバーに恨まれそうな3つのコードレビュー施策を徹底したら、逆にメンバーが爆速で成長した話 - Qiita

    ある程度経験を積んだレビュワーがやりがちな失敗は、 指摘しやすいコーディング規約違反だけ指摘している というもの。 コードレビューで指摘するべき欠陥とは、必ずしも規約違反だけではなく、 仕様考慮もれや機能的なバグ、非機能的なセキュリティやパフォーマンス上の問題点も含まれる。 一つ関数に対して複数の視点でソースチェックをしないといけないが、 人間は同時に複数のことは考えられない。 そこでどうすればいいかと情報をあさっていたところ、 われらがIPAがセキュアプログラミング講座というWEBページで、 四回に分けてレビューすることを提唱していた。 1回目はどこに何があるか、 2回目は可読性が確保されているか、規約にのっとっているか 3回目は機能性 4回目はセキュリティ といった具合である。 IPAの講座では4回目はセキュリティに限定しているが、 担当していたプロダクトは、非機能面はセキュリティはも

    メンバーに恨まれそうな3つのコードレビュー施策を徹底したら、逆にメンバーが爆速で成長した話 - Qiita
  • Ruby に型が欲しい理由 - Qiita

    Help us understand the problem. What is going on with this article? 2018/07/05 追記 JavaScript と漸進的型付について詳しい mizchi さんが記事を書いたので、併せて読むと良さそうです。 漸進的型付け言語の時代に必要なもの 前置き RubyKaigi2018 の発表で型の導入の検討についての話がいくつかあったものの、 Matz 自身は型アノテーションに否定的であるという発言をしているとのことを受けて、自分の意見の表明として書いている。 筆者は Ruby に育てられて Ruby は好きであるが、業務経験は主に JavaScript(TypeScript) や Python(Type Hinting) が多く、漸進的型付けによるコードの健全化を経験した上で、型付きの方が好きであるという立場である。 なお

    Ruby に型が欲しい理由 - Qiita
  • Sphinx-2.4 で進化した型機能を使おう - Qiita

    先ほど Sphinx-2.4.0 をリリースしました。 Sphinx は 2ヶ月ごとの定期リリースを目指しているので、大体予定通りのリリースです。 2.4.0 では autodoc まわりの機能が大きく改善されました。この記事ではその改善点についてまとめたいと思います。 変数アノテーションへの対応 autodoc: Support type annotations for variables #7051: autodoc: Support instance variables without defaults (PEP-526) これまで、コード内の変数アノテーションはドキュメント化されていなかったのですが、2.4 からはドキュメントに出力されるようになりました。 いまや型情報は規模の大きいプログラムを書くのに欠かせない情報となっています。型情報をアノテーションすることは、あなたと開発チー

    Sphinx-2.4 で進化した型機能を使おう - Qiita
  • GitHub Flavored Markdown は何であって何でないか - Qiita

    のんびりしていたらこんなメンションをもらっていたので、ちょっとまとめてみようと思います。 そろそろ @tk0miya さんがアップしてくる頃。GFMはspecかっちりしてるんでしたっけ(markdown全く詳しくない — Aki Ariga (@chezou) February 1, 2020 かっちりしている? この記事を読んでいる皆さんは Markdown歴史に精通していると思うので、古い部分はざっくり割愛してしまいますが、オリジナルの Markdown は かっちりしていない ことで有名なマークアップ言語です。 必要最低限のマークアップ要素は規定されていて HTML への変換ツールも完成していた Markdown ですが、マークアップ言語の言語仕様としては貧弱で、インデントのルールやインライン要素をネストしたときの挙動、空行の有無による解釈の違い、などなど、細かい部分のルールにつ

    GitHub Flavored Markdown は何であって何でないか - Qiita
  • JavaのマイクロベンチマークツールJMHを試してみた - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    JavaのマイクロベンチマークツールJMHを試してみた - Qiita
  • 2019 年の非同期 Rust の動向調査 - Qiita

    この記事は 2018 年の非同期 Rust の動向調査 の続報です。 TL;DR Rust 1.39.0 以降で async/await 構文が使えるようになりました Future を実行するためのランタイムはいままで tokio だけでしたが、別に async-std というのができました async/await を使うライブラリを選ぶときはこの2つのランタイムのどちらで動くのかを確認しましょう。 特に理由がなければ tokio を使うのがいいでしょう。 2018 年からの差分 一年前から非同期 Rust を追いかけている人向けの情報です。 組織の再編 昨年は async/await を stabilize させるための async-foundations とツールチェーンを調査する web-foundations というグループが発足しました。 しかし諸事情により Async Foun

    2019 年の非同期 Rust の動向調査 - Qiita
  • Linuxのswappinessは本当にスワップしにくさを設定できるのか - Qiita

    いきなり結論 Q. swappinessって当に「スワップしにくさ」を設定できるの? A. はい、当です。 ただそれが当にあなたの望む動作なのかについては注意が必要です。 swappinessは、0から100までの値を設定することができ、それはメモリを回収(scan)するときにどこから回収するかに効いて、200分率で下記のように使われる (swappiness)の割合でANONYMOUSEをscanする (200-swappiness)の割合でfile_backedをscanする Red Hatのマニュアルにある通り、小さくするにしても10あたりが無難。1だとかなり攻めている。下記で見ていくが、よほどわかっている場合を除いて、0にするのはやめておいたほうが良い。 はじめに Linuxには「スワップのしにくさ」を設定できるswappinessというパラメータがある。 「スワップなんてで

    Linuxのswappinessは本当にスワップしにくさを設定できるのか - Qiita
  • Kafka Streams - Qiita

    Kafkaでストリーム処理を書けるようになった 2016/06 時点の最新リリース v0.10 から、Kafkaにストリーム処理のアプリケーションを書くためのライブラリが入った。Kafka体に同梱されているので追加で何かをインストールする必要はない。このライブラリを使うと、 「KafkaのトピックAにデータが入ってきたら、即座ににそれを処理して別のトピックBに格納する」 というアプリケーションを簡単に作ることができる。なお、Kafkaに同梱されているからといって、Kafka体、すなわちブローカー側に何か特殊な仕掛けが導入されたわけではない。Kafka Streamは単なるKafkaのクライアントアプリである。別の言い方をすると、Samza とか SparkStreaming とかでできることを、Kafka 体だけでもできるようになったということができる。 Kafka Streams

    Kafka Streams - Qiita
  • JavaのThreadLocalとスレッドセーフについて - Qiita

    はじめに Struts でシステムを開発していたときに、Actionで格納した値がJSPに反映されない問題が発生しました。この問題を調査した結果、Action#exceuteメソッドの引数をActionのインスタンス変数に格納して使用していたことが原因でした。このときに問題となったソースコードと解決方法を解説します。サンプルコードはこちらです。 マルチスレッドとスレッドセーフ スレッドセーフとはアプリケーションをマルチスレッドで動作(複数のスレッドが同時並行的に実行)しても問題がないことを指します。スレッドセーフでない場合は、あるスレッドで変更した共有データが、他のスレッドによって上書きされてしまう可能性があります。Webサーバーやデータベースなどのサーバー用ソフトウェアは、マルチスレッド(マルチプロセス)で動作しているので、サーバー向けアプリケーションを開発するときは、マルチスレッドで動

    JavaのThreadLocalとスレッドセーフについて - Qiita
  • Google Guice 使い方メモ - Qiita

    Google Guice の使い方メモ。 Wiki の User's Guide をざっと試してみた。 特徴とか 読みは「ジュース」 Google が開発してる DI コンテナ ver 3.0 からは JSR330(Dependency Injection for Java)のリファレンス実装 設定は XML ではなく Java コード中に書く アノテーションと型引数をフル活用 2013/10/31 現在の最新は 3.0(4.0 の Beta 版が公開されてる) 環境

    Google Guice 使い方メモ - Qiita
  • Macで多様なJavaバージョンとディストリビューションを管理:HomebrewとjEnvの活用 - Qiita

    利用可能なディストリビューション OpenJDK 特徴: Javaの基実装、広範囲のプラットフォーム対応 注意点: 限定的な長期サポート、定期的なアップデートセキュリティ更新の必要性 商用利用: 可能 Eclipse Temurin 特徴: パフォーマンスとセキュリティに重点、多様なJavaバージョンサポート 注意点: コミュニティ主導で商用サポート限定、独自機能と互換性の潜在的問題 商用利用: 可能 Amazon Corretto 特徴: AWS最適化、長期サポート、セキュリティパッチ 注意点: AWS外環境でのパフォーマンス非保証、AWSに特化 商用利用: 可能 Oracle JDK 特徴: Oracleによる公式Java版、高パフォーマンスとセキュリティ 注意点: 有料ライセンスが必要、Oracleのサポートポリシー遵守 商用利用: 有料ライセンスを購入すれば可能 Azul Zu

    Macで多様なJavaバージョンとディストリビューションを管理:HomebrewとjEnvの活用 - Qiita
  • 過去の難案件 PS2のカーネル開発 - Qiita

    はじめに 時はPlayStation2も そろそろ終わり。 PS2互換機がゲームセンター等で使われていた時代の事です 私は当時 超新人だったんだけどね ただ私は 大学を3ヶ月で光速中退して すぐにフリーランスになった変な経歴持ちです そんな時 ある人物が 掲示板に メモリマネージャやDMA、3DCGについて質問をしていた ちょうどその時期 仕事が楽だったので 光速で回答しました。 メモリマネージャ作りたいっていうので、簡単な方法として、連結リストでAllocateしていくと簡単だよ DMAについては 方向のふらぐがこーであーするだけだよ 3DCGについては DirectXを知識は入れてたので なんとなく回答 すると やり取りから1週間で 仕事してもらえますか? PS2の自社タイトルを作ってます。コアエンジニアが不足しています とメールアドレス宛にメッセージがきたので 請ける事に これがすべ

    過去の難案件 PS2のカーネル開発 - Qiita
  • AWSを安全に利用するために - ルートユーザー利用禁止、IAMを使う - Qiita

    #1. はじめに AWS を安全に利用するためには、AWSアカウントを発行してすぐに何かを始める前に、まずは IAM のドキュメント をよく読んでおく必要がある。 しかし、ドキュメントは文量が多いので、個人用に概要と最低限設定しておくべきことをまとめておく。 ちなみに、AWSセキュリティに関する責任分界点は、責任共有モデルにある。AWS利用者(お客様)がIAMを適切に設定・運用・管理する必要がある。 #2. 関連用語と、AWS推奨設定 ##2.1 ルートユーザー(または root アカウント, ルートID, root ID) AWSアカウントを作成するときに使用した Eメールアドレスとパスワードの組み合わせを、ルートユーザー認証情報という。 この ルートユーザー認証情報を使用して AWSマネジメントコンソールにサインインすると、そのAWSアカウントのすべてのリソースへの完全かつ無制限なア

    AWSを安全に利用するために - ルートユーザー利用禁止、IAMを使う - Qiita
  • 10分で理解するTerraform - Qiita

    Terraform とは インフラストラクチャ定義ツール に分類されるツールで、クラウド上のリソースを定義ファイルの状態になるように生成・操作してくれます インフラの構成を宣言的に定義できるところが特徴で、構築手順を書くのと違って構成定義のみに集中することができます ※宣言的に定義できる とは「t2.micro インスタンスを1つ」と書くだけで、作成手順を意識しなくてもその通りに出来上がるということです 単純にスクリプト化するだけだと、手続き的に構築手順を書く必要があります Vagrant を開発している HashiCorp社 が開発しているツールなので使用感は Vagrant と同じような感じです TL;DR .tf ファイルに定義内容を記述し、$ terraform apply を実行するだけで定義内容の通りに自動でインフラを構築してくれます インストール 以下に従って OS 毎のビル

    10分で理解するTerraform - Qiita
  • VagrantのゲストOSとホストOSをscpでファイルのやり取り - Qiita

    やりたいこと vagrantで立ち上げた仮想マシン(ゲストOS)にホストOSからファイルをSCPで共有したい また、逆もやってみたい ホストOS > ゲストOS $ vagrant ssh-config > ssh.config $ scp -P 2200 -F ssh.config -r .vim vagrant@localhost:/home/vagrant/

    VagrantのゲストOSとホストOSをscpでファイルのやり取り - Qiita