悲劇は起こった… ある日のLINE A氏「IPアドレスについて教えて欲しい!」 B氏「IPアドレスっていうのは xxx.xxx.xxx.xxx っていうフォーマットの…」 A氏「このリンクなに?」ポチー \フワーオ♡/ B氏(YABE) 何が起こったのか LINE や Twitter などの SNS は投稿されたリンクを自動的に飛べるようにしてくれます。 今回不幸なことに、この .xxx というドメインは存在し、xxx.xxx というドメインは登録されていました。 参考: ドメイン (domain)とは |「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 ドメイン名の種類 JPNIC そして .xxx ドメインの用途はよりによって… 用途 登録対象 > アダルトエンタテイメント業界用 < >> アダルトエンタテイメント業界用 << >>> アダルトエンタテイメント業界
はじめに 「自分の技術力で記事書いても誰にも読まれない」 「検索の邪魔になるから書きたくない」 「同じ内容の記事あるから意味ない」 そう思って技術記事を書かない人いますか?私もそうでした。 今回の記事ではこれらの気持ちに対する私の意見を書いていきます。異論は認めます。 ちなみに、記事を書くことのメリットはこの記事の通りだと思います。 「自分の技術力で記事書いても誰にも読まれない」 わかる。 みんなの方がすごいし、ググって解決できるだろうし、ショボい記事書いたら笑われそうで怖い。 でも、 それを知ってる人より知らない人の方が圧倒的に多いです。 単純計算、それを知ってる人が100万人いても、知らない人はその1000倍以上います。 その記事は必ず誰かの役に立ちます。 検索の邪魔になるから書きたくない わかる。 困ってる人を助けるための記事で誰かを困らせたくない。 でも、 あなたが責任を感じる必要
こんにちは、リファクタリングが大好きなミノ駆動です。 この記事は READYFORアドベントカレンダー2021 、5日目の記事です。 これはなに? ソフトウェア開発において、設計をないがしろにすると、低凝集密結合な構造に陥り、変更容易性が低下してしまいます。 設計スキルを高め、あるべき構造を設計する……これで解決できるに越したことはありません。 しかし、認知バイアスと呼ばれる心理効果により判断を誤り、良くない設計をしてしまうことが往々にしてあります。 本記事は、設計を歪めてしまう認知バイアスを理解し、設計判断の精度向上を促すことを目的とします。 この記事のゴール 人間の判断を歪めてしまう心理効果「認知バイアス」の存在を知ること。 ソフトウェア設計も、認知バイアスの悪影響を受けてしまうこと。 認知バイアスに振り回されない設計アプローチを身につけること。 認知バイアスとは 先入観や思い込み、偏
はじめに はじめまして。 人生初のQiita記事執筆です。 技術的な記事を書くのはまだまだ不安なので、私が青春を費やした英語について書きます。 残念ながら、エンジニアの皆さんは英語から逃げられません。 機械翻訳の精度は随分と高くなりましたが、原文をそのまま読めた方が高速ですし、何よりかっこいいです。 綾辻行人先生の『Another』に出てくる怜子さんも「大事なことでしょ、かっこいいか悪いかっていうのは」と言っていますし、やっぱりどうせならかっこよくありたいですよね。 とはいえ、一から英語を学ぶのはなかなか勇気がいること。 時間もお金もかかります。 「英語をやるくらいなら新しい技術を身につけたい!!!」という方も多いと思います。 ご存知の方も多いとは思いますが、実は英文は単語がわかれば大体の意味が分かります。 Stack Overflow等で短めの英文を読むときにはそれで十分です。 特にエラ
この記事はRust Advent Calendar 2021 カレンダー2の1日目の記事です。 はじめに エンジニアは一度はJSONパーサーをフルスクラッチで実装したほうが良いという天啓を受け、RFC 8259を読みつつRustでJSONパーサーを実装してみました。パーサーの実装は面白く勉強になり満足しましたが折角なのでhands-on形式の記事にしようと思いこの記事を書きました。 Rustの基本的な文法が分かる方向けに記事を書きましたが、これからRustを勉強してみたい方にもぜひ挑戦してほしいです。 複雑な機能は使っていないので、分からない文法や標準ライブラリは公式ドキュメントを読めば十分補完できると思います。 The Rust Programming Language 日本語版 Rust by Example 日本語版 monkey-json 本記事ではRustでJSONパーサー(mo
はじめに 基本的にReact + TypeScriptでフロントの開発をしているんですが、実際にコードを書いている時に気をつけていること、便利な書き方として知っておくと得をするReactコンポーネントの書き方を紹介します。 Propsが多くなりすぎたら やたらpropsが多くなってしまうことありませんか?しかも同じような名称ばっかりを何回も書くことになるという。そうゆうときはできる限りショートハンドで書きましょう。 return ( <SampleComponent type={user.type} name={user.name} email={user.email} image={user.image} /> )
モチベーション 私は10年近く、工業分野のIT化に取り組んでおりますが、以前から 「世の中の商用向けIoTサービス、高すぎない?」 と感じてきました。 ・センサでデータを取得して遠隔から見られるようにする たったこれだけなのに、ウン十万円~ウン千万円といったオーダーの費用が掛かります。 そこで、 家庭向けの製品を組み合わせて、安価にIoTシステムを構築できないか ということを、まずは我が家で試してみました。 結論から言うと、低コストでも完成度の高いおうちIoTシステムを構築できたと感じています。 2022/1/18追記: 本システムでトンガ火山噴火の衝撃波検出に成功しました おうちIoTシステムの要件 IoTとは? まず、「IoTとは何か?」というところをハッキリさせます。 総務省のホームページには、 IoTのコンセプトは、自動車、家電、ロボット、施設などあらゆるモノがインターネットにつな
この記事はpyspaアドベントカレンダー2021の三日目です。前日の記事はykubotaさんです。 はじめに 「自分には才能がある!」と信じてこの業界に踏み込んだものの右も左も怪物だらけで形見が狭い思いをしているのは僕だけではない。 憧れるのは異世界転生のような俺TUEEEE展開であり「何ってクイックソートをしただけだが?」とか言ってたら地位と名声が向こうから転がり込んできて欲しい。 しかし世の中そんなに甘くなく、標準ライブラリを使って威張れるのは学生ぐらいのものである。 学生?そうだ!学生の頃から精進しまくっていたら今ごろすごいソフトウェアエンジニアになれていたはずなんだ!という後悔を抱えて生きている社会人が世の中にはいっぱいいる。 そんな立場から若者を見ていると「大学に入ってプログラミングを始めました」という大学生を見かけるたびにアドバイスをしたくなる衝動に駆られるが、毎度同じような事
位置について ROBOCOPY どん! Woooooooo(さばおっち) Woooooooo(さばぴょい さばぴょい) Woooo(うつだっち) Woooo(さばぽい) さばさばうつうつ 5 1 0 RAID!! オレンジぱっぱか怪ストレージ(はいっ) ちょこちょこなにげに(そーわっ So What) 第一第零第五RAID(だんだんだんだん異音が近づき) めんたまギラギラ障害でーす(はいっ) 今日もめちゃめちゃはちゃめちゃだっ(ちゃー) がち追い込み(睡眠カット) 家帰りてー(でも帰れなーい) DATは(からっぽ)HDDは(消した) どいつもこいつも あらら(リワインド) 泣かないで(はいっ) 拭くんぢゃねー(おいっ) 業者呼んでも(なおらないっ)(はーっ?) きょうの総務の女帝は あたしだけに注意する サーバルームへゆこう 電源を切って マウント外して 業者のなかに 光ともす (どーきど
こんにちは、リファクタリングが大好きなミノ駆動です。 この記事は READYFORアドベントカレンダー2021 、初日の記事です。 なにこれ? 苦労して執筆した技術記事は、伝えたい人にしっかり伝えたいですよね。 また、最後まで読んでもらいたいですよね。 一方で、構成などに課題があって、伝えたい人になかなか伝わらないことがあります。 この記事は、伝わる記事の書き方について、私の個人的なノウハウを書き記したものです。 これからアドベントカレンダーの記事を執筆される皆さんにとって、少しでもお役に立てられれば幸いです。 この記事のゴール 以下の理解を得ることをゴールとします。 以下2つの要件を踏まえた記事構成を心がけること。 構成要件①:技術を紹介する上で最低限説明の必要な内容を網羅すること。 特に課題をしっかり伝えること。 構成要件②:読み手が段階的に理解しやすい順番になっていること。 告知の仕
この記事は2021年Goアドベントカレンダー1日目の記事です。 ファイルパーミッションでスロットするコマンドラインツールを作りました。 経緯 ある日、サーバ上のとあるファイルの実行権限を変更する事がありました。 $ ls -lah sample_cmd -rwxr--r-- 1 jiro4989 jiro4989 0 Nov 21 15:14 sample_cmd* $ chmod 0777 ./sample_cmd $ ls -lah sample_cmd -rwxrwxrwx 1 jiro4989 jiro4989 0 Nov 21 15:14 sample_cmd* この chmod 0777って数字が3つ並んでるからパチスロみたいだなーーーと唐突に思いました。1 (パチスロやったことないですが) じゃあ、「ファイルのパーミッションをスロットで設定できたらテンション上がって地 味なサ
Intro 筆者は、 Web のセマンティクスに対する実装の方針として、大きく Push 型の実装 と Pull 型の実装 があると考えている。 もっと言えば、それは実装方法という具体的な話よりも、開発者のセマンティクスに対する態度を表現することができる。 この話は「Push よりも Pull が良い」などと簡単に切り分けられる話ではない。 「自分は今 Push で実装しているのか、 Pull で実装しているのか」この観点を意識するかしないかによって、セマンティクスに対する視野が広くなり、その応用として、たとえば今自分が行っている実装が、将来の Web においてどのような互換性の問題を生じるかなどを想像できるようになるだろう。最近問題になる Ossification を、こうした視点の欠如の結果とみることもできる。 (本エントリでの Ossification は、一般に言われている Pro
この記事は HTML アドベントカレンダーの 7 日目の分です。 HTML の属性値の先頭または末尾にスペースなどの空白文字を記述したとき、それらの文字がそのまま扱われる場合と無視される場合があります。例として form 要素の属性を見ていきましょう。 <form method=" post " action=" /edit " target=" _blank " rel=" noopener "> method 属性の値は特定のキーワードであり、空白文字を含む値は指定できません。" post " は無効な値として無視され、デフォルト値である "get" を指定したのと同じ扱いになります。 action 属性の値はスペースで囲まれる可能性のある空でない妥当な URL であり、先頭と末尾の空白文字の並びは無視されます。この場合は "/edit" を指定したのと同じ扱いになります。 targe
そういえばライブ配信(8月)とか Twitter では話しているものの、ちゃんとこのサイト内には書いていなかったなと言う話。 C# 10.0 で構造体の引数なしコンストラクターが書けるようになりました。 struct A { public int X; public A() => X = 1; // ←要はこういうの } 今年2月にブログで書いてるんですが、これ、C# 6.0 の時に一度採用しようとしたものの、Activator.CreateInstance にバグがあって、いくつかの場面でまっとうに動かないということで延期されたという経緯があります。 で、それは直したし、直っていない頃の古いランタイムはサポート外にしていいだろうということで、晴れて C# 10.0 で採用されました。 ところが、「バグを直したと思ったら別のバグが残ってるランタイムが現存している」と言うことが後から発覚…
家のいろいろでいろいろあって奔走していたけど、こういうところで困ってて、って話してみたら、最終的にはなんとかなりそうになったのでよかった。 もうちょっと良い条件の選択肢が他にあるのでは?と秘密裏に活動するよりは、なんでも正直に話してみるほうがうまくいくことがあるのだな、と思った。 仕事してると、こういう提案をする以上、相手にとってもなにかいいことがないと、のんでもらえないのでは、みたいな考えが出てくるけど、けっこうロジカルな考えだと思って、金銭感覚のきっちりしている同僚の影響を受けている気がする。 皆が、いいよ、やりますよ、という雰囲気になっているなら、すべての情報を公開したほうがうまくいくのだろう。
この記事は Autify アドベントカレンダー2021の6日目のためのブログエントリです。Autify の中の人(Autify のカスタマーサクセスエンジニアをしています)よりお届けしています。 qiita.com 僕が Autify に入社したときのお土産(?)がわりだった、自作 GitHub Actions の a-know/actions-autify-light。README はある程度ちゃんと書いてはいるものの、それっきりだったりするので、改めてここで「それがどんなものか」について宣伝 紹介させてください! github.com どんなことをする action なのか これについては、以下の通りです。 指定された Autify テストプランを起動します。 1.で起動したテストプランの実行を待ちます。 テストプランの実行結果に応じた exit code を返します。 シンプル。 G
人の意見を聞くのが苦手かもしれない。 「〇〇が嫌だ」と言われたら、嫌という気持ちなのだな、もしやりたいことがあったら、「〇〇が嫌なのでこうします」という話が来るだろう、と思っていたら、そこの温度感をとりちがえていて、すでに、〇〇は嫌、の時点で選択肢から外して、次のプランを考えたい、ということだった、ということがあった。 ダニが気になっていたときにも、ダニの話をしている時点でなにかアクションするべきだった。 blog.sushi.money 引越し先、立地重視で古めかしいところをチョイスしていたけど、さすがに古すぎるのでは?立地以外はどうでもよいのか?という議論になって、ここから選び直しになるのか?はたして?という状態になってきた— 趣味はマリンスポーツです (@hitode909) 2021年12月5日
この記事は HTML アドベントカレンダーの 5 日目の分です。 HTML 標準では、誤りのある HTML コードを Web ブラウザがどう解釈すべきかも定められています。例えば、span 要素の終了タグを書き忘れた場合、 const c = document.createElement('div'); c.innerHTML = '<p><span>foo</p><p>bar</p>'; console.log(c.innerHTML); // => "<p><span>foo</span></p><p>bar</p>" 最初の段落が終了する地点で span 要素も終了すると解釈されました。ここで span 要素を b 要素に変えてみるとどうなるでしょう。 const c = document.createElement('div'); c.innerHTML = '<p><b>foo<
Miro Advent Calendar 2021の5日目。このブログだとMiroネタ2回目。 前回: jaco.udcp.info 「Miro、触ってみたけどなんかクセがあるというか、直感的に操作できない」 という意見を聞くことがある。そんなときは、一度設定を見直してみようという話。 Miroは直感的に操作できない? 最初同僚から「Miroの操作が直感的じゃない」と聞いたときは戸惑った。個人的には群を抜いて直感的に操作できる便利なツールだと感じていたので、「え、どこが?」 と。 が、ある時所有している他のPCから使ってみたところ、どうもいつものように操作ができない。マウスホイールを使うと拡大縮小じゃなくて上下に動くし、マウスのドラッグでボードの移動を行うこともできない。なんだなんだ、突然仕様変更されたのか? と慌てたが、結論としてはNavigation modeに問題があった。 Navi
この記事は HTML アドベントカレンダーの 4 日目の分です。 HTML の dl 要素 (説明リスト、いわゆる定義リスト) は、名前と値 (用語と説明) からなるグループの連なりを表します。ひとつのグループには dt 要素と dd 要素がそれぞれひとつ以上含まれます。 よく見るのは dl 要素の直下に dt 要素と dd 要素が来る形でしょう。以下の例では dl 要素にふたつのグループが含まれます。 <dl> <dt>琥珀</dt> <dd>寒天を使い透明感のある菓子の総称。</dd> <dd>琥珀糖のこと。</dd> <dt>琥珀糖</dt> <dt>干琥珀</dt> <dd>寒天を煮て固め表面を乾燥させた菓子。シャリっとした表面とプルっとした中身の対比が癖になる。</dd> </dl> スタイルシートを適用したり、マイクロデータの項目を作成したりするために、グループひとつずつを表す
この記事は JavaScript アドベントカレンダーの 4 日目の分です。 今やあちこちで使われている絵文字ですが、その中には 1 文字に見えるのに複数の文字 (符号位置) から構成されるものがあります。例えば「👨👩」という男女が並んだ絵文字は、U+1F468 MAN、U+200D ZERO WIDTH JOINER、U+1F469 WOMAN の 3 つの符号位置からなります。 JavaScript の正規表現でこのような絵文字にマッチさせようとすると正規表現パターンが長大になってしまいます。また、文字クラス [...] 内にこのような絵文字を記述すると、「U+1F468、U+200D、U+1F469 という符号位置の並び」ではなく「U+1F468、U+200D、U+1F469 のいずれかの符号位置」にマッチしてしまいます (/u フラグが有効な場合)。 これを解決するための提案
C# Advent Calendar 2021の参加記事となっています。去年は2個エントリーしたあげく、1個すっぽかした(!)という有様だったので、今年は反省してちゃんと書きます。 スクレイピングに関しては10年前にC#でスクレイピング:HTMLパース(Linq to Html)のためのSGMLReader利用法という記事でSGMLReaderを使ったやり方を紹介していたのですが、10年前ですよ、10年前!さすがにもう古臭くて、現在ではもっとずっと効率的に簡単にできるようになってます。 今回メインで使うのはAngleSharpというライブラリです。AngleSharp自体は2015年ぐらいからもう既に定番ライブラリとして、日本でも紹介記事が幾つかあります。が、いまいち踏み込んで書かれているものがない気がするので、今回はもう少しがっつりと紹介していきたいと思っています。それと直近Visual
今日は10/31 にやった配信で出てた国旗絵文字の話とか。 絵文字を検索したら別の絵文字が引っかかるというのの原理的な話になります。 元ネタ まず配信中になんで国旗の話が出たか(「先日、国旗絵文字をどうデコードするか問題を見たなぁ」というのの元ネタ)の紹介。 この配信の数日前に、こんなネタがバズっておりまして。 EUC-JP では『海』 (b3 a4) を検索した際に『ここ』(a4 b3 a4 b3) にマッチしてしまう UTF-8は自己同期になるように考えられているし、UTF-16だってサロゲートペアもハイサロゲートとローサロゲートを分けているのに、国旗絵文字は教訓を生かしておらず ここから派生して、国旗絵文字の仕様がいかにひどいかという話に… UTF-8 の勝利 UTF-8 「多バイト文字の1バイト目」と「多バイト文字の2バイト目以降」が被らないように作ってあります。 その結果、任意の
環境 PHP 8.1.0 myclabs/php-enum 1.8.3 myclabs/php-enumを使って作った下記のサンプルコードを列挙型(Enum)に置き換えれるか試してみたいと思います。 declare(strict_types=1); use MyCLabs\Enum\Enum; class Cardsuit extends Enum { public const CLUBS = 1; public const DIAMONDS = 2; public const HEARTS = 3; public const SPADES = 4; public function label(): string { return match($this->value) { self::CLUBS => 'クラブ', self::DIAMONDS => 'ダイヤモンド', self::HE
After you enter your password, you’ll complete a second step on your phone. Keep your phone nearby when you sign in. 2-Step Verification will be turned on automatically on December 9. You can turn this on sooner if you want — your account is all set.
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Ruby 🔗 改訂2版『プロを目指す人のためのRuby入門』発売 ブログ書きました。今日は改訂版チェリー本の発売日なので、改訂版の見どころをまとめてみま
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 今回は以下の2つの公式更新情報から見繕いました。 Automated shard swapping
JSer.info #569 - Rust + Node-APIでクロスプラットフォーム向けnpmパッケージを公開する - 別にしんどくないブログという記事では、Rustでnapi-rsを使って書いたコードをNode.jsから利用する方法について書かれています。 パッケージとして公開する場合、Node.jsのNode-APIを使うためネイティブモジュールとしてインストール必要があります。 その場合に、インストール後にpostinstallでバイナリをダウンロード/ビルドするのではなく、optionalDependenciesを使ってアーキテクチャごとのパッケージをインストールできるようにする方法についても紹介されています。 #WebSpeedHackathonの2021年版が開催されています。 重いサイトを軽くしろ!年末年始は #WebSpeedHackathon 2021 に挑戦しよう
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く