Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事は個人ブログのうち技術に関する箇所のみを抜粋した転載です。 なぜ僕たちはサーバレスでJavaを諦めTypescriptを採用したか -Junks, GC cannot sweep- またブログには書いたのですが、諸事情により先に英語版が存在します。 こちらも書いたのは僕なので、剽窃などではないことはご了承ください。 [元記事]: Why we replacedJava withTypescript for Serverless in dev.to はじめに **サーバレス(serverless)**は昨今もっとも注目を集める

具象型ではなく抽象型で扱え、インタフェースを使え、みたいなお話に対して。 前置きJavaの話。他の言語だと話は変わります。 「こうするのが絶対的に正解」と言うものではありません。私の現在の選択の説明です。明日になったら違うこと言ってるかも。 主な登場人物は掲題のjava.util.ArrayList およびjava.util.List、そしてjava.util.Collection とjava.lang.Iterable です。 こんな世界観。他のインタフェースやクラスもたくさんありますが、この話の本筋では無いので触れません。 前提として以下を置いています。 フレームワークやライブラリではなく、一つの業務アプリケーションに閉じた話です。ゆえに不特定多数から使われる型ではなく、影響を与えるコードは全て目が届く範囲にあるものとします。 計算量は別の話です。扱うドメインにもよりますが、

ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフーTechBlog はじめに こんにちは、コマース福岡開発部で金融サービスのバックエンドを担当しているチョ ジョンミンと申します。 「Yahoo! JAPANTech Advent Calendar 2018」に寄稿させていただく機会をいただきましたので、前から興味のあったGraphQLのAPIを実装してみました。本記事では、GraphQLの概要とAPIの作り方を紹介します。 ターゲット本記事は、次の読者を想定して書かれています。GraphQLに興味はあるが、作成した経験がない方 Spring BootでGraphQLのAPIを作成してみたい方 目次 利用している技術GraphQL概要GraphQLのメリットとデメリットGraphQLのA

class: center, middle # 明日から使える<br/><strong>実践</strong><br/>エラーハンドリングScala関西Summit 2018 11/10 --- class: left, middle ## 自己紹介 * 中村 学(Nakamura Manabu) * [@gakuzzzz](https://twitter.com/gakuzzzz) *Tech to Value 代表取締役 * OptTechnologies技術顧問 <img src="../images/opt_logo_1.jpg" alt="OptTechnologies" width="450" style="margin-left: 0px" /> * F-CODE CTO <img src="../images/f-code_logo.png" alt="f-cod
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2018年現在でもJava開発をしていると、Antすら使っていないEclipseプロジェクトにそこそこの頻度で出くわします。Eclipseの自動コンパイルが通ればOKであり、ビルドはExcel手順書をもとに手動で行われ、依存関係ライブラリはもちろんlibフォルダに各種jarファイルが放り込んであります。Eclipse上以外ではどう動かせば分かる人がいないため、コマンドラインからビルドなどを行うことは叶わず、CI化なんて夢のまた夢です。 そんなJava開発から脱却したい人向けのJava開発のモダン化ガイドです。 基本的にJava 8以降で

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 内容 以下記載のURLを参考にロードマップをJavaバージョンにしてみた。 初心者から立派なJavaエンジニアになる方への学習の道しるべになれば。 また自分自身すべてできるわけではないので、できるようにするためのメモ書きとして。 (ただ以下をなんとなく理解するだけで2,3年以上かかった。。。) 参考 ※ 会社の同期から基本文法についてレベル別記載のアドバイスをいただいたので修正(2018/4/9) ロードマップ 学習方法 1.Hello World どのプログラミング言語でもそうですが、まずは動かし方を学びましょう。 ゲシュタルト崩壊

私が仕事として扱ったことのあるプログラミング言語は以下があります。Java C/C++PythonPHPjavascript この中でもJava は特別で、15年近く愛用してきました。Javaの優れている点Java の優れている点として以下があるとおもいます。 10年前のコードも動かせる信頼性の高いVM クロスプラットフォーム動作 豊富なライブラリ群 高速動作 信頼性の高いVM インタープリタ言語の中にはランタイムのバージョンアップで動作が変わってしまったりすることも多く、なんたらenv といったアプリケーションを使って任意のバージョンのランタイムに固定するのが慣例となっていますが、Javaにおいては最新のJVMを入れれば大体なんとかなります。 クロスプラットフォーム動作 私は長らくWindows を開発機として使用し、Linux サーバで動作させる。ということをしてきまし

ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。 『現場で役立つシステム設計の原則』が話題になっていたので、(流し読み程度だけど)読んでみた。 基本的にはJavaがベースで、前半(というか最初の2章くらい)はコーディングレベルの話、残りはオブジェクト指向ベースの設計方法の話。 あ、ちなみに自分は最近はAsakusa Frameworkというバッチフレームワークを使う仕事が多いのでバッチ寄りの考え方で読んでいるけど、本書は基本的にウェブ寄り(Spring Framework)の思想っぽい。 コーディングレベルの話はとても納得。Javaでプログラミングする人は全員これを確認しておくべきという感じ。 (とても細かいレベルの事を言うと、if文の処理部分は波括弧で囲んだ方が(余計なバグが入る余地を減らせるので)いいと思う。ただ、書

こんにちは。菅野です。 最近、AIとか機械学習とかが話題ですね。AIに仕事を奪われる職業がどうとかの記事もよく見かけます。 このブログ記事もAIが書いてくれたら良いのにと思っている今日この頃です。 …でも思ってるだけでは仕事を奪ってくれないので、やっぱり何かしら自分で作るしか無さそう。 という訳で、今回はJavaでディープラーニングが出来るDeeplearning4jを使って機械学習を試します!プロジェクトD さて、何を作りましょう? 最終的には私の仕事を勝手にやってくれるAIを作りたいです。 でも、はじめは簡単なものから少しずつ作っていこうと思います。 よくディープラーニングでネタにされるのは手書き文字の識別ですが、正直面白くないので道路上を自動運転するAIを作ります! 嘘です。 いきなり作るのは無理があるので、画像の道路が左カーブなのか、右カーブなのか、あるいは直線なのかを分類し画
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2018/04/08追記: まとめにJava10に関する記載を追加しました。 2017/06/02追記: 調査内容をまとめて記載を大幅に更新しました。 2017/06/01追記: 記事の最後に「JDK8/9以降の本問題の取り組み」を追加しました。OpenJDK8の8u121.b34、8u131.b06で対処済みのようです(本当に修正されているかは別途確認する予定)。 どちらの対処版も2017年以降にリリースされているため、頻繁にJDK/JREを更新してない場合は確認しておくとよいです。 まとめ (Java10以降)Java10では、正

そもそも、そのメソッドの作成者が近くにいない場合、こういった確認すら行えません。結局、あるメソッドを使うために、そのメソッドの実装を時間をかけて分析することになるため、複数人で開発していることが、逆に開発効率を悪化させてしまいます。つまり、簡単に言うと、 「仕様の明確でないメソッドを作るのは迷惑行為です!」 ドキュメンテーションコメントによってAPI 仕様が明確にされていれば、こういった無駄なやりとりがなくなるため、開発効率もコード品質も上がります。下記のグラフは、開発メンバの人数と、生産性の関係を表しています。 仕様の不明確なAPI が溢れているプロジェクトに新しい実装メンバを投入しても、開発効率はうまく上がっていきません。すべてのAPI の仕様が明確になっていれば、不具合が見つかった場合でも、各メソッドが何を実現すべきかが分かるので、別の人が実装を引き継いで修正していくことが可能

最近にわかに 型クラス が盛り上がっているようです。しかし、型クラスはインタフェースに似たものだという意見もあればまったく別のものだという意見もあり、混乱する人が多いのではないかと思います。 そのような混乱を招く理由は、 インタフェースと型クラスはどちらも抽象化を実現するためのもの であり、 インタフェースでも型クラスでもできること インタフェースでしかできないこと 型クラスでしかできないこと があるからです。 1 に着目した人は似ていると語り、 2 や 3 に着目した人はまったく違うものだと言います。本投稿では、Java /Kotlin のインタフェース、 Haskell の型クラス、Swift のプロトコルを比較し、上記の 3 点を整理します。Swift のプロトコルを加えるのは、Swift のプロトコルがインタフェースと型クラスの両方の性質を備えたものなので、比較対象とし

Kotlin がAndroid の公式言語になることがGoole I/O 2017 で発表されました。これからKotlin を始めるJava プログラマが多くなると思うので、本投稿ではJava プログラマがKotlin でつまづきがちなところについて説明します。本投稿は単独で理解できるように書いていますが、↓の連載の第二弾です。Kotlin の基礎的な構文は理解していることを前提としているので、Kotlin の基礎については "Javaとほぼ同じところ" を御覧下さい。Javaとほぼ同じところ 新しい考え方が必要でつまづきがちなところ ←この投稿で扱う内容Kotlinならではの便利なこと 新しい考え方が必要でつまづきがちなところ 新しい概念を学ぶときには、何ができるのかだけでなく、どうしてそうなっているのかがわからないとそれをうまく使いこなすことができません。本節で

JJUGCCC 2017 Springで、「データ履歴管理のためのテンポラルデータモデルとReladomoの紹介」という話をしてきました。 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 from HiroshiIto 今回の登壇は、株式会社FOLIOのスポンサーセッションです!FOLIOについてはこちらの入社エントリー記事もご参考ください。Toggetterは下のリンクから。togetter.com 世の中のみなさんが「論理削除フラグ」を使いたくなるモチベーションとしては、実は「削除」ではなく別のビジネスロジックを実装したいだけであることがほとんどだと思います。 たとえば論理削除フラグという名の死亡フラグ - @ledsunblogというエントリを参考にさせていただくと、下記のような要件の例があります。 ・社員が退職(・転
概要 Webアプリケーションの開発や保守をしていると、いろいろなバグに遭遇します。メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ等々、バグは様々です。こういったバグは、実際にコードを書いて、実行・再現させてツールで解析してみると理解が深まります。 ということで、いろいろなバグを実装したWebアプリケーションをつくってみました。現時点では、以下を簡単に再現できます。 メモリリーク (Javaヒープ領域) メモリリーク (Permanent領域) メモリリーク (Cヒープ領域) デッドロック (Java) デッドロック (SQL) 完了しないプロセスの待機 無限ループ リダイレクトループ JVMクラッシュ ネットワークソケットリーク データベースコネクションリーク ファイルディスクリプタリーク XSSSQLインジェクション ExceptionInInitializerErr

これはSwift Tweets の発表をまとめたものです(次回開催はこちら)。イベントのスポンサーとして Qiita に許可をいただいた上で投稿しています。 ありがとうございました!Q&Aは他の人の発表中でも構わないのでリプを飛ばして下さい。 続いては僕 @koher の発表で、タイトルは "Swiftのエラー4分類が素晴らしすぎるのでみんなに知ってほしい" です。 #swtws — koher (@koher) 2017年1月14日 第 1 部:Swift の 4 種類のエラーについて あまり知られてませんが、エラー処理について、Swift 2.0 設計時に Core Team がまとめた "Error Handling Rationale and Proposal" というドキュメントがあります。このドキュメントは、僕が去年 try!Swift で発表した際にも参考文献にしまし

はてなインターンの事前課題で非常に簡単なltsvパーサーを作るやつがあるのだけど、Javaの勉強のためにJavaで実装してみた。ltsvパーサーは結構いろんな言語で誰かが実装しているので、これどうするのがいいのかってなったら、その実装を見に行くとやり方を理解できて便利。 事前課題 https://github.com/hatena/Hatena-Intern-Exercise2015 やったやつ https://github.com/shibayu36/java-Intern-Exercise これでいいのか気になるところもあるので、詳しい人に添削されたい。 日付操作こんなのでいいのか https://github.com/shibayu36/java-Intern-Exercise/blob/master/src/main/java/org/shibayu36/intern/exerci
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く