並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 1795件

新着順 人気順

programingの検索結果361 - 400 件 / 1795件

  • 予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022

    PHPerKaigi 2022 2022/04/10 10:40〜 Track A レギュラートーク(40分) PHP はバージョンを追う毎に型宣言、例外、表明、列挙型などの機能が大幅に強化され、堅牢なコードを書くための機能が充実してきました。それらの機能はどう使うと効果的なのでしょうか。 本講演では PHP 8.1 をベースにして、誤りを想定してチェックするのではなく、そもそも誤りにくい設計とはどのようなものか、つまり「予防」の観点を軸足に、堅牢なコードを導くための様々な設計のヒントをご紹介します。 Agenda - 型宣言 - 列挙型 - ドメインモデリング - 不変性と等価性 - 完全性 - レイヤーと責務

      予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022
    • UTF-8のテーブル(MySQL5.6)に竈門禰󠄀豆子が格納できない問題を調べてみた - Qiita

      竈門禰󠄀豆子をMySQL5.6のテーブルにinsertしようとすると正しく格納できず、竈門禰となってしまうケースがあるという話を聞き、調べてみました。 実践 まずは試しにやってみます。 mysql> show create table verification\G *************************** 1. row *************************** Table: verification Create Table: CREATE TABLE `verification` ( `name` varchar(100) COLLATE utf8_bin DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin 1 row in set (0.01 sec) mysql> inse

        UTF-8のテーブル(MySQL5.6)に竈門禰󠄀豆子が格納できない問題を調べてみた - Qiita
      • オブジェクト指向のその前に-凝集度と結合度/Coheision-Coupling

        Jetpack ComposeとGraphQLによるServer Driven UI/jetpackcompose-grahpql-serverdrivernui

          オブジェクト指向のその前に-凝集度と結合度/Coheision-Coupling
        • AIはどのような仕事ができるようになったのか?ChatGPTで変わる「優秀な人材」

          この図はざっくりと3つの領域に分かれます。まず左下が従来のプログラミングの領域です。これは簡単に言うと「プログラムは間違ってはいけない定形な仕事を奪う」ということです。次にその上の士業が責任を取る領域です。これは「責任」を取る人がいないと成立しない仕事です。ミスが発生した際に罰則を与えるという形で、ミスの発生を防いでいます。最後に右側のホワイトカラーの仕事の領域です。ホワイトカラーの仕事は入出力が不定形であり、作業フローも非定型であったりします。そのため、多少のミスはあっても仕方ないという前提の上で仕事が行われています。 機械学習がビジネスに組み込まれるにつれ、ホワイトカラーの仕事領域はそれらによって少しずつ代替されつつあります。その図がこちらになります。 ホワイトカラーの担っていた領域は、表データの機械学習(重回帰や、Lasso回帰、SVM、RandomForest、LightGBMなど

            AIはどのような仕事ができるようになったのか?ChatGPTで変わる「優秀な人材」
          • 「Python ゼロからはじめるプログラミング」サポートページ

            本教材は、個人的な用途で自由に使用できるだけでなく、「Python ゼロからはじめるプログラミング」を大学や専門学校での授業、または企業などでの研修の教科書として採用された教員・指導員が、授業などで活用することもできます(授業の進め方などに応じて改変いただいて結構です)。 ただし、民間企業が商用、ビジネス目的で利用する際には別途許諾が必要ですので、著者までご連絡ください。

            • 4歳娘「パパ、具体的な名前をつけないで?」 - Qiita

              ↓新作もよろしくやで! ジェネリクスをもう少しだけ使いこなす。 コロナウィルス対策でリモートワークしてみたらReduxやVuexのメリットが分かった 36歳ザコーダーの休日 ワイ「何やこのコード、全然動かへんやん」 ワイ「怖いな~怖いな~…なんか嫌だなあ~」 よめ太郎「(何で自分が書いたコード見て稲川淳二みたいに怯えとんねん・・・)」 よめ太郎「(そんな鳥肌立つようなクソコード書いてんのかいな・・・)」 娘(4歳)「ねぇ、パパ」 ワイ「なんや、娘ちゃん」 娘「ちょっと、作ってほしい関数があるの」 ワイ「またかいな」 ワイ「娘ちゃんはホンマに関数が大好きやなぁ」 ワイ「しゃあない、パパはプログラミング苦手やけど、頑張って作ったるわ」 娘「ありがとう、パパ」 今回の要件 ワイ「ほんで、今回はどんな関数を作ればええんや?」 娘「えっとね」 娘「'あ'という文字列を渡したら」 娘「['あ', 'あ

                4歳娘「パパ、具体的な名前をつけないで?」 - Qiita
              • スプレッドシートをWeb開発の万能ツールに変えるおすすめサービス厳選まとめ! - paiza times

                どうも、まさとらん(@0310lan)です! 今回は、Googleが提供しているスプレッドシートを表計算ではなく、Web開発の即戦力になる万能ツールへと変えてしまうサービスを厳選してご紹介しようと思います。 スプレッドシートのデータを活用して、Webコンテンツを作成したりデータベースとして活用するなどさまざまな開発手法に応用できるので、ご興味ある方はぜひ参考にしてみてください! ■スプレッドシートのデータを即座にAPIで提供する! 【 SwiftSheet 】 SwiftSheetはExcelやスプレッドシートなどで管理しているデータを、即座にRESTful APIとしてホスティングしてくれるのが大きな特徴です。 CSVで保存したファイルをアップロードするだけという簡単な操作のため、ユーザー登録や課金などは一切不要です。 たとえば、お店のリストをスプレッドシートで管理しているとします。 こ

                  スプレッドシートをWeb開発の万能ツールに変えるおすすめサービス厳選まとめ! - paiza times
                • 良い設計と悪い設計の違い

                  2022年11月7日(月) 「現場で役立つシステム設計の原則 - Forkwell Library #9」 発表資料

                    良い設計と悪い設計の違い
                  • 地図でプログラミング!?ゼンリンが作ったプログラミング教育ツール「まなっぷ」

                    ICT教育推進のためプログラミング教育が必修化され、教育関連企業も教育現場の要望に応えて様々な教育ツールのラインナップがされるなか、地図でプログラミングという一風変わったプログラミング教育を開発、提案するのが地図業界の老舗ゼンリンだ。5月12日から14日まで東京ビッグサイトで開催された教育関連業者のための展示会「教育 総合展(EDIX)東京」内の「第2回 STEAM教育 EXPO」に同社の製品「まなっぷ」が出展されていた。地図の会社が作った教育ツールとはどのようなものかレポートする。 「第2回 STEAM教育 EXPO」ゼンリンブースより 地図業界の老舗であるゼンリンは、その蓄積された地図データを元に様々なITビジネスを展開、カーナビゲーションから、位置情報を活用したIoTソリューション、行動支援サービスやエリアマーケティング、デジタルサイネージまで幅広い分野で業務展開しており、そんな同社

                      地図でプログラミング!?ゼンリンが作ったプログラミング教育ツール「まなっぷ」
                    • 俺流レスポンシブコーディング

                      俺流レスポンシブコーディングの覚書。「人には人のレスポンシブ」があるのでこれが正解だってわけではないのですが、レスポンシブコーディングで悩んでいる人にとって参考になる記事になってくれたら嬉しいです。 ブレイクポイントは特定のデバイスの画面サイズを基準にしない 以前アンケートを取った時にデバイスのサイズを意識して決める人が半数以上を占めていた。 アンケート結果を抜きにしても「2021 年のブレイクポイント決定版はこれだ!」的な記事がバズっているのを定期的に目撃し、主流のデバイスのサイズを比較するアプローチがほとんどであるが、僕はデバイスの端末のサイズを基準にブレイクポイントを決めることには否定的である。 主流のデバイスのサイズなんてものは時間が経てば変化する。 昨年 iPhone 12 が発表された時に従来の画面サイズとは違うバリエーションになることが分かるやいなやタイムラインが慌てふためい

                        俺流レスポンシブコーディング
                      • アルゴリズム・AtCoder のための数学【前編:数学的知識編①】 - Qiita

                        こんにちは、大学 1 年生になったばかりの E869120 です。 私は競技プログラミングが趣味で、AtCoder や日本情報オリンピックなどに出場しています。ちなみに、2021 年 4 月 7 日現在、AtCoder では赤(レッドコーダー)です。 本記事では、アルゴリズムの学習や競技プログラミングで使える数学的な部分を総整理し、それらについて解説したいと思います。前編・中編では数学的知識、後編(2021/4/26 公開予定)では数学的考察の側面から書いていきます。 【シリーズ】 アルゴリズム・AtCoder のための数学【前編:数学的知識編①】 ← 本記事 アルゴリズム・AtCoder のための数学【中編:数学的知識編②】 アルゴリズム・AtCoder のための数学【後編:数学的考察編】 1. はじめに 21 世紀も中盤に入り、情報化社会(いわゆる「IT 化」)が急激に進行していく中、

                          アルゴリズム・AtCoder のための数学【前編:数学的知識編①】 - Qiita
                        • 5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ

                          この記事は Laravel Advent Calendar 2020 - Qiita 最終日の記事です。 TL;DR DDD や "真の" クリーンアーキテクチャは, Web 業界における大抵の現場ではオーバースペックだし,導入しても全員がついてこれるとは限らない app/UseCases ディレクトリだけ切って,ドメインごとに単一責務なクラスを置くと使いやすいよ ActiveRecord 指向のフレームワークで Repository パターンを無理に導入すると死ぬので, UseCase で Eloquent Model の機能を使うことを恐れるな はじめに Zenn では初投稿です。日本の Laravel コミュニティではもうお馴染みのようで実はあまり顔を出していない(?) @mpyw と申します。オンラインサロンの火付け役となった Synapse が最初の仕事でしたが,就職後すぐ会社が

                            5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ
                          • 技術的負債とステークホルダと説明責任と / The Debt

                            Talked at CloudNative Days Spring 2021 Online #CNDO2021. https://event.cloudnativedays.jp/cndo2021/talks/801

                              技術的負債とステークホルダと説明責任と / The Debt
                            • "クソコード"は人格攻撃ではないのか|qsona

                              これは仮説というか自分がこうだという話なのだが、自分のアイデンティティを侵食されると怒りが湧く。たとえば、自分が非常に大事にしている価値観に対して、同僚から「君のその価値観は間違っている」と言われたり、あるいは、作品とか、経歴とか、家族とか、そういう自分自身と非常に密になっていて同一視されるようなものをけなされたら、腹が立つということだ。 プログラマーにとって、ソースコードというのは一つの作品だ。仮に経験が浅い開発者であっても、あるいは経験が浅いからこそ、1行1行に時間をかけて考えながら作りあげる。それに対してこれはクソコードだと言われたらどうだろうか。考えてみる。 よく、クソコードというのはコードがクソだと言っているのであって、お前がクソだと言ってるわけではないから切り離して考えるべきだという言説がある。僕はこれには微妙に賛同できない。その人が生み出したコードは、少なくともその人のいくぶ

                                "クソコード"は人格攻撃ではないのか|qsona
                              • 良いコード/悪いコードで学ぶ設計入門の感想と注意点

                                「良いコード/悪いコードで学ぶ設計入門」という本がとても売れているようです。私の所属している開発チームでも、何人か購入した人がいたので、私も購入して一通り読んでみました。 結果として、いくつかの考えが整理され、私としてはこの本によって考えが深まり、本を読んで考えた事自体は有意義であったと思いました。ただし一方で、あまり知識がない状態で(自分の中での判断軸が無い状態で)この本を読むと、色々と誤解が生まれるのではないか?という事を感じました。 一つの技術書がこれだけ売れるという事はそんなに多くはない事だと思うので、つまり、 その内容が改善されるとその効果は相対的に大きい という事になります。そこで、私が本を読んでいて思ったことや、この本の内容で正しいこと、現在も賛否両論とされること、事実として認識が間違っているであろうこと、この本で触れられていないが設計において大事なこと、などについてまとめて

                                  良いコード/悪いコードで学ぶ設計入門の感想と注意点
                                • 雑に作って、それから作り込んで、最後にテストを書く「テストラスト」開発 - give IT a try

                                  (この話は最初Twitterに書こうと思ったけど、長くなるのでブログに書くことにしました) 僕はRSpecやMinitestでテストを書くのは得意ですが、常にテストファースト(TDD)で開発するとは限りません。 今業務でやってるタスクはこんなふうに進めてます。 雑に動くものを作る ↓ 見た目をきれいにする&機能を作り込む ↓ テストを書く ↓ リファクタリングする この順番で開発する理由を以下に述べます。 雑に動くものを最初に作る理由 最初は見た目とか、異常系とか、細かい仕様とかを無視して、正常系が一通り動くものを作ります。 これはこれから作ろうとしているものの認識が合っているかどうかをPO(プロダクトオーナー)に確認するためです。 実際に動く画面を見せると「こんな感じでOK」とか「ここはこういうふうにしたい」というフィードバックをもらうことができます。 また、開発者としてもコードを書きな

                                    雑に作って、それから作り込んで、最後にテストを書く「テストラスト」開発 - give IT a try
                                  • React, Redux, GraphQLを学べるオンライン教材「Full Stack Open 2019」がとても良かった - FRTKL

                                    この記事はコネヒト Advent Calendar 2019の11日目の記事です! qiita.com はじめに 半年ほど前から新規事業のチームで仕事するようになり、主な技術スタックもPHPからGo, Next.jsへと変わりました。 その中で、特にフロントエンドのテスト周りにおいてキャッチアップ不足を感じていたのですが、たまたま見つけた*1「Full Stack Open 2019」という教材がとても良かったので紹介したいと思います。 「Full Stack Open 2019」とは fullstackopen.com フィンランドのヘルシンキ大学で実際に使われているテキストベースのオンライン教材です。 Nodeで作られたREST APIとReactを使ったSPAの実装を通して、React・Redux・Node.js・MongoDB・GraphQLが一度に学べる教材となっています。 教材

                                      React, Redux, GraphQLを学べるオンライン教材「Full Stack Open 2019」がとても良かった - FRTKL
                                    • ソフトウェアはなぜバージョンアップしなければならないのか - Qiita

                                      はじめに 社内インフラの運用担当者にとってソフトウェアのバージョンアップは地味な割に大変な業務です。 特に社内のオンプレサーバで動いているようなソフトウェアの場合、バージョンアップに伴う諸々の調整をそのソフトウェアを利用している各部署と行う必要があります。 そんなときに「今は忙しいからバージョンアップを先送りしてほしい」「このバージョンはスキップしてもよいのでは?」なんて声が各部署から聞こえてきます。バージョンアップの価値を各部署に理解してもらうのは大変です。 この文章はそんな時になぜバージョンアップしなければならないのかを上司や各部署のマネージャに伝えるために書きます。 ソフトウェアの有効期限は2-5年 まず、第一に、ソフトウェアというものは無限に使えるわけではなく、一定の有効期限があり、それを過ぎると徐々に動かなくなってきます。俗にいう「何もしてないのに動かなくなった問題」です。 なぜ

                                        ソフトウェアはなぜバージョンアップしなければならないのか - Qiita
                                      • JavaScriptのイベントの仕組みが一発で理解できるウェブアプリ「Explore DOM Events」レビュー

                                        JavaScriptには、特定の動作が発生した際にそれに応じてコードを実行する「イベント」という仕組みが存在しています。そのイベントがDOM内でどのように伝わるのかについて、「Explore DOM Events」というウェブアプリがイベントのオプションに応じて視覚的に表示してくれるとのことなので、実際に使って分かりやすさを確かめてみました。 Explore DOM Events https://domevents.dev/ ページにアクセスすると、「親(PARENT)」「子(CHILD)」「孫(GRANDCHILD)」というDOMの親子関係が表示されており、そのうち1つめの孫(オレンジ)がイベントのターゲットに設定されていることが分かります。このまま「Dispatch」をクリックしてみると…… イベントが伝わっていく様子がアニメーションで表示されました。まだ何もイベントリスナーを追加して

                                          JavaScriptのイベントの仕組みが一発で理解できるウェブアプリ「Explore DOM Events」レビュー
                                        • サイバーエージェントとメルカリにみる組織強化システムの構造的分解

                                          これはなにか サイバーエージェントとメルカリの「採用前〜退社後」という一連のエンプロイー・ジャーニーに内包されている組織強化システムを構造的に分解するポストです。 メルカリのCuture Doc公開に際して、実際に起きたことを懐かしく思いツイートしたら予想外の反響をいただいたのですが、その中で私のもうひとつの古巣でもあるサイバーエージェントのことを引き合いに出して貶すような引用リツイートも見られました。 退職時、進太郎さんに1 on 1の時間もらって最後の挨拶したときに貰った「まあ株式会社インターネットみたいなものだから」という言葉を忘れない。2年半前のことなので、今に始まったポーズじゃなくて昔からのスタンス。 Culture Doc | 採用情報 株式会社メルカリ https://t.co/1kTYHh0wVN pic.twitter.com/d3qJwUExcB — きょすーけ | D

                                            サイバーエージェントとメルカリにみる組織強化システムの構造的分解
                                          • 状態、結合、複雑性、コード量の順に最適化する - valid,invalid

                                            There’s No Such Thing as Clean CodeのHacker Newsコメント経由でコードやシステム設計・最適化についての良いコメントを見つけた。どうやらHacker Newsで何度も引用されているらしいが日本語で言及された記事が見つからなかったので取り上げてみる。 コメントは2016年のSandi MetzのThe Wrong Abstractionに関するもので、発言者のcurun1rいわく「私は設計の優先順位をこの順序で学習することで、優れた開発者になれた」。*1 4つの基準と優先順位のガイドライン 状態 > 結合 > 複雑性 > コード量 私は状態 (state)、結合 (coupling)、複雑性 (complexity)、コード量 (code) の順に削減することでコードを最適化する。 コードがよりステートレスになるなら、結合を増やすこともいとわない 結

                                              状態、結合、複雑性、コード量の順に最適化する - valid,invalid
                                            • 5歳娘「パパ、余分なpropsいっぱい書くんだね!」 - Qiita

                                              新しい記事もよろしくやで! 5歳娘「パパのReact、めっちゃ遅いね!」 とある平日 娘(5歳)「パパ、今日は何のお仕事してるの?」 ワイ「おお、娘ちゃん」 ワイ「今日はな、ショッピングサイトを作ってんのや」 今日のお仕事内容 ワイ「↓このデザインの通りに、コーディングをせなあかんのや」 娘「なるほどー」 娘「このショッピングサイトで商品を売りたい!っていうお店があったとして」 娘「そのお店の人が、最初にお店の情報を登録するためのページだね!」 ワイ「せやせや」 まずはデザインを眺めてみる ワイ「この店舗登録ページにはなぁ」 ワイ「↑こんな感じの」 ワイ「項目名と入力欄がセットになったパーツが何度も登場するから」 ワイ「そのためのコンポーネントを作ろうかなー、って」 ワイ「そう思ってたとこなんや」 娘「ふーん」 娘「ラベル付きテキストフィールド的なコンポーネントってことだね」 娘「どこまで

                                                5歳娘「パパ、余分なpropsいっぱい書くんだね!」 - Qiita
                                              • シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita

                                                はじめに シェルスクリプトで二重起動防止やロックをする方法を検索すると、いろいろな方法や書き方が見つかりますが、どれを使えばよいのか、本当に正しく動くのか、不安になりますよね? ディレクトリ (mkdir) やシンボリックリンク (ln) を使った独自実装の例も見かけますが、エラー発生時や予期せぬ電源断、CTRL+C で止めたときなどでも問題は発生しないのでしょうか? まず、ディレクトリやシンボリックリンクを使った独自実装はしない。これを肝に銘じてください。シェルスクリプトでのロック管理はとても難しく、一般的な排他制御の知識に加えて、シェルスクリプト特有の問題、シグナルやトラップ、サブシェルや子プロセスの問題、さらには特定のシェル固有の仕様やバグなどさまざまな問題に対処する必要があり大変です。独自実装の例では古いロックファイルが残ってしまい、それをいつどのタイミングで片付ければ安全なのか?

                                                  シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita
                                                • ぶりてん on Twitter: "会社とかで古くてHDD駆動のPCを使わされてるみなさん、起動直後HDD使用率が100%で何分も待たされますがそれはカスタマーエクスペリエンス向上プログラムという糞機能が動いているからです。今すぐタスクスケジューラからMicrosoft Compatibility Appraiserを無効化させましょう #一番為になったPC知識 https://t.co/IdExC6vx72"

                                                    ぶりてん on Twitter: "会社とかで古くてHDD駆動のPCを使わされてるみなさん、起動直後HDD使用率が100%で何分も待たされますがそれはカスタマーエクスペリエンス向上プログラムという糞機能が動いているからです。今すぐタスクスケジューラからMicrosoft Compatibility Appraiserを無効化させましょう #一番為になったPC知識 https://t.co/IdExC6vx72"
                                                  • ソフトウェア開発の真の問題点は、コードを書くことではなく、問題の複雑さの管理にある - YAMDAS現更新履歴

                                                    www.oreilly.com オライリー・メディアのコンテンツ戦略部門のバイスプレジデントであるマイク・ルキダスの文章だが、彼が数週間前、「コードを書くことが問題なのではない。複雑さをコントロールすることが問題なのだ」というツイートを見かけた話から始まる。彼はこれに感心したようで、これから何度も引用すると思うので、誰のツイートか思い出せればいいのにと書いている(ご存じの方は彼にご一報を)。 件のツイートは、プログラミング言語の構文の詳細や API が持つ多くの関数を覚えることは重要じゃなくて、解決しようとしている問題の複雑さを理解し、管理することこそが重要だと言ってるわけですね。 これは皆、覚えがある話だろう。アプリケーションやツールの多くは、最初はシンプルである。しかも、それでやりたいことの80%、いやもしかしたら90%をやれている。でも、それじゃ十分ではないと、バージョン1.1でいく

                                                      ソフトウェア開発の真の問題点は、コードを書くことではなく、問題の複雑さの管理にある - YAMDAS現更新履歴
                                                    • とりあえずWebサービス作る時の私の技術選定ポイント@2022/02

                                                      はじめに inspired mogaさんのブラウザで動くサービスを作るときの技術選定が素晴らしい記事だったので、自分も書いてみる事にしました。 幸いにも技術選定からのお仕事をする機会が多くて、自分の中でパターンが大体決まってきているので言語化してみます。前提が同じサービスは無いので絶対的な正解は無いですが、なんかしらの参考になれば幸いです。 ※2022/02時点 私/よくあるお仕事について Web系のサービスなんかいい感じにするマンとして、フリーランスとして働いています。 準委任という形でスタートアップ企業をお手伝いする事が多いです。 MVPを作りたい、もしくはMVPは行けたのでちゃんと作り直したい、という要望があって参画して、まるっと作ってそのまま運用をします。作って終わりではなくて、運用や拡張性を考えてやってます(サービスに必要なのはもちろん、運用する自分が楽だから)。 前提 エンジニ

                                                        とりあえずWebサービス作る時の私の技術選定ポイント@2022/02
                                                      • コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み

                                                        Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。植山氏は、制作中のリンカである「mold」について発表しました。全2回。前半は、リンカの概要について話しました。 LLVMのリンカ「lld」オリジナルの作者 植山類氏:植山類です。今僕が作っているmoldというリンカについて発表します。 今回の発表の概要です。リンカが何かを知っている人はそんなにたくさんいないと思うので、まず説明します。次に、「mold」のポイントは速いことなのですが、速いと何がうれしいのかを説明します。そのあと、どれくらい速いのかを説明した上で、どう実現されているのか、概要を紹介します。詳細になると何時間あっても終わらないので、かなりハイレベルな話をします。 自己紹介のスライドを入れていませんが、僕はリンカを何度か作ったことがあって、LLVMのlld

                                                          コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み
                                                        • 今すぐ始められるOSS活動 - Gunosy Tech Blog

                                                          はじめに Github Help Wantedでissueを選ぶ OSSのコントリビュート方法を確認する 実装 既存コードの動作確認 機能実装 プルリクを出す マージされる 最後に はじめに こんにちは。広告技術部のjohnmanjiroです。普段は広告配信のAPIや管理画面を作っています。 今回は最近自分が始めたOSS活動のやり方について紹介しようと思います。 issueを見つけたその日にプルリクを出し、約1週間後にマージされました。 「OSS活動始めたいけど、別に普段使ってる中でバグを見つけたりもしてないし、貢献したい明確なOSSもない、どうしよう🤔」そんなOSS活動未経験者の参考になれば幸いです。 ちなみに自分自身、活動を始めたばかりのペーペーです。 Github Help Wantedでissueを選ぶ OSS活動を始めるにあたって、まずは貢献するissueを選びましょう。iss

                                                            今すぐ始められるOSS活動 - Gunosy Tech Blog
                                                          • 2020年版Pythonを学習するためのオススメ本10冊と学んだことのQiitaへのメモ - karaage. [からあげ]

                                                            Pythonの勉強をしています 今年の2月29日「PyCon Mini Shizuoka」というイベントでキーノートスピーカーとして登壇予定です(詳細は以下参照下さい)。 キーノートスピーカーを引き受けたものの。よく考えると、私はPythonがあんまり分かっていません。「これは、幾ら何でもまずいのでは?」というお気持ちになりました。そこで、今年の年末年始を中心にPythonの本をいくつか読んで、PyConの議論についていけるように、少しでもPythonへの理解を深めておくことにしました。 学んだことは、折角なので以下のQiita記事にまとめていきます(随時追加中)。 この記事では、学習に使用した本と、簡単な感想を書いてみます。興味ある方は参考にしてみて下さい。 私のブログから買うのが嫌だ!という人は、タイトルをコピーしてAmazonで検索してもらえば大丈夫ですし、もちろん買わなくても大丈夫

                                                              2020年版Pythonを学習するためのオススメ本10冊と学んだことのQiitaへのメモ - karaage. [からあげ]
                                                            • オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena

                                                              「オブジェクト指向するとプログラムが読めなくなるから禁止」のような話は昔からあって、新しい技術についてこれない人を揶揄するようなニュアンスで使われていましたが、実際にはこれはオブジェクト指向迷路にうんざりした現場での率直な意見だと思います。 オブジェクト指向は、まじめにやるほどプログラムを読みにくくするという性質をもっています。 ※ 使い方次第というコメントついてますが、だからこそちゃんと性質をしっておく必要があると思います。 オブジェクト指向の代表的な指針を3つあげると次のようなものがあります。 オブジェクト同士の連携としてプログラムを組む 単一責務の原則 インタフェースと実装の分離 まず、オブジェクト同士の連携でプログラムを組むと、コードが飛びまくって追いにくくなります。そして単一責務の原則により、小さいクラスが大量に生成されて、追いにくさがさらにあがっていきます。 ダイクストラ先生が

                                                                オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena
                                                              • あなたのコンピュータはあなたのものではない

                                                                ジェフリー・ポールのブログより。 ここにあります。それが起こりました。あなたは気付きましたか? リチャード・ストールマンが1997年に予言した世界のことを話しています。コリイ・ドクトロウも警告しました。 macOSの最新バージョンでは、アクティビティのログが送信されたり、保存されたりしない限り、コンピュータの電源を入れ、テキスト・エディタや電子書籍リーダを起動して、文書を書いたり読んだりすることはできません。 macOSの現在のバージョンでは、OSはそれを実行する時に、あなたが実行したすべてのプログラムのハッシュ(一意の識別子)をAppleに送信することが分かりました。多くの人はこれに気づいていませんでした。なぜなら、それは静かで目に見えず、オフラインのときに即座に、そしてうまく失敗するからが、今日はサーバが本当に遅くなり、フェイルファストのコードパスにヒットせず、インターネットに接続して

                                                                • Linus Torvalds 氏の理想の git 運用と GitHub

                                                                  Note 本記事の内容は Linus 氏の発言が人を傷つける場合に筆者がそれを良しと考えるといった意図はございません 少し古い記事になるが、 Linus Torvalds 氏 の GitHub に対する苦言が記事になっていた。 LinuxカーネルにNTFSドライバーが追加、トーバルズ氏はGitHub経由のマージに苦言 - ZDNet Japan Linus 氏が GitHub について苦言を呈するのは今に始まったことではない(後述)が、 別に GitHub のすべてを否定しているわけではない。[1] では一体何が不満なのか。Linus 氏の理想とする git の開発フローを考察した上で、整理してみたい。 Linus 氏の理想 結論からいうと、 「意味あるコミットを作れ」「コミットを大事にしろ」 という思想が伺える。 では 「意味あるコミット」「大事にされたコミット」 とは何なのか。 筆者な

                                                                  • たった1行のCSS!よく見かけるWebレイアウトを実現する凄技テクニック10個

                                                                    モダンなCSSレイアウトでは、ほんのわずかなコードを書くだけで、実用的なスタイリングを実現できます。 この記事では、たった1行でよく見かけるWebレイアウトを表現できるテクニック10個をご紹介します。 上下中央揃え: place-items: center まずCSSでもっとも頭を悩ませる、上下中央揃えを詳しくみてみましょう。ここでは、plae-items: centerを使えば、思ったよりに簡単に実現できます。 まず、display: gridを記述したら、一緒にplace-items: centerを同じ要素に追加します。place-itemsは、align-itemsとjustify-itemsを同時にスタイリングできる簡略化表記、ショートハンドです。centerに設定することで、align-itemsとjustify-itemsの両方がcenterとして設定されます。 .paren

                                                                      たった1行のCSS!よく見かけるWebレイアウトを実現する凄技テクニック10個
                                                                    • デブサミ2023 / テストを学びたい開発者のためのソフトウェアテスト読書マップ / Software Testing Reading Map for Developers

                                                                      Developers Summit 2023での発表資料です。 ソフトウェアテストを専門としない人が、どんな本で、どんな順番にソフトウェアテストを勉強すればいいのかについて、主観のみで語っています。

                                                                        デブサミ2023 / テストを学びたい開発者のためのソフトウェアテスト読書マップ / Software Testing Reading Map for Developers
                                                                      • 企業技術ブログ: エンジニアの技術ブログコミュニティ

                                                                        “あの会社”の技術を学ぼう今日から業務に活かせる! 企業ではたらくエンジニアのための、実例全振り技術ブログコミュニティ。もっと詳しく

                                                                          企業技術ブログ: エンジニアの技術ブログコミュニティ
                                                                        • ソフトウェアの複雑さに立ち向かう1つの哲学 :『A Philosophy of Software Design』 を読んだ - こまぶろ

                                                                          あけましておめでとうございます、になるはずだったのですが、後から読んだ『Googleのソフトウェアエンジニアリング』の方を先に記事にしたので新年2本目の更新です。 ky-yk-d.hatenablog.com さて、本題。最近のお気に入りポッドキャストであるe34.fmで激賞されていた『A Philosophy of Software Design』を読みました。初版は2018年に出ていて、今回は2021年に出た第2版を読みました。 スパゲッティコードを想起させる装丁 A Philosophy of Software Design, 2nd Edition (English Edition) 作者:Ousterhout, John K. Amazon scrapbox.io どんな本? 書籍のテーマはソフトウェアの複雑さです。複雑さとは、システムを理解したり変更したりするのを困難にさせるも

                                                                            ソフトウェアの複雑さに立ち向かう1つの哲学 :『A Philosophy of Software Design』 を読んだ - こまぶろ
                                                                          • 【図解】Python基礎64選 - Qiita

                                                                            前回の記事が思いのほか好評だったので、今回はPythonの基礎を図解にまとめてみました。 これからPythonに入門する方、初学者の方への参考になれれば幸いです。 前回の記事↓ 押さえたい基礎 押さえたい基礎の分野は9つになります。 以下で詳しく見ていきます。 数値計算 数値計算は演算子を確認します。 数値の型(int・float)

                                                                              【図解】Python基礎64選 - Qiita
                                                                            • テストを自動化するのをやめ、自動テストを作ろう

                                                                              July Tech Festa 2020 TrackB https://jtf2020.peatix.com/

                                                                                テストを自動化するのをやめ、自動テストを作ろう
                                                                              • GitHub Actions 逆引きリファレンス

                                                                                1.この記事の立ち位置#自分がいつも調べていること、忘れがちな Tips や小ネタを列挙していく。そのため、網羅性は重視しない。 というのも、なにか調べていていろいろ読み漁った挙げ句、1周回って行き着くところは GitHub Actions の公式ドキュメントであり、たとえば Workflow の書き方は以下のページをよく開いている。 Workflow syntax for GitHub Actions - GitHub Docs それでも、公式ドキュメントで参照したい箇所を引っ張るための用語を知るまでに苦労することが往々にあり、この記事が、公式ドキュメントで参照したい箇所を導くための助けとなればと思い、書いていく。 2.Step と Job と Workflowの違いアレコレ#2-1.Step と Job と Workflow の違いの一行まとめ#Step < Job < Workflo

                                                                                • プログラミングでつまづいてきたこと - 覚書

                                                                                  プログラミング初心者に対してどういう情報が役立つのかをぼんやり考えていると、そこそこコードを書けるベテランが、いつ、どういうことにつまづいてきたのかを書くとけっこう有益なのではないかと思ったので書きました。これを読むと直接プログラミング能力が上がるわけではないですが、「ああ、こういうところでつまづいてもいっぱしのプログラマになれている人もいるのだな」と思ってもらうのが目的です。成功談よりも失敗談のほうが役立つとよく言われますが、それと少し似ているのかもしれません。 全段落で「いっぱしのプログラマ」とか言った手前、自分のことを書いておきます。18歳ごろから20年くらい前からプログラミングをしていて、主に有名どころのOSSに向けてコードを書いてきました。昔はLinuxカーネルを10年少々やっていて、ここ最近はCephオーケストレータであるRookの開発とかをしています。プログラマとしてはスーパ

                                                                                    プログラミングでつまづいてきたこと - 覚書