Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Shell Script Advent Calendarをご覧の皆様、初めまして。Piroといいます。普段はJavaScriptやRubyでのソフトウェア開発やFirefoxの法人向け技術サポートなどをしつつ、日経Linux誌でシス管系女子という連載マンガを描かせて頂いております。 Linux Advent Calendarの方にGUIアプリのスクショを定期的にSlackに流すシェルスクリプトの話でエントリーしたのですが、Shell Script Advent Calendar的にはそれをこっちを投稿した方が良かったかもと今更思いつつ、今日は別の話題です。 シェルスクリプト製Twitterクライアントには恐怖!小鳥男やtweet.sh(同名の別実装)などいくつか実装例がありますが、自分も2015年末頃からtweet.shという汎用のTwitterクライアントを開発しています。この記事ではt
[root@localhost ~]# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm を取得中 警告: /var/tmp/rpm-tmp.7Fsh3a: ヘッダー V4 RSA/SHA1 Signature、鍵 ID 7bd9bf62: NOKEY 準備しています... ################################# [100%] 更新中 / インストール中... 1:nginx-release-centos-7-0.el7.ngx ###
0. はじめに 再帰関数は初めて学ぶときに壁になりがちで なんとなくわかった...けれど どんな場面で使えるのだろう...いい感じの例を探したい! という気持ちになりがちです。再帰関数は、なかなかその動きを直感的に想像することが難しいため、掴み所が無いと感じてしまいそうです。 そこで本記事では 再帰関数の動きを追いまくることで、再帰関数自体に慣れる 再帰的なアルゴリズムの実例に多数触れることで、世界を大きく広げる! ことを目標とします。特に「再帰関数がどういうものかはわかったけど、使いどころがわからない」という方のモヤモヤ感を少しでも晴らすことができたら嬉しいです。なお本記事では、ソースコード例に用いるプログラミング言語として C++ を用いておりますが、基本的にはプログラミング言語に依存しない部分についての解説を行っています。 追記 1. 再帰関数とは 再帰の意味はとても広いです。自分自
TL;DR WASMって凄いね.JavaScript処理系すら実装できるんだって. ならブラウザはWASMだけをサポートすれば楽なんじゃないかな. という考察記事です. 経緯 私は少し前からRustでJavaScript処理系を書いています.(まだまだ機能不足ですが) ある日,ふと思いました.*Rustで書いてるんだからWASMに変換するのも楽なんじゃないか?*と. 面白そうなので,試してみたわけです. 意外と面倒だった RustからWASMへと変換する方法を説明した記事は,調べればいくらでもでてきます.無論そのとおりに手を動かしてみるわけです. しかし,いざやってみるとコンパイラに結構文句を言われます.考えてみれば当たり前ですが,libcなんて使っていたらWASMには変換できません. なので余分なコードは削り,WASMに変換できるようコードを書き直しました. すると,すんなりWASMに変
はじめに 最近GCPでWebサービスを立ち上げたので、そのときに実施したことをメモとして残しておきます。 今回はGCEで Debian + Nginx + Railsで環境を作りました。 ドメイン取得以外は終始無料で進めるための努力をしました。 また、今回はRailsアプリケーションを作成することは目的としていませんので、そこについてはあまり触れません。 やったこと GCEでインスタンスを立ち上げる アカウント作成時に貰える無料トライアル枠とは別に、無料で利用できるリソースがあります。 Always Free と呼ばれていて、GCEの場合は以下の要件を満たすインスタンスのみ永久に無料でインスタンスを立てることができます。 リージョンをus-*1から選択する 1つのf1-micro VM インスタンス 30GB以内 の永続ストレージ ※無料対象リージョンはus-*1のみというご指摘を受けまし
今回のテーマ Webパフォーマンスを改善する上で知っておきたい知識をまとめてみました。 前回の記事では使わなかった(使えなかった)技術や方法なども含めて記載します。 また、ブラウザのレンダリングなどについても書きたいと思います。 (2019年5月23日追記) 過去の記事はこちら How to 速度改善 ー計測・知識編ー How to 速度改善 ー原因調査編ー How to 速度改善 ー実装&技術調査編1ー 1. ブラウザレンダリングの仕組み 推測するな、計測せよ という言葉にあるように、闇雲にチューニングを初めても良い結果は出ません。まずはブラウザレンダリングの仕組みからみていきましょう。 ブラウザレンダリングの流れ レンダリングの大まかな流れは Loading→Scripting→Rendering→Painting(これでページが表示される) となっています。 この処理の内容をフレーム
きっかけ とある目的のため、Qiitaアカウントのパスワードを変えようと、設定画面で入力したところ・・・ (# ゚Д゚)まずまずってなんやねん!! けど、ここで終わったら、ただのクレーマーになってしまうので、 プロの威信をかけて最適な画面を提案しようと思いました。 なぜいけないのか? 今回のパスワード設定画面には大きく3つの課題があります。 1. パスワードの強度が何を基準に評価されているか分からない 2. メッセージが何を意味しているのか直感的に分からない 3. これで続行できるのかが分からない 全ての課題に共通する考え方として、 「システムが伝えている情報を人間が理解できない」ことが改善すべきポイントです。 エラーメッセージはとても重要な役割を果たします。システムが受け付けられない情報なので、システムとしてはユーザーに改善を求めなければいけません。 パスワード設定画面で伝えるべき情報は
はじめに 『レンダリングの仕組みなんて知らなくても、ブラウザが勝手にやってくれるじゃん!』 当時駆け出しのエンジニアだった私はそう思っていました。 実際、当時の私はレンダリングの『レ』の字も知りませんでしたが、特に業務上で問題はありませんでした。 しかし、その時は突然訪れました。 クライアントの要望でアニメーションを多彩に取り入れた案件を実装した際に、テスト段階で一部ブラウザ(S○f○ri、E○ge)でアニメーションがひどい状況になっていることが発覚しました。 (開発中はChromeで確認を行っており、Chromeでは特に問題はなかったので発覚が遅れました。) それからは、狂ったようにパフォーマンスの改善方法をググり、修正する日々が続きました。(最終的には、なんとかマルチブラウザでの動作も担保し、納品まで完了しました。) その案件が落ち着いた後、改めて自分の調べたことを振り返ると、局所的な
EmacsJP Slackで話題に上がったEmacsモダン化計画という語感に触発され、Emacsひなまつりでそれっぽい話をすることにした。本記事では、見た目中心の変更方法について紹介する。 ちなみに現在82パッケージ導入しているが、use-packageでフル遅延ロード、なにか遅ければデフォルトのプロファイラで原因を解析して修正しているのでEmacsでも起動も動作も早い(現在の起動時間は0.4秒)。 コードが読みやすいテーマ -- doom-emacs-themes(doom-dracula) Doom Emacsという(Evilユーザ向け)Spacemacs系のプロジェクトがあり、このDoom Emacsのために開発されたテーマ。 目立たせるものと、そうでないもののバランスが良ため、非常に気に入っている。Dracula公式のEmacsThemeもあるが、Doomとは微妙に色味が異なる。
本題のチートシートはこちら PNG SVG https://d.kuku.lu/6b5cc7b0a9 から DL できます 作った理由 git って他人に概念を説明するのって難しいし、自身も何度も反復させないと定着しなかったなあという感覚を持っていたので作ってみました 所感 こちらの Git チートシートですが、この中に盛り込めなかった内容で 第2段 を作成しようか考え中です 皆さまのオススメの便利コマンドとか、この内容は必須だろ!的なものがあればをご教示いただければ幸いです もし誤りがあれば、作者の心が折れない程度にご指摘いただければ幸いです あとがき ここまで反響を頂けるとは思っておらず、嬉しい限りです・・・本当にありがとうございます・・・!! また、図は全て自作です。図における言語は英語、説明は日本語、と言う形に統一しました。(吹き出し部分だけ日本語になっていたのでこちらは修正しまし
平日の早朝に道玄坂を下るアベックに破滅と滅亡を。どうも、@neer_chanです。 皆さん、仮想スクロールしてますか? 概要 仮想スクロールとは 仮想スクロールの仕組み 仮想スクロールの魅力 前提として、縦スクロールの話をします。 仮想スクロールとは GIFの通り、見えている範囲(+α)のみレンダリングするもの。 要は、ロケット鉛筆みたいなものです。(絶対に違う) 仮想スクロールの仕組み イカれたメンバーを紹介するぜ! 見える範囲を指定するためのDiv スクロールする高さを指定するDiv ListItemを置くUnorderdList いつかの、いくつかのきみとListItem 以上の4つが登場するメンバーだ! ちなみに、通常のスクロールの場合は2の役割を3が行う感じになります。 また、以下の要素をあらかじめ指定する必要があります。 見える範囲に表示する4のListItemの個数(あるいは
(2022/08/11 追記) uBlacklist の使い方に関する情報はやや古くなっています。最新の使い方を知るには、ウェブサイトを参照してください。 基本的な使い方 | uBlacklist uBlacklist Google の検索結果から指定したサイトをブロックする拡張機能を作ってみました。Personal Blocklist (by Google) の代替になるかもしれません。 Chrome 版 https://chrome.google.com/webstore/detail/ublacklist/pncfbmialoiaghdehhbnbhkkgmjanfhe?hl=ja Firefox 版 (Android でも一部制限はありますが動作します) https://addons.mozilla.org/ja/firefox/addon/ublacklist/ GitHub h
なぜ今までのDNSでは問題があるのか インターネット上の通信の多くは、ブラウザを利用したウェブによるものです。 セキュリティ向上のため、GoogleやFireFoxといった大手ブラウザベンダーが平文通信であるHTTPから暗号通信であるHTTPSへの移行を推奨し、盗聴・改竄・なりすましといった問題を解決することが出来ます。 しかしながら、そのHTTPS通信をする前のDNSによるドメイン解決は暗号化されておらず盗聴でアクセスするホスト名を把握される、なりすましで偽の応答を返されるといった可能性があります。 それを防ぐための方法の1つが、DNS over HTTPSです。 DNS over HTTPSとは 今までDNSサーバ(フルリゾルバ)の(主に)UDPポート53番に対して行われていたDNSによる名前解決を、TCPポート443番に対するHTTPS(HTTP/2 over TLS)通信上で行うプ
環境と概要 さくらのVPS CentOS 7.4 SELinux無効 イメージバックアップツールで丸ごとバックアップ → マウントしたオンラインストレージに保存。 という疑似自動バックアップ機能構築のお話 さくらのVPSにはバックアップ機能がないため、もしもの場合に備えて外部への自動バックアップ機能を追加する 保存先をさくらインターネット外部(オンラインストレージ)にしたのは、さくら側の障害(事例1,事例2,事例3)によるデータ損失を防ぐため。 「さくらのVPS」でバックアップの機能はありますか いいえ、「さくらのVPS」は、標準・オプション共に、バックアップの機能はございません。 同一ゾーンであれば複数台構成でのご利用が可能でございますため、他のサーバとデータを同期する、 重要なデータはローカル環境に保存するなど、ご対応ください。 機能要件 定期的なバックアップ(毎日・3世代) 保存先は
以下順を追って説明します。 HelloRequest 相手にClientHelloを送信するよう促すメッセージです。送信しなくても構いません。 ClientHello ServerHello ClientHelloとServerHelloは、TLSのひとつめの肝です。後ほど説明します。 ServerCertificate サーバ証明書を送信します。中間CA証明書なども、ここで送ります。 ServerKeyExchange 鍵交換メッセージその1です。鍵交換はTLSのふたつめの肝で、これも後ほど説明します。 CertificateRequest クライアント証明書を送信するように促すメッセージです。クライアント証明書が必要な場合に送信します。何そのクライアント証明書って?と思った方は読み飛ばして構いません。 ServerHelloDone サーバからの送信終了を示すエンドマークです。 Cli
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く