タグ

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

  • [随時更新]SpringBoot(with Thymeleaf)チートシート - Qiita

    はじめに SpringBoot 1.3.5で書き直しました。 SpringFrameworkはグローバルで利用され、枯れたフレームワークなので品質的にも安心感がありますし、SpringとSpringのサブプロジェクトの機能は非常に多岐に渡ります。 SpringBootは私のようにSpringに詳しくなくても簡単にWebアプリケーションを作ることができます。 SpringFrameworkの情報はWeb上に沢山存在しますが、Spring初心者にはどれがどのバージョンで利用できることなのかがわかりにくく戸惑うことが多いのです。そこで、今回勉強したことを検索しやすいように1ページにまとめてみました。 できるだけ公式サイトへの参照を貼ってあります。また、探す糸口がわかると良いと思ったので探し方もできるだけ記載しておきました。 自分のメモ的な感じで記載しているので記載が荒いところはご容赦ください。間

    [随時更新]SpringBoot(with Thymeleaf)チートシート - Qiita
    NetPenguin
    NetPenguin 2015/08/19
    Spring Security の説明などもありわかりやすい。実際に利用しそうなものが8割くらい書かれている感じ。
  • String.format("%d", i)で数字が出てくると思ってたら死んだ話 - Qiita

    あるSlackでの会話 何がおきているのか Android 端末でプラットフォームの API バージョンを出すのに、ちょっと色気を出して、 なんて書いたりします。で、だいたい android-22 みたいな感じになるんですけど、でもやっぱり世界ってのは広くて、ふと見たらなんか android-١٦ とか android-၂၂ とか不思議なやつがいるんですよ。 何それ読めない。 もしかして SDK_INT が変な端末がいるのかな??と一瞬考えたんですが、 Build.VERSION.SDK_INT は名前通りプリミティブな public static final int なので疑いようがなかった。 AndroidじゃなくてJavaの仕様 でよくよく調べると、 java.util.Formatter のドキュメントに Number Localization Algorithm なんてものが書か

    String.format("%d", i)で数字が出てくると思ってたら死んだ話 - Qiita
    NetPenguin
    NetPenguin 2015/07/31
    びっくりだ。しかも parseInt できるとは……
  • [JavaScript]使い分けるだけで今すぐデバッグ効率を上げる、consoleオブジェクトの関数 - Qiita

    なんかはよく使うはず。 だが、ちょっとした関数の使い分けでデバッグ一つもしやすくなる。 なのでほんの少し紹介。 ※以下は全てGoogle Chromeでの実行結果です console.error 赤い!よくあるエラーメッセージ エラーとみなす箇所に是非

    [JavaScript]使い分けるだけで今すぐデバッグ効率を上げる、consoleオブジェクトの関数 - Qiita
  • ハクビシンにもわかる全文検索 - Qiita

    高速な全文検索アルゴリズムであるFM-indexについて解説する。理解しがたい点や間違っている点があれば是非コメントで指摘してほしい。 概要 FM-indexはリニアな文字列に対して検索をするアルゴリズムで、主に簡潔データ構造とBWT(およびLF mapping)という二つのアイデアから成り立っている。BWTはBurrows-Wheeler変換のことで、文字列を特殊な並び順に変換するという可逆関数である。BWTされた文字列を簡潔データ構造固有の操作をすることで、クエリ文字列の長さに比例した短い時間で文字列を探し出すのがFM-indexだ。 簡潔データ構造 簡潔データ構造に関してはFM-indexで必要となる二つの関数だけ説明して、詳細は次の機会に譲るとする。さて、二つの関数はともに文字列のある位置より前の部分に含まれている文字の数を数え上げるというものでrank()とrankLessTha

    ハクビシンにもわかる全文検索 - Qiita
    NetPenguin
    NetPenguin 2015/07/21
    BWT ブロックソートを利用した高速な全文検索アルゴリズム
  • topコマンドの使い方 - Qiita

    $ top # CPU使用率順にソート $ top -a # メモリ使用率順にソート $ top -p [PID] # 特定のプロセスを監視 $ top -d1 # 1秒ごとに更新 操作方法 Shift+o: 表示された特定のキーを押してEnterすると任意の列でソートできる Shift+p: CPU使用率順にソート Shift+m: メモリ使用率順にソート ヘッダーの見方 load average top - 08:42:47 up 2min, 2 users, load average: 2.76, 0.76, 0.27 # 現在時間 サーバーの ログイン 1分 5分 15分 # 稼働時間 ユーザー数 間の単位時間あたりの待ちタスク数

    topコマンドの使い方 - Qiita
  • MySQLのAES_ENCRYPT/AES_DECRYPT互換の方式でActiveRecordの属性を透過的に暗号化/復号する - Qiita

    MySQLのAES_ENCRYPT/AES_DECRYPT互換の方式でActiveRecordの属性を透過的に暗号化/復号するRubyMySQLActiveRecord Ruby on Rails (DBMySQL) で開発をしている某案件で 運用の都合上、アプリ外から SQL でデータベースの内容を直接参照できる必要があるので、センシティブなデータは AES_ENCRYPT 関数で暗号化して、アプリ以外からも復号できるようにすること という要件がありました。 単に暗号化すればいいだけなら attr_encrypted gem などを使って透過的に Ruby 側で暗号化/復号すれば楽に実装できますが、いちいち MySQL 側で AES_ENCRYPT/AES_DECRYPT させるとなると、かなり実装が面倒です。 そこで、Ruby 側で MySQL の AES_ENCRYPT/AES_D

    MySQLのAES_ENCRYPT/AES_DECRYPT互換の方式でActiveRecordの属性を透過的に暗号化/復号する - Qiita
    NetPenguin
    NetPenguin 2015/06/04
    MySQL の AES_ENCRYPT / DECRYPT の初期設定の参考に。アプリコード側でデコードするときに使える。
  • スプリントレビューのチェックポイント - Qiita

    スクラムイベントの中でも難しいのはスプリントレビューです(持論) というわけで、スプリントレビューを進行する人が気にしたいことを挙げていきます。 スプリントレビューの目的は理解されているか 質問やフィードバックの無いスプリントレビューは開催の意味がないことを全員が認識しているか 目的外のMTGになっていないか(進捗確認MTGみたいな) 参加者は積極的に質問やフィードバックをしようとしているか デモをする人は質問やフィードバックを得ようとしているか 参加者は適切か 協力的ではない参加者が紛れていないか 適切ではない人が適切ではないフィードバックをしていないか 適切なフィードバックをくれるスクラムチーム外の人物を巻き込めているか デモの方法は適切か デモの準備は万全か 実際にユーザが体験する形に近い方法でデモを行なおうとしているか プロジェクターで写す(見る)以外の適切な方法を模索しているか

    スプリントレビューのチェックポイント - Qiita
  • LeakCanaryでメモリリークを検出する - Qiita

    Squareがメモリリークを検出するライブラリ square/leakcanary を公開したので、さっそく使ってみたらすごく便利だった話です。 A small leak will sink a great ship Piwaiが書いたLeakCanaryの記事がこちらです。 LeakCanary: Detect all memory leaks! 要約すると、 Squareではビットマップキャッシュに顧客の署名を書いていたが、端末の画面のサイズ分のメモリを確保するので、署名をするときにクラッシュすることがあり、それがOOMの大半を占めていた。 Bitmap.Configを変更したり、OOMをキャッチしてGCを走らせたりしたが、問題の解決には至らなかった。 我々は間違ったアプローチを取っていたことに気が付いた。ビットマップの大きさではなくメモリリークが根的な原因だったのだ。 通常であれば

    LeakCanaryでメモリリークを検出する - Qiita
  • Java8で独自のStreamを作成する - Qiita

    配列やコレクションを使わずにInputStream等からStreamを作成する方法。 Stream.of(T... values) 可変長引数で要素を指定してStreamを作成する。 テストデータやサンプル作成でよく使う。 Stream<String> stream = Stream.of("a", "b"); stream.forEach(System.out::println); Stream.Builder<Integer> builder = Stream.builder(); for (int i = 0; i < 5; i++) { builder.add(i); } Stream<Integer> stream = builder.build(); stream.forEach(System.out::println);

    Java8で独自のStreamを作成する - Qiita
    NetPenguin
    NetPenguin 2015/05/08
    いままで、何を意味するものなのかよくわかっていなかったけど、なるほど。Split と Iterator がくっついた単語だったのか… > “Spliteratorは分割可能なIteratorのことで、”
  • JavaScriptを読んでて「なにこれ!?」と思うけれど調べられない記法8選。 - Qiita

    JavaScriptを読んでいると、「あれ、、、なにこれ?この書き方。。。」と思うことがたまにあります。この際の厄介なことは、どうやって調べたらいいかわからないことです。Google先生に聞こうにも、その書き方をなんと呼ぶかわからないので聞けない。 そんな「なにこれ?」を厳選してみました。覚えておくと、将来スッキリとする時が来るでしょう。 1. なみなみ、ふにゃふにゃ言ってる

    JavaScriptを読んでて「なにこれ!?」と思うけれど調べられない記法8選。 - Qiita
    NetPenguin
    NetPenguin 2015/04/18
    別段javascriptに特有な事とかでないなぁ。なんだか肩透かし感。
  • Vue.js概要? - Qiita

    Vue.js とは 原作者である Evan You氏 が中心となって開発中のクライアント サイドJavaScirpt(JS)フレームワークです。 MVC の派生種である、GUIライブラリに適した MVVM を設計基盤と して採用し、構築されています。 MVVM を採用していること が、構文の理解しやすさに繋がって います。 MVVM を採用したフレームワークでは、表示そのものであるView、 表示するデータ 及び データを操作する手続き をひとまとめにした View Model(VM)、が舞台上の役者です、それらを管理する コントローラ(Controller)は、存在するものの、黒子のような 存在で、ユーザからは隠蔽されているため、コードを書く際に 意識する必要はありません。 公式サイトで Vue.js の特徴は Approachable、Performant、Versatile という3

    Vue.js概要? - Qiita
    NetPenguin
    NetPenguin 2015/03/19
    Vue での Router とかプラグイン。
  • Vue.jsから手軽に始めるJavaScriptフレームワーク - Qiita

    Vue.jsはそのまま使ってもよいですが「自分(プロジェクト)に合ったフレームワーク」を見つけるのにも向いています。 これは、後発フレームワークだけあり各フレームワークの特徴を意識した設計がなされているためです。他の著名なフレームワークとの特徴を比較した文書もあるので、こちらをチェックしながら導入を検討するとよいと思います。 そのため、以下はVue.jsの紹介と他フレームワーク(Knockout.js と Angular)へのステップという2セクションに分けて紹介していきたいと思います。 JavaScriptフレームワークの導入を行いたいがこの選択は慎重にいきたい、という状況であれば最初にVue.jsを試金石としてみて、効果的と感じられる機能からAngularやKnockout.jsに流れていくというのは十分ありだと思います。 2016/06: Vue.jsの1.x系に合わせて記述・サンプ

    Vue.jsから手軽に始めるJavaScriptフレームワーク - Qiita
    NetPenguin
    NetPenguin 2015/03/19
    Vue.jsについて+AngularやKnockoutとの比較. VueはHTML<->ViewModelとのバインディングに注力している。非常にシンプル。
  • Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ

    Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。 そこで関連技術のインデックスになればと作成しました。 あくまで知っている範囲で記述しているので、コメントしてもらえれば随時追加します! すべてを書くと膨大な量になるため、現状採用が減ってきているものや、そもそもあまり採用されていないもの、後継があったり、類似のものと比較した場合に明らかに劣っているものは省いています。 ちなみにライブラリには高機能なものも多いので、分類は参考程度にご覧下さい。 サーバ系 Apache HTTP Server 世界中でもっとも多く使われているWebサーバ。 nginx フリーかつオープンソースのWebサーバで、処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されている。 Tomcat Java ServletやJSP

    Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ
  • scalac にもっと警告してもらう - Qiita

    これはScala Advent Calendar 2014 6日目の記事です。 Scala はコンパイルが遅いことで有名ですが、コンパイルの嬉しいところは、実行前に沢山のプログラムミスやミスっぽいものをキャッチできることです。 C を書くときは -Wall -Wextra -Wpedantic あたりをつけるとたくさん警告だしてくれてありがたいですね。Scala の場合もたくさん警告出して欲しい。scalac 2.11.4 にある警告関連のオプションを見てみましょう。 オプションの区分 とその前に、scalac オプションの区分についておさらいです。オプションは -X や -Y 以外から始まる普通のオプション -X から始まる advanced オプション -Y から始まる private オプション に分類されています。それぞれ scalac -help, scalac -X, scal

    scalac にもっと警告してもらう - Qiita
    NetPenguin
    NetPenguin 2014/12/11
    Scalaの警告オプション
  • 初心者のうちに知っておきたかったScalaのこと - Qiita

    自分は今年に業務でScalaを使い始めて格的にはじめたのですが、入門した時に早めに知っておきたかったScalaのTipsを紹介しようと思います。 これらを早く知っていれば今後の負債を減らせるかもしれませんよ。 コード規約系 Scalaに限らずソースコードは書いた人の癖が非常に出やすいのでif(){}の{}位置など比較的どうでもいいことでチーム開発では揉めてしまいことがあります。 Scalariform コーディング規約を設定ファイルに書き込むとコンパイルするたびにオートフォーマットしてくれます。 導入もsbtのライブラリを追加するだけで非常に簡単なのでおすすめです 依存性 scalaのobjectは便利だけど、テストが大変です… 弊社のアプリケーションはslickのDAOが全部objectで構成されていてビジネスロジックばりばり書いてあったのでモックを差し替えることができずにテストの際に

    初心者のうちに知っておきたかったScalaのこと - Qiita
    NetPenguin
    NetPenguin 2014/12/02
    DI というか、依存性の解決方法をどうするかは、皆悩んでいるのかなぁと思っています。Cake Pattern でも良いけど、Guice とか Spring とかの DI コンテナ使うのが実はいいのかも。
  • 本当は怖いMemcached - Qiita

    はじめに データアクセスの高速化、セッションの保持などに非常に重要なポジションを占めているMemcached 特徴をあげると、速い安い美味いで、AWS上のサービス化などされており、非常に扱いやすいプロダクトなのですが、Memcachedそのものが単一障害点とならないように冗長化を測った時に深刻な問題が発生する可能性があることをご存知でしょうか。 システムに心あたりがある方は今すぐ代替手段を検討しなければなりません。 どうしてもMemcachedを使いたいという方はこちらへ それでもMemcachedを使いたいあなたへ 前提条件 そもそも冗長化をしなければ問題ないという運用はその時点で怖いのでNG cache機構という性質上、データが飛ぶのは問題ない(”正”となるデータを他から読み出すだけ)が、誤ったデータが読み出されるのをNGとする Memcachedを利用した時に利用ノードを決定するのは

    本当は怖いMemcached - Qiita
  • Javascriptを使うのをやめろ:Railsの時代遅れ云々についての結論 - Qiita

    結論: Javascriptの乱用をやめるのが一番。 はじめに書いておきますがしょうもない話です。 結論、開発者としてはどのような方向性でやるべきか、を書いています。 JS多い時代でのフレームワークの根的な問題云々のことは書いてません。 さて、現状、モバイルにおいて、Javascriptでまともに動くものを作ることは難しいです。 Twitterから引き抜いた超優秀なWebエンジニアを多数抱えるMediumですら、未だにモバイルで多数のバグを抱えています。 超優秀なエンジニアを世界一抱えているであろうGoogleのGmailですら、モバイル版のWebはすぐクラッシュします。また、自前スクロールに致命的なバグも抱えています。 正確には「UIが不審な挙動をする」ですが、エンドユーザにとっては同じことで、「バグ」です。 サーバサイドで起こるバグと同じ程度、いやそれ以上に、サービスに影響を与えます

    Javascriptを使うのをやめろ:Railsの時代遅れ云々についての結論 - Qiita
  • エヴァンゲリオンでわかってしまうJavaScript - Qiita

    はじめに 全国1億2000万人のエヴァンゲリオンはわかるけど,JavaScriptはちょっと、、、な皆さんこんにちは。 JavaScriptのプログラミングは、エヴァンゲリオンよりは簡単なのですが、なぜかプログラマにしか浸透しません。 エヴァンゲリオンの諸概念を理解している方であれば、すでにJavaScriptプログラミングは理解していると言っても過言ではありません。 そのあたりをそういうことにして、編にとりあえず行きましょう。 あわせて読みたい 半年で40kg痩せた!ダイエットでわかるリーンなプロジェクトマネジメント手法 1.地球とミックスイン まずは、エヴァンゲリオンの世界における地球をJavaScriptで表現してみたいと思います。 ここで登場するのはもちろんエヴァンゲリオン世界のトリックスター、ナディアと我らをつなぐものこと「第一始祖民族」ですよね。 彼らは隕石に「白き月」と「黒

    エヴァンゲリオンでわかってしまうJavaScript - Qiita
    NetPenguin
    NetPenguin 2014/06/11
    "要するにファクトリメソッドをもったオブジェクトということになります。 " すんごいざっくり感。でも、面白かったですww
  • Eclipseのフォーマッタをコマンドラインで実施 - Qiita

    -> % /Applications/eclipse/eclipse -nosplash -application org.eclipse.jdt.core.JavaCodeFormatter -verbose -config xxxxxxx/.settings/org.eclipse.jdt.core.prefs `find $(pwd) -name '*.java'` Usage: eclipse -application org.eclipse.jdt.core.JavaCodeFormatter [ OPTIONS ] -config <configFile> <files> <files> Java source files and/or directories to format. Only files ending with .java will be formatted i

    Eclipseのフォーマッタをコマンドラインで実施 - Qiita
    NetPenguin
    NetPenguin 2014/06/10
    InttelliJ使っていて、でもEclipseのフォーマッタをかける必要があるときに、これを使って何とかしたい。
  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを理解することで、よりよいプログラムを書くためのもので、正確なソフトウェア工学の歴史を学ぶためのものではありません。正確な歴史を把握したい場合は、原典をあたるようにしてください。 また、想定している読者は「よくあるオブジェクト指向プログラミングの学習」を既にし

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita