タグ

tipsに関するnaga_sawaのブックマーク (531)

  • QRコードを生成できるだけでなく「作り方」まで理解できる「Creating a QR Code step by step」

    キャッシュレス決済の筆頭としてPayPayやLINE PayといったQRコード決済が日においても普及し始めていますが、QRコードがどのように生成されているのかを知る機会は多くありません。「Creating a QR Code step by step」は、好きな文字列を表すQRコードを簡単に生成でき、さらにQRコードの生成過程まで理解できるウェブアプリです。 Creating a QR Code step by step https://www.nayuki.io/page/creating-a-qr-code-step-by-step まずは「Creating a QR Code step by step」にアクセス。ひとまずオプションの理解は置いておいて「Text string」に「GIGAZINE」と入力し、「Force minimum version」を「2」に設定して「Gene

    QRコードを生成できるだけでなく「作り方」まで理解できる「Creating a QR Code step by step」
    naga_sawa
    naga_sawa 2021/05/15
    QRコード生成の順序/認識を容易にする工夫が随所に入ってるのね
  • Java の + 演算子による文字列結合は、どのように処理されているのか - Qiita

    (この記事は 地平線に行く とのマルチポストです) Java 9 以降 JEP 280: Indify String Concatenation に基づき、 + 演算子による文字列結合は以下のようにコンパイルされるように変わりました。 invokedynamic #7, 0 // InvokeDynamic #0:makeConcatWithConstants:(Ljava/lang/Object;I)Ljava/lang/String; (InvokeDynamic を使うように変更された理由は、「Java の + 演算子による文字列結合で、StringBuilder は使われなくなりました。」を参照) この InvokeDynamic によって、最終的にどのように文字列結合が行われているのでしょうか。 環境 Adopt OpenJDK 15 で調査しました。 openjdk versi

    Java の + 演算子による文字列結合は、どのように処理されているのか - Qiita
    naga_sawa
    naga_sawa 2021/05/05
    Java9 以降の文字列結合は StringBuilder を使う代わりにコンパイル時メソッド生成が働いて最適化が効くようになってる
  • Javaのバージョン別、1行ずつファイルを読む方法まとめ - Qiita

    (この記事は 地平線に行く とのマルチポストです) Java でファイルを読み込む処理は、バージョンが上がるごとにどんどん簡単に書けるようになっていきました。 今回は、どれだけ簡単になっていったかを Java のバージョンごとにまとめて説明します。 なお、ここでは以下の処理を行うコードをもとにしています。 そこそこ大きいテキストファイルを一行ずつ読み込む 文字コードは UTF-8 Java 1.1, Java 1.2, Java 1.3 public static void main(String[] args) throws IOException { File file = new File(args[0]); BufferedReader reader = null; try { reader = new BufferedReader( new InputStreamReader(

    Javaのバージョン別、1行ずつファイルを読む方法まとめ - Qiita
    naga_sawa
    naga_sawa 2021/05/05
    Java8あたりで知識が止まってるので/シンプルに書けるようになったもんです
  • ゆ、useEffectちゃん!初回に動かないで! - Qiita

    TL;DR よいしょ……よいしょ…… useEffect便利ですよね。 stateの変化を監視し、そのstateの変化に伴うべき処理の流れを一元管理できます。 import React, { useState, useEffect } from 'react' import ReactDOM from 'react-dom' function Counter(props) { const [count, setCount] = useState(0) const [lastUpdatedAt, setLastUpdatedAt] = useState(null) useEffect(() => {// 『count』 が更新された際に、それに伴い必ず実行される setLastUpdatedAt(new Date().toString()) }, [count]) return ( <div

    ゆ、useEffectちゃん!初回に動かないで! - Qiita
    naga_sawa
    naga_sawa 2020/07/05
    useEffectで初回の実行を回避する
  • React 触り始め、よく遭遇する問題まとめ(個人的に)

    Reactの初歩的エラー集 コンポーネントのreturnする際に、複数のタグを返してしまいエラー Parsing error: Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>…</>? const HogeConponent = () => { // これはエラー return( <h1>タイトル</h1> <p>こんにちは</p> ) }

    React 触り始め、よく遭遇する問題まとめ(個人的に)
    naga_sawa
    naga_sawa 2020/07/05
    Reactあるあるエラー集
  • Reactのべからず集 - Qiita

    Reactは便利なライブラリですが、ライブラリの想定を外れる使い方をするとうまく動かないとか、進化が続いているのですでに古くなってしまった書き方とかが存在します。 ここでは、そのような、Reactでやるべきでない書き方についてまとめてみました。 ★★★★ この「★★★★」は、「守らないと正常動作しなくなる」レベルのものについて扱います。 JSXを使うファイルでReactを用意し忘れる JSXはReact.createElementに変換されますので、直接アクセスしているように見えなくても、名前空間内にReactが必要です。 eslint react/react-in-jsx-scope コンポーネント内部からpropを書き換える あくまでpropsは親から子へ渡されるものなので、子の側で書き換えることはReactの枠組みの想定外となります。 setState以外の手段でstateを書き換え

    Reactのべからず集 - Qiita
    naga_sawa
    naga_sawa 2020/07/05
    Reactべからず集
  • css animationのリスタートを行う場合のハック - Qiita

    Reactなどで、css animationをかけている要素に対して、 中身の小要素が変わったときにサイドアニメーションをリスタートさせる方法です。 課題 propsが変更されても、中身が変わるだけなのでアニメーションは再実行されない。 const animTarget = (props:Props) => { return ( <Animation>{props.children}</Animation> ) } const Animation = styled` animation: ${xxx} 0.4s 0.6s ease-out forwards; ` const animTarget = (props:Props) => { if (document.querySelectorAll('.tar')) { Array.from(document.querySelectorAll

    css animationのリスタートを行う場合のハック - Qiita
    naga_sawa
    naga_sawa 2020/06/28
    classList.remove .add だけではアニメーションリスタートできないので間でreflowを起こさせる
  • 【リモートワーク自由自在】Windows 10 Wake On LAN(WoL)入門

    もともとWoLは、企業などで大量導入したPCをリモート管理するための機能(休日中に一斉メンテナンスなどを行うためにPCを起動させる)だった。しかし現在では、企業向けにリモートからの管理機能の提供が可能な技術「Intel vPro」がIntelによって推進されており、その中にネットワーク経由でPCを復帰させる機能がある。ただ、これはWoLとは全く違う実装になっている。 こうした背景もあり、以前に比べるとWoLの必要性はそれほど高くない。そのためか、最近ではWoLへの対応がないPCも少なくない半面、WoL対応/非対応の判定が難しく、そもそも動作しないハードウェアに対して、設定のアドバイスが行われてしまうといったこともあるようだ。 さらにWoLは、ネットワークコントローラーチップ、マザーボード設計、デバイスドライバ、ファームウェアと多数のコンポーネントが関わり、機種固有やデバイス固有の設定名称が

    【リモートワーク自由自在】Windows 10 Wake On LAN(WoL)入門
    naga_sawa
    naga_sawa 2020/04/22
    Win10 での WoL
  • ネットワークプリンタが削除できない場合の対処 - 宇宙怪獣の巣

    この記事の要約 デバイスとプリンタで消したはずのプリンタがまだ存在するというエラーが出て設定変更ができないときのための対処法です。 「ネットワークプリンタ 削除できない」などでググってもレジストリを消してスプーラサービスを再起動しろ、という方法だけしか出てこないのでPowerShellでWMIを操作したら問題を解決できたという内容です。CMDでの操作法も一応書いておきます。 消したはずのネットワークプリンタが存在する 同僚がWindows2012R2サーバにネットワークプリンタを追加する作業中にポート設定を間違えて登録してしまいました。 新しくポート設定を追加し、間違えたこのポート設定を消去しようとすると「使用中です」とエラーになるため「デバイスとプリンター」でこのプリンタを削除してプリンタの追加からやり直そうとすると同名のプリンタは既に存在するというエラーで登録できませんでした。また先ほ

    ネットワークプリンタが削除できない場合の対処 - 宇宙怪獣の巣
    naga_sawa
    naga_sawa 2019/12/04
    プリンタ一覧にプリンタが表示されない場合にPowerShellからWMI叩いて削除できた
  • 仕事中にすんごい眠い時どうしてる?

    いつもトイレで5分アラームして寝てたんだけど「トイレは寝るところではありません」ってメールがきてやりにくくなった。 他の対策として ・軽い体操。 ・水分補給。 ・外出できるなら散歩。 ・殴る、つねる等の痛みを自分に与える。 ・辛いガム噛む。 とかやってるんだけど全然効かない。 すんごい眠い時、社会人はどう対策してるんだ? そもそも眠い状態で仕事をするという自己管理能力が低いとかは無しで。

    仕事中にすんごい眠い時どうしてる?
    naga_sawa
    naga_sawa 2019/11/21
    昼休みに昼寝派, やはりトイレや非常階段で寝る派, 考えるふりして瞬眠派, 昼食の糖質調整派, カフェイン類投入派, 軽い運動派, 外出派, 換気派, 諦めて帰る派, 疾患疑い派, 生活リズム調整派/難消化性デキストリンよさげ
  • aptX Adaptiveは次世代コーデックの主流となるか。Bluetoothコーデック再入門。(SBC/aptX/aptX-LL/aptX-HD/LDAC/AACとの比較 etc.)

    最近、Bluetoothオーディオの「より一般的な課題」は音質では無く、接続の安定性や音飛びといったものにだんだんとなっているんじゃないかと個人的には思っている。 その中でクアルコム社から発表された、Bluetooth新コーデック「aptX Adaptive」は、まさにこの課題に対するアンサーとして出てきたもので、低遅延&接続安定性の改善&高音質を謳っており、実際にこれを搭載した製品が出てくるのはまだ先とは言え、目が離せない対象なんじゃないかと思う。 というわけで、今回はこの「aptX Adaptive」について、既存コーデックの課題を含めて、まとめてみたいと思う。 目次 既存コーデックにおける課題 SBC(SubBand Codec) aptX aptX-HD(aptX High Definition) aptX-LL(aptX Low Latency) AAC(Advanced Aud

    aptX Adaptiveは次世代コーデックの主流となるか。Bluetoothコーデック再入門。(SBC/aptX/aptX-LL/aptX-HD/LDAC/AACとの比較 etc.)
    naga_sawa
    naga_sawa 2019/10/13
    aptXのいろいろ
  • 100均(ダイソー)で売ってたUSB Type-Cのケーブルやアダプタをたくさん分解してみた:ウェブ情報実験室 - Engadget 日本版

    Apple's thinner new iPad Pros feature an M4 chip and "tandem" OLED displays

    100均(ダイソー)で売ってたUSB Type-Cのケーブルやアダプタをたくさん分解してみた:ウェブ情報実験室 - Engadget 日本版
    naga_sawa
    naga_sawa 2018/11/26
    100均のUSBtypeC製品/○AtoC10cmケーブル, AtoC変換コネクタ, microtoC変換コネクタ△CtoCケーブル/意外に高品質
  • 【Windows 10】Windows 10の最新のディスクイメージ(ISOファイル)をダウンロードする

    Windows 10」を新たにインストールしたり、再インストールしたりする際、ディスクイメージ(ISOファイル)があれば、USBメモリやDVDディスクに書き込んで、そこからインストールが行えるので便利だ。実験用途で仮想マシンにインストールする場合でも、ISOファイルの方が扱いやすい。 ディスクイメージは、「メディア作成ツール」を使えばMicrosoftのWebサイトからダウンロードできる。また、Webブラウザの開発者ツール(デベロッパーツール)機能を利用すれば、直接ディスクイメージをダウンロードすることも可能だ。 ただし、ダウンロード可能なディスクイメージは基的に最新バージョンのみである(原稿執筆時点では「Windows 10 May 2020 Update」。新しい機能アップデートが提供されるとそのバージョンのみダウンロード可能)。互換性のテストなどで、過去に提供されたバージョンが必

    【Windows 10】Windows 10の最新のディスクイメージ(ISOファイル)をダウンロードする
    naga_sawa
    naga_sawa 2018/09/21
    スマホにisoをダウンロードさせて何をしようというのだMSは
  • PostgreSQLでSQLチューニングや障害状況調査に使ったクエリ達まとめ - $shibayu36->blog;

    最近PostgreSQLSQLチューニングや、DBが詰まった時の状況調査をいろいろやった。その時に便利だったクエリ達をまとめていく。PostgreSQLのバージョンは9.6系です。 SQLチューニングなどに便利だったクエリ達 それ以降に実行するSQLの実行時間を表示する。参考 https://morumoru00.wordpress.com/2011/05/08/postgresql-sql%E5%87%A6%E7%90%86%E6%99%82%E9%96%93%E3%82%92%E8%AA%BF%E3%81%B9%E3%82%8B%EF%BC%88timing/ \timing 実際にクエリを実行して実行計画や実行時間を表示する。クエリが実行されるので破壊的な操作も実行されてしまうことに注意。トランザクション張って最後にROLLBACKしましょう。参考 https://www.post

    PostgreSQLでSQLチューニングや障害状況調査に使ったクエリ達まとめ - $shibayu36->blog;
    naga_sawa
    naga_sawa 2018/05/08
    トラブったときの調査クエリ色々
  • CompletableFutureの使い方の基本形とFutureTaskとの連携例 - seraphyの日記

    Java8から利用可能になったCompluteableFutureとは、他言語におけるDeferredとかPromiseパターンといわれるものと同等のものであり、これにより並列処理を直列的に記述できるようになる。(つまり超便利。) 基的な使い方 もっとも簡単な使い方としては、CompletableFutureが用意している静的コンビニエンスメソッドであるrunAsyncか、supplyAsyncを使う。 たとえば、以下のようなものになる。 1つのタスクの完了後に処理を継続する例 ExecutorService es = Executors.newCachedThreadPool(); ... CompletableFuture<String> cf = CompletableFuture.supplyAsync(() -> heavyWork("job1"), es); cf.whenC

    CompletableFutureの使い方の基本形とFutureTaskとの連携例 - seraphyの日記
    naga_sawa
    naga_sawa 2018/03/22
    CompletableFuture を使った非同期処理機構
  • Java8のCompletableFuture調査 - Qiita

    Javaで複雑なスレッド処理 Javaには当初からThreadクラスがあるが、インスタンス生成が重くて微妙だった。 JDK5からはExecutorが導入されて、WorkerThread的なことはやりやすくなったし、Lock系のクラスも増えて便利になった。また、Futureの導入により処理結果を受け取るのも楽になった。 とはいえ、Future.get()を呼ぶと呼び出しThreadがブロックするからそれもまた別Threadでやって、というようになんか質的じゃない処理を書かないといけなかったのも確か。 Java8からはCompletableFutureが導入され、より複雑なThread処理を行うことができるようになったようなので、調査をする。 前提知識 同じくJava8で導入されたFunction, Consumer, Supplierを理解していないとよく分からないと思う。以下に記事書いた

    Java8のCompletableFuture調査 - Qiita
    naga_sawa
    naga_sawa 2018/03/22
    CompletableFuture を使った非同期処理機構
  • Webアプリの限界を超える方法 - Qiita

    他の投稿はこちら Webアプリの限界を超える方法(セキュリティ編) ブラウザで(WebUSBもActiveXも使わずに)FeliCaリーダーを読み込む ブラウザでブラウザを操作してスクレイピングを行う Webブラウザでシリアル通信を行う Webアプリの限界 経験豊富なwebプログラマなら、Webでは実現困難な機能を知っているでしょう。 ローカルの特定のパスに存在するファイルを自動的にアップロードしたい、 ブラウザからクローラーを起動して情報収集したい、などなど。 Webをよく知らない顧客や、技術不足のSEがそんな機能を開発しろと言い出します。 あなたは「セキュリティ上の理由から、ブラウザでそんなことは出来ない」と断ってきたことでしょう。 それ実現できます。そう、WebSocketならね。 WebSocket WebSocketがどのようにWebアプリの限界を突破するか、説明しましょう。 W

    Webアプリの限界を超える方法 - Qiita
    naga_sawa
    naga_sawa 2018/03/22
    ローカルアプリ前提/ブラウザとローカルアプリをWebSocketで橋渡しすると色々できそう
  • test.comやaaa.comをテストデータに使うのはやめましょうという話 – 打つか投げるか

    2018/02/13追記:「サンプル用のドメインを使おう」の説明に “.example” と “.test” の使い分けについて追記しました。 Web システム開発時のテストデータを作成する時、また各種ドキュメントを書いている時など、サンプルの URL を使う場面は多いと思いますが、その時に適当なドメイン名を使うのはやめましょう、という話です。 知っている方には当たり前レベルの話ですが、意外と IT 企業のシステム開発現場等でも普通に見かけることがまだまだありますので・・・。 よく見かける例 例えば、こんなドメインの URL で開発中システムのテストデータを作っていたり、仕様書に説明が書かれていたりする場面をよく見かけませんか? test.comaaa.comabc.comsample.comdummy.comhoge.com でも、これらのドメインって存在していて、また実際に利用されてい

    test.comやaaa.comをテストデータに使うのはやめましょうという話 – 打つか投げるか
    naga_sawa
    naga_sawa 2018/01/29
    example.com は知っておけ/そして IP アドレスにも例示アドレスがあるとは知らなかった/積極的に使っていこう 192.0.2.0/24 198.51.100.0/24 203.0.113.0/24 2001:DB8::/32
  • 定期的にtcpdumpをある期間だけ実行したいという時 - その手の平は尻もつかめるさ

    tcpdumpの提供する-Wオプションと-Gオプション,ならびにcrontabを併用するといける. tcpdumpの-Wオプションはログローテーションを行う回数で,-Gはそのローテーション期間を秒数で指定できる. 例えば $ tcpdump -w ./%Y%m%d%H%M%S.pcap -W1 -G60などとやると,ログローテーション1回,ローテーション期間は60秒となるので,つまり60秒tcpdumpを実行した後にexitする (ローテーション1回指定なので). ちなみに-wオプションで指定するファイル書き出し先についてはstrptimeと同じフォーマットが利用できるのでこういう時に便利. あとはcrontabでこのコマンドを仕込んでやるとOK (id:hirose31さんから「crontabでは%をエスケープする必要がある」との指摘があり修正しました). 55 * * * * tcpd

    定期的にtcpdumpをある期間だけ実行したいという時 - その手の平は尻もつかめるさ
    naga_sawa
    naga_sawa 2017/11/09
    ある時間帯だけ tcpdump を取るtips
  • [スタパ齋藤の「スタパトロニクスMobile」] ケーブルを束ねる安くてキレイな6つの方法

    [スタパ齋藤の「スタパトロニクスMobile」] ケーブルを束ねる安くてキレイな6つの方法
    naga_sawa
    naga_sawa 2017/09/26
    ねじりっこが一番使い勝手いい