並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 450件

新着順 人気順

javaの検索結果321 - 360 件 / 450件

  • 経験5年のHaskellユーザがScalaを仕事で半年使ってみた

    haskell-scala-java ちょっと前までScalaを書いていたので、 Haskell好きな人がScalaを書いた感想を書きます。 タイトルは経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた - camlspotter’s blogの模倣です。 あくまで1ユーザの感想です。 Scalaに慣れてしまうと違和感を忘れてしまうと思ったので、当時箇条書きで雑にメモしていたものを参照して書いています。 逆にScala使いがHaskellを知るメモに役立つかもしれません。 Haskell歴 when: 2013年から知って学び始めましたが、本格的に使い始めたのは2015年からで、5年ほど使っています where: どの言語を使っても良くて新しい言語を学ぶ必要がなければ基本的にHaskellを使っています what: 趣味OSSプロジェクトの大半 現在一番スターもらっ

      経験5年のHaskellユーザがScalaを仕事で半年使ってみた
    • Log4Shellで何が起こっていたのかを追ってみる - セキュアスカイプラス

      はじめに こんにちは。久々に寝坊やらかして凹んでる、SST研究開発部の小野里です。今年入ってきた新人さんたちは、私のようにならないでほしいと祈るばかりです。 さて、新年度には入ってしまいましたが、つい先日まで2021年度新卒研修最後の延長戦として、以前話題になったLog4Shell脆弱性のPoCを作るという課題に取り組んでいました。やっと動作するところまでいったものの、ここまでの道のりは非常に果てしなく複雑で長く険しいものでした。 セキュリティ業界において、多くの場合脆弱性の詳細な再現手順は伏せられる傾向にあります。それは主に悪用を防ぐためなのですが、セキュリティの初学者には実際の所何をどうするとどう危ないのか、分かりづらい場合も多いのが現状です。 Log4Shell脆弱性は非常に大きな騒ぎになったため、各所の対応も早かったかと思います。そこで、比較的Log4Shellの影響が落ち着いてき

        Log4Shellで何が起こっていたのかを追ってみる - セキュアスカイプラス
      • Notionでプログラミングノートを作ろう!図解で作成方法を解説

        Notionでプログラミングノートを作って効率化しようNotionは、オールインワン・ワークスペースとして知られる文書管理ツールです。文書の作成や管理、共有に便利な様々な機能を持ち、情報管理の効率化に役立ちます。 Notionが持つ機能は、プログラミングノートの作成にも適しています。ページの階層構造やデータベースで情報を管理し、リンクブロックやコードブロックなどの便利なブロックにより、分かりやすく、見やすく情報をまとめることができます。 この記事では、プログラミングノートの作成に適したツールを探している方のため、Notionでプログラミングノートを作るメリットや、実際の作成方法を図解します。Notionでどのようなプログラミングノートが作れるかチェックしてみてください。 【参考】:Wiki、ドキュメント、プロジェクトがつながるコネクテッドワークスペース | Notion (ノーション)

          Notionでプログラミングノートを作ろう!図解で作成方法を解説
        • GitHub、脆弱性のあるコードの自動修正機能発表。AIボットが修正済みコードと解説をプルリクエスト

          GitHubは、脆弱性のあるコードをAIボットが自動的に発見、修正したコードとその解説をプルリクエストしてくれる「code scanning autofix」(コードスキャン自動修正機能)を発表しました。 Meet code scanning autofix, the new AI security expertise now built into GitHub Advanced Security! https://t.co/cTDuKZCWMv — GitHub (@github) March 20, 2024 下記がそのコードスキャン自動修正機能の説明です。「Found means fixed: Introducing code scanning autofix, powered by GitHub Copilot and CodeQL」から引用します。 Powered by GitH

            GitHub、脆弱性のあるコードの自動修正機能発表。AIボットが修正済みコードと解説をプルリクエスト
          • Elasticsearch + Sudachi + Docker でユーザー辞書を作ってみるハンズオン - Qiita

            今回は Elasticsearch + Sudachi でユーザー辞書を使う Dockerfile を作ったので作り方を共有します。 Elasticsearchのバージョンは現行の最新(v7.4.0)ですがv6.8あたりでも動くことを確認済みです。 Sudachi とは Sudachi は日本語形態素解析器です。株式会社ワークスアプリケーションズ下の機関であるワークス徳島人工知能NLP研究所が開発しています。複数の分割単位をサポートしているなどの特徴があります。 ドキュメントはこちら https://github.com/WorksApplications/Sudachi/#sudachi-%E6%97%A5%E6%9C%AC%E8%AA%9Ereadme 今回のハンズオンの最終構成 最終的に下記のような構成を目指します。 . ├── docker-compose.yml └── elas

              Elasticsearch + Sudachi + Docker でユーザー辞書を作ってみるハンズオン - Qiita
            • 元・Java専門記者がLog4j 2脆弱性に見た「複雑性と魔神のかけら」 Javaの歴史とバザールの矛盾

              元・Java専門記者がLog4j 2脆弱性に見た「複雑性と魔神のかけら」 Javaの歴史とバザールの矛盾(1/6 ページ) Javaのライブラリ「Apache Log4j 2」に深刻な脆弱性が発見されたことは記憶に新しい。1カ月以上経過した現在も、注意喚起や新たな情報提供が続いている。問題は完全に収束したとはいえない。 今回の記事の主題は脆弱性対策ではない。「Javaの歴史的経緯と、今回騒ぎになっている脆弱性の話を、うまく1本の記事にしてください」という編集部のオファーに応じて書いたものだ。記事の半分は「元・Java専門記者のナイショ話」である。現実の情報システムへの対処が必要な方は、まず下記ページから最新情報をチェックしていただきたい。 IPA Apache Log4j の脆弱性対策について(CVE-2021-44228) Apache Log4j 2公式ページ Log4j 2で今回問題

                元・Java専門記者がLog4j 2脆弱性に見た「複雑性と魔神のかけら」 Javaの歴史とバザールの矛盾
              • Java における乱数生成器とのつき合い方 / #JJUG CCC 2019 fall に登壇してきました

                一般公募の枠で CfP 出してあえなくリジェクトされたテーマを、スポンサー枠で勝手に敗者復活させてお話してきました。 はじめに Java 標準のクラスライブラリには、いくつかの乱数生成器の実装 (クラス) が存在しています。長年 Java でアプリケーションを書いている方であれば状況に応じてそれらの実装を使い分けることも難しい話ではありませんが、Java を扱い初めて間もない方にとってはそう簡単な話ではありません。 たとえば java 乱数 のようなクエリでググるとその状況がうかがい知れるのですが、巷にはプログラミングスクール各社の SEO を目的としたコンテンツが溢れていて、それらはいずれも「java.util.Random とか Math.random() とかなんでそんなレガシーなクラス/メソッドしか紹介しないの? この記事を書いたライターというかエンジニアの人たちは J2SE 1.

                  Java における乱数生成器とのつき合い方 / #JJUG CCC 2019 fall に登壇してきました
                • SpringBootのdockerイメージを必要最小限に絞りたい(2019年9月版) - エムスリーテックブログ

                  こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 先日の中村の記事で宣言してしまったので、 今回は「医師版Stack Overflow」(仮名) のSpringBootのdockerイメージを 必要最小限にまで小さくする際に試したことをまとめました。 なお、ちょっと検索すると先人の記事が色々出てきますが、 当時はまだなかったdockerイメージや、JDKの機能の違いにより、今ではちょっと古い部分もあります。 今回の記事も、半年もしないうちに古くなると思うので、2019年9月時点での方法だと思って読んでいただけると幸いです。 メットライフドームは埼玉県所沢市にあるドーム球場。本文には特に関係ありません。 小さいdockerイメージのメリット イメージのサイズを小さくしたいと書きましたが、 そもそも、そのメリットをネットで調べてみてもあまり明確な答えは見つか

                    SpringBootのdockerイメージを必要最小限に絞りたい(2019年9月版) - エムスリーテックブログ
                  • Javaのネイティブバイナリ生成可能なGraalVMの全機能が無料に、最適化コンパイラやG1ガベージコレクションを含む。本番環境でも利用可能

                    Javaのネイティブバイナリ生成可能なGraalVMの全機能が無料に、最適化コンパイラやG1ガベージコレクションを含む。本番環境でも利用可能 オラクルは、同社がJavaディストリビューションとして提供しているGraalVMの新ライセンス「GraalVM Free Terms and Conditions」(GFTC)を発表し、あわせてこれまで有償版のGraalVMに含まれていた全ての機能を含む新ディストリビューション「Oracle GraalVM」の提供を開始しました。 GFTCでは、これまで有償版のGraalVMで提供してきた最適化コンパイラやG1ガベージコレクションなどを含むすべての機能が無料で利用可能となり、本番環境での利用も許諾されます。 Introducing a new distribution — Oracle @GraalVM! Use all the greatest G

                      Javaのネイティブバイナリ生成可能なGraalVMの全機能が無料に、最適化コンパイラやG1ガベージコレクションを含む。本番環境でも利用可能
                    • Concurrency in modern programming languages: Rust vs Go vs Java vs Node.js vs Deno vs .NET 6

                      This is part of my "Concurrency in Modern Programming Languages" series Concurrency in modern programming languages: IntroductionConcurrency in modern programming languages: RustConcurrency in modern programming languages: GolangConcurrency in modern programming languages: JavaScript on NodeJSConcurrency in modern programming languages: TypeScript on DenoConcurrency in modern programming languages

                        Concurrency in modern programming languages: Rust vs Go vs Java vs Node.js vs Deno vs .NET 6
                      • Java 注目の機能:Sealed クラス

                        クラスまたはインタフェースはsealedと宣言されている場合があります。これは特定のクラスやインタフェースの集合だけがそれを直接拡張できることを意味します。 sealed interface Shape permits Circle, Rectangle { ... } これは Shape と呼ばれる Sealed インタフェースを宣言します。permits リストは、Circle と Rectangle だけが Shape を実装できることを意味しています。(場合によっては、コンパイラが permits 句を推論できるかもしれません)。 Shape を拡張しようとする他のクラスやインタフェースは、コンパイルエラーを受けます(または、Shape をスーパータイプとして宣言しているラベル外のクラスファイルを生成しようとした場合は、実行時エラーとなります)。 私たちは、final クラスを介し

                          Java 注目の機能:Sealed クラス
                        • Rが好きすぎてRでJVMを実装したnoteエンジニアに話を聞いてみた|note株式会社

                          そんなあるときに、めもりーさんという方がPHPでJVMを実装しているツイートを見つけました。「これはおもしろいな」と思うと同時に「PHPでできるならRでもできるだろう」という思いがこみ上げてきて開発することにしました。 ー そんなに簡単にやってみようと思ったんですね(笑) もともとコンパイラやインタプリタは作ったことがあったので、仮想マシンも作れるかなって(笑) 私が作ったjvmrrはFizz BuzzくらいのJavaコードは実行することができるのですが、めもりーさんの資料のおかげで開発するためのハードルが低く済みました。 ー そもそもなぜRで「変なもの」を開発するようになったのでしょうか? Rって言語仕様が変わっていて本当におもしろいんですよ。それをもっとみんなに知ってほしくて言語仕様を活かしたものを作って公開するようになりました。Rってデータサイエンティストや研究者しか使わないイメージ

                            Rが好きすぎてRでJVMを実装したnoteエンジニアに話を聞いてみた|note株式会社
                          • decimal型があるからCOBOLもう要らんやろ、という件について(あるいは十進演算の話) - Qiita

                            この記事はFUJITSU Advent Calendar 2021の17日目です。 みんな大好きCOBOLの強みに十進演算があります。しかし、最近の言語には十進演算のための型(.NETのdecimalやJavaのjava.math.BigDecimalやその他)があるので、COBOL要らないんじゃない?みたいな話を聞いたりするわけです。それについて、COBOL処理系に関わっている身として思うところを述べたいと思います。「まあ、decimalやBigDecimalとかでできるっちゃできるんだけど…」の「だけど…」の部分を説明してみたい。 内容はざっと以下の通り。 二進浮動小数点で金計算をすると何がまずいかのおさらい。 十進浮動小数点の説明。 decimalやBigDecimalとCOBOL十進型の違い(BCDの説明)。 で? きっかけは、今年9月にとある記事のおかげでCOBOLがtwitte

                              decimal型があるからCOBOLもう要らんやろ、という件について(あるいは十進演算の話) - Qiita
                            • タイムゾーン呪いの書 (実装編)

                              「タイムゾーン呪いの書」は、もともと 2018年に Qiita に投稿した記事でしたが、大幅な改訂を 2021年におこない、同時にこちらの Zenn に引っ越してきました。この改訂で記事全体が長大になったので、「知識編」・「実装編」・「Java 編」と記事を分けることにしました。 この「実装編」は、導入にあたる「知識編」の続きとなる第二部です。おもに Software Design 誌の 2018年 12月号に寄稿した内容をベースにしていますが、修正した内容もかなりあります。本記事全体を通して「知識編」を読んでいることを前提にしているので、ご注意ください。旧 Qiita 版にあった Java 特有の内容は、第三部にあたる「Java 編」にあります。 はじめに 先の「知識編」では、この時刻とタイムゾーンという厄介な概念について一般的な知識を紹介してきました。さて、ではこの知識を具体的に実装に

                                タイムゾーン呪いの書 (実装編)
                              • Java力をあげるための指針 - きしだのHatena

                                また「プロになるJava」の宣伝か、と思われるので、今回は「プロになるJava」の宣伝は自粛します。 Java力をあげるためには最適な「プロになるJava」がオススメなんですが、そうするとこのエントリもこのあたりで終わってしまうので、今回は自重します。 ということで、よく「Java力をあげるにはどうしたらいいか」という質問をみかけます。どうしましょうね、という話。 ここで、「Java力をあげたい」と言ってるときの大半はプログラミング力をあげたいという話です。 もちろん「プロになるJava」もプログラミング力をあげるのにとても役に立つのですが、今回は「プロになるJava」以外で攻めてみましょう。 そうすると実のところJavaにこだわる必要がなくて、そして最近はPythonで無償のテキストがたくさん手に入るので、そういうのを見るといいんではないかと思います。 たとえば「Think Python

                                  Java力をあげるための指針 - きしだのHatena
                                • UMLを少しでも かわいく したかったのでAWSで解決した - Qiita

                                  注:UML初心者に向けた記事です 最終的にこんな感じに… 注: AWS提供の画像を利用しますがAWSのサービスは使用しません。さらにAWSのアイコンプロジェクトが更新止まっており、Azureなども参照しています。 環境設定とねらい Visual Studio Code だけでUMLを練習する環境を作ります。Mac, Windows, Linuxで動きます。 用意するもの Visual Studio Code PlantUML 拡張 Java(ふつうは入ってます) GraphViz(msiインストーラあり) 上記の手順についてわからない人はVisual Studio Code で UML を描こう!が完璧なので、まずは設定を済ませてきてください。 まずは書いてみよう Visual Studio Codeで新規ファイルを作って、まずは myfirst.pu というテキストファイルで保存します。

                                    UMLを少しでも かわいく したかったのでAWSで解決した - Qiita
                                  • 「Text4Shell」の影響が「Docker」にも拡大 ~悪用が容易な任意コード実行の脆弱性/人気の文字列処理ライブラリ「Apache Commons Text」に欠陥

                                      「Text4Shell」の影響が「Docker」にも拡大 ~悪用が容易な任意コード実行の脆弱性/人気の文字列処理ライブラリ「Apache Commons Text」に欠陥
                                    • Spring Modulith でモジュラモノリスなアプリの構造を検証してみた - Taste of Tech Topics

                                      アクロクエスト アドベントカレンダー 12月9日 の記事です。 普段は Java, Python でバックエンドの開発をしている大塚優斗です😃 最近は Spring フレームワークのメジャーアップデートなどで盛り上がっていますね! 10月にこんな記事を見かけて、Spring Modulith がとても気になっていたので、手元で試したことを書いていきます✍️ Spring Modulith とは Spring Modulith でできること 0. Spring Modulith でのパッケージの扱いについて 1. モジュール構造の検証 循環参照の検知 別モジュールへのアクセス違反の検知 2. モジュールに閉じた結合テスト 単一のアプリケーションモジュールで結合テストができること Bootstrap モードによって、結合テスト時に他モジュールの Bean 生成ができること 3. イベントによ

                                        Spring Modulith でモジュラモノリスなアプリの構造を検証してみた - Taste of Tech Topics
                                      • Docker HubのOpenJDKイメージの利用を更新するためのアドバイス - 赤帽エンジニアブログ

                                        Red Hat で Java Platform Advocate として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、My advice for updating use of the Docker Hub OpenJDK image | Red Hat Developer の翻訳記事です。 コンテナ内のJava実行環境は、今後数カ月でアップデートを受けられなくなる可能性があります。そろそろ手を打つべきでしょう。この記事では、この問題を引き起こした原因である決定事項を説明し、解決策を提案します。 OpenJDK と Java SE のアップデート OpenJDKは、Java Platform, Standard Edition (Java SE)のオープンソース実装で、複数の企業やコントリビューターが共同

                                          Docker HubのOpenJDKイメージの利用を更新するためのアドバイス - 赤帽エンジニアブログ
                                        • なぜGoogleはKotlinが広まり始めたのにまた別のFlutter (Dart) を広めてるんですか?今からAndroidやるにはReactNative等含め、どの手法が良いと思いますか?

                                          回答 (5件中の1件目) Flutterの公開(2017年5月12日)は、GoogleによるKotlinのAdroid開発言語への採用(2017年5月17日)より僅かに前です。Dartの公開(2011年11月)は、Kotlinの公開(2011年7月)より僅かに後ですが、Androidの開発言語へのKotlin採用よりもずっと前のことです。より重要なことは、Kotlinと異なり、FlutterもDartもGoogle謹製であり、Googleによって広めるために生まれてきたことです。従って、Googleが今になってまた別のものを広めている、という認識は的を得ていないと思います。 ここで、F...

                                            なぜGoogleはKotlinが広まり始めたのにまた別のFlutter (Dart) を広めてるんですか?今からAndroidやるにはReactNative等含め、どの手法が良いと思いますか?
                                          • 注意:macOS 14.4 で JetBrains IDE がクラッシュする問題 | Post Blog

                                            更新履歴 2024/3/22 22:24 本問題に対するワークアラウンドを含む 2023.3.6 がリリースされましたので回避策に追記しました。 2024/3/18 1:03 macOS 14.4 はセキュリティアップデートを含むため(一般には)適用が推奨されること、および IDE クラッシュの発生頻度は JVM のバージョンや VM オプション、利用形態等の環境により異なることが考えられるため macOS 14.4 インストール済み環境における対応については「上記で報告されている IDE のクラッシュが頻繁に発生する場合」 に推奨する旨を追記しました こんにちは。JetBrains 堀岡です。 2024 年 3 月 15 日に公開された Oracle Java チームのブログポスト「Java users on macOS 14 running on Apple silicon syste

                                              注意:macOS 14.4 で JetBrains IDE がクラッシュする問題 | Post Blog
                                            • 過去のブーム(並列プログラム)の現状を考える

                                              みんな割と未来の予言はよくするが、あんまりその結果を振り返らんよなぁ。 現在のディープラーニングのブームをどう捉えるか、というか、 プログラマのキャリアという点でどう接していくか、を考えるにあたり、 過去のブームを考えてみるのは良いんじゃないか、という気がした。 最近並列GCや並行GCの章を読んでいて、 一昔前の大きなブームとしてはParallel computingがあったなぁ、と思い出した。 ということでこの事について、専門にしてなかった部外者プログラマの目にどう映ったかを記しておきたい。 なお、「XXXだと言われていた」はあんまりソースとかを確認したりはしてません。 なんとなく自分はそう聞いていた気がしたしそう思ってた、程度のものです。 かつて思っていたことと当時の状況 Parallel computingはだいたい10年くらい前の時点ではその後の大きなトレンドとして明らかに存在して

                                              • AWSアカウントを「Log4Shell」で乗っ取る方法が報告される

                                                JavaのLog4jライブラリに存在していたリモートコード実行を可能にする脆弱性「CVE-2021-44228(Log4Shell)」を突いてAWSアカウントを乗っ取る方法をセキュリティ企業のGigasheetが公開しました。 AWS Account Takeover via Log4Shell https://www.gigasheet.co/post/aws-account-takeover-via-log4shell Log4Shellは2021年12月にJavaのログ出力ライブラリ「Apache Log4j」に発見されたゼロデイ脆弱性です。Apache Log4jが広く利用されているだけでなく、Log4Shellを突く攻撃も難度が高くないことから、過去に類を見ないほどのレベルで各方面に深刻な影響を与えるとされており、セキュリティ関連組織や報道機関が2021年12月10日に公開された

                                                  AWSアカウントを「Log4Shell」で乗っ取る方法が報告される
                                                • Kotlin入門|初心者が知るべき勉強のポイントとJavaからの移行メリット - FLEXY(フレキシー)

                                                  ヤフー株式会社でAndroidエンジニアをしている片淵雄介(@Buchi_orz)と申します。フロントエンド、iOS、Androidなど様々なプラットフォームを経験し、現在はYahoo!ニュースのAndroidアプリを担当しています。今回はこれからKotlinを始めようとする読者に、Kotlinの魅力と最初に知っておきべきポイントを解説します。 フロントエンド、iOS、Androidと様々なプラットフォームを経験してKotlinにたどり着く 私はウェブ制作会社でのフロントエンドエンジニアからキャリアをスタートしました。以降、iOS、Androidなど様々なプラットフォームのプロダクトに携わり、2016年にヤフー株式会社にAndroidエンジニアとして参画。2019年よりYahoo!ニュースのAndroidアプリを担当しています。iOSアプリの開発とAndroid開発を比較すると、Andro

                                                    Kotlin入門|初心者が知るべき勉強のポイントとJavaからの移行メリット - FLEXY(フレキシー)
                                                  • Red Hatが「Quarkus」の商用サポートを開始。JavaコードをコンパイルしてLinuxバイナリを生成、省メモリ高速起動でコンテナ環境に最適

                                                    Red Hatが「Quarkus」の商用サポートを開始。JavaコードをコンパイルしてLinuxバイナリを生成、省メモリ高速起動でコンテナ環境に最適 Red Hatは、Kubernetesなどのコンテナ環境に最適化されたJavaアプリケーション開発と実行のためのフレームワーク「Quarkus」の商用サポート開始を発表しました。 #Quarkus, a #Kubernetes-native #Java runtime, now fully supported by @RedHat. https://t.co/EFzJS5wxDW pic.twitter.com/6gwo5Sq15x — Red Hat Developer (@rhdevelopers) May 28, 2020 Quarkusの最大の特徴は、GraalVMのコンパイラを用いてJavaコードからLinuxのネイティブバイナリを

                                                      Red Hatが「Quarkus」の商用サポートを開始。JavaコードをコンパイルしてLinuxバイナリを生成、省メモリ高速起動でコンテナ環境に最適
                                                    • Java いまふたたびのJDBC

                                                      この記事は Java Advent Calendar 2018 の 9 日目のエントリーです。 流行をとらえた話題が多いなか、10~15年前感のあるコンテンツです。化石です。 しかし化石とはいえ、よく使う技術ではあります。 ということで、何気なく使ってたけど改めて勉強し直しました。 検証バージョンjava 1.8.0_181JDBCドライバ postgresql 42.2.5PostgreSQL 10.5 自前ビルド検証環境Java動作環境 Windows 10 Pro ver.1803CPU 4コア(Hyper-Vと共用)RAM 16GB(うち、Hyper-Vへ8GB割り当て)Intel Core i5-4690 CPU 3.50GHzSSDPostgreSQL動作環境 Hyper-V 仮想インスタンスCentOS Linux release 7.1.1503 (Core)CPU 4コア

                                                        Java いまふたたびのJDBC
                                                      • LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回

                                                        こんにちは。コミュニケーションアプリ「LINE」のモバイルクライアントを開発している石川です。 私達は、高い開発生産性を維持するために、コード品質と開発文化の改善に注力しています。 そのために様々な取り組みを行っているのですが、その 1 つとして Review Committee の活動があります。 Review Committee では、マージ済みのコードを再度レビューし、レビューアとオーサーにフィードバックしたり、レビューで集めた知見を Weekly Report と称して毎週共有したりしています。 この Weekly Report で共有される話題は、Android や iOS といったプラットフォームや、Kotlin や Swift 言語固有の注意点も含まれるのですが、多くの場合はプログラミング一般に適用できるものになるように配慮しています。(ただし、説明のために使うコードは Ko

                                                          LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回
                                                        • AndroidアプリのKotlin化をやり切るための腕力 - ドワンゴ教育サービス開発者ブログ

                                                          この記事は、ドワンゴ Advent Calendar 2020の4日目の記事です。 N予備校Androidチームでは、およそ2年かけて、Javaで書かれたコードのほとんどをKotlinに書き換えました。この記事では、コードをKotlinに書き換える上で必要だったことをまとめていきます。 Kotlin化に技術はそこまで必要ではない そもそもKotlin化をすることにそこまでの技術力は必要ないです。JavaとKotlinの互換性が高いので、Kotlin化によってコードが壊れることは少ないですし、以下のように文法にも大きな変化はないので、読めないコードが生まれることもありません。 Javaで作成したFragment public class SimpleFragment extends Fragment { @Override public View onCreateView(LayoutInf

                                                            AndroidアプリのKotlin化をやり切るための腕力 - ドワンゴ教育サービス開発者ブログ
                                                          • プログラミング言語「Rust」が「C」「C++」の後継になるこれだけの根拠

                                                            関連キーワード Amazon Web Services | Microsoft(マイクロソフト) | アプリケーション開発 | プログラミング クラウドベンダー大手のAmazon Web Services(以下、AWS)が、プログラミング言語「Rust」のスポンサーになった。Rustは2015年に初の安定版が公開されて以来、「C++」の有力な代替として台頭している。「高性能で安定したアプリケーションを開発できる」「プログラマーの生産性を高められる」と評判だ。Google、Microsoft、Mozilla、Yelp、Dropbox、Cloudflare、AWSといった企業がシステム開発言語としてRustを採用している。 併せて読みたいお薦め記事 新たなプログラミング言語習得の壁 プログラミング学習で誰もがきっとつまずく「2つの障害」とは? 「プログラミング学習」が楽にならない“納得の理由”

                                                              プログラミング言語「Rust」が「C」「C++」の後継になるこれだけの根拠
                                                            • Javaの新機能を軽く / Breaf introduction of Java 14

                                                              2020/5/22に開催されたJJUGイベントでの登壇資料です。

                                                                Javaの新機能を軽く / Breaf introduction of Java 14
                                                              • セキュアなトークンの作り方 - astamuse Lab

                                                                開発部のにゃんです。主にバックエンドを弄っております。 Webアプリケーションではセキュリティ対策のためにランダムな文字列を使用する場面が多々あります。例えば CSRF対策のトークン OAuthやOpenID Connectで使用するnonce, state, code_verifier メールの到達確認用URLのトークン パスワードをhashする際に使用するsalt セッションID これらの値は単に衝突しなければOKというものではありません。十分なセキュリティ強度を確保するためには推測不可能なランダム値を使う必要があります。 以下は推測不可能なランダム値ではありません。セキュリティが求められる場面では使ってはいけません。 Math.randomなどの疑似乱数 日付やユーザ情報のハッシュ ではどのような値が適切なのでしょうか? /dev/randomと/dev/urandom Linuxに

                                                                  セキュアなトークンの作り方 - astamuse Lab
                                                                • なぜAndroidエンジニアは少ないのか - Qiita

                                                                  はじめに まずはこちらのツイートをご覧ください (駆け出しエンジニアのみなさん、モバイル開発は結構穴場ですよ… 今のところはかなり需要ありますし、供給が足りてないのでかなり狙い目ですよ… とくにAndroidエンジニアは人足りてないので、狙い目ですよ… Kotlin楽しいですよ… みなさん、Android始めませんか?) — どすこい@Android Engineer (@dosukoi_android) October 12, 2020 普段通り思ったことを呟いた結果、なぜか見事にプチバズりしました。 これにはかなり賛否両論あって、自分的にもかなり学びになったので自分の意見とみなさんの意見をまとめていきたいと思います。 Androidユーザーが少ない 個人的にはこれが一番大きいと思います。 しかし調べてみると、iOSとAndroidの割合は6:4くらいなのです。(このAndroidにFi

                                                                    なぜAndroidエンジニアは少ないのか - Qiita
                                                                  • JavaのDockerイメージ何選ぶ? | フューチャー技術ブログ

                                                                    Javaアドベントカレンダーにエントリーした記事になります。 Javaのイメージを作る上で、どのDockerイメージをベースに選べばいいのか、というのを軽く調べ始めたら、選択肢がたくさんでてきたので、ちょっと突っ込んで調べてみました。 以前、仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で書いたOS名とかは今回は紹介しませんので、busterとかalpineとかwindowsservercoreってなによ?というお話はそちらの記事を参照してください。一点アップデートがあるのは、Debian 11がリリースされて、イメージとしてbullseyeというのが追加された点ですね。あとはfocal=Ubuntu 20.04LTSというのを覚えてもらえれば。 JDK周りのニュースOracle JDKが無償配布をやめて、無償利用としてはOpenJDKを、

                                                                      JavaのDockerイメージ何選ぶ? | フューチャー技術ブログ
                                                                    • IntelliJ・WebStrom・PhpStorm等のJetBrains製IDEで、文字列の直前に「language=JSON」と書くと、その文字列にJSONのシンタックスハイライトが効いて便利だった。 - Qiita

                                                                      IntelliJ・WebStrom・PhpStorm等のJetBrains製IDEで、文字列の直前に「language=JSON」と書くと、その文字列にJSONのシンタックスハイライトが効いて便利だった。JavaPHPJavaScriptPhpStormIntelliJ IntelliJやWebStrom、PhpStormなどのJetBrains製IDEで、文字列の前に// language=JSONというコメントをつけると、IDEが文字列をJSONとして認識してくれるため、 JSONとしてのシンタックスハイライト JSON構文エラーの警告 JSONのコード補完 コード整形 といった、地の文でJSONを書いたときにIDEがやってくれるような恩恵を享受できるようになる。 この機能はLanguage Injectionと呼ばれるもの。コメントが書ける大抵の言語なら、JavaでもPHPでもJav

                                                                        IntelliJ・WebStrom・PhpStorm等のJetBrains製IDEで、文字列の直前に「language=JSON」と書くと、その文字列にJSONのシンタックスハイライトが効いて便利だった。 - Qiita
                                                                      • GitHub Actions のアクションのつくりかた(JavaScript 編) - 生産性向上ブログ

                                                                        help.github.com この記事では、新しくなった GitHub Actions における、JavaScript アクション作成方法について解説します。 www.kaizenprogrammer.com GitHub Actions とはなんぞやという人は、先にこちらの過去記事をどうぞ。 目次 アクションについて アクションの保存場所 アクションのバージョニング 簡単な例 (Hello, World) メタデータ JavaScript アクションの使用する Node.js バージョン toolkit node_modules の管理 README.md 公式テンプレート 少し実践的な例 その他 GitHub 公式のアクション サードパーティーのアクション まとめ アクションについて 前回の記事で新しくなった GitHub Actions の使い方について簡単に解説しました。この記事

                                                                          GitHub Actions のアクションのつくりかた(JavaScript 編) - 生産性向上ブログ
                                                                        • PythonでPDFファイルのテーブルデータを読み取る - Qiita

                                                                          PDFデータ 世の中の人はPDFが大好きなようで、嫌い嫌いと言っていても扱わざるを得ません。しかし、それに何時間もかけるのはちょっと・・・と思うのが人の常です。PDFの表データをしかないというケースもありますが、そのような際に便利なtabula-pyという超便利なライブラリがあったのでメモしておきます。 https://github.com/chezou/tabula-py tabulaにかんして tabulaはPDFの表を抽出するためのJavaのライブラリです。tabula-pyはそのラッパとなっております。そのため、利用するためにはJavaのインストールが必要です。 Javaをインストールした後、下のようにするとPythonのライブラリが利用できます。

                                                                            PythonでPDFファイルのテーブルデータを読み取る - Qiita
                                                                          • Serverless時代のJavaについて

                                                                            [AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをなAmazon Web Services Japan

                                                                              Serverless時代のJavaについて
                                                                            • Project Valhalla 2023 - プログラマーの脳みそ

                                                                              2023/03/30 にやったJava仕様勉強会の動画が公開されました。当日はJavaのマスコットDuke風の服で臨みました(どうでもいい裏情報) www.youtube.com セッション資料もアップロードしたので参考にしてください。 Project Valhalla 2023 中間報告 いずれも 2023年3月時点での情報です。JEPもドラフト版だったりするので、将来的に変更が入る可能性が高いことをお断りしておきます。本稿では勉強会のセッション内容に加えて、セッション時点で追従できていなかった変更点や、勉強会での指摘を踏まえてフォローアップした内容を含みます。 もしもValhalla世界でJava入門したら ここでは、Valhalla導入後のJava世界だと入門者視点でどのように変わるのかというアプローチをしています。まず、Javaのデータ型は大きくふたつに分類できて、Identity

                                                                                Project Valhalla 2023 - プログラマーの脳みそ
                                                                              • 目次 · 入門: JDK Flight Recoder

                                                                                目次はじめに1章 JDK Flight Recoderとは?1.1 JDK Flight Recorder 1.2 Javaにおけるパフォーマンス分析と障害診断 1.3 JFRの歴史 - JRockitからOpenJDKまで 1.4 JFRの動作環境とJMCのインストール 2章 JDK Flight Recorderのアーキテクチャ2.1 JFRのアーキテクチャ概要 2.2 JFRとオーバーヘッド 3章 JDK Flight Recorderの記録3.1 JDK Flight Recorderの記録 4章 JDK Mission Controlによる障害分析4.1 JFR/JMCで分析可能なメトリクス 4.2 Weblogic(WLDF)とJFR 4.3 ECIDと分散トレース 4.x ユースケース 4.x.1 ユースケース1 - バッチのボトルネック分析 4.x.2 ユースケース2 -

                                                                                • 分散トレーシングの技術選定・OSS 貢献, Stackdriver Trace での性能可視化・改善 / Distributed Tracing case study

                                                                                  パフォーマンスに苦労している並列処理システムを改善するために Stackdriver Traceを導入して動作の可視化を行った結果、 ボトルネックの存在が判明してパフォーマンスを改善できた事例について紹介します。 この事例でStackdriver Traceを選定した過程や OpenTelemetry へコントリビュートした経緯についても共有します。 また、新規開発のGraphQLサーバへ導入して REST APIサーバと通信をまたいだ可視化を行った事例についても紹介します。

                                                                                    分散トレーシングの技術選定・OSS 貢献, Stackdriver Trace での性能可視化・改善 / Distributed Tracing case study