2023年5月3日のブックマーク (22件)

  • Evernoteからの卒業とその受け皿について

    おそらく、生産性ツールやコラボレーションツールとしての進化の方向性を模索した感があって、当初会った「第二の脳」コンセプトはどこにいたのやら・・。 今回強く感じたのはEvernoteが遂げてきた進化と、今後の方向性が、完全に自分の期待値から外れていると言うこと。同じバンドメンバーなら解散待ったなしの方向性のズレ。 ぶっちゃけ、 タスク管理はTodoistPKMはObsidianネタの管理はWorkflowyDaily NoteLogseq(これはObsidianに統合予定)と既に「メモの一時保管場所」と「参考情報置き場」にしかEvernoteを使っていなかったので、その為だけに年間9300円はちと高いなってことで、このたびEvernoteから卒業することを決めました。(2024年の8月までSubscriptionが残っているので、暫くは併用するけど・・ね) 私のことが嫌いになってもEver

    Evernoteからの卒業とその受け皿について
  • Java7からJava16までの変遷。 - Qiita

    まえがき ずっとJava11を使っていました。そのためすっかりラムダ式やStreamAPIでの書き方に慣れていたのですが、最近Java7を使って稼働しているプロジェクトに異動したので、何ができて何ができないのか、ちょっと調べてみました。 Javaの変遷 私見ですが主要だと思う仕様変更を並べてみました。アプリ実装に関係する部分のみピックアップしています。 このバージョンのこれは入れておいたほうが良いよ!との意見がありましたらコメントにぜひお願いします。 Java8 2014/03/18 正式リリース(GA) https://openjdk.java.net/projects/jdk8/ ラムダ式 https://openjdk.java.net/projects/lambda/ https://qiita.com/sano1202/items/64593e8e981e8d6439d3 pub

    Java7からJava16までの変遷。 - Qiita
  • アンサー: なぜTypeScriptの型定義に凝るのか - Qiita

    この記事は、昨日公開された以下の記事に対するアンサー記事です。TypeScriptで型定義に凝る派筆頭(自称)として、このお題に対して別の視点から光を当ててあげるためにこの記事を用意しました。 TypeScript の型定義に凝りすぎじゃね? まず最初に、この記事(以下では元記事と呼びます)の著者を攻撃したり、元記事の内容を否定する意図はないことをご理解ください。結局のところ、考え方が異なり、前提が異なるから異なる結論になっているだけなのです。TypeScriptを使う皆さんがいろいろな観点から見た情報を取得し、自分の状況に応じた適切な考え方・判断をできるようにすることがこの記事の目的です。 要約 大きなコードを小さく分解しても質的な難しさが消えるわけではないよ? 型はドキュメントなんだから正確に書こうぜ! 外界との接続も妥協せずに型システムで解決しようぜ! 機械にできる仕事を人間がする

    アンサー: なぜTypeScriptの型定義に凝るのか - Qiita
  • Webエンジニア(30歳)だけど4年かけて工学学士を取った - Qiita

    0. はじめに Bizer株式会社でフルスタックエンジニアとして働きながら、国立大学法人電気通信大学の先端工学基礎課程(通称 K課程)という社会人向けの学士課程に在籍しています。 この春(2021年3月)に卒業予定のため、いちソフトウェアエンジニアから見た大学教育学歴に対する考えをまとめておきます。 1. 対象読者 理系大学のカリキュラムがソフトウェアエンジニアという仕事にどう活きるか分からない方 就業しながら学士を取ろうとしている方 ソフトウェアエンジニア学歴の関係性を不透明に感じている方 2. 現職エンジニアが工学学士を取る理由 18歳で最初の大学を中退しエンジニアとして働き始めたため、途中の放浪期間などを差し引き、ソフトウェアエンジニアとしてのキャリアは現在10年程です。つまり大学入学時点では6年程のキャリアがあり、それなりに幸せなエンジニアライフを送っていました。 ではなぜ既に

    Webエンジニア(30歳)だけど4年かけて工学学士を取った - Qiita
  • 高速逆平方根(fast inverse square root)のアルゴリズム解説 - 滴了庵日録

    高速逆平方根とは? C言語のコード 検証 アルゴリズムの要点 [1] 逆平方根の計算を対数・指数の計算に置き換える [2] 浮動小数点型の内部表現を利用した対数・指数の近似計算 [2.1] 対数の近似 [2.2] σの最適値 [2.3] 整数型での解釈 [2.4] 逆平方根の計算とマジックナンバー0x5F3759DF [3] ニュートン法による収束で精度アップ 感想 高速逆平方根とは? 高速逆平方根(fast inverse square root)とは、平方根の逆数 を高速に計算するアルゴリズムです。平方根の逆数は逆平方根とも呼ばれます。逆平方根はベクトルの正規化などに用いられるので、これを高速に計算できるアルゴリズムには大きなご利益があります。 参照: Fast inverse square root - Wikipedia C言語のコード 高速逆平方根の関数を示します。0x5F375

    高速逆平方根(fast inverse square root)のアルゴリズム解説 - 滴了庵日録
  • ブラウザにおけるメモリリークを解決するために読んでおけると良い資料 - mizdra's blog

    最近趣味仕事の Web アプリケーションでメモリリークに遭遇して、頑張ってメモリリークの原因を突き止めて修正する、ということがあった。その過程でメモリリークについて色々調べて知見が溜まったので、学習資料の紹介という形でアウトプットしてみる *1。 前置き 紹介する記事がかなり偏っていることに注意 冒頭で触れたメモリリークを解決するために読んだ記事をまとめただけなので、内容にそれなりの偏りがある 例えば id:mizdra が遭遇したメモリリークは全てブラウザ上で発生していたものだったので、これから紹介する内容も主にブラウザにおけるメモリリークに焦点を当てたものになる GC がどうメモリをどう解放しているか、何故メモリリークが発生するのかは全てカット 調べれば色々な記事が出てくるので、必要に応じて読んでください 基的な知識を抑える まずメモリリークとメモリ撹拌の違いを学ぼう どちらも同じ

    ブラウザにおけるメモリリークを解決するために読んでおけると良い資料 - mizdra's blog
  • 2021年のTypeScriptベストプラクティス - 西尾泰和の外部脳

    5: テストコードで、型の要求を部分的にしか満たさないアドホックなオブジェクトをanyにキャストしてモックとして使うのではなく、ちゃんとしたモックを一箇所で定義してそれを使え 6: オブジェクトの種類によってあるプロパティを持っていたり持っていなかったりする時に、?でオプショナルなプロパティにするのではなく、どういう種類の時に持っているのかをインターフェースで明示せよ

    2021年のTypeScriptベストプラクティス - 西尾泰和の外部脳
  • Engineering Ladder | メルカリエンジニアリング

    エンジニアの成長段階ごとに期待される行動を明文化

    Engineering Ladder | メルカリエンジニアリング
  • COCOA騒動メモ

    COCOA が動いていなかったことで大臣が謝罪してひと騒動起きている件について、開発者視点からのメモを残してみます。 なぜこのメモを書いたのか 世間的には不正確な情報で叩ければOKの風潮が強くてしんどいので、正しいと思われる情報を拾い集めたものです。中抜きwww 王子wwwww Xamarin wwwwwwww みたいな人にはあんまり興味ないかと思います。 調べ始めたきっかけはこのツイートと引用されたblog記事ですが、記事の内容が違うことはすぐに指摘されて撤回されていたのですが、実際どうだったのかさらに調べてみました。 接触通知アプリ COCOA とはなんなのか 仕組みとか何かは公式サイトでもみてもらうとして。この件で煽っている人でも一部理解できていない人がいるようなのですが、直接的な効果としては 保健所が濃厚接触者追跡をする際の手助けとなるためのアプリ ということになります。アプリをイ

    COCOA騒動メモ
  • Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記

    インストール方法 bat ripgrep, ripgrep-all fd, fselect starship exa, lsd, nat nushell navi, tealdeer delta hyperfine xsv, csview py-spy bandwhich, gping, ht, dog hexyl, bingrep broot tokei genact, globe, glitchcat monolith shellharden fnm, volta pastel gitui, onefetch, git-interactive-rebase-tool skim watchexec dust, diskonaut, dua-cli, dutree zoxide ytop, bottom, zenith mcfly sd, desed topgrade pueue proc

    Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記
  • 満足して使っている有料サービスの一覧

    こちらにリクエストがあったので整理も兼ねてまとめておく。 (技術関連以外のサービスも含めたかったのでスクラップに書くことにした) TablePlus SQLクライアント MySQL、PostgreSQ、Redis、MongoDBなどに対応 UIが良い。見やすい。操作しやすい。複数の接続先を管理しやすい ときどき「有料プランに入らない?」的なポップアップが出るので課金。これを書いてる時点ではマシン1台ごとに約$60の課金 快適なので課金してよかった

    満足して使っている有料サービスの一覧
  • 2000年代オブジェクト指向は絶対の正義だった。つまり僕は洗脳を経験している - レベルエンター山本大のブログ

    私がIT業界の片隅に所属をし始めた2000年ごろ、Javaエンジニアはスーパースターだった。Javaエンジニアを名乗るということは、秘奥義オブジェクト指向を習得していることに他ならないからだ。 「オブジェクト指向こそ正義」だった。 Javaとオブジェクト指向を身につければ、20年はっていけると言われたものだった。 あれから20年。たしかにJavaとオブジェクト指向で20年はえた。が、もはやオブジェクト指向は絶対でも正義でもない。 僕は、IT講師として新入社員にJavaを教える仕事もしているが「オブジェクト指向こそ正義」と無垢な生徒達に教えなければならない時に、苦痛を覚えるようにすらなってしまった。 2000年代から、新人教育のテキストは変わっていない。継承は積極的に使っていくべきで、オブジェクトは現実世界を模した仮想現実世界をコンピューター内に生み出す技術とされている。Strutsだけ

    2000年代オブジェクト指向は絶対の正義だった。つまり僕は洗脳を経験している - レベルエンター山本大のブログ
  • Python と Playwright でブラウザを自動操作させるコードを自動生成したよ - Qiita

    Playwright が昨年1年間で大幅パワーアップしていたので、使い方を確認したときの記録のまとめです。 ブラウザを自動操作できるということは、簡単なスクレイピングやブラウザ側のテスト自動化が簡単にできるようになります。 特に、Python での解説がまだまだ少なかったので、自分の学習を含めてまとめました。 今回は入門編ということで全体像をつかみつつ使用方法の流れを確認していただければありがたいです。 Selenium や Puppeteer を使っている方も、一度試す価値ありと思っています。 選定した理由 ブラウザのテストを Python で自動化したかったんです。 私なりの要件がありまして、非常にわがままな要件でしたが余裕ですべてクリアしました。 Python で書けること。社内で Python を使える方が多いので。pytest と連携してくれるとなおうれしい。 Docker コン

    Python と Playwright でブラウザを自動操作させるコードを自動生成したよ - Qiita
  • ITエンジニアとしての勉強をやめた話 - infragirl’s blog

    しばらく辞めようと思います。 どんな勉強をしていたの 業務終了後に技術書を読んだり、資格取得(AZ-900)に取り組んだりしてました。時間が無いので寝る前とか、早めに出勤して読んだりとか、昼休みに読んだりとかしてました。 なんのために勉強していたの 転職して仕事内容がかなり変わり、分からないことが増えました。分からないなら勉強を増やせばいい!という今思い返すとちょっと浅はかな考えです。また、インフラ女子の日常を執筆する上で中途半端なことは描きたくないという気持ちから、書くテーマについて最低1冊は読もうとしてました。ゼロトラストのテーマの時はゼロトラストネットワーク1冊とか。そりゃどえらい疲れるわぁ(´ー`) なんで辞めるの 休職する程度に身体を壊したからですね。3ヶ月ほど休職して最近復職しました。 あと、この進め方で勉強してるとキリがなくて辛いからです。(´ー`) 勉強しなくなった時間は

    ITエンジニアとしての勉強をやめた話 - infragirl’s blog
  • こんばんは、X-Forwarded-For警察です - エムスリーテックブログ

    エムスリーエンジニアリンググループ製薬企業向けプラットフォームチームの三浦 (@yuba)です。普段はサービス開発やバッチ処理開発をメインにやっておりますが、チームSREに参加してからはこれに加えて担当サービスのインフラ管理、そしてクラウド移行に携わっています。 今回はそのクラウド移行の話そのものではないのですが、それと必ず絡んでくるインフラ設定に関してです。 アクセス元IPアドレスを知りたい Webアプリケーションがアクセス元IPアドレスを知りたいシーンというのは、大まかに二つかと思います。ログ記録用と、アクセス制限ですね。どちらもアプリケーションそのものではなく手前のWebサーバの責務のようにも思えますが、そうとも言い切れません。動作ログ、特に異常リクエストをはじいた記録なんかにセットでIPアドレスを付けたいとなるとアプリケーション要件ですし、アクセス制限についてもマルチテナントサービ

    こんばんは、X-Forwarded-For警察です - エムスリーテックブログ
  • GitHubのawesomeリストが本当にawesomeなものばかりだから一度見てほしい - Qiita

    伝えたいことは全てタイトルに書いた。 動機 https://github.com/topics/awesome を眺めていて当にawesomeなものばかりだった (割にあまりどこにもそのawesomeさが書かれていないように見えた) ので書く。 awesomeリストとは GitHub で使われる慣習的なリポジトリについてまとめてみた#awesome より: 「特定テーマに関するキュレーションを行うリポジトリ。Markdown のリスト表記で一覧化するのが一般的。また、Contribution も受け付けている(人気のあるリポジトリはガイドラインも厳しめ)。」 Where? ここのことです: https://awesome.re/ 画像はリポジトリから引用。 What? What is an awesome list? よりDeepL翻訳 awesome マニフェスト もしあなたのリストを

    GitHubのawesomeリストが本当にawesomeなものばかりだから一度見てほしい - Qiita
  • サーバーレスでclubhouse みたいなボイスチャットサービス「mixroom」を開発しました - y-ohgi's blog

    TL;DR clubhouse のような複数人でのボイスチャットサービス「mixroom」をつくりました 主にSkyWay・Firebase・Next.js を使いました。 https://mixroom.fun 「mixroom」 とは mixroom は"目的ベース"でボイスチャットをする場所を提供するサービスです。 昨今は人と話す機会が減り、友好関係も自分から能動的に獲得しにいかないと減るばかりで「孤独感を感じる」みたいなことが増えてきました。 そんなとき、ふらっと立ち寄れるなんの気構えしなくて良い場所があればなと思い、このサービスを作ってみました。 ボイスチャットをするモチベーションを"特定の人"ではなく、ゲーム・実況・もくもく会などの"目的"にすることで良い意味で言い訳ができ、人とのつながりを感じることができるんじゃないかなと考えています。 気構えしなくてよい・カジュアルに参加で

    サーバーレスでclubhouse みたいなボイスチャットサービス「mixroom」を開発しました - y-ohgi's blog
  • Google Style Guides

    Google Style Guides Every major open-source project has its own style guide: a set of conventions (sometimes arbitrary) about how to write code for that project. It is much easier to understand a large codebase when all the code in it is in a consistent style. “Style” covers a lot of ground, from “use camelCase for variable names” to “never use global variables” to “never use exceptions.” This pro

  • 俺流レスポンシブコーディング

    俺流レスポンシブコーディングの覚書。「人には人のレスポンシブ」があるのでこれが正解だってわけではないのですが、レスポンシブコーディングで悩んでいる人にとって参考になる記事になってくれたら嬉しいです。 ブレイクポイントは特定のデバイスの画面サイズを基準にしない 以前アンケートを取った時にデバイスのサイズを意識して決める人が半数以上を占めていた。 アンケート結果を抜きにしても「2021 年のブレイクポイント決定版はこれだ!」的な記事がバズっているのを定期的に目撃し、主流のデバイスのサイズを比較するアプローチがほとんどであるが、僕はデバイスの端末のサイズを基準にブレイクポイントを決めることには否定的である。 主流のデバイスのサイズなんてものは時間が経てば変化する。 昨年 iPhone 12 が発表された時に従来の画面サイズとは違うバリエーションになることが分かるやいなやタイムラインが慌てふためい

    俺流レスポンシブコーディング
  • Google TypeScript Style Guide

    // Good: choose between two options as appropriate (see below). import * as ng from '@angular/core'; import {Foo} from './foo'; // Only when needed: default imports. import Button from 'Button'; // Sometimes needed to import libraries for their side effects: import 'jasmine'; import '@polymer/paper-button'; Import paths TypeScript code must use paths to import other TypeScript code. Paths may be r

  • 「私はロボットではありません」はワンクリックでなぜ人間を判別できる? 仕組みとその限界を聞いてきた

    2021.02.16 「私はロボットではありません」はワンクリックでなぜ人間を判別できる? 仕組みとその限界を聞いてきた WebサイトにIDとパスワードを入力するとき、ときどき「私はロボットではありません」にチェックを求められることがあります。 僕はロボットではないので、当然チェックを入れて認証を進めるわけですが……。でもちょっと待ってください。なぜクリックひとつで、人間かロボットかを判断できるんでしょう。 これはきっと、人間ではないなんらかの不正アクセスを防ぐ仕組みのはず。でもチェックを入れるくらい、プログラムを作ってなんやかんやすれば、シュッとできるのでは? 「私はロボットではありません」は、どんな仕組みで人間とロボットを判別しているのか。もっといい方法はないのか。これまでの歴史的経緯も含め、情報セキュリティ大学院大学の大久保隆夫教授に聞きました。 気づかないうちに「人間かロボットか」

    「私はロボットではありません」はワンクリックでなぜ人間を判別できる? 仕組みとその限界を聞いてきた
  • シェルスクリプトを書くときにいつもやるやつを調べた

    bash のシェルスクリプトを書くときに、いつも脳死で以下をやっている。(同僚が整備してくれたものをコピペしている) エディタなり CI で shellcheck をまわす set -euxo pipefail と冒頭に書く こんな感じ #!/bin/bash set -euxo pipefail いつまでもコピペではさすがにアレなので、意味を調べたメモ。 shellcheck koalaman/shellcheck: ShellCheck, a static analysis tool for shell scripts イケてない書き方に警告を出してくれる それぞれの警告にはエラーコード割り振られていてとても便利 エラーコードごとに正誤例、解説が書かれているのでわかりやすい SC1000 の例 CI もそうだし、エディタのプラグインも充実 しているのでとりあえず入れておくと良い set

    シェルスクリプトを書くときにいつもやるやつを調べた