タグ

2021年9月26日のブックマーク (24件)

  • リーダブルなコードを書く習慣の身に付け方・実践の仕方 - 2021-09-22 - ククログ

    結城です。 2021年9月13日から14日にかけて、東京都立大学の大学院生向け特別講義として「リーダブルコード演習」を実施しました。 演習の内容は、当社でこれまでにも行ってきているリーダブルコードワークショップを、プログラミング経験が比較的浅い・プログラミングの量がまだそれほど多くない方向けに調整した内容としました。 この記事では、実施した演習の概要と、今回意識した点を紹介します。 文が長いため、目次を用意してみました。 発端 演習の構成 座学パート リーダブルなコードを書く意義について リーダブルコードを実践するためにまず取り組むべきこと 実際の現場での「コードがリーダブルでなくなってしまった」「リーダブルになるよう改めた」実践例 最初の実装 リーダブルでなくなった実装 リーダブルさを取り戻すための改修 コードがリーダブルでなくなっていってしまう要因 壊すのが怖くて、見て見ぬフリ 恐怖

    リーダブルなコードを書く習慣の身に付け方・実践の仕方 - 2021-09-22 - ククログ
    lugecy
    lugecy 2021/09/26
  • GitHubリポジトリでZennのコンテンツを管理する

    ZennにはWeb上のエディターが用意されていますが、GitHubリポジトリと連携すればローカルのテキストエディターで執筆することもできます。 GitHub連携時のイメージ GitHubリポジトリと連携した場合、投稿コンテンツの作成や更新はすべてリポジトリ内で行います。登録したブランチに変更があると、zenn.devへ自動で同期(デプロイ)が行われます。 同期するブランチの指定

    GitHubリポジトリでZennのコンテンツを管理する
    lugecy
    lugecy 2021/09/26
  • 切り取り線 on Twitter: "✄------------ PM 1:00 ------------✄"

  • POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! - Qiita

    POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき!ShellScriptBashshellPOSIX はじめに find の出力を xargs にパイプで渡すというのはよく見かける使い方ですが、find -print0 | xargs -0 が使えない POSIX 準拠のシェルスクリプトでは find -exec {} + を使った方が良いです。安全かつ十分に速いからです。よく見かける -exec {} ; ではなく -exec {} + ですので間違えないようにしてください。多くのケースでは + の方が優れているのですが ; ばっかり使われているのを見ると、意外と知られてない気がします。 少しだけ予備知識として、-exec {} ; は -exec {} \; と ; をバックスラッシュでエスケープするのがよく見る使い方

    POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! - Qiita
  • 「あれ、プログラミングが楽しくない…」【すべてのエンジニアへ】 - Qiita

    経緯 ストーリー形式で長々と書いているため、結論だけ知りたい人は「僕はここに居てもいいんだ!!!」へどうぞ。 プログラミングが楽しくなくなった日 ある日、Javaの勉強中にふと思った 「これ、なんの役に立つんだ?」 私は、三年間Cをやっていて、PythonJavaScriptをかじったことがある。 今までに「Twitter絵師探索」や「トイレットペーパー管理システム」、「クソ雑魚AI付きオセロ」に「ブロック崩し(PICマイコン)」などを作ってきた。 お世辞にもプログラマーと言えるレベルではないが、ちょっとしたミニアプリくらいなら作れる程度だ。 しかし、私の技術不足と人脈不足で「これは誰かに貢献したぞ!」というものはない。 そこで、ひとつの疑問が浮かぶのだ 「あれ?プログラミングしても意味なくない?」 幼い日の僕 私が最初にプログラミングのようなものを始めたのは「部員成績記録Excel

    「あれ、プログラミングが楽しくない…」【すべてのエンジニアへ】 - Qiita
  • 扇風機のファームウェアを書き換えて潜在能力を引き出した話(その1) - Qiita

    初めに 私の家には数年前に買った安い扇風機(FBQ-191D https://www.amazon.co.jp/dp/B00V3EKFMU )があるのですが、暑い時は風量を最強にしてもすこし風が弱いと感じることがありました。(amazonのレビューでも何件かそんなこと書かれてました) なので、改造して風を強くさせることを検討してみました。 モータを変えたりしないと風を強くすることはできないと考えてたのですが、あまりお金をかけずしようと検討した結果、中身のソフトを書き換えるだけで風量を強くすることができましたので、どのようにしたのかについてお話ししたいと思います。 調査 潜在能力を持っているかどうかの確認 まずはどうやってモータを制御してるかを確認しました。 内部の基板はこんな感じでした。 まずは、一番重要なモータ駆動用の信号を見てみました。 モータに繋がるケーブルは画像の下にある5線のコネ

    扇風機のファームウェアを書き換えて潜在能力を引き出した話(その1) - Qiita
  • ■ - hitode909の日記

    今の家にはもう4年以上住んでるのだけど、家賃が割安で、ちょっと田舎なこともあって駐車場代込で相場通りかつ設備が充実している。土地が安いので車を買っても安価に維持できそう、と思って買ってみた、ということもあった。 ところで、そのうち保育園送り迎えが始まると、二人の職場にもっと近づいて、通勤ついでに保育園に寄れるほうが良いのでは、そして、もし今の家の近所で保育園に入ってしまうと、その後転園するのも大変だろうから、容易に引っ越しできないのでは、という話をしている。 そうすると烏丸御池あたりとか、街中に住むことになってしまって、部屋は当然高いし、駐車場代も月3万円とかになってしまって高い。割安な部屋から、京都で一番高い区画に引っ越すときの価格差を体験することになって、めちゃくちゃ高いな、とびっくりしている。 今わかっていることをまとめると、不確実な要素が多くて難しい。 自分の通勤時間 家で仕事して

    ■ - hitode909の日記
  • オブジェクト指向はすでに粒度が時代にあっていない - きしだのHatena

    定期的にオブジェクト指向disを書いてしまってるのだけど。 とりあえずオブジェクト指向の話をすると定義が人によって違いすぎるので、改めてここでの定義を書いておくと 、基的にはOMTの「データ構造と振る舞いが一体となったオブジェクトの集まりとしてソフトウェアを組織化すること」 に従うのですが 「1990年に流行りソフトウェア開発のすべてを飲み込み、いまとなっては人それぞれ定義が違って技術的議論に使えなくなった、主にオブジェクトを基単位としてプログラムを整理するやりかたを指すマーケティング用語」 という感じです。 ほとんどの場合で人によってオブジェクト指向の指す範囲が違いすぎて、技術的知見の共有には使えなくなっています。でも、いずれの定義にしろオブジェクトを基単位にするというのは重要ではないかと。 ソフトウェアの組織化の単位としてオブジェクトを使うというのが大事で、データの搬送に構造体代

    オブジェクト指向はすでに粒度が時代にあっていない - きしだのHatena
  • 1分間あたりの給料を計算する - hitode909の日記

    たとえば新卒入社して年収400万円だとして、年間200日働くとして、1日あたり8時間働くとすると、1分間あたりの給料は400*10000/200/8/60=41.6で、1分間座ってると40円くらい、1時間座ってると2500円かかっていることになる。 年収800万円だとその倍で、1分座ってるだけで80円かかっている計算になる。1時間ぼーっと座っていると5000円くらい。 いま作っている画面が、効率の悪い作りになっていて、手元で表示されるのに70秒くらいかかっている。自分は待ち時間にこうして日記でも書くのでいいとして、引き継ぎ先のデザイナにこれを毎回待ってもらうと1回あたり缶コーヒー1ずつくらいが浪費されそうで申し訳ない、と思って、毎回70秒待ってもらうのはありえないのでちょっと速くしてから引き継ごうと思った、ということがあった。 これが1回20円ならいいということはなくて、時間は人類に平等

    1分間あたりの給料を計算する - hitode909の日記
  • Big Sky :: text/template と html/template に continue/break が入った。

    Go のテンプレートエンジンは、一般的なテンプレートエンジンの記法と気色が異なり、独特の文法で記述するのですが、ループ制御構文に関してはお世辞にも満足できる物ではありませんでした。それは continue や break が無いというのが理由です。continue や break が無かったので、無駄に if をネストして条件にあった値を出力しなければならず、必然的に無駄な if のネストが起きていました。 ■ビーフストロガノフ 2011年 受賞 2019年 受賞 ■カレーライス 2012年 受賞 ■満漢全席 2015年 受賞 2019年 受賞 例えば上記の様な出力をするには、以下の様なテンプレートを書かなければなりませんでした。 package main import ( "os" "text/template" ) var tmpl = ` {{- range .}} {{- if g

    Big Sky :: text/template と html/template に continue/break が入った。
  • どうやって仕事の仕方を学ぶか? - Magnolia Tech

    ちょうど同じ話をしてました トラブルシュートのときの言動とかに注目しようって言ってました https://t.co/XWQbZflvDW— magnoliak🍧 (@magnolia_k_) 2021年9月22日 ちょうどこんな話をしていました。 人間イザという時に素がが出るとか言いますが、少しネガティブなニュアンスも含まれてる言葉だな、と普段から思っていて、どちらかというとイザって時にこそ準備していたり、普段考えていたりすることがスっと出てくるので、そんな時に一番良い行動、言動が取れるようにありたい、と思っていて、そんな視点で他の人の行動や言動(とくに自分よりちょい立場とか経験が上の人の)をよく観察しておくといいんじゃないかと思います。 良いコメントをいただいたので追加。まさにコレ。 障害対応は経験が少ないうちほど自分から巻き込まれていくっていうムーブ、個人的にはおすすめ。 「なにかで

    どうやって仕事の仕方を学ぶか? - Magnolia Tech
  • ■ - hitode909の日記

    夜中に子供が起きたとき、タオルケットをかけると安心するのかスッと寝てくれるのだけど、窒息を防ぐためにはスリーパーを使って、なにもかけないほうがよい。 また、人的にはうつ伏せで寝るのが好きなようだけど、うつ伏せで寝ると窒息のリスクがあるので仰向けか横向きで寝てほしい。 みたいな、相反する事情があって、窒息死するよりは他のどんな出来事もそれよりは良いだろうから、夜通し横で見張って世話してあげられるとよいのだろうけど、こちらも夜は寝たい、という問題がある。 夜中に起きても、しばらくしたら眠さの限界みたいな感じでガクッと力尽きて寝てくれる場面が増えてきたのだけど、うつ伏せを避けようとすると、ガクッとくずれおちて寝るわけにはいかないので、見つけ次第ひっくり返しに行くと、21時くらいに寝てくれて、1時に起きて、3時に起きて、6時に起きて、7時に起床、みたいになってしまって難しい。 子、比較的安定して

    ■ - hitode909の日記
  • Private Relay と IP Blindness による Fingerprint 対策 | blog.jxck.io

    Intro iOS15 がリリースされたため、 Private Relay のベータを試すことができた。 このようなサービスが提供されるようになった背景を踏まえ、挙動を簡単に確認しつつ、解説する。 背景 そもそも、なぜこのようなサービスが出てきたのかを理解するには、現在のインターネットが抱える問題の背景を理解する必要がある。 特に Web において問題になっている「トラッキング」を防ぐために、法的な規制や業界団体の自主規制による対策は長いこと行われてきたが、それでも看過できないインシデントなどが目立ったために、 AppleITP を皮切りに 3rd Party Cookie の制限が始まった。 ここで重要なのは、「来防ぎたいのは 3rd party Cookie という技術ではなく Tracking というユースケースだ」という点だ。 この前提が伝わっていない場合、トラッキングのユ

    Private Relay と IP Blindness による Fingerprint 対策 | blog.jxck.io
  • L'eclat des jours(2021-09-22)

    _ 幕末の影 玄海で水炊きいながらご自由にお持ちくださいの江戸楽の9月号を読んでいたら、浮世絵に見る月見のような記事があって、ええと目が開かれた。 西洋絵画を学んだ歌川国芳が浮世絵に影を導入したとある。 それで頭の中で広重や北斎や国芳自身の画をいろいろ思い出すと、確かにどこにも影がない。 国芳の画もほぼすべてにわたって、同様に影を描いていない。(浮世絵検索で数千点眺めた) しかし、新吉原には確かに影が描かれている。 月に照らされた足元にアクセントをつけてみたかったのかも知れないが、西洋絵画を学ばなければ影を描くということはなかったらしい。 なるほど、明治の錦絵の時代になっても影を描いたものは少ない。(明治~昭和初期の錦絵に見る自転車のある東京の町並み) そういわれてみれば、とふと気づくわけだが、マンガ(劇画含む)にも影はあまり書かれていない。試しに、ベルセルク(細かな描画の例として最初に

  • Big Sky :: Go に Fuzz testing が入った。

    みなさん Fuzz testing ってご存じでしょうか。 人間が作る物は必ずといっていいほどバグが存在します。そしてそのコードをテストする人間も必ずバグを見逃します。 想定していなかった境界値テスト等、人間には先入観という物があり、それが邪魔をして簡単にバグを見逃します。昨今、この様な誰も気付かなかったバグの隙間を突く様な脆弱性が沢山見つかっています。 物によっては重大インシデントに発展する物まであります。 こういった人間では想定できない様なバグを見付けてくれるのが Fuzz testing です。Fuzz testing を実施する事で、ソフトウェアは頑丈になり安全にもなりえます。 日、Go の master ブランチに Fuzz testing の機能が入りました。 [dev.fuzz] Merge remote-tracking branch 'origin/dev.fuzz'

    Big Sky :: Go に Fuzz testing が入った。
  • Anker Thunderbolt 4ケーブル - Magnolia Tech

    Anker USB-C & USB-C Thunderbolt 4 100W ケーブル 0.7m ブラック 100W出力 8K対応 40 Gbps 高速データ転送 MacBook Air Pro iPad Pro 他対応 AnkerAmazon いつの間にかAnkerからもThunderbolt 4ケーブルがリリースされていたので、ブックマーク代わりのエントリ。 2021年、あまりに種類の増えすぎたUSB Type-Cケーブルは値段を気にしなければ全部入りのThunderbolt4ケーブルをかって買っておけばとりあえず規格が合わず困ることは無いので、コネクタ部分に規格が刻印されたものを買っておくと良い、という話は下記のエントリでも書きました。 blog.magnolia.tech ただ、Ankerからは1.0mを超えるThunderbolt 4ケーブルがリリースされていないので、ディスプレ

    Anker Thunderbolt 4ケーブル - Magnolia Tech
  • ISUCON11本選でチーム ウー馬場ーイー2 として参加し、7位になりました - Gマイナー志向

    TL;DR 運営の皆様、参加者の皆様、当にありがとうございました。ISUCONと嫁は私の生きがいです。 優勝までは届きませんでしたが、Failで終わったISUCON10選から少し人権を取り戻した気がします。 スコアについて 選時間中のベストスコアは80,473、再計測による最終スコアは83,756、7位でした。 来は12位ぐらいので実力でしたがFailとなったチームがいたので運良く10位以内に入れたようです。 今回、途中で急激なスコアの伸びたことが理由でTVer賞をいただいたのですが、スコアが伸びたのは開始から3時間44分後の1台構成から2台構成に切り替えたタイミングでした。最初しばらくは1台構成で進めて、煮詰まったら複数台構成としているので、予め複数台構成にするよりも大きく伸びやすいというのがあると思います。そのようなスコア評価があることは事前に知らなかったのでラッキーでしたね。

    ISUCON11本選でチーム ウー馬場ーイー2 として参加し、7位になりました - Gマイナー志向
  • L'eclat des jours(2021-09-20)

    _ ネットワークプロトコルハッカーズガイド アスキーの鈴木さんからもらったネットワークプロトコルハッカーズガイドを読了。途中間が空いたが久々に技術書を完読した。えらくおもしろかった。 書は、題名からはネットワークプロトコルをハックするためのガイドに見える。が、実際のところカバーしている分野はネットワークプロトコルには限定されない。どうも筆者は各種脆弱性ハンターでIEや.NET Frameworkの脆弱性をばんばん見つけていた人らしい。筆者の偉業については「まえがき」でマイクロソフトセキュリティ部隊のメンバーだったらしいキャティ・ムースリ(良くわからないからフランス語読みしてみた)という人が書いていて、これも興味深い。 カバーしている分野が広範なのは、ネットワークプロトコルをハック(解析したり介入したり)するには、パケットの構造を調べ、個々のパートをぶつ切りし、送るデータを変えてみて、中間

  • 週刊Railsウォッチ: Rails 7 Alpha 1と2が公開、Rubyハッシュのショートハンド記法、iCare Dev Meetupほか(20210921)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社

    こんにちは、hachi8833です。RubyKaigi Takeout 2021が終わりましたね。 私はいつもproposalでの推しポイントは「これRubyKaigiじゃなかったらどこで話すん?」だけなので、なんかスケジュールが結果的にこうなってて #rubykaigi すごいなー、と毎回おもう — Kakutani Shintaro (@kakutani) September 11, 2021 週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyRailsなどの最新情報

    週刊Railsウォッチ: Rails 7 Alpha 1と2が公開、Rubyハッシュのショートハンド記法、iCare Dev Meetupほか(20210921)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社
  • 2021-09-21のJS: Deno 1.14リリース、ChromeのUser-Agent文字列削減スケジュール、Vue 2からVue 3への移行

    JSer.info #558 - Deno 1.14がリリースされました。 Deno 1.14 Release Notes | Deno Blog Deno 1.14.0 がリリースされたので新機能や変更点の紹介 deno lintdeno fmtがオプションをサポートしてquoteやindentなどの設定ができるようになっています。 URLPatternのサポート。fetchがMutual TLSをサポートなども追加されています。 また、unstableな機能としてFile locking APIsのサポートが追加されています。 その他にはURL parsingやstd/httpモジュールのパフォーマンス改善などが含まれています。 ChromeのUser-Agent文字列削減のスケジュールが改めて公開されています。 Chromium Blog: User-Agent Reduction

    2021-09-21のJS: Deno 1.14リリース、ChromeのUser-Agent文字列削減スケジュール、Vue 2からVue 3への移行
  • 2021年9月第4週号 1位は、UIデザインにアイコンを使うときに守るべき10のルール、気になるネタは、音楽機器のズーム社、商標権侵害でWeb会議「Zoom」提供のNECグループ会社を提訴 | gihyo.jp

    週刊Webテク通信 2021年9月第4週号1位は、UIデザインにアイコンを使うときに守るべき10のルール、気になるネタは、音楽機器のズーム社、商標権侵害でWeb会議「Zoom」提供のNECグループ会社を提訴 ネットで見かけたWebテク(Webテクニック・Webテクノロジー)記事から、Webデザイナーの目で厳選したネタを週刊で紹介するこのコーナー。今回は、2021年9月13日~9月19日の間に見つけた記事のベスト5です。 1. 10 iconography rules to follow in UI design | Dribbble Design Bloghttps://dribbble.com/stories/2021/09/15/ui-icon-tips UIデザインにアイコンを使うときに守るべきルールをまとめています。 アイコンをシンプルに保つ アイコンを認識可能にする アイコンに意

    2021年9月第4週号 1位は、UIデザインにアイコンを使うときに守るべき10のルール、気になるネタは、音楽機器のズーム社、商標権侵害でWeb会議「Zoom」提供のNECグループ会社を提訴 | gihyo.jp
  • 2021年9月24日号 Ubuntu 14.04・16.04 ESMの延長、Ubuntu 18.04.6のリリース、Ubucon Asia 2021 | gihyo.jp

    Ubuntu Weekly Topics 2021年9月24日号Ubuntu 14.04・16.04 ESMの延長、Ubuntu 18.04.6のリリース、Ubucon Asia 2021 Ubuntu 14.04・16.04 ESMの延長 Ubuntuの「ESM」がすべてのリリースについて+5年になりました。 UbuntuのLTSリリース(5年サポートのリリース)には、「⁠ESM」(⁠Extended Security Maintenance)と呼ばれる「サポートが終了してからの追加のセキュリティアップデータの適用」プログラムが準備されています。これはサポート終了から3年(14.04と16.04)ないし5年(18.04・20.04)の間、クリティカルなセキュリティ修正を継続して提供するというものでした(合計で8年もしくは10年のサポートでした⁠)⁠。 ……リリースごとにサポート期間が異な

    2021年9月24日号 Ubuntu 14.04・16.04 ESMの延長、Ubuntu 18.04.6のリリース、Ubucon Asia 2021 | gihyo.jp
  • iOS 15に実装された「プライベートリレー」に注意 ほか【中島由弘の「いま知っておくべき5つのニュース」2021/9/16~9/23】

    iOS 15に実装された「プライベートリレー」に注意 ほか【中島由弘の「いま知っておくべき5つのニュース」2021/9/16~9/23】
  • "なんとなく”Dockerのファイル共有について語れるようになる - Qiita

    Docker開発において、あまり把握せずやり過ごしてしまうものの1つに「ファイル共有」があります。 自分がその一人なのですが、yarn installが遅かったことをキッカケに調べてみました。 タイトル通り、まんべんなく解説する記事ではなく、「ここは押さえておいたほうがいい」と感じたものをピックアップします。 より詳細に知りたい方は、下記を読んでください。記事の引用元もこれです。 Docker におけるデータ管理 | Docker ドキュメント もし誤りがあれば教えてください! 要約 ファイル共有の方法が2つ(当は3つ)あることを知ろう volumes bind mounts (tmpfs mounts) ※この記事では割愛します --volumesオプションと--mountオプションは、それぞれtypeのvolumesとbind mountsと関連している訳ではないので初心者は注意

    "なんとなく”Dockerのファイル共有について語れるようになる - Qiita