タグ

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

  • 2018年12月31日問題 - Qiita

    2014年ごろに一度話題になったやつですが、最近また立て続けにその話題を耳にしたのと丁度年の瀬ということで今年も掘り返してみました。 DateFormatterのdateFormatをYYYY-MM-ddとしていると、2017年12月31日に今日の日付が"2018-12-31"と出力されます。 これ自体はSwift関係なくISOの仕様です。先々週Rebuild.fmを聞いていたところ、以前TwitterAndroidアプリがこの設定ミスによって5時間使えなくなっていた話をしていました。仕様なので当然ですが2017年も健在です。 Twitter Twitter kicks Android app users out for five hours due to 2015 date bug let datecomponens = DateComponents(year: 2017, month

    2018年12月31日問題 - Qiita
    sasashin
    sasashin 2019/01/01
  • 絶対分かるMyBatis!MyBatisで覚えるべきチェックルール25(中編) - Qiita

    チェックルール(つづき) 絶対分かるMyBatis!MyBatisで覚えるべきチェックルール25(前半) のつづきになります。来は残りのチェックルール(13~25)について説明するつもりでしたが、予想以上に長くなってしまったので3部構成に変更しました。今回はチェックルール(13~20)まで説明したいと思います。 13. Mapperファイル内で引数のJavaのデータを参照する場合、バインド変数#{...}を利用すること MyBatisのデフォルトではJavaのPreparedStatementを利用してSQLを実行します。実はバインド変数#{...}はPreparedStatementのパラメータとして設定されます。つまりパラメータが利用できる箇所でのみ、利用することができます。 SELECT文のWHERE句における値 INSERT文のVALUES句における値 UPDATE文のSET句に

    絶対分かるMyBatis!MyBatisで覚えるべきチェックルール25(中編) - Qiita
    sasashin
    sasashin 2018/12/21
  • 2018/11/27に判明したnpmパッケージ乗っ取りについて - Qiita

    概要 event-streamというnpmパッケージに攻撃コードが混入されました。攻撃コードはflatmap-streamというパッケージに含まれており、event-stream パッケージはこの flatmap-stream への依存性を追加される形で間接的に攻撃コードの実行を行う状態になっていました。 攻撃コードが分析された結果、copayというBitcoinウォレットからクレデンシャルを盗むことを目的とされていたことが確認されています。 参考リンク 調査が行われているGitHub Issue HackerNewsスレッド Details about the event-stream incident - The npm Blog 影響をうけたパッケージ event-stream@3.3.6 flatmap-stream@0.1.1 flatmap-stream@0.1.1 パッケージ

    2018/11/27に判明したnpmパッケージ乗っ取りについて - Qiita
    sasashin
    sasashin 2018/11/28
  • Kotlinの型を知る ~後編~ プラットフォーム型とCollections - Qiita

    はじめに この記事はKotlin Advent Calendar 最終日の記事です。 今年はGoogle I/OでKotlinAndroidの公式開発言語の1つになり、初めてのカンファレンスであるKotlin Confが開かれるなど、Kotlinの普及がますます進みそうなことを感じた1年になりました。 個人的にはKotlin In Actionの翻訳に携わり、Kotlinの普及へ微力ながら貢献出来たのではないかと思います (翻訳についてまとめた記事もあります:技術書を翻訳する技術)。 記事ではそのKotlin In Actionの著者の1人であるSvetlana Isakova氏のKotlin Confでのセッション「Kotlin Types : Exposed」の内容と、Kotlin In Actionの6章の内容を元に「Kotlinの型」についてまとめた内容になります。 アジェンダ

    Kotlinの型を知る ~後編~ プラットフォーム型とCollections - Qiita
    sasashin
    sasashin 2018/09/05
  • AndroidStudio3.0 (IntelliJ)で、メソッド引数のヒント表示をOFFにする方法 - Qiita

    問題 Android Studio 3.0では、下記のようにメソッドの引数にその引数名がデフォルトで表示されている。IntelliJでは IntelliJ IDEA Preview 2016.3からの機能らしい。 これが、引数を変更したいときなどに引数を消すと、このヒントが消えるのに0.5秒くらいの時間がかかりタイピングがもたついてストレスになっていた。 解決 調べた結果、下記の方法で設定OFFにできた。(Macで確認) AndroidStudioの設定画面にて、 Settings → Editor → General → Appearance → Show parameter name hints

    AndroidStudio3.0 (IntelliJ)で、メソッド引数のヒント表示をOFFにする方法 - Qiita
    sasashin
    sasashin 2018/08/17
  • Reactのrefを理解する@Typescript - Qiita

    https://reactjs.org/docs/refs-and-the-dom.html が微妙によくわからなかったので、refを使用していない場合と使用した場合の違いを確かめたメモ。確か、refはreduxのtodolist exampleに唐突に出てきて1、「えっ」ってなってしまった人もいそう。 上記のリンクの例題に即しています。 問題設定としては、ボタンと入力フォームがあり、ボタンをクリックすると、入力フォームにフォーカスが移るようにしたいというものです。 環境構築周りは、https://www.typescriptlang.org/docs/handbook/react-&-webpack.html あたりを参考に。 準備 題で、コンポーネントであるCustomTextInput.tsxを用意するのだが、ここでは必要なファイルを準備。 import * as React fr

    Reactのrefを理解する@Typescript - Qiita
    sasashin
    sasashin 2018/08/08
  • CloudFrontのバックエンドを多段にしてS3を使う場合のアクセス制御 - Qiita

    概要 CloudFrontのバックエンドのElasticBeanstalkに構築したNginxを使い、そのNginxからproxy_passでprivateなS3を利用したときに、アクセス制御でハマったのでその解決方法について共有 構成 CloudFront -> ElasitcBeanstalk(nginx) -> S3(private) 詳細 S3がprivateなのでアクセスするには設定が必要で、以下の2つの方法を検討した。 VPC Endpointを使用 IAMでのアクセス制御 1の方法は今回利用したいアプリケーション以外にも同じVPCに属するインスタンスからのアクセスも許可してしまうデメリットがある。今回のケースではReadOnlyなアクセスなので、それでも副作用は特にないのだが、2の方がより適切なアクセス制御ができるので2を採用した。 nginx+luaでproxy_passす

    CloudFrontのバックエンドを多段にしてS3を使う場合のアクセス制御 - Qiita
    sasashin
    sasashin 2018/06/29
    q「マネージドサービスはメリットの方が大きいと思いますが、動きを詳細に全部理解して使うのも難しく、こういった予期せぬ、期待せぬ挙動にあうとハマってしまいがちだなと思うところです」
  • ØMQを使ってMicroservice間をロスレスでデータを同期させるStrongZero - Qiita

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

    ØMQを使ってMicroservice間をロスレスでデータを同期させるStrongZero - Qiita
    sasashin
    sasashin 2018/06/19
  • SSL/TLS(SSL3.0~TLS1.2)のハンドシェイクを復習する

    以下順を追って説明します。 HelloRequest 相手にClientHelloを送信するよう促すメッセージです。送信しなくても構いません。 ClientHello ServerHello ClientHelloとServerHelloは、TLSのひとつめの肝です。後ほど説明します。 ServerCertificate サーバ証明書を送信します。中間CA証明書なども、ここで送ります。 ServerKeyExchange 鍵交換メッセージその1です。鍵交換はTLSのふたつめの肝で、これも後ほど説明します。 CertificateRequest クライアント証明書を送信するように促すメッセージです。クライアント証明書が必要な場合に送信します。何そのクライアント証明書って?と思った方は読み飛ばして構いません。 ServerHelloDone サーバからの送信終了を示すエンドマークです。 Cli

    SSL/TLS(SSL3.0~TLS1.2)のハンドシェイクを復習する
    sasashin
    sasashin 2018/06/08
  • SQLで大量のテストデータ作成 - Qiita

    以前に SQLでテーブルデータの一括作成、複製 という記事を書いたのですがもう少しかみ砕いて、かつPostgreSQLにも対応した内容で書き直してみます。 RDBMSを利用したアプリケーションを開発していて数千件を超える大量のデータを作成する必要が発生した場合に知っておくと便利なテクニックの紹介です。なお、以下のようなケースを想定しています。 SQLのパフォーマンス検証のために大量のレコードが必要 1テーブルに100万件以上 動作検証・評価作業のためにテスト内容に準じたデータが一定数必要 1セット100件を100セット 事前準備 SELECT文の 直積(CROSS JOIN) を利用します。 事前に一定数のレコードを保持するテーブルが必要です。 ここでは sample というテーブルを作成して 直積(CROSS JOIN) のSELECT文に利用します。 MySQLとPostgreSQL

    SQLで大量のテストデータ作成 - Qiita
    sasashin
    sasashin 2018/05/18
  • Kotlin文法 - データクラス, ジェネリクス - Qiita

    これだけでコンパイラが勝手に以下のものを作ってくれる。ただしクラス内または継承元に明示的に定義されていれば勝手に生成したりしない。 equals()/hashCode()ペア "User(name=John, age=42)"って表示するtoString() 宣言順で内容を取り出すcomponentN()関数 copy() 生成されるコードに一貫性を保つため、データクラスは以下を満たす必要がある。 プライマリコンストラクタは少なくとも1つ引数を持つ 全てのプライマリコンストラクタ引数はvalかvarでマークされている abstract, open, sealed, innerであってはならない データクラスは他のクラスを継承してはいけない(がインターフェースを実装するかもしれない) JVM上では生成されるクラスにパラメータなしコンストラクタが必要になるなら、全てのプロパティにデフォルト値が

    Kotlin文法 - データクラス, ジェネリクス - Qiita
    sasashin
    sasashin 2018/05/18
  • Gitで日本語長文のdiffをとる方法 - Qiita

    (この記事はここからの転載です) 課題 日語の長文をgitで管理していると、ほんのちょっとの変更でもdiffでは行丸ごと変更されたことになり、変更点がよくわからないことがある。 二泊三日で小説を書く過激なイベントNovelJam 2018参加作品である高橋文樹氏の「オートマティック クリミナル」は、GitHubを使って執筆されている。小説では、git diffの欠点がはっきりでる。高橋氏は参加レポートで、こう書いている。 あと、今回得た重要な知見なのですが、Githubではある程度以上テキストが長くなってくると、数文字の調整で全部差分として判定されたりするので、小説には向いてないかなーと思いました。小説は行の移動とかがよく発生するので、GithubじゃなくてGitとの相性かもしれません。 普通にdiffを取る 確かに、普通にdiffをとるとその通り。コマンドラインで「オートマティック ク

    Gitで日本語長文のdiffをとる方法 - Qiita
    sasashin
    sasashin 2018/05/09
  • CentOS7(RHEL7)でmaillogが正常に出力されなかったときの対応 - Qiita

    Oct 13 19:15:35 moge journal: Suppressed 8385 messages from /system.slice/postfix.service 実際にjournalctlコマンドでpostfixのログを見ても制限された非常に少ないログ件数しかありませんでした。 Journaldの出力制限 journald.confのmanページに記載がある通り、10秒間で200以上のメッセージ出力が発生すると制限がかかります。 サービス毎の制限みたいなので、他のログ出力は妨げられることはないそうです。 [hoge@moge ~]$ man journald.conf RateLimitInterval=, RateLimitBurst= Configures the rate limiting that is applied to all messages genera

    CentOS7(RHEL7)でmaillogが正常に出力されなかったときの対応 - Qiita
    sasashin
    sasashin 2018/04/18
  • RESTful API設計におけるHTTPステータスコードの指針 - Qiita

    RESTful APIを設計した際のステータスコードの指針です。 メソッド別 GET 成功した場合 200 OK:最も一般的 304 Not Modified:条件付きGETでキャッシュを使わせたい場合 POST 成功した場合 201 Created 作成したリソースのURIを示すLocationヘッダを付けておく 議論 200 OKだとまずいのか? 200 OKを応答する実装も多くあり、まずいというわけでもない 200 OKはPOST結果がキャッシュ可能、201 CreatedはPOST結果がキャッシュ不可能として分けてもいいが、そこまでする必要があるか?(POSTのキャッシュは一般的ではない) 204 No Contentだとまずいのか? クライアントがPOST結果を事前に全て知っているわけではないのでNo Contentは不親切では? 失敗した場合 409 Conflict:作成しよ

    RESTful API設計におけるHTTPステータスコードの指針 - Qiita
    sasashin
    sasashin 2018/04/11
  • React component ライフサイクル図 - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    React component ライフサイクル図 - Qiita
    sasashin
    sasashin 2018/04/06
  • Rails 5.1 + Vue.js + Vuex + vue-routerの初期設定 - Qiita

    Rails 5.1でVue.jsの単一コンポーネントファイルを使おうとしたら初期設定が色々と面倒だったので、設定し終えた状態でGitHubに置いておきました。良かったら使ってください。 https://github.com/midwhite/VueOnRailsTemplate 使っているもの Ruby 2.4.1 Rails 5.1.4 Vue.js 2.5.9 Vuex 3.0.1 vue-router 3.0.1 webpacker 3.0.2 MySQL 5.6 bootstrap 4.0.0-beta ポイント app/javascript/pack/application.js import Vue from 'vue'; import Vuex from 'vuex'; import VueRouter from 'vue-router'; import store from

    Rails 5.1 + Vue.js + Vuex + vue-routerの初期設定 - Qiita
    sasashin
    sasashin 2018/04/04
  • MobaXterm を ssh/mosh/X11 クライアントとして使う(Windows) - Qiita

    はじめに 今さっき MobaXterm という mosh クライアントソフト(と形容してはいけないであろう何か)を見つけました。早速使ってみたところあまりの頭のおかしさに(褒め言葉)凄すぎて感動したので、感動が冷めないうちに MobaXterm の素晴らしさをここに記しておこうと思います。 MobaXterm は一応、ssh/mosh クライアント兼ターミナルエミュレーターと呼ぶべき感じのソフトウェアです。私の歯切れが悪い理由は読み進めればきっと分かるでしょう。MobaXterm は GPL v3 に基づいて配布されている商用ソフトウェアであり、Personal Edition (無料・保存できるセッション数12、SSHトンネル2つ、マクロ4つまで、TFTP/FTP/HTTPサーバーは事実上使えない;2014年12月現在)と、制限を取り除いた Professional Edition (価

    MobaXterm を ssh/mosh/X11 クライアントとして使う(Windows) - Qiita
    sasashin
    sasashin 2018/04/01
  • C++完全理解ガイド Rev1.4.01 - Qiita

    はじめに C++を完全理解したので完全理解ガイドを書く。 最初に言っておくがタイトルは詐欺で、実際はポエムである。 僕は仕事C++を書いたことはないのでなんか変なことを言っているかも知れない。 ところで無職になったので、普通にC++で職がほしい。 2018年6月から受託で仕事をもらい、毎日C++17を書いています。 2018年9月から雇用され、毎日C++17を書いています。 かなり雑に書いているはずなので、コメント等でどんどんマサカリを投げてほしい。 僕は何者か 工学部を卒業して4年ほど高校の理科教師をやっていたが、現在無職になった人。 工学部を卒業して4年ほど高校の理科教師をやっていた。 最初は良かったのですが、授業に慣れ、このまま自分の成長が止まってしまうのかとなぁと思い、辞めて無職に。 一ヶ月無職を楽しんだあと、某から受託でC++を書く仕事をもらい、C++17を書いている。 主にツ

    C++完全理解ガイド Rev1.4.01 - Qiita
    sasashin
    sasashin 2018/03/28
    q「はじめに/C++を完全理解したので完全理解ガイドを書く。/最初に言っておくがタイトルは詐欺で、実際はポエムである。」出オチじゃねーかw
  • React+Redux入門 - Qiita

    ※この記事を書いたのは2016年4月です。Qiitaでは記事をアップデートするとその日付のみが表示されていまうため、新しい記事のように見えるかもしれませんが、現代ではもっと進化していることにご注意ください。素直にReact Hooks を使いましょう。あと Redux は用法用量を守って気をつけて使ってください。なんならReduxは使わない方がいいでしょう。 最近のモダンなウェブフレームワークと言えば、React+Reduxですよね。でも、なんか難しそうとか、ReactってPHPみたいにViewにロジック混ざりそうとか感じて尻込みしていませんか?それはただの誤解かもしれません。React+Reduxはそんなに難易度の高いものではありません。ただ単に、新しい概念で構成されているから、カルチャーショックのようなものがある、というだけのことです。React+Reduxに入門してみましょう。 僕自

    React+Redux入門 - Qiita
    sasashin
    sasashin 2018/03/28
    q「注意点は元のstateを変更してはいけないことです。変化した後の値を返すだけで、元の値に手を加えてはいけません。(個人的にはこの制約納得いかない。)」書き手の理解度が低いのでは。
  • Redux入門 6日目 ReduxとReactの連携(公式ドキュメント和訳) - Qiita

    前回 Redux入門 5日目 Reduxの基・Data Flow ReduxのアプリケーションはReact,Angular,Ember,jQuery, vanilla JavaScriptのいずれで作成することができます。 ReactUIをstateの関数として扱うので特に相性がいいです。 ここからは、Reactを使ってtodoアプリに連携していきます。 Installing React Redux ReactとReduxを連携するモジュールはReduxに含まれていないので、別途インストールする必要があります。 Container and Presentational Components Reactのコンポーネントの設計として、一番上のレイヤーのコンポーネントはコンテナとしてReduxに関与し、下位のレイヤーのコンポーネントはReduxとは関与せずに、データはprop経由で受け取るよ

    Redux入門 6日目 ReduxとReactの連携(公式ドキュメント和訳) - Qiita
    sasashin
    sasashin 2018/03/28