並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 1338件

新着順 人気順

変数名の検索結果81 - 120 件 / 1338件

  • JavaScriptのデバッグにはdebugger文を使おう - Qiita

    JavaScript初心者のため、デバッグ力がまだまだ拙くどうしたらデバッグ力ってつくのだ…と悩んでいたら 👨‍💻 < スタックトレースするといいよ! 👨‍💻 < スタックトレースするにはdebuggerとかconsole.trace()使うといいよ! と教えていただきdebuggerを使ったらとても便利だったので🙏 スタックトレースとは スタックトレース (stack trace)とは エラーが発生したときに表示される内容で、そのエラーが発生するまでの過程(どんな処理がどの順番で呼び出されたかの流れ)を、ざっくりと表示したものです。 「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 スタックトレースを使って問題をどう切り分けるか まずは問題が起きている箇所のスコープを狭くしていきましょう💡 問題の切り分け方として ざっくり入口と出口の関数に適切な値が入って

      JavaScriptのデバッグにはdebugger文を使おう - Qiita
    • Linuxカーネルコード、1行の文字制限を80字から100字まで緩和

      Linuxカーネルの開発者であるLinus Torvalds氏は5月29日(米国時間)、「LKML: Linus Torvalds: Re: clean up kernel_{read,write} & friends v2」において、ソースコードの1行当たりの文字数を80までとする現在の制限によって生まれる過度の改行はソースコードにとって良くないことであり、さまざまな問題を引き起こすと指摘した。 同氏はメールの中で次のような意見を述べ、制限を緩和する方向の意見を示している。 grepのようなコマンドは基本的に行単位で検索を行うので、過度に改行されたソースコードだと扱いにくい。 すでに多くのユーザーが80カラムの幅のターミナルを使用せず、より広げて使用している。同様の理由で、高さも25行よりも広げて使っている。 少数のユーザーが小さいターミナルウィンドウを使用しているという理由で、80カラ

        Linuxカーネルコード、1行の文字制限を80字から100字まで緩和
      • そろそろRailsプロジェクトに型を導入したい人向けの資料

        すべての説明はイチRubyユーザーの個人的で期間も限定的な観測範囲に基づきます。 「Rubyには型がない」 ある日、同僚とプログラミング言語に関する雑談をしていたときに言われた一言です。 私はその日までRubyの型機能は使っていませんでした。忙しい毎日を送り、キャッチアップを疎かにしていたのです。後日このことは猛烈に反省することになります。 「Rubyには……型があるッ……!」 火がついた私はパターンマッチの時と同様にRubyの型についてキャッチアップすることにしました。そして最高の体験が待っていました。 導入した後の世界 ぶっちゃけRubyの型を導入するとどうなるのでしょうか? メチャクチャ簡単に説明すると、エディタでバグがひと目で分かるようになります。 vscodeでの画面です。なにやら赤線がついています。 === bar === barの部分にカーソルを合わせてみましょう。 「Pos

          そろそろRailsプロジェクトに型を導入したい人向けの資料
        • FastAPI入門 - モダンなPythonフレームワークの特性をチュートリアルで手軽に学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)

          FastAPI入門 - モダンなPythonフレームワークの特性をチュートリアルで手軽に学ぶ PythonのWebフレームワークとしていま注目を集めるFastAPIは、シンプルにコードが書けるだけでなく、パフォーマンスが高いWebアプリケーションのバックエンドサーバーが構築可能です。同フレームワークの勘所をPythonスペシャリストの杜世橋さんが、初心者向けのハンズオン、そしてより実践的な画像への自動タグ付けサービス実装をとおして解説します。 FastAPIはいま非常に注目されているPythonのWebフレームワークの1つです。Flaskのようにシンプルに書ける一方でPythonのType Hintの機能をうまく活用し、HTTPのリクエスト/レスポンスをPythonの関数の引数/戻り値とシームレスにマッピングして非常に効率的に開発ができるのが最大の特徴です。非同期処理にも対応していてその名

            FastAPI入門 - モダンなPythonフレームワークの特性をチュートリアルで手軽に学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)
          • プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ

            技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.0.0 がリリースされました。一昨年、昨年に続き、今年も Ruby 3.0 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は一昨年の記事を見てください(なお Ruby 3.0.0 から、NEWS.md にファイル名を変えました)。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ Ruby 3.0 は、Ruby にとってほぼ 8 年ぶりのメジャーバージョンア

              プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ
            • ルールは現場で死にました - The Rules of Programming の読書感想文 - じゃあ、おうちで学べる

              本日は人生の数ある選択肢のなかから、こちらのブログを読むという行動を選んでくださいまして、まことにありがとうございます。 はじめに プログラミングの世界には多くの指針や原則が存在します。Chris Zimmerman氏の「The Rules of Programming」(邦題:ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール)は、不変の知恵を凝縮した一冊です。これらの原則は、多くの開発現場で活用できる有益な内容となっていると思いました。 The Rules of Programming: How to Write Better Code (English Edition) 作者:Zimmerman, ChrisO'Reilly MediaAmazon 本書は、大ヒットゲーム『Ghost of Tsushima』などで知られるゲーム制作スタジオ、Sucker Pun

                ルールは現場で死にました - The Rules of Programming の読書感想文 - じゃあ、おうちで学べる
              • GitHub Actions のワークフローをチェックする actionlint をつくった - はやくプログラムになりたい

                GitHub Actions のワークフローを静的にチェックする actionlint というコマンドラインツールを最近つくっていて,概ね欲しい機能が揃って実装も安定してきたので紹介します. github.com なぜワークフローファイルの lint をすべきなのか GitHub Actions が正式リリースされてからだいぶ経ち,GitHub 上での CI は GitHub Actions が第一候補となってきているように感じます.僕も新規にリポジトリを作成して CI をセットアップする場合はほぼ GitHub Actions を使っています. ですが,GitHub Actions には下記のような問題があり,actionlint でそれらを解決・緩和したいというのが理由です. ワークフローを実装する時は,GitHub に push して CI が実行されるのを待って結果を確認するという

                  GitHub Actions のワークフローをチェックする actionlint をつくった - はやくプログラムになりたい
                • 因果推論100本ノック(1)因果効果とランダム割付

                  はじめに 因果推論100本ノック(自作)1本目~10本目の問題とPythonのサンプルコードです. 問題の不備や内容の誤り等ありましたら,ご指摘いただけますと幸いです. 設定 アナリストの分析レポートが営業の受注件数にどれくらい貢献しているかを分析するケースを考えます. 今回は,下記フォルダの「causal_knock1.csv」ファイルのデータを利用します. データのカラムの概要は下記の通りです. 変数名 データの概要 備考

                    因果推論100本ノック(1)因果効果とランダム割付
                  • Pull Request のコメント数を減らすアホみたいなコツ|牛尾 剛

                    私は長年 Pull Request のコメント数が多くて何回もレビューを往復することが多くて大変つらかったが最近ものすごく単純なコツに最近きづいたのでそのことをシェアしようと思う。 Pull Requestレビューの悩みこれはならない人はならないので、共感してもらえる人は少ないかもしれないが自分の悩みは Pull Requestのコメント数でこれが本当に多い。何がつらいって、レビューのコメントが多いという事は、マージに時間が掛かるということだ。最初にコードを書いてテストして完成させるのは2時間もかかってないのに大抵レビューで何往復もして時間を取られるのが本当につらいし、進捗がでないもの嫌だし、時間かかるし、自分が最近解決したい問題の中でも筆頭の問題だった。 何が悪いのだろう?すごく嫌なので物凄く考えたがうまくいかなかった。例えば、英語のスペルミスも良くしたし、ログやコメントの英文にレビュー

                      Pull Request のコメント数を減らすアホみたいなコツ|牛尾 剛
                    • VS CodeのAdobe XD用拡張機能が登場!デザインシステムにもとづきコード出力と補完が可能に - ICS MEDIA

                      VS CodeのAdobe XD用拡張機能が登場! デザインシステムにもとづきコード出力と補完が可能に Microsoftが開発を行っている無償のエディター「VS Code」にAdobe XD用の拡張機能「Adobe XD extension」が登場しました。 この拡張機能を使うことで、Adobe XD上で作成したデザインアセットをVS Code上で参照・編集できるようになります。デザイナーとエンジニア間の溝を埋めることができ、デザインシステム構築のハードルが下がるでしょう。 今回の記事では、「Adobe XD extension」の活用方法を紹介します。コーディングの際に活躍する拡張機能ではありますが、Adobe XDを使ったデザイン段階でのひと工夫も必要になりますので、デザイナーの方も理解しておくとプロジェクトの進行がスムーズになるでしょう。 「Adobe XD extension」と

                        VS CodeのAdobe XD用拡張機能が登場!デザインシステムにもとづきコード出力と補完が可能に - ICS MEDIA
                      • ChatGPTに渡す文章の適切な区切り線について検証した記事|Clirea

                        はじめに大規模言語モデルであるChatGPTに文章を渡す際、適切な区切り線の使用は、情報の正確な伝達や解釈に大いに役立ちます。 この記事では、区切り線に適切なものを検証します。 区切り線とは?使い方区切り線は文章を区切る時に使用する文字列のことです。 例えば下記のようなものです。 また、使い方をまとめた記事もあるので参考にしてください。 def test() a = "a" b = "b" c = a + b print(c) ================================ ←これが区切り線 上記のコードについて教えてください 結論先に結論を言うと、4個~16個連続した「-」か「=」 もしくは8の倍数の「-」か「=」が区切り線としてはベストでした。 ---- ---------------- -------------------------------- ==== ==

                          ChatGPTに渡す文章の適切な区切り線について検証した記事|Clirea
                        • 読みやすいコードは「読ませない」

                          経験の浅い人にちょくちょくするアドバイスとして、「コードリーディングのときにはあんまコードを読まないほうがいいよ」がある。コード全体を詳細に読むのではなく、名前やインターフェイスからコードの意図を把握することで効率的にコードリーディングできる。完全に下記の受け売り。 「実装は極力見ないようにして、インターフェイスと構造を理解するようにするんです。ダイヤグラムや、関係のグラフを書いたりして。実装はちゃんと出来ていると信じて、読んでいるメソッドやクラスのインターフェイスの役割やパラメータをしっかり理解するようにするんです。そっちの方が、実装を見るよりずっと楽ですよね。」 牛尾 剛「コードリーディングのコツは極力読まないこと 」 自分なんかは、エディタの畳み込み機能と変数名ホバーを使って、名前とインターフェイスしか見えない状態で読む。中身を読みたいなーと思ったところは畳み込みを解除して徐々に読ん

                            読みやすいコードは「読ませない」
                          • 後で楽できるTerraformの書き方(※ただし書くときは辛い) - SMARTCAMP Engineer Blog

                            はじめに ざっくりしたシステム構成の紹介 全体の構造 設計のポイント コーディング規約 上の階層を見に行かない 変数名は全体でユニークにする 変数のデフォルト値は設定しない main, outputs, variables 以外のファイルを原則置かない ポリシードキュメントはJSONファイルのまま管理する 変数で処理を変える仕組みを極力使わない 値のハードコードをためらわない コードが冗長であることをためらわない 残っている課題 AWSアカウント単位でしか用意しないものの扱い ECSのタスク定義の扱い 最後に はじめに はじめまして。スマートキャンプのおにまるです。 2022年10月に入社し、SRE兼インフラエンジニアとして働いています。 今回は、あるプロダクトの再スタートにあたって新しく作った、AWSのTerraformについてお話したいと思います。 再スタートにあたってアプリケーション

                              後で楽できるTerraformの書き方(※ただし書くときは辛い) - SMARTCAMP Engineer Blog
                            • 【第3回】CTOはWeb技術のトレンドに何を見てきたか | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

                              日本を代表するブログサービスをはじめ、近年ではサーバ監視サービスMackerelでも知られる株式会社はてな。日本におけるWeb開発の黎明期から現在に至るまで、新旧さまざまな技術スタックが混在する環境で、CTOであるmotemenさんこと大坪弘尚さんはどのような心構えで技術選択に挑んでいるのか。初代はてなCTOでもある株式会社一休CTOの伊藤直也さんが聞き出します。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてなブックマーク」などの開発を主導。グリー株式会社では統括部長としてSNSを担当した。2016年4月、一休に入社し執行役員CTOに就任。 ・大坪 弘尚さん / 株式会社はてな CTO 2008年、東京大学大学院情報理工学系研究科を中退後、アプリケーションエンジニアとして新

                              • 2024年 俺が愛した本たち 技術書編 - じゃあ、おうちで学べる

                                この記事は、3-shake Advent Calendar 2024 24日目のエントリ記事です。 はじめに こんにちは、nwiizoです。2024年も残りわずかとなりました。年の瀬に差し掛かるこの時期、1年の歩みを振り返り、時の流れを見つめ直すことは、私にとって特別な意味を持っています。今年は特に、技術書との関わり方に大きな変化がありました。本を紹介する投稿する中で、技術書のみならず、さまざまな分野の書籍を読む機会が大幅に増えました。 私の書斎は、いつの間にか技術書のデータセンターと化しました。サーバーラックの代わりに本棚が整然と並び、それぞれの棚には未読の本という名のサーバーがぎっしりと配置されています。これらの「サーバー」は、24時間365日、知識というバックグラウンドプロセスを静かに実行し続けています。既にメモリの使用率は常に100%ですが、まだ、クラッシュすることはありません。ク

                                  2024年 俺が愛した本たち 技術書編 - じゃあ、おうちで学べる
                                • おまえはもうRのグラフの日本語表示に悩まない (各OS対応) - ill-identified diary

                                  2021/9/10 追記: 改めて更新された話を統合して整理して書き直しました. 以降はこちらを参考にしてください: ill-identified.hatenablog.com 2021/1/15 追記: RStudio 1.4 がリリースされたのでなるべくアップデートしましょう 2020/12/06 追記: Japan.R で今回の話の要約+新情報を『Mac でも Windows でも, PNG でも PDF でもRのグラフに好きなフォントで日本語を表示したい (2020年最終版)/Display-CJK-Font-in-Any-Gpraphic-Device-and-Platform-2020 - Speaker Deck』として発表した. ハイライトは「近々出るRStudio 1.4 があれば fontregisterer はほぼいらなくなる」 2020/10/31 追記: geom

                                    おまえはもうRのグラフの日本語表示に悩まない (各OS対応) - ill-identified diary
                                  • 異常検知プロジェクトを取り巻くtips - Qiita

                                    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 最近、異常検知に関する案件に関わって、結構苦労しました。 その理由の一つとして、異常検知の手法については一部本がでているもののそこまで多くはなく、また、異常検知プロジェクトの進め方という意味では情報があまり見つけられなかったというのがあります。 そこで、プロジェクト実施前に、こんな情報があればよかったなという内容についてまとめました。 自分が関わった案件は、設備のセンサーデータを用いた異常検知だったため、その内容に偏っていますが、全体の流れや考え方としてはあまりドメインや異常検知によらないものと思います。 なお、個別の異常検知

                                      異常検知プロジェクトを取り巻くtips - Qiita
                                    • Rails 7.0でアセットパイプラインはどう変わるか | Wantedly Engineer Blog

                                      Rails 7.0ではフロントエンドサポートが刷新されます。新たなライブラリが多数導入され、選択肢が増えるため、「Rails公式のものを選べばOK」という戦略が通用しなくなります。 本稿では、Railsでフロントエンドを書くための選択肢について、その歴史と実装を踏まえて比較検討します。 結論から言うと(まだアルファ版なので今後も状況が変わる可能性はありますが、) 新規アプリケーションではSprocketsの役割は無くなりそうです。新しいライブラリとして Propshaft, importmap-rails, jsbundling-rails, cssbundling-rails が登場し、主要な選択肢として以下が提供されます。 (各ライブラリの詳細については後述します) Propshaft + importmap-railsデフォルトの選択肢。Node.jsが不要。トランスパイルを含め、複

                                        Rails 7.0でアセットパイプラインはどう変わるか | Wantedly Engineer Blog
                                      • JavaScriptの演算子の優先順位と「禁止ルール」の一覧

                                        ただし、種別は以下の通りです。 prefix (前置演算子) …… もとの式の手前に何個でもつけられる演算子。 例: -~-~x postfix (後置演算子) …… もとの式の直後に何個でもつけられる演算子。 例: x.foo()`bar`[0] postfix once …… もとの式の直後に1個だけつけられる演算子。 例: x++ は可能だが x++-- はパースされない。 逆に ++--x はパースされるが、構文とは別のルールで禁止される。 (後述) infixL …… 中置演算子で左結合 (演算子の優先度が同じ場合は左側にあるほうが優先される) 例: 0.1 + 1.0 - 1.0 は (0.1 + 1.0) - 1.0 になる infixR …… 中置演算子で左結合 (演算子の優先度が同じ場合は右側にあるほうが優先される) 例: 2 ** 2 ** 3 は 2 ** (2 **

                                          JavaScriptの演算子の優先順位と「禁止ルール」の一覧
                                        • 変数名とか関数名つけるの難しい

                                          長過ぎるとわかりにくいし端折りすぎると何がなんだかわからなくなる

                                            変数名とか関数名つけるの難しい
                                          • Pythonについて思うこと | 雑記帳

                                            みなさん、Pythonは好きですか? この記事では、私がPythonという言語とそのエコシステムについて思うところを書いていきます。全体を通したストーリーみたいなのはなくて、トピックごとに書いています。 私のPython経験は3年弱です。Pythonについてまだまだ新米だという自覚はありますが、そこは有り余る才能でカバーしてこの記事を書いています。 静的型 Pythonには静的型がありません。型ヒントはありますが、インタープリターにとっては飾りにすぎません。 mypyとかの型チェッカーはありますが、「それさえあれば万事ハッピー」なものではなく、既存のコードを適宜書き換えないと型チェッカーでまともな結果を得るのは難しそうです。型検査を念頭に書かれていない(型ヒント付きの)コードをそのままmypyにかけても大量のエラー・警告が出てくるでしょう(ちなみに、型ヒントなしの関数はmypyのデフォルト

                                            • DDDの正体は実装パターンとモデリングの組み合わせ - パンダのプログラミングブログ

                                              PoEAA を通して DDD の半分を理解する マーティン・ファウラーの PoEAA を読んでから、DDD のことを考え続けている。今まで DDD の話題はあえて避けてきた。分厚く難解な書籍、増えるコード量、教祖とその信徒たち(MV)、全てをその視点から解釈しようとする試み、少しでも間違えたら求められる自己批判、無知な者に対する SNS 上のオルグ、いつまでも出てこない総括、それでも信じるものは救われる。「一匹の亡霊がIT界隈を徘徊してる。DDDという亡霊が...」 まあ早まらないでほしい。何も DDD こき下ろそうというわけではない。自分の実力不足が主な原因と思い、深入りする前から「わからないもの」と決めつけていた DDD は、PoEAA というライトに照らされてその姿を私の前に姿を表し始めた。それは亡霊ではなく、確固たる手触りのある実体(Entity)だったのである。 PoEAA は

                                                DDDの正体は実装パターンとモデリングの組み合わせ - パンダのプログラミングブログ
                                              • OpenAIのプロンプトジェネレーターで至高のプロンプトを生成する - Taste of Tech Topics

                                                こんにちはイワツカです。 食欲の秋ということでサツマイモやキノコが美味しい季節ですね。 さて今回は、生成AIを使おうと思ってもプロンプトの書き方がよく分からず、生成AIから思ったような回答を得られない...なんて方におススメのOpenAIのプロンプトジェネレーター機能を紹介します。 1. プロンプトジェネレーターとは 使い方 2. ユースケースごとのプロンプトと結果比較 Pythonコードのリファクタリング プロンプトジェネレーターを使わない場合 プロンプトジェネレーターを使う場合 API設計 プロンプトジェネレーターを使わない場合 プロンプトジェネレーターを使う場合 ブログ作成 プロンプトジェネレーターを使わない場合 プロンプトジェネレーターを使う場合 3. まとめ 1. プロンプトジェネレーターとは プロンプトジェネレーターとは、その名の通り、AIに対する指示文(プロンプト)を自動的に

                                                  OpenAIのプロンプトジェネレーターで至高のプロンプトを生成する - Taste of Tech Topics
                                                • LangChainを使わない - ABEJA Tech Blog

                                                  TL; DR LangChainのメリデメを整理する過程で、今となってはopenai-pythonのうちChatGPTのAPIをを簡単に取り回せる程度のシンプルなライブラリがあるだけでも十分便利なんじゃないかと思ったので、ライブラリを個人で作ってみました。(バージョン0.0.1なのでちょっとお粗末な所もありますが) github.com はじめに こんにちは、データサイエンティストの坂元です。ABEJAアドベントカレンダーの13日目の記事です。世は大LLM時代ということで、ありがたいことにABEJAでも複数のLLMプロジェクトを推進させて頂いています。私自身もいくつかのLLMプロジェクトに参画しています。LLMといえばLangChainが便利ですね。OpenAI APIの利用だけでなく、各種ドキュメントのパースが出来たり、HuggingFaceやインデックスDBを扱う他のライブラリとインテ

                                                    LangChainを使わない - ABEJA Tech Blog
                                                  • 統計的因果推論と因果探索について|M3 Data Science Blog

                                                    こんにちは。エムスリーデータ分析グループの中島です。 本記事ではマーケティングやデータサイエンスの文脈で重要度が高まっている統計的因果推論への足掛かりをデータ分析グループの業務と結び付けながらご紹介したいと思います。 1. はじめに「A→Bの因果関係がある」とは、Aへ介入する(Aを変化させる)ことよって、要因Bを変化させることができることを意味します。 具体例で考えると、投薬(A)の有無によって病気の治癒率(B)が変化する場合、投薬→治癒率の因果関係があるといえるわけです。 このような因果関係をデータを活用して解き明かそうとするのが統計的因果推論の目的ですが、大別するとさらに次の2つに分類されます。 (1) 因果の方向を既知のものとして因果の大きさを評価(因果推論) (2) 因果の方向の決定・探索(因果探索) これらの基本的な考え方と手法について紹介をしたいと思いますが、その前に重要な概念

                                                      統計的因果推論と因果探索について|M3 Data Science Blog
                                                    • 2024年のPythonプログラミング - Uzabase for Engineers

                                                      ソーシャル経済メディア「NewsPicks」で推薦や検索などのアルゴリズム開発をしている北内です。Pythonは頻繁に新機能や便利なライブラリが登場し、ベストプラクティスの変化が激しい言語です。そこで、2024年2月時点で利用頻度の高そうな新機能、ライブラリ、ツールなどを紹介したいと思います。 この記事では広く浅く紹介することに重点を置き、各トピックについては概要のみを紹介します。詳細な使用方法に関しては各公式サイト等での確認をおすすめします。なお、本記事ではOSとしてmacOSを前提としています。 環境構築 Pythonの環境構築はpyenvとPoetryの組み合わせがもっとも標準的でしょう。 以下の手順でpyenvとPythonをインストールできます。 brew install pyenv # Bashの場合 echo 'eval "$(pyenv init -)"' >> ~/.ba

                                                        2024年のPythonプログラミング - Uzabase for Engineers
                                                      • 良いコメントが良い設計を導く

                                                        要旨 コメントを適切に記述することは、特にインターフェイス(クラスやメソッド)において重要です。これにより、直感性が高まり、抽象化が十分に行われているかを確認する手助けになります。そのため、コメントはソフトウェア設計プロセスの重要な一部と位置づけられます。 2種類のコメントタイプ まず、コメントを2種類に分類します。 1️⃣ コードをより詳細化するコメント(lower-level comment) 2️⃣ コードをより抽象化するコメント(higher-level comment) どちらも必要なコメントとしつつ、本書では後者のコメントをより重視しています。 1️⃣ コードを詳細化するコメント(lower-level comment) 変数名などに残すタイプのコメントで、宣言した対象の単位や境界値、null許容などの詳細を明示することで、コードの正確性を高めます。こちらのタイプのコメントも必

                                                          良いコメントが良い設計を導く
                                                        • 中国版ギットハブ、コードを検閲・遮断か? OSS開発者に衝撃

                                                          中国におけるギットハブの競合サービスとして人気の「ギッティ(Gitee)」で公開されていたソースコードが一部非公開となり、中国のオープンソース・コミュニティに衝撃を与えている。理由は明らかではないが、中国政府による検閲が疑われており、イノベーションを阻害する恐れが指摘されている。 by Zeyi Yang2022.06.01 171 2 5月18日の朝のことだ。中国の数千人ものソフトウェア開発者たちは、中国企業「ギッティ(Gitee)」にホストされているオープンソース・コードがロックされ、非公開になっていたことに気づいた。ギッティは、国際的なコード・リポジトリ・プラットフォームであるギットハブ(GitHub)の競合サービスで、中国政府の支援を受けている。 ギッティはその日の遅くに声明を発表し、ロックされたコードは手作業でレビューされており、今後はすべてのオープンソース・コードが公開前にレビ

                                                            中国版ギットハブ、コードを検閲・遮断か? OSS開発者に衝撃
                                                          • Windowsにおける環境変数をあらためて整理する (1/2)

                                                            Windowsを始め、Unixの影響を受けているOSが持つ機能に環境変数がある。環境変数は、実行するプログラムに対してなんらかの情報/パラメーターを与える方法。1979年に作られたVersion 7 Unixに搭載され、Unixの基本的な機能の1つとして今でも使われている。 プログラムに対して情報やなんらかのパラメーターを与える方法にはコマンドラインがあるが、環境変数は事前に定義しておくもので、複数回実行されるプログラムに常に同じ情報/パラメーターを指定する。あるいは、デフォルト値のように常に情報/パラメーターを指定するといった使い方をすることが多い。 典型的なUnix系のコンソールアプリケーションでは、コマンドラインのオプション指定の一部を環境変数から受け取ることができるものが多い。 Windowsでも、cmd.exeの組み込みコマンドである「dir」は、「DIRCMD」という環境変数か

                                                              Windowsにおける環境変数をあらためて整理する (1/2)
                                                            • 関数・変数・機能に対する名付け方は“理解の試金石” まつもとゆきひろ氏が、プログラミングで名前が大事だと思う理由 | ログミーBusiness

                                                              日本人プログラマーで最も有名なRubyの生みの親まつもとゆきひろ氏:ご紹介に与りました、まつもとゆきひろです。裏番組もおもしろそうなんですけれども(笑)、こちらに来ていただいてありがとうございます。何人ぐらい来てくれているのかな? まぁいいや。 今日はですね、「プログラミングのことわざ〜Rubyの父が語る教訓と知恵〜」というタイトルでお話しします。 まつもとゆきひろです。こんな感じのアイコンで活動していますけれども、Rubyを作った人として知られています。インターネットではひらがなです。ちょっと差別化しようと思って、大学生の頃からインターネットで活動する時には、ひらがなで名乗ると決めています。 海外の人とやり取りする時は、あだ名を作ってニックネームで呼んでもらっています。海外の人ってわりとファーストネームで呼びたがるのですが、「ゆきひろ」とか呼ばれるとちょっとドキドキするので、Matzとい

                                                                関数・変数・機能に対する名付け方は“理解の試金石” まつもとゆきひろ氏が、プログラミングで名前が大事だと思う理由 | ログミーBusiness
                                                              • 「良いコード」を書くための10のポイントとは?

                                                                プログラマーがコードを書く際は、メンテナンス性を確保したり、パフォオーマンスを最大化したりと、なるべく「良いコード」を書くように努める必要があります。Uberでエンジニアリングマネージャーを務めた経験を持つチャールズ・アクセル・ダイン氏が、「良いコード」を書くために重要な10のポイントを解説しています。 10 principles for good code | dein.fr https://www.dein.fr/2015-10-01-10-principles-for-good-code.html ◆01:良いコードは革新的である コードを書くことで解決しようとしている問題が「都市間の人々の移動」といった古典的な問題である場合、ソフトウェアやハードウェアによって革新的な解決法を提供できる可能性があります。また、すでにコンピューターが用いられている分野でも、ユーザーにこれまで以上に優れ

                                                                  「良いコード」を書くための10のポイントとは?
                                                                • コーディングルールはマジでしっかり決めろって話

                                                                  どうも、フリーランスエンジニアの人です。 今まで関わったプロジェクトにおいてコーディングルールが曖昧だった環境で苦労したので、例に出しながら振り返ろうと思います。 ※ 本記事に登場するコード例は実際に存在するコードではありませんがヤバさは忠実に再現しました。 2022/11/5 追記 曖昧かつ実態のズレた変数名 変数の命名というものはエンジニアによって少々偏った傾向が見られますが、その変数が指し示す実態と命名に大きなズレがなく、主旨が伝わればエンジニアリングにおいて大きな問題はないはずです。 ですが、世の中には曖昧かつ実態と一致しない変数名が書かれたプロダクトコードが存在します。 以下のコードをご覧ください。 ※ 今回はJSを例に出します // ユーザーのデータを取得 export const getUserData = async (id) => { const res = await

                                                                    コーディングルールはマジでしっかり決めろって話
                                                                  • Ruby が YJIT でなんで速くなるのか? Lazy Basic Block Versioning をサクッと理解してみた - estie inside blog

                                                                    estie でソフトウェアエンジニアをしている徳永(@yTo_9)です。 estie では Ruby を書いたりTypeScriptを書いたりしています! estie 夏のブログ祭りにかこつけて、せっかくなら普段は追わない部分だけど、気になっていたYJITなるものを深掘りしてみようと思い、「YJITがなぜRailsアプリケーションの高速化を実現できたのか」を調べてみたので紹介したいと思います。 「どうせ難しいんでしょ?」と思いながら調べてみたのですが、講演や論文の説明がわかりやすく、意外に概要を把握することは難しくありませんでした。 YJIT の核となっているのは Lazy Basic Block Versioning (LBBV) という手法で、これはRubyだけに限らず動的言語全般に適用可能な強力なアプローチであることがわかりました。 「あるタイプの条件分岐は、ほとんどの場合で片側しか

                                                                      Ruby が YJIT でなんで速くなるのか? Lazy Basic Block Versioning をサクッと理解してみた - estie inside blog
                                                                    • クソコードを読ませない

                                                                      クソコードを読ませない💩 https://uit.connpass.com/event/291443/ 免責事項 「クソコードという言葉を使うな」と思った人、いると思います。 攻撃的で、解像度も荒くて、建設的でない言葉だと私は思っています。 一方で、目にすることも多い言葉であり、具体例に関してはふわりとした共通認識が持たれているのと、そういったコードに対するダメージコントロールの話なので、便宜上クソコードという言葉を使います。とあるソースコードに対してクソコードと呼ぶのはよくないですが、クソコードという概念そのものについて話すことに対しては有益だと思います。 自己紹介 sadnessOjisan JS/TS, Rust, 最近 Go, PHP マイブーム: 優光というラーメン屋 クソコードとは何か クソコードとは何でしょうか? 知りません。 インターネットミーム? https://tog

                                                                        クソコードを読ませない
                                                                      • 京大のスパコンでファイル約77TB分が消失、実行中のスクリプト更新で誤動作

                                                                        2021年12月、京都大学のスーパーコンピューターがトラブルに見舞われた。学術論文に使う重要データなど、実に77テラバイト(TB)分のファイルが消失した。ITベンダーの担当者が実行中のスクリプトを不用意に更新したのが原因だった。本来はログ削除の処理が利用者のファイルを削除する誤動作を引き起こした。ミスを犯したITベンダーも問題だが、監督不十分だった京都大学の責任も重い。 「弊社100%の責任によりLustreファイルシステムのファイル消失の重大障害を来し、多大なるご迷惑をお掛けしたことを深くお詫び申し上げます」 京都大学が2021年12月28日に公表した「スーパーコンピュータシステムのファイル消失のお詫び」のお知らせには、大規模なデータ消失を引き起こした日本ヒューレット・パッカードが同大学宛てに提出した報告書がリンクされていた。「弊社100%の責任」という説明は、ITベンダー側の「完全降伏

                                                                          京大のスパコンでファイル約77TB分が消失、実行中のスクリプト更新で誤動作
                                                                        • ReactベースのあたらしいフレームワークRemixをためしてみた | DevelopersIO

                                                                          OSSとしてリリースされたばかりのReactベースのフルスタックWebフレームワークであるRemixをためしてみました。 はじめに こんにちは、CX事業本部MAD事業部の森茂です。 re:Inventを前にAWSの情報も気になるところですが、フロントエンド界隈もReact Conf 2021を前にReact v18 betaをはじめ、Next.js v12やReact Router v6、新しいRoutingライブラリReact Locationのリリースなどなど注目のリリースラッシュが続いているようです。そんな中Reactをベースにした新しいフレームワークであるRemixが本日(2021/11/23日本時間)リリースされました。 Remixとは RemixはReactRouterの作者でもあるMichael Jackson氏(@mjackson)とRyan Florence氏(@ryan

                                                                            ReactベースのあたらしいフレームワークRemixをためしてみた | DevelopersIO
                                                                          • CSSの変数(カスタムプロパティ)の基礎知識、便利な使い方を詳しく解説

                                                                            CSSの変数(カスタムプロパティ)の基礎知識、便利な使い方を詳しく解説します。Webページやスマホアプリのレイアウト、コンポーネントなど、実際の使用例がたくさんあるので、実用的なテクニックが満載です。 CSS Variables 101 by Ahmad Shadeed 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに CSSの変数(カスタムプロパティ)とは 変数名の付け方 CSSの変数のスコープ CSSの変数のフォールバック CSSの変数の効果的な使用例 インラインでCSSの変数を定義 メディアクエリでCSSの変数を定義 CSSの変数の継承 CSSの変数のバリデーションの仕組み CSSの変数の興味深い発見 デベロッパーツールで使用できる便利なテクニック 終わりに はじめに CSSの変数(別名: カスタムプロパティ)がブ

                                                                              CSSの変数(カスタムプロパティ)の基礎知識、便利な使い方を詳しく解説
                                                                            • WebAssembly所感

                                                                              WebAssemblyをちょっといじってみて思ったところをまとめてみます。 設計思想 WebAssembly/designに設計文書がまとまっています。特にHighLevelGoals.mdから読み取れるポイントは以下の4点です。 サンドボックス化された環境であること。 移植性があること。つまり、特定の実CPUアーキテクチャ等に依存しないこと。 少なくともC/C++の(十分に高速な)コンパイルターゲットとして機能すること。 安定した仕様を持つこと。 サンドボックスという観点からは、先行技術として以下のようなものが特筆に値します。 Webサンドボックス JavaScript および asm.js Javaアプレット Flash (ActionScript) NaCl, PNaCl Web以外のサンドボックス OSのユーザーランド、特にLinux userland これらのサンドボックスとの比

                                                                                WebAssembly所感
                                                                              • 『Sustainable Web Development with Ruby on Rails』を読んだ

                                                                                David Bryant Copelandさんが書いた、Railsについてのこだわりの詰まった本。 takahasimさんも『Sustainable Web Development with Ruby on Rails』はRails使ってるなら絶対面白いと思うと言っていたように、面白い。これまでRailsを使ってきた中で、楽しいこともつらいことも沢山あったんだろう。そういうことが感じ取れるような話が展開されている。 幾つかの気になった話題を拾い上げて、自分の感想を述べていきたい。気になる話題は100個ぐらいあるが、がんばって10個ぐらいに留めたい。 Don’t Create Custom Actions, Create More Resources Railsが提供する7種類のアクション名以外使うな、必要なら新しくリソースをつくれ、という主張。つまりDHHはどのようにRailsのコントロー

                                                                                • 定番のコード規約とライブラリから学ぶJavaScriptの命名テクニック(初級編) - ICS MEDIA

                                                                                  プログラミングをしているとき、変数名や関数名の命名に迷ったことはないでしょうか? 時間をかけて考えた変数名や関数名を後で見返したときに何の処理なのかわからないと思ったり、他の人が書いたコードを理解するのに時間がかかった経験は誰でもあると思います。 一般に、プログラマーはコードを書いている時間より読んでいる時間の方が長いと言われています。 わかりにくい命名はコードを読んでいる時間を長くしたり、バグを生む原因になってしまいます。 この記事ではGoogleやAirbnbといった企業が採用しているスタイルガイドや、世界中で使われているJavaScriptライブラリであるReactとVue.jsのコードを調査する中で見つけた、わかりやすい命名をするためのテクニックを初級編と上級編の2回に分けて紹介します。 初級編では、実際に仕事をする中でよく目にしたり自分でも使うことの多いものなど、すぐに使えるテク

                                                                                    定番のコード規約とライブラリから学ぶJavaScriptの命名テクニック(初級編) - ICS MEDIA