Algorithm Visualizer is an interactive online platform that visualizes algorithms from code.
![Algorithm Visualizer](https://cdn-ak-scissors.b.st-hatena.com/image/square/ab2ce238ad2d69798da8f7f4811eb240cbd844b3/height=288;version=1;width=512/https%3A%2F%2Fraw.githubusercontent.com%2Falgorithm-visualizer%2Falgorithm-visualizer%2Fmaster%2Fbranding%2Fscreenshot.png)
コメント欄で「Software Design 誌 (2018/12) に寄稿した内容や修正などをこちらの記事にも適用したい」と言ったあと、やるやる詐欺でずっと放置していましたが、三年近く経ってようやく 2021年 7月に大幅に改訂し、同時に Zenn に引っ越すことにしました。 タイムゾーン呪いの書 (知識編) タイムゾーン呪いの書 (実装編) タイムゾーン呪いの書 (Java 編) なにやら長くなりすぎたので三部構成になっています。 この Qiita 版は、しばらく (最低一年は) 改訂前のまま残しておきます。 タイムゾーンの存在はほぼ全ての人が知っていると思います。ソフトウェア・エンジニアなら多くの方が、自分の得意な言語で、タイムゾーンが関わるなにかしらのコードを書いたことがあるでしょう。ですが、日本に住んで日本の仕事をしていると国内時差もなく1 夏時間もない2 日本標準時 (Japa
こんにちは、エンジニアの池田(@progrhyme)です。 去る5/26(土)、ベルサール新宿グランドにてJJUG CCC 2018 Springが催されました。 昨年の秋( *1 )に引き続き、エムスリーはゴールド&コーヒースポンサーとして、本イベントの開催を後押しさせて頂きました。 私もエンジニアの一人としてイベントに参加して来ましたので、簡単にレポートしたいと思います。 JJUG CCCとは JJUG CCCとは、日本最大のJavaコミュニティである日本Javaユーザーグループ(Japan Java User Group = JJUG)による国内最大のJavaコミュニティイベントです。 CCCとは、Cross Community Conferenceの略だそうです。 もっと詳しく知りたい方は、今回のJJUG CCCで行くとランチセッションのスライドを見ると良さそうです。 普通の人のた
どうも!@yokotaso です! 2018/05/26のJJUG CCC 2018で「ざっくりわかった気になるモダンGC入門」というタイトルで登壇させていただきました。 現在開発中の新しいGCアルゴリズムをざっくり理解することをテーマに発表しました。 発表練習用に作ったカンペの内容を公開します。ブックマークコメントでもツイートでも感想を書いていただけると喜びます! 発表資料は、speakerdeck にあります。はじまり〜はじまり〜 はじめに 今日はざっくりわかった気になるモダンGC入門というお話をさせていただきます。 現在開発中のGCアルゴリズムの全体像を理解してもらうことを目的としたセッションです。よろしくおねがいします。 さて今日のアジェンダですが、まず簡単にこれまでのGCを復習した後に新しいGCが必要になってきた背景について少し話します。 次にShenandoahGC、ZGC、E
こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 今回は Java アプリケーションのモニタリング等で活躍する JMX について記します。JMX を用いれば、きめ細やかでかつ手軽にモニタリングすることができます。もちろんサイボウズが提供するクラウドサービス cybozu.com でも JMX を活用して日々モニタリングを行っています。 モニタリングの重要性については今さら言うまでもありません。一方で現実のモニタリングは何かと手間がかかったり属人化してしまったりすることがありがちです。JMX は銀の弾丸ではありませんが、少なくともメトリクスの収集・提供部分に関しては利便性を提供してくれます。JMX ユーザーが少しでも増えるよう、この記事で紹介させていただきます。 JMX とは JMX とは Java Management Extensions の略称で、Java
9月の頭くらいに、Javaのリリースモデルが6ヶ月ごとの短期リリースになるということが発表されてました。 で、「へぇ〜」みたいな感じで見てたのですけど、JavaOneでの話を聞くと、これ結構大変なのかも、ということになってそうなので、ちょっとまとめてみます。 追記:2018年05月の状況をQiitaでまとめています。 [Javaのサポートについてのまとめ2018 - Qiita](https://qiita.com/nowokay/items/edb5c5df4dbfc4a99ffb) Javaの新しいリリースモデル 公式情報はこちらにまとめられています。(10/4にアップデートされてます) http://www.oracle.com/technetwork/jp/java/eol-135779-ja.html ざっくり言えば、6ヶ月ごとに機能リリースを行い、3ヶ月ごとにメンテナンス/セキ
雑に書くぞ! Faster and Easier Use and Redistribution of Java SE | Oracle Java Platform Group, Product Management Blog このエントリを読む限り、Oracle JDKのダウンロードが商用サポート契約者にのみ限られる、という話は書いていない。 The Oracle JDK will continue as a commercial long term support offering * The Oracle JDK will primarily be for commercial and support customers once OpenJDK binaries are interchangeable with the Oracle JDK (target late 2018) *
いやー、よかったですね。旅行としても楽しかったし、いいカンファレンスでしたね。 rubykaigi.org 自分が出したTalk proposalも通ったことだし、わいわいと広島まで行ってきた。非常によくオーガナイズされて会場では快適に面白い話ばかりえんえん聞けるし、そのへんにいる人達といろんな議論をしていろいろ良いことがあった。すばらしいカンファレンスでした。主催者ならびに運営協力のかたがた、ありがとうございました。前日から最終日まで、夜のパーティーも切れ目なくたくさんあってすごかった。 しゃべってきた (photo by @koichiroo) 自分のトークのスライドはこちら。 Ruby and Distributed Storage Systems from SATOSHI TAGOMORI 動画ももう上がってた、すごい。内容で聞きたければこちらをどうぞ。Youtubeのサムネイルは
スレッドダンプというと、JVM 言語に関する運用でマジで困ったときの頼みの綱みたいなイメージある。マジで困ったとき、じゃなくて、カジュアルに見れば良いんだけど、スレッドダンプのフォーマットが異常すぎてつらくなる。 そもそもなんなんだこのゴミみたいなフォーマットは。 一体誰がどういう思想の元でこのフォーマットを決めたのかさっぱり分からないし、人類を苦しめるために未来から来た AI が勝手に策定したのではないか。 "[ThreadPool Manager] - Idle Thread" #42 daemon prio=5 os_prio=31 tid=0x000000012a3a7800 nid=0x15503 in Object.wait() [0x000070000ab66000] java.lang.Thread.State: WAITING (on object monitor) at
なお Comparator は java.util パッケージに含まれるインタフェースで次のように宣言されています。 ? super や ? extends (下限または上限つきワイルドカード)は Java でジェネリクスを使う上で特に難しい部分です。比較的新しい言語( C# 、 Scala 、 Ceylon など)では同じ目的のためによりシンプルでわかりやすいアプローチがとられています。 Java が採用した方法は Use-site variance annotation と呼ばれ、 C# などが採用した方法は Declaration-site variance annotation と呼ばれます。本投稿では Declaration-site variance annotation の考え方をベースに Java でどのように ? extends や ? super を使えば良いか につい
By LINE Engineering | 2017.05.23 2021.01.08LINE Engineering Blog official account LINE株式会社ではエンジニアのため、様々な活動を支援しております。 【協賛情報】JJUG CCC 2017 SPRING : LINE Engineering Blog でもお知らせしておりましたが、LINE は寿司スポンサーとして協賛いたしました。また、LINE Fukuokaで働くエンジニアが登壇いたしましたのでその様子も合わせてご紹介いたします。 JJUG CCC とは 毎年2回、春と秋に開催する日本最大のJavaコミュニティイベントです。Java関連の技術や事例に関する良質なセッションが行われ、また異なる分野で活躍するJava技術者が一堂に会する場ともなっています。 ▼公式サイト JJUG CCC 2017 Sprin
Java でちょっとしたDSLパーサーを実装するときはANTLR4 が最近もデファクトスタンダードなのかなあ。と思っています。 ANTLR4 はパーサージェネレーターです。BNF っぽい記法で書いたらいい感じに生成してくれます。手書きパーサーとかに比べると管理しやすい気がします。 gradle はコアプラグインに antlr プラグインがあるので簡単に利用できます。 https://docs.gradle.org/current/userguide/antlr_plugin.html group 'com.example' apply plugin: 'java' apply plugin: 'antlr' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { antlr "org.antlr:an
2017年4月から人生初めての新人研修講師を務めさせて頂くことになりました。プログラミング入門がテーマです。 先方は昨年までJavaでカリキュラムを組んでいたんですが、JavaをやめてPythonでやらせてもらえないかと提案し快諾頂きました。プログラミングの入門書を書いたから特に感じることなんですけど、Javaはプログラミングの初学者に向いていない言語だと思います。 クラスありきの言語設計 それがJavaの良いところでもあると思いますが、プログラミング自体が初めての方を対象に考えた場合、はじめの一歩として不適切だと感じます。 Hello Worldが重たすぎる お馴染みのHello Worldです。初めてのプログラミングで以下のコードを見たら、何のことやら分からないでしょう。 public class Test { public static void main(String[] args
jar-dependencies を利用すると maven レポジトリから jar をその依存も含めてダウンロードして、jar の依存解決をすることができる。もちろん、バージョン指定もできる。なお、jar-dependencies gem は jruby にデフォルトでバンドルされている。 小話 最初は mkristian/jbundler が良さそうと思って使っていたのだが、どうやら mkristian/jar-dependencies が jruby にデフォルトでバンドルされるようになり、こちらがスタンダードになった模様。 gem の場合 gemリリース時にjarをバンドルしてしまいたい場合 gem に jar を入れ込んでリリースしてしまう方法 https://github.com/mkristian/jar-dependencies#vendoring-your-jars-bef
昨年の5月からIncrements社でQiitaの開発に従事していましたが、今月末をもってIncrements社を退職します。在籍期間は10ヶ月。今日が最終出社日です。 Incrementsでは、Qiitaの機能追加開発を主に担当していました。Qiita Blogには、僕がリリースしてきた機能が掲載されています。 yoichiroがIncrementsにJOINしました - Qiita Blog Email Markupに対応しました - Qiita Blog 外部リンクへの属性が変わります - Qiita Blog (僕が実作業者) Qiita Organizationで組織の紹介などを書ける「About」の提供を開始しました - Qiita Blog details,summary要素に対応し、投稿内で指定箇所を折りたためるようになりました - Qiita Blog 「Qiita Ad
こんにちは、今シーズンのNBAもGSWの試合は全試合観てる米林です🏀 今年は毎試合満員御礼のOracleアリーナに行って観戦したいなぁと思いつつカリフォルニア州オークランドの人たちはOracleがデータベースの会社って知ってるのかどうか毎回気になっています🏀 うちの会社ではJavaの開発において、Error Prone を積極的に取り入れている。 その理由はCTOのmopemopeが入れろって怖いから、ただそれだけである。 実際のところ導入して損は無いので皆さんも是非導入を検討して頂きたい。 Error Prone とは github.com Error Prone とはGoogleが公開していて、githubに記載されている説明のとおり “Catch common Java mistakes as compile-time errors” そのままである。 コンパイル時にエラーが起き
Java(ジャバ、ジャヴァ)は、汎用プログラミング言語とソフトウェアプラットフォームの双方を指している総称ブランドである[6]。オラクルおよびその関連会社の登録商標である。1996年にサン・マイクロシステムズによって市場リリースされ、2010年に同社がオラクルに吸収合併された事によりJavaの版権もそちらに移行した。 プログラミング言語Javaは、C++に類似の構文、クラスベースのオブジェクト指向、マルチスレッド、ガベージコレクション、コンポーネントベース、分散コンピューティングといった特徴を持ち、平易性重視のプログラム書式による堅牢性と、仮想マシン上での実行によるセキュリティ性およびプラットフォーム非依存性が理念とされている。Javaプラットフォームは、Javaプログラムの実行環境または、実行環境と開発環境の双方を統合したソフトウェアであり、ビジネスサーバ、モバイル機器、組み込みシステム
メジャーバージョンでの変更点(主要なもの)を次に記述します。 プレビューや試験的に入れられた機能は、正式化されたバージョンにのみ記載します。 JDK 1.1およびJRE 1.1¶ 言語仕様¶ インナークラス JNI 国際化 標準API¶ Calendar、DateFormat、TimeZone リフレクション(java.lang.reflect) JDBC RMI Java VM¶ JDK 1.2およびJRE 1.2¶ 言語仕様¶ strictfp : 厳格なIEEE 754演算 標準API¶ コレクション API CORBA Swing undo/redoフレームワーク ドラッグ&ドロップ Accessibility Input Method Framework 印刷 フォント対応(システムのフォントをほぼすべて利用可能) BufferedImage Java 2D Java VM¶ 音
Merasakan Manfaat Membaca Artikel Judi BandarQQ Online BiangQQ – Sudah tidak bisa dipungkiri lagi, perkembang judi online sejenis BandarQQ online sangat berkembang pesat di negeri terkasih Indonesia ini. Tidak hanya kalangan muda yang memainkan permainan ini, akan tetapi juga disemua umur kalangan sudah merambat untuk bermain taruhan yang sangat menantang ini. Mereka semua bermain pastinya mempuny
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く