- PHPerKaigi 2020 - English Title: Implement JVM with PHP and try to output Hello World

前々からちょっと興味のあったNetflix OSS、ちょっとずつ触ってみようかなと思いまして。 名前はかなり見るので、自分が使うことになるかどうかはかなり不透明ではありますが、知識として知っておくのはよいのではないかなと。 Netflix OSS+Spring Cloudで概要を知るなら、こちらの資料がわかりやすいと思いました。 Spring Boot + Netflix Eureka Eureka で、まずはEurekaから試してみようかなと思います。 GitHub - Netflix/eureka: AWS Service registry for resilient mid-tier load balancing and failover. どういうものかというと、内部DNSの代わり…?サービスディスカバリというらしいです。 登場人物としては、Eureka ServerとEureka
Java JIT vs Java AOT vs Go for small, short-lived processes Posted on December 20 , 2019 There is still a common belief about Java being slow (especially during the startup) and memory-consuming, making it not being the first option for ephemeral service instances, like containers. This blog post pretends to put some light on those assertions, quantifying the impact of a last-generation JVM in a s
KotlinをKotlinらしく、そして可読性を高く保つ運用知見 - エキスパート長澤太郎に聞く実装のイロハ 近年注目を集めるKotlinはどのように書き、どのように運用するのがいいのか。2012年からKotlinに親しむUbie社の長澤太郎さんに、その経験から得られたKotlinノウハウを聞きました。 2011年7月に登場したJVM言語・Kotlinは、近年多くの注目を集めている言語の1つです。Androidアプリの開発言語としてGoogle I/O 2017で正式採用されたことも契機となり、Kotlinはその存在感を一挙に高めました。 そして、この言語に黎明期から親しみ続けてきたのが、Ubie株式会社の長澤太郎(ながさわ・たろう/ @ngsw_taro )さんです。業務や登壇、執筆活動など、多くの局面でKotlinを活用し、ノウハウを蓄積してきた長澤さんに、Kotlinの言語特性やより
#翻訳 https://www.scalyr.com/blog/the-10-commandments-of-logging/ CC BY 4.0 @Brice Figureau 1.自分でログの書き出しをしない printfをつかったり、ログエントリを自分でファイルに書き出したり、ログローテションを自分でやったりしてはいけない。運用担当者にお願いして、標準ライブラリやシステムAPIコールを使うようにしよう。そうすれば、実行中のアプリケーションが他のシステムコンポーネントと適切に連携して、特別なシステム設定なしに適切な場所またはネットワークサービスにログを記録できるようになる。 ロギングライブラリを使いたければ、特にJavaの世界にはLog4j, JCL, slf4j, logbackなど多くのものが存在する。私はslf4jとlogbackを組み合わせて使うのが好きだ。とてもパワフルで、設
このエントリでは、Yegor Bugayenkoによる記事、Getters/Setters. Evil. Period.を紹介する。 (Yegorから和訳と転載の許可は得た。) 以下はその全文の和訳だが、意訳超訳が混じっているので、もとのニュアンスを知りたければ元記事を読んでもいいし、読まなくてもいい。 2003年にAllen Holubが書いたWhy getter and setter methods are evilという有名な記事に端を発する古い議論がある。それは、getter/setterはアンチパターンで避けるべきものなのか、 もしくはオブジェクト指向プログラミングに必須なものなのかというもの。 この議論に少しだけ私の意見を加えたいと思う。 上記記事の要旨はこうだ。 getterやsetterはひどい慣習で、これらを使うやつらはゆるせん。誤解の無いようもう一度言うが、 私はget
原文(投稿日:2019/12/23)はこちら こんにちは、LINE FukuokaでサーバーサイドエンジニアをやっているTeodorです。 11月にLINE Shopチーム(スタンプショップ、着せかえショップ、LINE STOREを開発)の他の3人のメンバーと一緒に、ベルギーのアントワープで開催されたDevoxx Belgium 2019に参加してきました。アントワープはDevoxx発祥の地で、ベルギー最大の都市でもあります。 Devoxx は2001年に始まった開発者コミュニティによるカンファレンスで、あっという間にベンダー非依存としては世界最大規模のJavaカンファレンスに成長しました。 最近では、Devoxxはフランス、イギリス、ポーランド、ウクライナ、モロッコでも開催されています。 Deboxx Belgiumはヨーロッパで最大規模の映画館「Kinepolis」で開催されます。登壇
#OOMKillerの殺意 顧客EC2のTomcatがアクセスの無い早朝にもかかわらずOOMKillerに突然殺されてしまったので、調査した顛末をたぶん同じような問題に直面されている方もおられるかと思いますので備忘録として記載します。 Javaヒープのチューニングにも多少役立つかと思います。 (この記事はJava8が対象となります。) OOMKillerとはOut of Memory時に、サーバ全体を守るためにメモリーを消費しているプロセスを停止するLinuxの標準機能です。 そのOOMKillerになんとTomcatが突然殺害されてしまいました。 問答無用の辻斬り状態です。 早朝ですのでアクセスログには何も記録されておらず、catalina.outには OpenJDK 64-Bit Server VM warning: Setting LargePageSizeInBytes has n
MyBatis経由で実行される全てのSQLに対して SQLコメントを追加したい気持ちになったので 簡単にどうやるのかを書いておく。 stackoverflowにも質問を書いたけど ググってたら思いついてしまった。(ほぼコピペだけど) ちなみにリフレクションでこじ開けるので使用するときには注意が必要だ。 最初に経緯を書いておく。 どういうコメントを追加したいかというと以下のようなコメントである。 SELECT * FROM users; /* TraceID: foo-bar-baz */ TraceID/RequestID/CorrelationID、なんでも良いんだけど SQLからトランザクションを追いかけたい。 そのために、実行されるSQL全てにSQLコメントを追加したくなった。 この手法はもともと isucon9の優勝者のブログに 書かれていて なるほど、これは便利そうだ、となった覚
この記事について 事ある度に書いたり言ったりしている通り、2020年を迎えようとしている現在でも、信頼できるSpring関連書籍は下記の2冊しかありません。 Spring徹底入門 改訂新版Spring入門 2冊(以下「書籍」)とも超良書なのですが、どちらもリリースされたのが2016年で、対応しているSpringのバージョンが4.2と古くなっています。 2019年末時点での最新版はSpring 5.2です。この記事では、上記書籍を令和の今読む際、特に気をつけるべき点をいくつか紹介していきます。 4.x->5.xの差分すべてについては、GitHubのWikiを確認してください。 JDKは8以上を使うべし Spring 5.0以降から、JDKのベースラインが8になりました(Spring 4はJDK 6ベース)。今からSpringを使おうと言う人が、JDK 6とか7を使おうとはしないと思いますが・
Google Kubernetes Engine (GKE) 上で稼動させている Java アプリケーションのログをいい感じに Stackdriver Logging で閲覧できるようにするメモです。 TL; DRPermalink REST API を直接叩くのはライブラリ由来のハングアップ問題に遭遇しかねないので避けた方がいいよ アプリケーションからのログは JSON フォーマットで出力するといいよ ログレベルを表すフィールドは "severity" の名前で出力しよう タイムスタンプは "timestampMillis" と "timestampNanos" をセットで出力しよう Spring Boot アプリケーションなら spring-cloud-gcp-starter-logging を使うのがいいよ はじめにPermalink GKE を利用してコンテナ化されたアプリケーショ
ラムダ式とStream APIで学ぶモダンJava ― 関数型を取り入れて変化するJava言語の現在 20年以上の歴史を持つJava言語ですが、近年は関数型を取り入れるなど大きく変化し、リリースサイクルも格段に短くなってますます進化しています。モダンなJavaプログラミングで必要となるラムダ式とStream APIについて、谷本心(cero_t)さんによる詳細な解説です。 1996年にJava 1.0が登場して、もう20年以上がたちました。この間、Javaにはさまざまな言語機能やAPIが追加され、変化し続けています。 これだけ長い歴史を持つプログラミング言語ですから、利用者が多かったり、フレームワークやライブラリが充実していたりする一方で、書籍やWebに掲載されている情報が少し古かったり、研修で学ぶJavaが最新の動向を踏まえていなかったりするなど、長い歴史を持つが故の問題もあります。 特
In the realm of software development, understanding the intricacies and nuances of programming languages is vital. The string manipulation capabilities of Java, specifically the substring method, hold significant relevance, enabling developers to manage and manipulate textual data efficiently. Post version 1.7.0_06, Java underwent substantial modifications to enhance its string functionalities, ne
Effective Java 第3版 作者: Joshua Bloch,柴田芳樹出版社/メーカー: 丸善出版発売日: 2018/10/30メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る Javaプログラマの必携書として名高い『Effective Java』の新版である第3版の日本語訳が発売されたということで、さっそく買って読みました。第2版は2008年出版で、Java6を対象としていましたが、それ以降もJavaにはさまざまな機能が追加されてきました。『Effective Java』はいわば「Javaプログラミングのベストプラクティス集」といった位置づけですが、Java6以降に追加された機能の中には、その"ベストプラクティス"のありようをかえてしまったものもあります。第3版は原則として第2版の内容を踏襲しつつ、そうしたJavaの進化に伴って一部修正&大幅追加するとい
JJUG CCC 2019 Springでの登壇資料です
JJUG CCC 2019 Springで発表した資料です。2018年・2019年に実施しているグロースエクスパートナーズ様向け新人研修の内容を紹介しています。
自己紹介 opengl-8080 主に Qiita で技術メモを書いたり 関西の SIer 勤務 タイトルの元ネタ エンジニア用語の「完全に理解した」「何も分からない」「チョットデキル」は「ダニング・クルーガー効果」で簡単に説明ができます。これは一種の認知バイアスで能力の低い段階では自分の能力の低さを認識できないためです(過大評価しがち)。その反面で能力が高くなると過少評価しがちです。 pic.twitter.com/LGaJ4E5hWo — おちゃめ (@ochame_nako) April 8, 2019 ※スライドモードでは画像が表示されないみたいなので、スライドモードを解除して記事本文を直接参照してください。 お話しすること 「Gradle 完全に理解した」レベルの人が、「Gradle 何も分からん」レベルになるためのお話 自分自身、最近 Gradle のことが何も分からなくなって
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く