サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
夏の料理
blog.exoego.net
この記事は Scala Advent Calendar 2022 の7日目が空いていたので、あとから投稿した記事です。アディショナルタイムみたいなものです。タイトルは釣りです(一応33倍速いという根拠はあとのほうに…) ときに2015年、Google のエンジニアらが Maven Central のミラーを公開しました(以下かんたんのため Google ミラーと呼びます)。Google ミラーの目的は、Maven Central 上にある Java や Scala のライブラリなどを、Google のインフラのパワーで高速にダウンロードできるようにすることで、開発者体験を向上するためでした。その後の数年で多少書き方に変化あったようですが、簡素なトップページで Maven でのグローバルな設定方法が掲載されています。 さて、Scala で主流のビルドシステム sbt のグローバルな設定方法に
最近、仕事で使っている&趣味で貢献している scala-js-ts-importer というOSSの紹介をする。この記事は Qiitaで開催されているScala Advent Calendar 2017の6日目 でもある。 Scala.jsを仕事で使い始めた 今年に入って仕事で開発・運用している SaaS は、フロントエンドもバックエンドも Scala.jsで開発している。 バックエンドを Scala でなく Scala.js にしたのは、Scala言語の良さを活かしつつ、 Lambda のランタイムとして省メモリで立ち上げが速い nodejs を使い、コンピューティング料金を節約したかった デプロイする ZIP の50MB制限を回避したかった からだ。背景は10月に名古屋で行われた JAWS-UG にて、 Scala.js で AWS Lambda 開発 としてLTした。 静的型付けal
現在、結婚1年目である。今年結婚したことについて書き残しておきたいとずっと思っていたが、筆不精していた。そんなおり、勉強会でお会いしたうらがみさんが発起されていたのを見て、乗っかることにした。 妻愛してるエンジニアアドベントカレンダー立てたら良いです? — うらがみ⛄️ (@backpaper0) October 27, 2016 そんな訳で、この記事は妻・夫を愛してるITエンジニア Advent Calendar 2016の3日目だ。 結婚まで 交際から半年で結婚した。最初のデートから妻とは馬が合うように感じた。それから数回のデートやたくさんのチャット(LINE)や電話を重ね、互いの気立てや価値観を深く知り、こんな人と生涯をともにできるときっと素敵だろうな、と思った。それを明かしたところ、妻も同じ気持ちだと言ってくれたので、結婚することにした。 まあ、ざっくりいうとそんな感じだ。ここまで
この記事はJetBrains IDE Advent Calendar 2015の4日目です。 2年ほど前、命名規約やプログラミングの慣習に違反したお行儀のよくないコードをIntellij IDEAを使って見つけて、改善していくことを書きました。「publicなメソッドの名前がget〜なのに戻り値がvoidで、どうやらgetしてきた何かをフィールドにsetしてて、別なアクセサで取得するらしい…」みたいなアレです。 そういった行儀の悪さも困りものなのですが、既存のコードベースの上に機能追加したり不具合修正したりする上でもう1つ厄介なのは、コードの重複です。 大人数が横串を通す時間もなく作ったので、各人が同じものをあちこちで実装してしまう コードベースが数十万行などと巨大なので、既に誰かが実装済みなことを知らずに実装してしまう 改修するとテストが大変なので、コピーしてちょっとだけ挙動を変えた実装
4月4日(土)に名古屋で行われた Elasticsearch勉強会 で、パフォーマンス分析やアクセス分析にKibana4を活用してる、という事例を発表してきました。 発端 スライドにしたように、去年からログ分析ツールKibanaをお仕事で使ってて、最近では検索エンジンElasticsearchもシステムに使えないかなぁと画策しています。 ただ、ほとんど初期値のまま運用していたので、そろそろパフォーマンスとかセキュリティとか考えなきゃなあ、なんて思って 名古屋でElasticsearchの勉強会やりたい機運(今のところ2人)。 — mogami (@smogami) February 4, 2015 などとツイートしてたら、elastic社のエヴァンジェリスト大谷さんに補足いただき、名古屋でElasticsearch勉強会を開催していただきました。 2年前から東京で勉強会を続けられている大谷
この記事はJavaアドベントカレンダー2014の12月24日分です。昨日は、 nagaseyasuhito さんによる Mavenでマスター/スレーブ構成のMySQLを起動して結合テストをするぞ という記事でした。Mavenでこんなことまでできるんだなぁということが分かる実践的なコードで、参考にしたいです! 明日は、いよいよアドベントカレンダー最終日、担当は kokuzawa さんになります。 コードをシンプルにできるラムダ式への注目 さて今年の日本のJavaアドベントカレンダーは、4月にJava 8がリリースされたこともあって、Java 8に関連した記事が多かったようです。その中でも、特にラムダ式への注目が際立ちました。 ラムダ式の最たる活用例 Stream APIについては、12月17日のcom4dcさんがデータ処理がどう簡潔に書けるかをコード例で示されています。また12月20日のRy
愛知県でシステムエンジニアとして働く友人のMは、プロジェクトメンバの書くJavaのクソコードに苦しめられているそうです。Mはリードプログラマとして、プロジェクトメンバがあげてくる成果物(ドキュメントとコード)のレビューをする立場にあるらしく、提出されてくる数々のクソコードをTwitterでつぶやいていました。 Mを救うことはできるのでしょうか? もし、クソコードをすばやく見つけることができたら救えるのであれば、救える見込みはあるかもしれません。 コードの問題を見つける静的解析ツール クソコードとは、おおむね次のような問題のあるコードをさすようです。 潜在的バグ バグの可能性があるコード。 重複 機能追加やバグ修正を困難にしがちなコードの重複。 設計上の問題 クラスやパッケージ間の依存関係、多すぎるメソッド引数など。 慣習違反 プログラミング言語やライブラリの慣習、コーディング規約などに違反
cero_tさんが書かれたラムダ禁止について本気出して考えてみた - 9つのパターンで見るStream API は、とても良い記事です。Stream APIで実際に書いてしまいそうな、従来のfor/if文より読みにくいコード、予期せぬ不具合を起こしうるコードを例示し、いくつかの教訓を導き出しています。 何より、社内で「ラムダ式禁止、Stream API禁止」という悲しいことにならないように手を打とう! ラムダ式やStream APIの使い方やうれしさ、そして危ういところを社内の勉強会などで広げていこう! という、前向きな主張がすばらしいです。私も見習っていこうと思います。 さて本記事では、cero_tさんが挙げられている8の教訓のうち、次の2点(カッコ内は私の補足です)について、少し異論を述べたいと思います。 (4) collectをしたら一度ローカル変数に入れよう!(collectで作ら
この記事は、Java Advent Calendar 2013の2日目として書かれたものです。 Java SE 8では、Stream APIという新しいAPIが導入されます。Stream APIは、何らかの要素の集まり(配列やコレクション、あるいはテキストファイルを読み取るときの一行一行など)に対するさまざまな操作を抽象化した、とても便利なAPIです。 Stream APIは、Java SE 8の新機能としても特に注目されているものの1つでしょう。類似の仕組みがC#やScalaやRubyなど他の言語でも広がっており、Javaにもついに、と待ち望んでいる方も多いでしょう。 ところが、Streamインターフェースが持つ様々な便利メソッド(filter、map、flatMap、collectなど)は、あちこちでよく紹介される一方で、次の2点は、あまり注目されていないように思いました(ぼくが見た限
この記事は、LL/ML Advent Calendar 2012 (#JJUG)の12月14日分です。 統合開発環境(IDE)のコード補完はとても便利です。途中まで入力しかかった変数名を最後まで一気に入力してくれたり、扱おうとしている変数の型が持っているメソッドやプロパティをポップアップしてくれたりと、とても気がきく機能です。IDEを使い始めて、最初に恩恵を感じる機能ではないでしょうか? 今回は、その設定に一手間加えて、Javaプログラミングをもっと快適にするための設定TIPSを紹介します。 なお今回記事で使っているIDEとそのバージョンは、以下の3つです。が、コード補完は最新機能というわけではないので、以前のバージョンでも使えると思います。 Eclipse 4.2 JunoIntelliJ IDEA 12 CENetBeans IDE 7.2.1コード補完の困ったところあるある便利なコー
この記事は、新感覚アドベントカレンダー、LL/ML Advent Calendar 2012 (#LLAdventJP) の12月12日分トラック1です。 おそしろいことに、気づけば投稿者として登録されていました。唯一の救いは、タイトルに「MとL」または「Lが2つ以上」入っていれば何を書いてもいいことです。 Making of ParaLLeL LINQ for Java ごらんください、LLにいたっては2つも入っています。 ざっくりしたLINQの紹介 LINQは、配列やデータベースのような何らかの「データの集まり」に対する、とても便利な道具です。数多くの便利な問い合わせ演算子を組み合わせて、どんなデータの集まりでも同じように操作することができます。 var top5 = list.Where(o => 東海三県.Contains(o.住所)) .OrderByDescending(o =
このページを最初にブックマークしてみませんか?
『I am programmer and proud』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く