タグ

ブックマーク / qiita.com (296)

  • Javaのサポートについてのまとめ2018 - Qiita

    Javaのサポートについてのまとめ Javaのライセンスやサポート状況について混乱が発生しているように思います。Javaのサポートを各団体がどのように行なっているかをまとめてみます。 知っておいてほしいのは、Javaの実装やサポートはOracle JDKかOpenJDKの二択、ではなくAdoptOpenJDKやAzul Zulu、Corretteなど多くの選択肢があるということです。 ここでサポートはバグやセキュリティに対応したパッチがリリースされることを表しています。 Javaのリリースサイクル これまで、Javaは3年ごとを目標に結局5年くらいかけて次のバージョンを出したりしていましたが、それでJavaはなかなかバージョンアップしなくて古いと言われていました。それが2017年9月、今後は6ヶ月ごとにフィーチャーリリースを行うというリリースモデルに変更されました。Java9が2017年9

    Javaのサポートについてのまとめ2018 - Qiita
  • 格安スマートリモコンの作り方 - Qiita

    材料費400円の赤外線送受信器を、1,800円のラズパイZeroに載せて、Google Homeから操作する方法を、ゼロから丁寧に解説します。 安くても高機能 むしろ市販のスマートリモコンではできない、きめ細かな操作も簡単に実現できます。(例えば こんなこと ができます。) 簡単 電子回路を作ったことのない初心者でも作れるよう、電子部品の買い方から、丁寧に説明します。 電子工作の基 ラズパイでの電子工作が初めてなら、こちら → Raspberry Piの電源でLEDを1個光らせてみる - ツール・ラボ (素晴らしく丁寧な解説なので、予備知識ゼロでも理解できるはず。) ここで紹介するスマートリモコンの回路も、まずはブレッドボードを使って、半田付けをせずに試作します。 試作品をしばらく使ってみて問題がないようなら、基板に半田付けして完成させます。 半田付けが初めてなら、こちら → うまくいく

    格安スマートリモコンの作り方 - Qiita
  • GAE/GoとVision APIで人類をGopher化する - Qiita

    私は普段Goを書いているのですが、go fmtでコードが整形される瞬間が異常に興奮します。 汚れた心が浄化される感覚と言いますか、脳汁が止まりません。 いつの頃からか「*.goだけでなく、あらゆるものにgo fmtをかけたい」という欲求が芽生え始めました。 まずは人間から始めてみようと思い、Webサービスを作ったので紹介します。 作ったもの 画像のURLを指定するかアップロードすると、顔を検出してGopherっぽくします。 これが こうなる 上記のサンプルは@tanksuzuki 1人ですが、複数人でもOKです。 何人でも、見つけ次第、一人残らずGopherizeします。 ↓こちらから遊べます。 https://gopherize.com ↓コードも公開してます。 https://github.com/tanksuzuki/gopherize ノリと勢いで書いたので、まだ汚いです。未ファク

    GAE/GoとVision APIで人類をGopher化する - Qiita
    Ooo
    Ooo 2018/03/20
  • ユーザのブラウザで起きた JavaScript のエラーを収集する - Qiita

    なぜエラーを収集するのか バグ探し バグを見つけて潰していくため ユーザからのバグ報告の補助 ユーザに報告の負担をかけないため エラーを取得する 取得タイミング window.onerror Promise のエラー フレームワーク毎の特定のタイミング window.onerror window.onerror にメソッドを登録しておくことでエラー発生時にそのメソッドが呼ばれる。try-catch でハンドリングしていないエラーが流れてくる。

    ユーザのブラウザで起きた JavaScript のエラーを収集する - Qiita
  • 2018年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita

    可及的速やかにReactが絶滅しますように。 以下はFront-End Developer Handbook 2018の第三部、Front-end Developer Toolsからリンクされているツールと、その簡単な紹介です。 ドキュメントツール 開発者向けドキュメント、APIリファレンス Dash 200以上のAPIリファレンス、100以上のチートシートを一括ダウンロードできる。有料、Mac用。 DevDocs 200以上のライブラリをオンラインで検索できる。無料。 Velocity 中身はDashと同じ。有料、Windows用。 Zeal WindowsLinuxMacOS用各種揃っている無料のオフラインドキュメント。 チートシート devhints.io JavaScriptCSSGovim等のショートカット、書式などチートシート。字が薄くて見辛い。 SEOツール Key

    2018年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita
  • 探索的データ解析における正しい可視化手法の選び方と描き方 - Qiita

    データ分析における関数の使い方については様々な記事が上がっています。関数を知らなかったり使い方が分からないときは調べればだいたい答えが見つかります。 一方で、実際に分析を始めようとすると、たとえ関数の使い方がわかっていても、データをどのような切り口から何を分析・可視化していけば良いのか困ってしまうことがよくあります。 この記事では、あんちべさんが書いたデータ解析の実務プロセス入門というをベースに、どのようなデータから何を見たいときにどのような可視化手法を使えばよいのかを、具体例を交えながら整理していきます。 探索的データ解析とは データ解析のアプローチは、大きく分けて仮説をデータで検証する「仮説検証型」とデータから仮説を生み出す「探索型」に分けられます。 実際にデータ解析を行うときは、仮説検証型と探索型を行き来しつつ知見を見出していきます。 データ解析には検証すべき仮説を設定することが必

    探索的データ解析における正しい可視化手法の選び方と描き方 - Qiita
  • Lombok の Java9以降対応の話 - Qiita

    TL;DR Lombok が Java9 + IntelliJ に対応してなかったので、修正プルリク送って取り込んでもらった(AUTHORSに自分の名前が入った) どういう変更をしたのかを解説(誰得) Lombok は JDK の内部クラスにどっぷり依存しているので、JDKバージョンアップの度に追従が大変。JDKだけじゃなくてIDEの実装にも依存がある。 今後 JDK のライフサイクルが変わるのでさらに大変。追従が遅れる可能性は多分にある。 がっつり Lombok に依存するとそういうリスクがあることを意識しておいたほうがいい。 Lombok について Lombok は Java コードにアノテーションをつけるだけで Setter, Getter を作ってくれるなど、大変便利な開発ツールです。 Lombok は AST(Abstract Syntax Tree;抽象構文木)をコンパイル時に

    Lombok の Java9以降対応の話 - Qiita
    Ooo
    Ooo 2018/02/22
    [lombok][java][java9]
  • 軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita

    ざっくり言うと リスト構造のデータに対してランダムアクセスはしちゃだめだぞ。お兄さんとの約束だ! 発端 数年前に他部署の支援で作ったJavaのシステムに、ちょっとデカめのデータを突っ込んだらありえないほど遅いので助けてくれ、と連絡が入った。 まぁクエリとかインデックスをちょっと見れば直るっしょ・・・と鼻をほじりながら支援に向かった。 処理内容 遅い部分の処理は以下のようなものであった。 処理対象のデータをListで受け取る。 それをforループで1件ずつ前処理する。 処理結果をオブジェクトに格納し、ORマッパーでDBにINSERTする。 これだけ? そう、これだけだ。並列処理なんて高級なことはもちろんやってない。 インフラ調査 処理中のサーバのようすを調査する。今回のインフラは典型的な3層3サーバ構成。 WEBサーバはなにもかもが余裕。 APサーバではCPUを1つ使い切っている。 14コア

    軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita
    Ooo
    Ooo 2018/02/19
  • Word2Vecを用いた類義語の抽出が上手く行ったので、分析をまとめてみた - Qiita

    はじめに こんにちは、Speeeでデータサイエンティストをしている@To_Murakamiと申します。エンジニアではないのですが、コーディングを含めた分析例を発信しようと思い、企業のAdvent Calendarに参加させていただきました。 12月も暮れに差し掛かってきましたね。日は、Word2Vec(ワードトゥベック)という自然言語処理を活用した分析例を紹介します。 このロジックを実装した目的は、ことばの表記ゆれ(類義語)発見器みたいなのを作ってみたいと思ったからです。なぜ、Word2Vecからことばの表記ゆれが分かるのでしょうか?仕組みの概要(下記)が分かると、理由を理解できます。 Word2Vecの仕組み(簡単に) Word2Vecとは言葉通り、単語をベクトル化したものです。ベクトル化した中身には当然数字が入ります。つまり、単語という言語データを数値化することができるのです! 数値

    Word2Vecを用いた類義語の抽出が上手く行ったので、分析をまとめてみた - Qiita
  • JSフレームワークの末端がWebComponentsになるのか、なれるのか、検証してみた - Qiita

    https://speakerdeck.com/mizchi/real-world-es201x-and-future で、「Reactやその他のフレームワークの末端はWebComponentsになるのではないか?」という話をした。とはいえ、実際に自分でそういうものを実装したわけではなかった。 じゃあ実際に、Reactから web components を呼ぶにはどうなるだろうか?実装してみた。 ゴールの設定 こういうコードが動いてほしいとする。 import React from 'react' export default class Home extends React.Component { constructor() { super() this.state = { value: 0 } } componentDidMount() { let cnt = 0 setInterva

    JSフレームワークの末端がWebComponentsになるのか、なれるのか、検証してみた - Qiita
  • “Web Componentsだけ” で新サービスを実装して見えたこと - Qiita

    Double O というサービスを作りました。 フロントエンドはピュアな Web Components を採用していて、バックエンドは Lambda と DynamoDB のみで構成しました。 (厳密には CloudFront とか API Gateway とかもあるけどそこは省いていいよね?) REST API 以外の Util 系の Lambda 関数はすべて AWS Cloud9 で管理することで環境構築も不要な Lambda ができて楽でした。 TL;DR サーバーレスについてはごく普通のことしかしていないので、詳しくは触れないでおきます。 ピュアな Web Components だけでサービスを成立させることができた。 HTMLElement クラスを継承するだけなのでメジャーライブラリは不要になった。 Web Components の Custom Elements は標準仕様

    “Web Componentsだけ” で新サービスを実装して見えたこと - Qiita
  • タイムゾーン呪いの書 - Qiita

    コメント欄で「Software Design 誌 (2018/12) に寄稿した内容や修正などをこちらの記事にも適用したい」と言ったあと、やるやる詐欺でずっと放置していましたが、三年近く経ってようやく 2021年 7月に大幅に改訂し、同時に Zenn に引っ越すことにしました。 タイムゾーン呪いの書 (知識編) タイムゾーン呪いの書 (実装編) タイムゾーン呪いの書 (Java 編) なにやら長くなりすぎたので三部構成になっています。 この Qiita 版は、しばらく (最低一年は) 改訂前のまま残しておきます。 タイムゾーンの存在はほぼ全ての人が知っていると思います。ソフトウェア・エンジニアなら多くの方が、自分の得意な言語で、タイムゾーンが関わるなにかしらのコードを書いたことがあるでしょう。ですが、日に住んで日仕事をしていると国内時差もなく1 夏時間もない2 日標準時 (Japa

    タイムゾーン呪いの書 - Qiita
  • ØMQを使ってMicroservice間をロスレスでデータを同期させるStrongZero - Qiita

    対象読者 2つの疎結合なシステム間を、メモリを大量に使っちゃうような大がかりな仕組みなしで、ほぼリアルタイムにデータロスなしに同期させたい、そういうアーキテクチャが欲しい方。 動機 Microservicesを疎結合に保ちつつ、バッチ処理やレポート機能でのクエリの高速化のため、データを同期させたいことがままあります。このあたりの話は、テキストの「5章 モノリスの分割」に載っています。 あるサービスから、データを定期的に吸い上げて、別のサービス、ツールに送るデータポンプという仕組みがあります。 イベント駆動でメッセージを関連サービスに送るイベントデータポンプや、バックアップツールを使って高速にデータ転送するバックアップデータポンプが紹介されていますが、結果整合性だけどなるべくリアルタイム(Near Real-Time)で同期させたいとなると、イベントデータポンプな仕組みしか選択肢にはならない

    ØMQを使ってMicroservice間をロスレスでデータを同期させるStrongZero - Qiita
    Ooo
    Ooo 2018/02/01
  • Amberで検討されているJava構文の変更 - Qiita

    Amberとは Java言語を拡張するプロジェクトです http://openjdk.java.net/projects/amber/ Amberのブランチ records データ保持用のクラスです sealed-types シールドタイプ newesapes line blockのエスケープ対応 patterns パターンマッチの全体的な開発 patterns-deconstruction パターンマッチでのデコンストラクション patterns-stage-1 instanceofのみのパターンマッチ pattern-runtime パターンマッチのランタイム? local-methods ローカルメソッド lambda-leftovers ラムダで_使えるようにする concise-method-declarations メソッド定義の簡略化 enhanced-enums 拡張enu

    Amberで検討されているJava構文の変更 - Qiita
    Ooo
    Ooo 2018/01/25
    “302”
  • 実録コミット振り返り:CSS Grid Layout GeneratorをVueで作ってみる - Qiita

    はじめに mizchiさんのCSS Grid Layout GeneratorをElmでクローンを作っている(記事)というのを見て、関数型すごいなあと思いつつ、中身のロジックは置いといて単に見た目同じようなものをVueで作るならどのくらいで出来るかなと興味が湧いたのでベンチマーク的に目コピを試してみました。 結果から言うとこんな感じになりました。 デモ: https://vue-grid-generator.netlify.com/ リポジトリ: https://github.com/miyaoka/grid-generator 今回記事にまとめるにあたり、特にゼロから立ち上がりの部分を見ていったらいろいろ手順とかつまづきどころとか作業見積もり感とか面白いんじゃないかなーと思うので、一個一個のコミットを拾って振り返ってみようと思います。 1stコミット [11:34] コミット:https

    実録コミット振り返り:CSS Grid Layout GeneratorをVueで作ってみる - Qiita
  • Vuex:mapStateの書き方8パターン+11サンプルコード - Qiita

    VuexのmapStateは書き方にバリエーションがある。ここではできるだけ多くのパターンを紹介する。 まず、話を具体的にするために次のようなストアを前提にする。 const profile = { namespaced: true, state: { twitter: "@suin", facebook: null, text: "よろしく〜" } }; const user = { namespaced: true, state: { name: "suin" }, modules: { profile } }; const post = { namespaced: true, state: { title: "VuexのmapStateの書き方", tags: ["JavaScript", "Vue", "Vuex"] } }; const store = new Store({ s

    Vuex:mapStateの書き方8パターン+11サンプルコード - Qiita
  • language server protocolについて (前編) - Qiita

    (今のところ前後編に分ける予定ですが、追記したり構成が変更になったりするかもしれません。予定は未定。) 2016年6月に、Microsoftがlanguage server protocolという仕様を公開しました。 稿では、このlanguage server protocolの存在意義や具体的な実現方法について解説します。 language server protocolの存在意義 language serverとは、IDEが必要とするプログラムのプロジェクト ソースを解析して情報を提供する機能を、サービスとして実現するものです。language serverがサポートされたIDEでは、型やメンバーの自動補完、変数やメンバーの定義参照、変数やメンバーの利用箇所の検索、コードの自動フォーマット、コードのエラー分析や修正案の提示といった、さまざまな機能を実現できます。 Microsoft

    language server protocolについて (前編) - Qiita
  • オープンデータ取得先まとめ - Qiita

    2018/1/1時点で利用可能な、オープンデータの主要取得先を記載します。 1. 世界中の国や都市の情報 EUとイギリス Public Data EU http://publicdata.eu Open Data Europe http://data.europa.eu/euodp/en/home UK Government Data https://data.gov.uk アフリカ Africa Open Data https://africaopendata.org Code for South Africa http://code4sa.org Code for Africa https://codeforafrica.org アジア Open Cities Project http://www.opencitiesproject.org Open Nepal http://data

    オープンデータ取得先まとめ - Qiita
  • イマドキのJavaScriptの書き方2018

    PySpa統合思念体です。これからJavaScriptを覚えるなら、「この書き方はもう覚えなくていい」(よりよい代替がある)というものを集めてみました。 ES6以降の難しさは、旧来の書き方にプラスが増えただけではなく、大量の「旧来の書き方は間違いを誘発しやすいから非推奨」というものを作り出した点にあります。5年前、10年前のやウェブがあまり役に立たちません。なお、書き方が複数あるものは、好き嫌いは当然あると思いますが、あえて過激に1つに絞っているところもあります。なお、これはこれから新規に学ぶ人が、過去のドキュメントやコードを見た時に古い情報を選別するためのまとめです。残念ながら、今時の書き方のみで構成された書籍などが存在しないからです。 たぶん明示的に書いていても読み飛ばす人はいると思いますが、すでに書いている人向けではありません。これから書くコードをこのスタイルにしていくのは別にいい

    イマドキのJavaScriptの書き方2018
  • Storybookがなぜ必要か?(Vue.js編) - Qiita

    まさあき(@masaaakikunsan)です。 最近よく、「Storybookを導入しよう」「Storybookがいい」と言う話は聞きますが、意外となぜ必要なのか、どう使うのか、という記事がみつからなかったので、基的な使い方をサンプルと共に紹介します。 TL;DR StorybookUIコンポーネントのカタログを作ることができる カタログのおかげでデザイナーと認識の齟齬が生まれなくなる アドオンを追加するとStorybookがかなり便利アイテムになる Storybookとは ざっくり言うとコンポーネントのカタログです。 コンポーネントライブラリの参照ができ、各コンポーネントの様々な状態の表示などができるものとなります。 また、アプリ外で実行されるため、UIコンポーネントを単独で開発でき、コンポネの再利用、テストの容易性、開発スピードを向上させることができるのが魅力です。

    Storybookがなぜ必要か?(Vue.js編) - Qiita