2023年5月27日のブックマーク (41件)

  • Python 内包表記の限界: 複雑な処理と実行速度の関係 - Qiita

    初めに 記事は実務上で速度的優位性を得るために内包表記を使うことが合理的かどうか検証したものです。 文中のコードは読者層を広くするために型ヒントを省いています。 更新履歴 詳細 追記 (2023/05/24) 計測環境はPython3.12.0a6です。 修正 (2023/05/24) 記事中のバイトコードがPython3.7.16のものだったのでPython3.12.0a6のものに差し替えました。 修正 (2023/05/27) 「list(generator) 使えよ」とのご指摘があったので 単純な例の内包表記を[i for i in range(ELEMENTS)]からlist(range(ELEMENTS))に修正しました。 ご指摘ありがとうございます。 追記 (2023/05/28) Twitterでの反応に対しての追記を行いました。

    Python 内包表記の限界: 複雑な処理と実行速度の関係 - Qiita
  • NO HARD WORK!を読んだ - toyoshiの日記

    NO HARD WORK! 無駄ゼロで結果を出すぼくらの働き方 (早川書房) 作者: ジェイソンフリード,デイヴィッドハイネマイヤーハンソン 出版社/メーカー: 早川書房 発売日: 2019/01/31 メディア: Kindle版 この商品を含むブログを見る このを読んだ目的、ねらい 私はこのを書いた人の所属するBasecamp社(旧37signals)のファンで、数冊出ている著者はこれまでも読んできました。私の創業したMisoca社が残業0だったり、リモートワークを取り入れているのもこの会社の影響です。 特に「Getting Real」や「小さなチーム、大きな仕事〔完全版〕: 37シグナルズ成功の法則」発表された時は、「小さく、より速くソフトウェアを作る」という考え方に大きく影響されて個人サービスを作る原動力になりました。 また早くからリモートワーク(強いチームはオフィスを捨てる)を

    NO HARD WORK!を読んだ - toyoshiの日記
  • 放棄ドメインの大量取得によるスクリプトの乗っ取りについて - tike blog

    はじめに 既に役目を終えたドメインの遺産はリンク切れという形でインターネット上に残ることがあります。 ここでいう遺産とは、放棄ドメインに紐付くリソース(画像、外部スクリプトなど)を指します。 閲覧者の目に直接触れるリソース(画像や動画など)が存在しない状態になったことを閲覧者自身が認識することはさほど難しくはありません。 その一方、外部スクリプトなどの目に見えないリソースについては、それが存在しないことを閲覧者が認識することは難しいのではないかと思います。 このような放棄ドメインに紐付いた「存在しない」リソースを閲覧者に気付かれないように引き継ぎ、別の用途に悪用する事象がいくつか確認できましたので、ブログで共有したいと思います。 不審な JavaScript 先日、不審な挙動を示す以下のJavaScriptを目にしました。 Cookieを含むいくつかの情報を king[.]connect

    放棄ドメインの大量取得によるスクリプトの乗っ取りについて - tike blog
  • 仕事で役に立たない!Linuxネタコマンド集 - Qiita

    ブログやってます。更新などはこちら。地方エンジニアの学習日記 背景 仕事で使えそうだったりしたコマンドをまとめた記事を2つ書いた。 今回は仕事で使えないLinuxの面白コマンド(プログラム)の紹介記事です。 ネタ話くらいにはなるかもしれませんが特に役立つ知識ではないのでお暇な方のみご覧ください。 前に書いた記事はこちら 仕事で使えるLinux ワンライナー集 仕事で使えるかも知れないWindows コマンド&ワンライナー集 + バッチファイル 暇で暇で仕方ない方以外は読まないほうがいいと思います!笑 汽車を走らせる!:sl とても有名なジョークコマンドですね。 Linux関連ののコラムなどでもたまに見たりします(笑) 疲れてるときlsと間違えてslと打った時は少し休む目安になるとかならないとか。 使ってみる

    仕事で役に立たない!Linuxネタコマンド集 - Qiita
  • ぼくのかんがえたさいきょうの配色Webサービスを公開した話 - Qiita

    TL;DR まあぜんぜん最強ではないですが、自分好みの配色 Web サービスをつくってみました yum-yum COLOR 個人で公開まで作りきったのは初めてでしたので、色々とつまずきました そんなつまずきポイントや、 Web サービスを公開するために利用した技術などを紹介していきます ❗ なぜ配色サービス ❓ 色彩検定という資格をご存知でしょうか? 僕はプログラマーなのに 色が好き で、この試験を受検しました。 その学習をしてる時にこんな風に思ったのです。 この色相環、これを使って配色選べたら便利じゃない? あっ、このトーン、これを使って配色選べたら便利じゃない?? と。 受検勉強の追い込みをしないといけないのに、そっちのけで作り始めてしまった...というわけです (一時はどうなるかと思いましたが、無事に検定は合格しましたよ 🎉 ) どんなサービスなの ❓ 使い方 色相環 と Hue

    ぼくのかんがえたさいきょうの配色Webサービスを公開した話 - Qiita
  • 2つの公開鍵暗号(公開鍵暗号の基礎知識) - Qiita

    はじめに TLS/SSLをはじめとして、様々な場面で公開鍵暗号が重要な役割を果たしているのは良く知られていることと思います。 ここで公開鍵暗号が何かというと、「かたやデータを公開鍵で暗号化して、かたや秘密鍵で復号する。他人にはデータの内容が漏れない」という説明が一般的です。 そうすると大抵の人は「TLS/SSL、公開鍵で暗号化して秘密鍵で復号するのね」と2つの情報を組み合わせ、それで納得してしまうわけですが、実は今日これは大体において誤り1です。 この誤りはいまやどうしようもなく広く流布していています。これは、適切な入門書がないことや、そもそも情報の検証を行う人が少ない ( そこまでする動機がない ) という理由によるわけですが、公開鍵暗号という言葉が2通りの意味で流通しているという面も大きいように思われます。 ということで、この2つの意味の違いに着目しつつ、基礎の整理を行いたいと思います

    2つの公開鍵暗号(公開鍵暗号の基礎知識) - Qiita
  • 技術的負債への後悔と返済|Seiji Takahashi@ベースマキナ

    反省文。 tl;dr・「後から改善すれば良い」のスタンスは、返済コストを甘く見積もっている結果 ・負債の返済にはコーディング以外の工数が大きくかかってくる ・技術的負債を"徐々に"返済することは様々な面で良い 出社即リファクタリング最近出社した直後に、こっそりリファクタリングの時間を一定程度取るようにしている。朝のウォーミングアップがてら改善作業をしていると、瞑想みたいな効果があって大変気分がよくなるし、その後のコーディングも生産性が上がる。大体こういう気分。 具体的な作業は、アーキテクチャの方針が固まってなかった時代のコードの1つのエンドポイントだけ、適切なレイヤ化を施したり、単体テストが可能なメソッドとして切り出しつつ実際にテストを書いたり、テストに必要な共通処理を定義したり、だ。 初期から機能追加を重点的に行ってきたプロダクトでは、スピード優先の名目で多くの負債が生まれる。こうした負

    技術的負債への後悔と返済|Seiji Takahashi@ベースマキナ
  • JavaScriptの‍ES2019で追加された新機能まとめ - Qiita

    (2021/06/24追記) ES2021の記事を公開しました。 正式仕様リリース! JavaScriptの最新仕様ES2021で追加された新機能まとめ - Zenn (2020/02/03追記) ES2020の記事を公開しました。 JavaScriptの次の仕様ES2020で追加されることが決定した新機能まとめ - ICS MEDIA 記事ではES2019の新機能を解説しています。記事末尾では、個人的に追加を期待していたけれどまだステージ3の機能についても紹介しています。 ES2019仕様書:「ECMAScript® 2019 Language Specification」

    JavaScriptの‍ES2019で追加された新機能まとめ - Qiita
  • Webでどこまで遊べるか試してみた - Qiita

    Sound Walker という Web アプリを作りました。 ↓ここで遊べます↓(スマートフォンで開いてください) https://www.sound-walker.app リポジトリはこちら https://github.com/Leonardo-mbc/sound-walker ホーム画面に追加することで、インストールしたアプリのように遊べます。 Webでどこまでできるかをやってみようと思って作り始めて、 ほっといて数年たったら技術がみるみる変わっていて、いろいろ味が出てきました。 Service Worker, Add To HomeScreen などなど Webでできるゲームってだけだったのが、普通にスマホで動くゲームになる時代になっております。 Sound Walker で使ってる技術は WebGL(Three.js), WebAudioAPI, ServiceWorker,

    Webでどこまで遊べるか試してみた - Qiita
  • Vue.jsとFirebaseでOGP画像生成系のサービスを爆速で作ろう - Qiita

    はじめに 質問箱や、ボタンメーカー、診断メーカー等を始めとする 「OGP画像生成系」 を 2個以上作ってそれのベストプラクティスがわかってきたので、共有したいと思います。 宣伝 この技術を使ったサービスを実稼働2日ぐらいで作りました! 使い方は簡単です! メッセージカードを書いて、Twitterにシェアするだけ。 #嵐ありがとう OGP画像生成系サービスとは? 質問箱 みんなのボタンメーカー (。・ρ・)オシテミテ キズナアイな気分のときに押すボタンを作りました!みんな押してね!#キズナアイな気分のときに押すボタン#みんなのボタンメーカー https://t.co/2mzJUE48zj — Kizuna AI@hello,2019‼︎ (@aichan_nel) 2019年1月29日 「ツイッターでつぶやけるボタン」を簡単に作成できるサービスをリリースしました【個人開発】 すごくいいサービ

    Vue.jsとFirebaseでOGP画像生成系のサービスを爆速で作ろう - Qiita
  • Go言語がダメな理由 | POSTD

    私はGo言語が気に入っていますし、多くの場面で使用します。現にこのブログもGoで書いています。Goは便利な言語ですが、優れた言語とは言えません。つまり、悪くはないけれど、十分ではないということです。 満足できない言語を使用する際は注意が必要です。注意を怠ると、その言語を次の20年間使い続ける羽目になるかもしれないからです。 私のGoに対する主な不満を文にまとめました。既に何度も指摘されていることも含まれていますが、中にはこれまでほとんど話題になっていない指摘もあります。 これから列挙する全ての課題には既に解決策があることを示すため、私が優良な言語と考えるRustやHaskellと比較して説明します。 汎用プログラミング 課題 誰でもさまざまな事柄に幅広く対応できるコードを記述したいと考えます。例えば数のリストの合計を求めるために定義した関数が、小数、整数、またその他の合計を求められるもの

    Go言語がダメな理由 | POSTD
  • bashで忘れがちな機能とかいろいろの備忘録 - Qiita

    背景 シェルスクリプトを書くことが結構あるのでその備忘録代わりに記事を書いてみました。 特殊変数とは 特殊変数とは シェルによって自動的に値が設定される特殊な変数がいくつかあり、それら特殊な変数を参照することにより、様々な情報を取得することができる。 変数名 説明

    bashで忘れがちな機能とかいろいろの備忘録 - Qiita
  • クソ簡単にgitの説明をする

    どこもかしこも妙ちくりんな図で混乱させてくるのうざい 自分で書いてみる gitなんてクソ難しいんだから、きちんと概念を理解させようとかすんなよ なぜgitが必要かバージョン管理のために必要、と言うと意味わからんと思う プログラムみたいなのは少しずつ変更していくんだ だから細かに変更の差分を管理したり、変更を戻せたりしなきゃきつい なぜgitか?他のバージョン管理との違いうるせぇgit使え そんなの来年考えろ gitの基要素、用語branch: いきなり説明が難しいが、branchがわかればどうにかなる。 例えば、今編集しているプログラムに対して、RPGのセーブデータがあると思ってほしい。 それぞれのセーブデータがそれぞれのブランチにあたる。 セーブデータが1枠しか無いと、難しいだろ?何があるかわからない、戻ったり、試したりしたいからな。 セーブデータと少し違うのは、1個のブランチでも過去

    クソ簡単にgitの説明をする
  • リンクを作る時の target="_blank" の危険性 - 隙あらば寝る

    html で リンクを新しいタブ(やウィンドウ)で開かせたい場合、target="_blank" を指定するが、 この使い方には落とし穴があるらしい。 www.jitbit.com リンクを開いた先の javascript から、開いた元のページを操作できてしまうとのこと。 気になったので確認してみた。 悪用のパターン insecure.html が最初に開くページで、ここに target="_blank" なリンクがある。 このリンクを押すと new_window.html を新しいタブで開く。 この new_window.htmljavascript が仕込まれており、元ページを操作されるという話。 具体的には window.opener.location="./evil.html" と実行すると、元タブは evil.html に遷移する。 実際試してみたのが ここ。 リンクを開

    リンクを作る時の target="_blank" の危険性 - 隙あらば寝る
  • VueとFirebaseの基本機能全部使ってぬるぬる動くポートフォリオサイトを作ったのでソースと解説 - Qiita

    絵描きとかUXとかやりつつフロントもやってる「ゆき」です。ポートフォリオサイトは10年くらい前にMoveableTypeで作ったきり。最近流石に「これでフロントやってますとか言ったら絶対次転職できなくね?」と危機を感じたので0から作り直しました。 サイト: https://pf.nekobooks.com/ ソース: https://github.com/yuneco/portfolio 機能・性能・運用を考えて作った結果、VueとFirebase(Web)の機能を一通り使ったサイトが出来上がりました。これからちょっと凝ったポートフォリオサイトを作りたい方向けに、どういう目的でどの機能を使ったのか、その時のポイントはなんだったのかを共有します。 2019.4.18追記 春なので期間限定1で桜が咲くアニメーションを追加してみました。単体のアニメーションはテストページで試せます。複雑に見えるか

    VueとFirebaseの基本機能全部使ってぬるぬる動くポートフォリオサイトを作ったのでソースと解説 - Qiita
  • ネットワーク越しでパイプしたり、あらゆるデバイス間でデータ転送したい! - Qiita

    何を解決したいか? Mac, Windows, Linux, iPhoneAndroidのスマホ・タブレットとかのデバイス間でデータの転送したいことがあります。 SlackとかLineとかSkypeとかAirDropとかあっても 送りたい相手と共通して使っているサービスを探す必要とか、 GUIのソフトウェアのインストールが必要とか、 AirDropだとApple系OSである必要 があるなどの転送の障壁があって、GUIが使えないデバイスに送りたいときなどは困ってしまいます。 すでにたくさんのファイル共有系のサービスがありますが、コマンドを使ったCUIベースにあまり親切な設計なものはあまりないと思います。 そこで、上記の問題を解決するために、以下のようなファイル転送の仕組みを作りました。 他デバイス間でデータ転送ができ、 別途ソフトウェアのインストール不要で、 パイプにとても親和性が高くエン

    ネットワーク越しでパイプしたり、あらゆるデバイス間でデータ転送したい! - Qiita
  • 実践: React Hooks - mizchi's blog

    hooks が発表されてから趣味でも現場でもずっと hooks を使っています。おかげでだいぶこなれてきて、だいたいなんのライフサイクルでも表現できるようになってきました。 最初は単に useState が state を、 useEffect が componentDidMount/componentDidUpdate を置き換えるもの、と説明を済ますつもりでしたが、 useEffect についてはライフサイクルのモデルがぜんぜん違うので、別の説明をする必要があるように感じていました。 で、その結果 React Hooks を理解するには、関数のメモ化を理解するのが最も簡単だと思ったので、その説明をしつつ、イディオムを解説していこうと思います。 最初に: React Hooks は何であり、何ではないか 関数コンポーネントが状態を持てるようにするもので、関数のメモ化のテクニックを多用しま

    実践: React Hooks - mizchi's blog
  • JavaScriptの「コールバック関数」とは一体なんなのか

    近年のフロントエンドの盛り上がりはすごいですね。プログラミング初心者がJavaScript(最近ではTypeScriptも)から学び始めるなんて昔ではなかなか考えられなかったことです。 そんな世界中で大人気のJavaScriptですが、プログラミングに慣れていても困惑する部分が結構あります。特に初心者にとっては、非同期処理、this、コールバック関数、あたりが難しいのではないかと思います。 非同期処理については前に解説しましたし、thisの解説はネットに大量に転がってるので、今回はコールバック関数について解説します。 コールバック関数ってなんなんだ コールバック関数というとsetTimeoutなんかで使われるアレですね。Node.jsでもたくさん使われます。setTimeoutだと以下のような使い方になります: setTimeout(function() { console.log('He

    JavaScriptの「コールバック関数」とは一体なんなのか
  • 日本にアジャイルが普及しづらい本当の理由〜不確実性に向き合うマネジメント論〜 - Qiita

    はじめに こちらの記事は、技術評論社に寄稿させていただいた「エンジニアリング組織論への招待」をご紹介するための文章です。Qiitaにも再掲しておきます。 アジャイルって何だ? 「ウォーターフォールよりもアジャイルのほうがいいのか?」そんな言葉をIT企業の経営者から聞くことがあります。2000年代の後半くらいから、日国内においてもアジャイル型の開発プロセスが注目を浴びて、多くの企業が実践するようになりました。 ところが、世界各国に比べて日アジャイル型開発の普及率は依然として低く、理解度も進んでいません。流行っているからやってみようと始めた企業も流行りが変わると今度はリーンだとか、今度は○○だといったように新しい方式を導入してみては失敗するところも珍しくありません。 アジャイル開発の専門家ですと名乗る人の話を聞いてみても、それが何なのか、けむにまかれたような説明をされてしまい、いまいち納

    日本にアジャイルが普及しづらい本当の理由〜不確実性に向き合うマネジメント論〜 - Qiita
  • https://github.com/trekhleb/javascript-algorithms/blob/master/README.ja-JP.md

    https://github.com/trekhleb/javascript-algorithms/blob/master/README.ja-JP.md
  • .appという画期的でセキュアなgTLDについて - Lento con forza

    .appというgTLDをご存知でしょうか。gTLDはgeneric top-level domainの略後で、ICANNが管理しているトップレベルドメインのことです。 有名どころでは.comや.net等があります。このブログのURLは https://kouki.hatenadiary.com ですが、この.comの部分がトップレベルドメインです。*1 このトップレベルドメインはICANNという組織が管理しています。2012年までは限られたトップレベルドメインしか存在しませんでしたが、2012年の公募では基準を定め、その基準を満たした団体は自由にgTLDを作ることができるようになりました。これ以降大量のトップレベルドメインが登録され、今では様々なドメインを利用することができます。 その中の一つ、appドメインが去年話題を呼びました。 appドメインはセキュアなドメイン そんなappドメイン

    .appという画期的でセキュアなgTLDについて - Lento con forza
  • 営業マンが1年でSEになって機械学習エンジニアに転職する話 - かえるのプログラミングブログ

    こんばんは、かえるるる(@kaeru_nantoka)です。 先日、10ヶ月勤めたSES企業に辞意を伝えました。 そして4月からは、ストックマーク株式会社(https://stockmark.ai/ )にて、NLPを応用した機械学習エンジンを開発する機械学習エンジニアとして参画することになりました。 ちょうどいい人生の節目なので、流行っている転(退)職エントリを描いてみようと思います。 概要 ・営業職だけど趣味で始めたプログラミングにハマったよ ・未経験だけど第二新卒的なアレでプログラマーになるぞ ・ひょんなことから kaggle にハマったぞ ・なんか上京することになったよ ・なんで私がエクセル職人に!? ・なんとかソロ銅メダル取れたぞ ・kaggle 強くなりたいからもう一度転職するぞ! 筆者のスペック ・経済学部卒 ・プログラミング歴1年ちょい(2017年12月~) ・kaggle(

    営業マンが1年でSEになって機械学習エンジニアに転職する話 - かえるのプログラミングブログ
  • なぜコンピュータを学ばなければならないのか 21世紀の君主論

    国際基督教大学における、グローバル情報学という学部1年生向けの講義で、ゲスト講師をした際の講義資料です。

    なぜコンピュータを学ばなければならないのか 21世紀の君主論
  • VSCode内でテキスト比較(diff)する3つの方法 | HPcode(えいちぴーこーど)

    VScodeのテキスト比較(diff)する3つの方法の紹介を紹介します。 1つ目はVSCodeで標準に備わっているテキスト比較の使い方で実用的ではないかもしれませんが、操作方法だけでも覚えておくと後から役立つかもしれません。 2つ目と3つ目は実際の仕事でも使えそうな実用的な方法です。ぜひ、実際に導入してみて使い勝手を試してもらえたらと思います! VSCodeのテキスト比較する3つの方法 VSCodeのテキスト比較する3つの方法です。VSCodeの標準機能として備わっているテキスト比較から紹介して、それらを応用して作られた(であろう)拡張機能を使った比較を紹介していきます。 2つのファイルを単純に比較 存在するファイルを2つ比較するには「選択項目の比較」というVSCodeの標準機能を使うことで実現できます。 ファイルをCtrlを押しながら2つ選択して、右クリックから「選択項目の比較」を選択し

    VSCode内でテキスト比較(diff)する3つの方法 | HPcode(えいちぴーこーど)
  • アプリケーションは全員で監視する - 「入門 監視」を読んだ - $shibayu36->blog;

    最近話題になっていた「入門 監視」を読んだ。アプリケーションの監視をするための実践的なノウハウが詰まっていて非常に参考になる書籍だった。 入門 監視 ―モダンなモニタリングのためのデザインパターン 作者:Mike Julianオライリー・ジャパンAmazon このでは、アプリケーションを監視するための骨格となる考え方や、様々な層(フロントエンドからOSのメトリックまで)での監視の入れ方の実践的なノウハウ、さらには障害対応をスムーズに行うためのフローや障害の根対応をチームで行えるようにするためのやり方まで書かれている。実践的なすぐに取り入れられるような内容が多く、「アプリケーションをどう監視したら良いか分からない!」「障害対応をもっとうまくやる方法はないのだろうか?」と思う人には参考になる部分が多いと思う。 個人的にこのの中で一番良いなと思ったのは、 SREだけでなくアプリケーションエ

    アプリケーションは全員で監視する - 「入門 監視」を読んだ - $shibayu36->blog;
  • JavaScript が読み込まれる前でもWeb Applicationを動かす - from scratch

    今回は最近取り組んでいる、 JavaScript が読み込まれる前であっても「ちゃんと」 Web Application が動作するように作る話をします。 Server Side Rendering における注意点と対策 BFFを使ってServer Side Rendering をすることに数年前から取り組んでいます。 まずはSSRをやる上での注意点と対策について紹介します。 SSRをすることはSEOのためだと思われがちですが、個人的にはSEOのためにしているわけではなく、 First View を向上するため(特に First Meaningful Paint を向上するため)にやっています。 First View SEOとSSRに関しては Google が最近出したこの記事の SEO Considerations 節が詳しいです。ここでは説明しません。 SSRをしない、Client S

    JavaScript が読み込まれる前でもWeb Applicationを動かす - from scratch
  • アイドルだった私がエンジニアとして正社員になるまで - SmartHR Tech Blog

    こんにちは! 去年の6月にインターンとして入社し、2月より正式に社員として迎えていただくことになりました、かなきゃんです(@kanacan) 。 ここまでどんな道のりだったか振り返ってみようと思います。 何してた人? まず、入社前の私ですが、「アイドルと某携帯キャリアの販売員」というちょっと変わった二足のワラジを履いていました。 小さい頃からの夢だったアイドルの活動をしながら、生活の為とはいえど実はこれまた夢だった携帯の販売員をしてました。 アイドルとして掲げた夢を追いつつ、販売員としても、やるからには貢献したい一心で誰よりも売って誰よりもお客さんから感謝される販売員を目指していました。 そんな努力が報われて、アイドルとしてやりたかった夢を叶えたタイミングと、全国3,000人の販売員の中から売上成績1位を2年連続で達成したタイミングとが重なり、次なる夢を考えるようになりました。 私は主にタ

    アイドルだった私がエンジニアとして正社員になるまで - SmartHR Tech Blog
  • DNS over HTTPSの必要性について - Qiita

    なぜ今までの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)通信上で行うプ

    DNS over HTTPSの必要性について - Qiita
  • 組織変更したら部長がいなくなりました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、最近愛媛から広島に移住した組織運営チームの水戸です。 2019年からサイボウズの開発部から職能・地域毎に分かれた部署がなくなり、チーム主体の組織になりました。 組織変更をオープンに議論するというチャレンジングな試みの中で、新組織の理想はユーザー価値の最大化に定まり、個人やチームがより主体的に動ける組織構造に変わりました。 この記事では私がファシリテートを担当した組織変更をご紹介します。 開発部の状況 開発部の役割は製品を開発することです。 2018年までの開発部はマトリクス組織を採用しており、プロダクト開発チームには様々な職能・地域毎に分かれた部署のメンバーが所属していました。 この組織構造は事業の中心がオンプレミスだった10年以上前から、事業の中心がクラウドに移った2018年に至るまで変わっていません。 一方、プロダクト開発チームに求められるものは大きく変わりました。

    組織変更したら部長がいなくなりました - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 私たちはどうして公式ドキュメントが読めないのか? - Qiita

    少しプログラミングを覚えてきた初学者が、さらに力をつけるために必要なのが公式ドキュメントを読むことだと思います。 公式ドキュメントには、日語の記事には書かれていないような詳細な説明や、APIの使用方法、そしてリリースノートなど、実装には不可欠な情報が掲載されています。 しかし、公式ドキュメントが上手く読めずにつまづく人も多いのではないでしょうか?慣れていない人にとっては、技術について書かれたドキュメントを読むのは難しいものです。 この記事では、つまづいてしまう人が少しでも減るように、公式ドキュメントが読めない原因と対策をいくつか書いていきます。 公式ドキュメントとは この記事で言及している「公式ドキュメント」は、フレームワークやライブラリ、言語について、その公式組織が出している文書のことです。 具体的にはこのへん。 どうして公式ドキュメントが読めないのか 原因1. 公式ドキュメントを読む

    私たちはどうして公式ドキュメントが読めないのか? - Qiita
  • 役立つコードレビュー 8つのヒント | POSTD

    役立つコードレビュー(CR)のコツは、学校では習いません。アルゴリズム、データ構造、プログラム言語の基礎は習っても、確実に役に立つフィードバックを返す方法をじっくりと教えてくれる人はいないでしょう。 コードレビューは優れたソフトウェアを作り出すには欠かせないプロセスです。レビューを通したコードは、そうでないコードよりも 質が高く、バグが少ない 傾向があります。健全なコードレビュー文化には、副次的な利点もあります。たとえば、 バス因子 を押しとどめる、新メンバーのトレーニングに最適なツールになる、など。また、コードレビューは優れた知識共有の手段でもあります。 前提 まずは、この記事のポイントの前提を提示する必要があるでしょう。それは以下のとおりです。 信頼のおける環境で作業をしている。あるいは、あなたとチームは、あなたの信頼性を高めることを目指して作業している。 コードではないシナリオでフィ

    役立つコードレビュー 8つのヒント | POSTD
  • 新人ではないがGit初心者であるエンジニアが「このリポジトリをフォークしてローカルで開発できるようにしておいて!」と言われた時にやること - Qiita

    新人ではないがGit初心者であるエンジニアが「このリポジトリをフォークしてローカルで開発できるようにしておいて!」と言われた時にやることGitGitHub フォークとは GitHubのヘルプページには、こうある。 フォークは、リポジトリのコピーです。 リポジトリをフォークすると、元のプロジェクトに影響を与えずに自由に変更を試すことができます。 最も一般的には、フォークは他人のプロジェクトへの変更を提案するか、 他人のプロジェクトを自分のアイデアの出発点として使用するために使用されます。 ↓を見ると、もう少しざっくりとイメージすることができるかも。 https://qiita.com/matsubox/items/09904e4c51e6bc267990 お断り GitHubを使っていることが前提の話です。 あくまで自分の経験でのやり方に尽きるので、これやって現場で怒られても責任は持てません

    新人ではないがGit初心者であるエンジニアが「このリポジトリをフォークしてローカルで開発できるようにしておいて!」と言われた時にやること - Qiita
  • 要チェックな10個の Node.js フレームワーク - Qiita

    記事は、10 Node.js Frameworks Worth Checking Out: Express, Loopback, Hapi, and Beyond の日語訳です。 要チェックな10個のNode.js フレームワーク テクノロジーは急速に変化しているので、開発者たちは新しいテクノロジーを使用し、Web開発のニーズに合わせて、より便利なフレームワークを採用しています。Node.js は、アプリ開発にJavaScriptを使うのが好きな開発者達から、大いに注目されています。 開発者であるあなたは、クライアントサイドとサーバーサイドのスクリプト両方を同じ言語で管理できます。そしてこれは、Nodeの膨大な利用や採用をもたらしました。 Node.js フレームワークは、Web開発の市場で膨大な需要を獲得し続けており、2019年でも、より多くの機能や利点をもたらし続けています。現在の

    要チェックな10個の Node.js フレームワーク - Qiita
  • アセンブリに触れてみよう - Qiita

    .LC0: .string "%d\n" main: push rbp mov rbp, rsp sub rsp, 16 mov DWORD PTR [rbp-4], 1 mov DWORD PTR [rbp-8], 2 mov edx, DWORD PTR [rbp-4] mov eax, DWORD PTR [rbp-8] add eax, edx mov esi, eax mov edi, OFFSET FLAT:.LC0 mov eax, 0 call printf mov eax, 0 leave ret …何が書かれているか分かりませんね。 というわけで、今回は最終的に、このアセンブリがなんとなく読めるようになることを目標にします。 それでは前提知識を説明していきます。はじめに、アセンブリなどの用語の説明をしていきます。 2. 前提知識 用語説明 まず、それぞれの言葉を説明しま

    アセンブリに触れてみよう - Qiita
  • 📃 Webページをそのままの状態でローカルに保存するツールを作った話 - Qiita

    はじめまして。yamaimo (@yarnaimodev) です。Qiita 初投稿...というかネット上にちゃんとした記事を上げるの自体初めてな気がします。 1998 年生まれで、プログラミングとか Web デザインは独学で 3 年ぐらいやってます。TypeScript / Firebase / Node.js / React あたりが特に好きです。 この前 coliss で紹介された Can't Unsee を試してみたら 1 回目が 7,630 点、2 回目が 7,930 点でした。1 小規模ですが Mastodon インスタンスを管理してます。あと Helix キーボード をこの前組み立てた2んですがキー配列を変えたのがなかなか覚えられなくて死んでます。 開発環境は基的に WSL + Hyper + fish shell と VSCode です。 今回 Puppeteer を使っ

    📃 Webページをそのままの状態でローカルに保存するツールを作った話 - Qiita
  • ゲーミングPCを買ったら最初にするべき初期設定まとめ

    ドスパラやG-Tuneでパソコンを買って、ついにゲーミングPCデビューしたけど「初期設定はどうすればいいの?」と、思った人向けにおすすめの設定をまとめました。 知らないとうっかり間違えた設定をしていて、せっかくの性能がムダになっている場合も少なくないので、ぜひチェックしてみてください。 (公開:2018/8/27 | 更新:2022/7/17) ゲーミングPCのおすすめ初期設定まとめ

    ゲーミングPCを買ったら最初にするべき初期設定まとめ
  • オブジェクト指向とは何ですか?

    回答 (8件中の1件目) 英語では「object-oriented」で「OO」と略され、1960~1980年代のプログラミング手法(OOP)から始まり、その応用としてソフトウエアの設計・分析の手法(OOD/OOA)、近年はユーザーインターフェース・エクスペリエンスのデザイン(OOUI/OOUX)、オブジェクト指向存在論(OOO)なる哲学分野にまで、広く使われる用語です。ここではOOPについて説明を試みます。 オブジェクト指向の「オブジェクト」は、1967年に発表されたSimula 67 [1] というプログラミング言語に組み込まれた当時としては新しい同名の言語機能(あるいはそれに準ずる...

    オブジェクト指向とは何ですか?
  • React 副作用分割パターン - mizdra

    React Hooks自体の解説記事はいくつかあるけど, Hooksの登場によってReactがどう変わったのかについて書かれている記事が無かったので書いた 継承, Mixin, HOC, render props, Hooksの登場によって, Reactの副作用分割パターンがどう変遷していったのか分かるようにすることがこの記事の目的

    React 副作用分割パターン - mizdra
  • アウトプットの結果はだいたい期待通りには返ってこない - みんからきりまで

    ポエムです。 アウトプットに挫折してしまう人 現代のインターネット社会において、特にエンジニアなどの技術職の場合、アウトプットをすることが大切とよく言われる。 ここでいう「アウトプット」というのは、例えばブログを書いたりだとか、作品を作ったりだとか、発表をしたりだとかだ。 しかし、アウトプットをするというのは向き不向きがあるようで、苦手な人も多いようだ。 純粋にアウトプットが性に合わないという人もいて、そういう場合はそれはそれでいいと自分は思う。 決して自分の成果や能力をオープンにアピールしなくても優秀な人はたくさんいるし、そういう人は有名ではないけれど確実に評価されきちんと仕事を得ている。 一方で、アウトプットをして承認されたいと思っていながら、それが上手く出来ない人というのもいるようだ。 自分の観測範囲だと、特にアウトプットのハードルが上がりすぎていて、その高いハードルを乗り越えた結果

    アウトプットの結果はだいたい期待通りには返ってこない - みんからきりまで
  • PostgreSQLは20年間どのようにfsyncを間違って使っていたか - 聴講メモ -

    TL;DR 聴講メモ Intro into durability PostgreSQLのCHECKPIONT CHECKPOINT中にエラーが発生したら? fsyncへの2つの間違った期待 なぜ今になって問題が明らかになってきた? そもそもなぜBufferd I/Oなのか? どうやって直すかか 参考リンク 質疑 最後に 先日PostgreSQLの新しいマイナーバージョンがリリースされました。このマイナーリリースでメインとなる修正は「fsync周りのバグ修正」で、このバグは間違ったfsyncに対する間違った認識から約20年間存在してたバグということで注目されていました。 このバグについてPostgreSQLのコミッタ(Tomas Vondra氏)が解説しているセッションが、先々週開催されたFOSDEM 2019でありました。私もFOSDEM 2019に参加していたのですがその際は裏セッション

  • Vue.jsとAWSでつくる、シングルページの家計簿アプリ - Qiita

    概要 作ったもの 最近お金が減るのが早くなった気がしたので、家計簿をつけようと思い立ちました。アプリをダウンロードしてきてもよいのですが、せっかくなので自分で作ることにしました。 タブレット、スマホ、パソコンのどれでも見れるようレスポンシブ対応を行ったのですが、タブレット(iPad)からみると以下の画像のようなものになっています。 チャート画面 記入画面 取引一覧画面 構成 静的ファイルはAWSのS3にホスティングし、お金のやり取りに関する情報はRDSに貯め、情報の追加・削除・修正にはLambdaAPI Gatewayを用いて作ったAPIを通して行います。LambdaのコードはPythonで書いています。 簡単な図にすると、以下の画像のようになります。 共通部分 フロントエンド フロントはVue.jsを使って実装します。以下の画像の赤枠で囲った部分に表示するコンポーネントを切り替えます(

    Vue.jsとAWSでつくる、シングルページの家計簿アプリ - Qiita