あゆゆん♪ @ayu_littlewing よく訓練されたITエンジニアは 「住所と文字コードには迂闊に手を出しちゃならん!!」と徹底的に叩き込まれているのだが、この感覚はたぶん素人には分かりにくいと思う。。。 あともうひとつくらい迂闊に触るながあった気がしたけどなんだっけな。。。 2023-06-06 08:57:31
巷で話題になっているこの話題、画像をスクレイピングやダウンロードされたくないということで騒がれています。その話に関しては色々な意見があると思ってますがここでは置いておくとして・・・ 技術的にやるとしたら実際どれくらい対策できるの?ということが気になったので、自分の知識で出来る限り対策したものを作ってみることにしました。 最初に 賢い方はわかると思いますが、タイトルは釣りです。 絶対に画像をダウンロード&スクレイピングさせないページは存在しません。ソフトウェアにおいて絶対と言う言葉はまず存在しないのです。ブラウザで表示している以上、仕組みさえわかれば技術的には可能です。 そのため、 「元画像のダウンロードとスクレイピングを非常に困難にしたWebページを本気で作ってみた」 が実際のタイトルかなとなります。 とはいえ、この仕組みであれば大多数の人は機械的にスクレイピングすることを諦めるレベルの作
俺にとってはビル・ゲイツよりもスティーブ・ウォズニアックよりもリーナス・トーパルズよりもケン・トンプソンよりもアラン・チューリングよりもティム・バーナーズ=リーよりもブライアン・カーニハンよりもビャーネ・ストロヴストルップよりもジョン・バッカスよりもグレース・ホッパーよりもデニス・リッチーよりも数々の功績を挙げた偉大なプログラマよりも本当に本当に偉大なプログラマだった 親父の職業がプログラマだと子供の頭で理解したとき本当に驚きだった 俺の親父はテレビテニスが作れると知ったとき、オリジナルのゲームウォッチを目の前で作りあげ誕生日プレゼントだと渡してくれたとき、俺の親父は何でも出来る人なんだと本当に憧れた PC9801やX68000で疑似3Dやワイヤーフレーム3Dをレンダリングされた際の衝撃が理解できるだろうか?俺はまさに最先端のゲームを目にしていると子供ながら身を震わせてしまったことを今でも
2023.05.10 官報に使われる「官報文字」というものがあります。 そこには渡辺さんの「辺」の異体字が140文字も登録されています。 日本語の常用漢字には2136文字ありますが、そこには邉や邊などは入っていません。 そこでJISの第四水準までを含むJIS X 0213という標準を定め、スマホやパソコンではここまでを標準的に表示できるようにしています。 ところが我が国の戸籍で使ってもよいとされている文字はそれを遙かに超えていて、少なくとも55,270文字もあります。 全ての国民の氏名をコンピュータで扱えるようになることを目指して、戸籍統一文字や住基ネット用の統一文字を網羅した「文字情報基盤」を2011年に策定し、それにあわせたフォントを作成し、無償で提供しています。 この「文字情報基盤」(MJ)には、58,862文字が含まれています。 しかし、このMJを全庁的に採用している自治体は、川口
小ネタです、JavaScriptで本日の日付をYYYY-MM-DD形式で得るコードは案外面倒です。 本日2023年4月17日なら 2023-04-17 という文字列を得るコードはRubyならTime.now.strftime("%Y-%m-%d")、Pythonならdatetime.today().strftime("%Y-%m-%d")(importは省略しました)と簡単に書けますが、JavaScriptでは案外面倒なのです。 追記: いくつかの間違いのご指摘がありましたので修正しました(2023-04-19)。 DeepAIが生成した画像です いっけん正しいようで間違ったコード new Date().toISOString().slice(0,10) new Date()で本日の日時を取得します toISOString()メソッドは日時データをISO形式の文字列に変換します、例えば 2
Webの将来はサーバサイドレンダリング(SSR)に回帰していく。Denoが主張するIsomorphic JavaScript(もしくはUniversal JavaScript)とは何か? 静的なHTMLファイルをWebサーバが配信する仕組みから始まったWebは、サーバ側で動的にHTMLを生成するCGIの仕組みや、Webブラウザ上でJavaScriptを実行してインタラクティブな操作を実現するなどの仕組みを得たことでWebアプリケーション基盤へと発展しています。 現在、Webアプリケーションの仕組みとして代表的なものがSPA(Single Page Application)でしょう。 SPAはWebブラウザ上で多くの処理が行われるためユーザーの操作に対する反応が速く、インタラクティブ性の高い快適なWebアプリケーションを実現できる利点があります。 しかし、これからのWebはサーバサイドレンダ
計算複雑性理論を知らないやつが何をやらかすか教えてやろう。 ある業務用Webシステムは検索結果の表示件数を5/10/20件から選べるようになっててて,URLのパラメーターで「?n=20」とかやって送ってた。メニューからは三つの値しか選べないが手で書き換えれば100とか200とか選べる穴が空いてた。 で,よりによってメモリ使用量がO(n^2)になるコードを書いていやがった。n=500でOutOfMemoryError。リモートから面白いようにサービスを落とせた。 CSを知ってるやつなら,コードを書いた瞬間から「これnの上限チェック入れないとまずいな」とわかるんだよ。というか,普通にこのコードはまずいと考えてアルゴリズムをなおして,O(1)でDBレコード全件持ってきても落ちないコードにできてたはず。
トヨタ自動車は10月7日、クルマ向けネットワークサービス「T-Connect」ユーザーのメールアドレスと「お客様管理番号」、29万6019件が漏えいした可能性があると発表した。 2017年7月以降にT-Connectユーザーサイトにメールアドレスを登録した人が該当する。氏名や電話番号、クレジットカード番号などが漏えいした可能性はないという。 原因は2017年12月にT-Connectユーザーサイトの開発委託先企業が、取り扱い規則に反してソースコードの一部を誤って公開設定のままGitHubアカウントにアップロードしたこと。その後、5年にわたって第三者がソースコードの一部にアクセスできる状態で放置されていた。ソースコードにはデータサーバへのアクセスキーが含まれ、これを利用するとサーバに保管しているメールアドレスやお客様管理番号にアクセスできたという。 トヨタは9月15日にGitHub上のソース
プライバシー研究者で元GoogleエンジニアのFelix Krause(フェリックス・クラウス/@KrauseFx)さんが8月19日に公開した、SNSのモバイルアプリに関するセキュリティの懸念事項に関するレポートが話題です。このレポートにTikTok公式がTwitterで反論しましたが、さらにその反論にニューヨーク・タイムズ記者が反論するちょっとした論争に発展しています。 フェリックス・クラウスさんのレポート フェリックスさんのレポートは、アプリでURLをクリックした際などにリンク先をスマートフォンのSafariやChromeなどデフォルトブラウザではなく、アプリ内で開く“内蔵ブラウザ”についてまとめたもの。一部のアプリでは、この内蔵ブラウザがセキュリティリスクを抱えているということです。 このレポートでは、特にTikTokが最も多くのリスクを抱えていると指摘。リンクをタップした際にデフォ
みりせっく@雌尻ンダー extends Siri @grandcraws ツイ主が勘違いされて傷ついてるようなので、一旦謝罪とこの場でも補足しますが、初学者のコードは普通汚い。初心者はコードが綺麗か汚いかも判断基準がないから。だから教える側がここは綺麗、ここはまずい、普通はこう書く、特殊な書き方はやめよう、という教えをちゃんとやりなさいっていう話です。 2022-08-17 02:49:22 みりせっく@雌尻ンダー extends Siri @grandcraws @manaboru 正論を言うことと相手を傷付けることは無関係で、傷付けるから正論を言わないは間違いだと思いますよ。傷付かないように正論を言うべきで。で、今回はその配慮が足りず誤解させて傷付けてしまったからそこに対して衆人に見える形でリプで直接謝罪してます。それ以上の話として何を求められてますか? 2022-08-17 12:2
「シリエン戦隊JUN TV」は、現役エンジニアである酒井潤氏がシリコンバレーにおける、働き方やキャリアなどの情報を届けるチャンネルです。今回は、酒井氏が今まで一緒に働いてきた中で出会った天才プログラマー3人について。全2回。後半は、酒井氏がレベルの差を痛感した韓国人天才プログラマーについて。 「正規表現ぐらい覚えてないの?」と言い放った天才 酒井潤氏:3人目は韓国の方で、その方もやはり異常にプログラムができました。 昔、「OpenFlow」というネットワーク関係のルーティングを処理するプロジェクトがあって、その時に私も彼と一緒にPythonを使ってネットワークのルーティング系統の部分のプログラムを書いていました。 ネットワーク関係のプログラムを書く時は、RFCやIEEEとか、プロトコルにしろネットワークのやり方にしろ、世界で決められた標準がドキュメントのかたちになってWebに上がっているん
AtCoderで水色になりました。いわゆる色変記事です。 本記事では以下の4点について書きます。 競プロをしていて良かったこと・できるようになったこと 勉強したこと・改善案 レート推移や目標ラインの話 環境やマクロの紹介 最初に自己紹介すると、自分は情報系出身のSEで、現在は2年目です。 今年の頭に競プロをはじめ、先日水色になりました。 「プログラミング未経験から~」「50歳を超えて~」みたいな少数派ではないですし、「たったN回で達成!」「M年の苦闘の末に」みたいなドラマもありません。 普通に勉強しているエンジニアが競プロを半年間そこそこ頑張ったみたいな記事です。 バッググラウンドや参加回数については③で詳しく書きます。 なお、競技プログラミングについてザックリ知っている前提で書きます。 「競プロってなに?」「水色ってどのあたりなの?」という場合は が良くまとまっています。 ① 競プロをし
「TypeScriptとは」などシングルワードの検索結果に強いTypeScript入門記事の多くに、誤解を招く内容があることを確認しています。 以下にあげる記事を参考にされた方は情報のアップデートをしていただきたいですし、記事を公開しているメディアにおきましては内容を見直していただけるとありがたいです。 TypeScriptならクラスが書ける 「JavaScriptにはクラスがない、TypeScriptにはクラスがある」「ゆえに読みやすい短いコードが書ける」といった記述が見られますがこれは誤解です。 Udemy メディア - TypeScriptとJavaScriptの違い「TypeScriptではクラスの作成ができる」 侍エンジニア - 「TypeScriptでは、JavaScriptでできなかった「クラス」の作成を実現しています。複雑で大規模な開発を行うとき、JavaScriptではコ
エンジニアは意外にも信心深いところがある。サーバーをお祓いしたり、デバッグ神社を建てたり、リリースするときにお祈りする。 iOS、Androidアプリを全面リニューアルと一部サービス終了があったので、今までのソースコードへの感謝の気持ちを込めてお焚き上げをすることにした。 今まで稼いだコードへの感謝 弊社では、アプリを全面リニューアルすることにした。 外注だったのを内製化した Objective-CとJavaで書かれていたのをSwiftとKotlinに置き換えた モダンなアーキテクチャにした 外注を行っていたのを内製化するにあたって、中途採用が行われチームができた。人を雇って改善を行っていこうと思うほど、重要なアプリになっていた旧アプリはそれだけの価値があったということになる。 内製化を行ったチームは、初めから内製化をし始めたわけではない。初めにやったことは内製化の価値を示すためにチームは
この記事はコードの書き方について、書き方そのものを推奨するものではなく、このような書き方も出来るという紹介です。コメント欄まで一緒にみていただくと学びになります。 ※記事はいただいたコメントを反映しましたので、当時のコメントと記事の内容に差分があります 1.破壊的メソッドを避ける 破壊的メソッドとは、元の配列の要素を変えるメソッドです。以下の例ではconstで宣言した変数numbersが、pushメソッドにより更新されています。 対応前 const numbers = [1, 2, 3] numbers.push(4) console.log(numbers) // [1, 2, 3, 4] この場合、元の配列の要素を更新するのではなく、スプレッド構文を使って新しい変数に代入します。変数はなるべくイミュータブルにしておくと、意図しない不具合やプログラムの可読性や保守性が向上します。push
Photo by Giorgio Trovato on Unsplash 年収800万は普通のエンジニアか否か。火種はいつものTwitterでしたが、いろんな意見が飛び交う興味深い話に各所でなっていたようですね。うーん、様式美。 ちなみに私の感覚だとこんな感じで、年収800万といえば、一般的なWEB開発においては複数プロジェクトの技術設計を行うアーキテクト級で、SIerではおそらく課長-部長級の給与になると思っております。年収800万はそういうラインです。 年収340 → 新卒 年収400 → 2年目(転職サイトゴロゴロ 年収500 → 普通のエンジニア 年収800 → アーキテクト、テックリード 年収1000 → PM、一部スタートアップエンジニア 私の感覚だとこれですね https://t.co/1bXuiPexRj — shinoyu (@shinoyu) February 9, 2
私が人生でずっと悩んで追い求めていたものがついに解決した。それは、なんでも良いから何かが「出来るようになる」ことだ。 昔からいくらその対象に時間をかけても、努力しても、人並みにすらならない。人にやってもらうとか自分がやらないことに関してはうまくいくのだが、自分が何かが出来るようになるということに関しては人生50年目だが、絶望的で、それが自分の自己肯定感や、人並みに生きることへの罪悪感を生んでいた。人生で解決したかった問題 No.1 だ。だからそれをずっと解決しようと頑張ってきた。 ギター演奏での解決方法私はクソ不器用で、なにやってもできないので、人生で出来たらいいことを2つだけ定めた。ギター演奏と、プログラミング。ギター演奏に関しては少し前に解決した。根本的な問題を一つ上げるとすると、「ゆっくりから、メトロノームで練習する」これだけだ。 ギターはもう何十年も演奏しているのに弾ける感がなかっ
Well, if you are a big TikTok fan and live in the United States, I have some bad news for you: A bill that would force a sale of TikTok or ban it in the United States passed the Senate. And the Presid Nvidia is acquiring Run:ai, a Tel Aviv-based company that makes it easier for developers and operations teams to manage and optimize their AI hardware infrastructure, for an undisclosed sum. Ctech re
Vue.jsを使った開発でよく悩まされるのがコンポーネントの肥大化です。複雑なアプリケーションになると、1つのコンポーネントが<script>ブロックだけで数百行…なんてこともめずらしくないでしょう。従来、Vue 2までの標準的な書き方では、UIとしてのコンポーネントの細分化はできてもロジックの分割や整理には限界がありました。しかし、Vue 3のComposition APIを活用すると、はるかに柔軟な整理・分割が可能です。 「Composition APIは難しそうだからまだ使っていない」という方、あるいは「導入はしているけどイマイチメリットがわからない」という方は、この機会にぜひComposition APIを活用したコンポーネントの整理術を試してみてはいかがでしょうか? なぜ、Vueのコンポーネントは肥大化するのか? 簡単な例を見てみましょう。下のサンプルはミニマムなアナログ時計のコ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く