並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 199件

新着順 人気順

変数名の検索結果1 - 40 件 / 199件

  • データ分析のためのSQLを書けるようになるために

    はじめに 本稿では分析用クエリをスラスラ書けるようになるまでの勉強方法や書き方のコツをまとめてみました。具体的には、自分がクエリを書けるようになるまでに利用した教材と、普段クエリを書く際に意識していることを言語化しています。 想定読者として、SQLをガンガン書く予定の新卒のデータアナリスト/データサイエンティストを想定しています。 勉強方法 基礎の基礎をサッと座学で勉強してから、実践教材で実際にクエリを書くのが望ましいです。 実務で使える分析クエリを書けるようになるためには、実務経験を積むのが一番良いですが、だからといって座学を御座なりにして良いというわけではありません。SQLに自信がない人は、一度基礎に立ち返って文法の理解度を確認した方が良いと思います。 書籍 SQL 第2版: ゼロからはじめるデータベース操作 前提として、SQLに関する書籍の多くがデータベース運用/構築に関する書籍がほ

      データ分析のためのSQLを書けるようになるために
    • 【11万文字越え】プログラミング初心者に贈る即戦力ガイド - Qiita

      弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 目次 1.はじめに 2.VSCodeの拡張機能紹介 3.コーディングのポイント 4.よく使われる英単語一覧 5.エラーとの向き合い方 6.テストで動作確認 7.検索の極意 8.公式ドキュメントに慣れる 9.リファクタリングでさらに読みやすく 10.資料作成で気をつけること 11.Gitで管理 12.よく使うLinuxコマンド一覧 13.仕事の進め方 14.プログラム以外で意識するところ 15.初心者こそ読んで欲しい本 16.まとめ 1. はじめに プログラミングは現代のデジタル社会において重要なスキルです。 AIがコードを書いてくれる時代ですが、それでも人の手によるプログラ

        【11万文字越え】プログラミング初心者に贈る即戦力ガイド - Qiita
      • きれいなコードを書けという話について - Software Transactional Memo

        前回のブログから90日以上経ってしまったので広告が載ってしまったから短文でもアウトプットしておく。 プログラマとして仕事をしているとコードと向き合っている時間の9割以上は既存のコードを読んでいる、だから読みやすさは重要である、という言説は耳にタコができるほど誰もが言っている。 仕事で書かれるコードが誰のレビューも通ること無くマージされている現場は凄惨だが、自分より明らかに経験を積んだ人たちが何度もレビューを重ねたコードが読みやすいかというとそうとは限らない。良いコードが守るべきルールをすべて守っていても不可解なコードはあるし、どんなに読みやすいコードでも数千行の規模になってくるとやはり脳内からこぼれて一度に覚えておける範囲からはみ出る。 変数名や関数名をわかりやすくするとか不必要な技巧を凝らさないとかわかりやすい設計にするとか主観的な事を偉そうに語る本は山ほどあり、それらの本を崇める事は悪

          きれいなコードを書けという話について - Software Transactional Memo
        • iPhoneのWi-FiパスワードをQRコードにする方法。来客時や店舗での共有に便利!

          Wi-FiパスワードはQRコードで共有可能 スマートフォンやパソコンをWi-Fiに接続するとき、パスワードの設定に手間取ることがありませんか? ルーターの設置場所によっては、背面に記載されたパスワードを確認するのも面倒ですよね。パスワードを変更している場合は、手書きのメモを探すこともあるでしょう。 実は、Wi-Fiに接続済みのiPhoneがあれば、簡単に共有用のQRコードを生成できます。設定はQRコードを読み取るだけ。来客時などに、Wi-Fiのパスワードを1文字ずつ入力してもらう必要もありません。店舗などでWi-Fiを共有する場合にも便利です。 本記事では、iPhoneに保存されているWi-Fiのパスワードをコピーし、それをQRコードに変換して読み取れるようにする方法を解説します。 目次 Wi-Fiのパスワードをコピーする QRコードを生成する [QRコードを生成する]のショートカットがな

            iPhoneのWi-FiパスワードをQRコードにする方法。来客時や店舗での共有に便利!
          • 『ルールズ・オブ・プログラミング』を読んだ #iknowtherulesjp - Don't Repeat Yourself

            Ghost of Tsushimaなどを作った会社の人が書いた本です。ゲーム開発におけるコードを書く際の教訓を整理し、改めて示し直したいい一冊だったと思います。大事なことですが、著者は決して「このルールを絶対使え」と言っているのではなくて、そもそもまず会社の製品の特性上、このようなルールを敷いておくと品質や生産性を高く保てたという前提があり、その前提を元に「ルールを選び取って自分たちのコーディング哲学を構築しよう」と推奨しています。 ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール 作者:Chris Zimmermanオーム社Amazon この手の本では『リーダブルコード』がよく薦められる傾向にあると思います。私にとってもリーダブルコードは確かに駆け出しの頃すごく役に立った記憶はあるのですが(もう10年くらい前に読んだので正直忘れた)、そこから知識がアップデートされ

              『ルールズ・オブ・プログラミング』を読んだ #iknowtherulesjp - Don't Repeat Yourself
            • Google Apps Script は、もはやエンジニアが書かない方がいいまである

              ラブグラフでエンジニアをしています横江 ( @yokoe24 ) です。 ラブグラフでは、エンジニア以外で Google Apps Script (GAS) を書く方も多く、 Slack通知の自動化など、業務の効率化がおこなわれています。 マジですごいと思います! GASをエンジニア以外が書く問題点 一方で、コードを見るとプログラマーからするとムズムズするところもあります。 変数名に snake_case が混ざっている インデントが揃っていない for文の中で getValue() を回している Google Apps Script の getValue() メソッドはコストが高く、何度も実行するとタイムアウトの可能性が高まる == で比較している double quotes " と single quotes ' が混ざっている こういうコードを見ると直したくてウズウズしてしまいます。

                Google Apps Script は、もはやエンジニアが書かない方がいいまである
              • エンジニアに英語力が必要な本当の理由を知ってますか?「英語でしか存在しないドキュメントを読むため?」「違いますね」→許したくない事案がココにある

                米村歩@日本一残業の少ないIT企業社長 @yonemura2006 エンジニアが英語力が必要な本当の理由を知ってますか?英語でしか存在しないドキュメントを読むため?違いますね。ずばり、センスの欠片も感じられない変数名やメソッド名を付けないようにするためですよ。あれやるやつマジ許さん。 2024-05-23 18:16:07

                  エンジニアに英語力が必要な本当の理由を知ってますか?「英語でしか存在しないドキュメントを読むため?」「違いますね」→許したくない事案がココにある
                • [翻訳]LLMで1年間開発して学んだこと〜LLMプロダクト開発を成功に導くための実践的ガイド〜

                  この記事は "What We’ve Learned From A Year of Building with LLMs" という記事を著者の一人である Eugene Yan さんから許可を得て翻訳したものです。 https://applied-llms.org/ Thank you for giving me a permission to translate this wonderful article! 著者の方々 Eugene Yan Bryan Bischof Charles Frye Hamel Husain Jason Liu Shreya Shankar 原文の公開日 2024/6/8 今は大規模言語モデル(LLM)を使った開発がとってもエキサイティングな時期です。この1年間で、LLMは実世界のアプリケーションに対して「十分に良い」ものになりました。そして、年々良くなり、安く

                    [翻訳]LLMで1年間開発して学んだこと〜LLMプロダクト開発を成功に導くための実践的ガイド〜
                  • PC-8801mkIISRで「漢字BASIC」を制作、大学の研究室ではApple IIを使用… 杜甫々氏が「とほほのWWW入門」を開設するまで

                    「とほほのWWW入門」管理人の杜甫々氏が、これまでの経歴と、「とほほのWWW入門」執筆時に気をつけていること、自身の趣味について話しました。全2回。 「とほほのWWW入門」管理人 杜甫々氏 杜甫々氏(以下、杜甫々):どうも杜甫々です。「とほほのWWW入門」というやつを作っています。こういうところに出ることはあまりなくて、2022年の岡山のオープンセミナーも録画でやっていたので、こんなにたくさんの人の前でしゃべるのは初めてだったりします。 まずちょっと、おじさんの紹介をやっていきます。「とほほのWWW入門」の管理人です。1996年から始めたので、もう27年目に突入ですね。ハンドルネームは杜甫々です。途中で漢字を当てはめてみました。本名は違いますけどね。 広島生まれの広島在住です。もちろんカープファンです。2023年の観戦成績は6勝1敗で、けっこう良かったんじゃないかなと思っています。 次にイ

                      PC-8801mkIISRで「漢字BASIC」を制作、大学の研究室ではApple IIを使用… 杜甫々氏が「とほほのWWW入門」を開設するまで
                    • DDDの実装にはあまり興味がなくなっている - Mitsuyuki.Shiiba

                      以前は、DDDでどう実装したらいいかなぁって考えてたんだけど、最近は、そういうことへの興味があまりなくなっている。エンティティや値オブジェクト、集約やリポジトリなど、そのあたりにあまり興味がない。ヘキサゴナルアーキテクチャなども、そんなに考えなくなった。 TypeScriptを使うことが多いので、型でしっかり守るとかカプセル化するとか、そのあたりがどっちでもいっかという気持ちになっていることが影響してるとは思う。TypeScriptでクラスを使おうとはあまり思わないし。BrandedTypeみたいなのを使ってまで型で守ろうとは思わない。 じゃあ何に興味があるんだっけ?って考えてみると、トランザクション境界とユビキタス言語かな。 トランザクション境界 トランザクションの境界を作って、DB(RDBMS)を小さく保ちたいと思っている。DBが大きくなると、すぐに複雑になっていく感じがする。 だから

                        DDDの実装にはあまり興味がなくなっている - Mitsuyuki.Shiiba
                      • 僕が考える「良いコード」 - give IT a try

                        こんなコードだとわかりやすい 僕が考える良いコードの特徴(条件)を挙げてみると、 ぱっと見たら、だいたい何をやっているのかがわかるメソッド名 ぱっと見たら、だいたい中身が何なのか想像がつく変数名 ぱっと見たら、だいたい何をやっているのかが把握できるメソッドの内の処理フロー 驚きが少ないメソッド 副作用が少ないメソッド(責務が1つしかないメソッド) DRY原則を守っているコード だいたいこんな感じ。 つまり「すんなり読めて、すんなりわかるコード」が理想。 プログラムが小さいうちや、一人で開発しているうちは「汚くてわかりにくいコード」であっても「自分さえわかればOK」で済んじゃうけど、プログラムの規模が大きくなったり、複数人で開発するようになると、「汚くてわかりにくいコード」は絶望的に開発効率を下げる。 こんなコードはわかりにくい たとえば上の反対で、 メソッド名だけ見ても何をやっているのか想

                          僕が考える「良いコード」 - give IT a try
                        • 認知負荷および認知負荷理論 (Cognitive Load Theory) をもう少し正確に理解するための心理学研究・知見の紹介

                          認知負荷および認知負荷理論 (Cognitive Load Theory) をもう少し正確に理解するための心理学研究・知見の紹介 この記事の目的 ここ数年で、ソフトウェア開発やプログラミングの文脈で、「認知負荷」 および 「認知負荷理論」 という用語をよく見聞きするようになりました。私が今思い出せるだけでも、以下のような書籍や Podcast で重要なキーワードとして取り上げられています。 A Philosophy of Software Design, 2nd Edition チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計 プログラマー脳 ~優れたプログラマーになるための認知科学に基づくアプローチ fukabori.fm 102. A Philosophy of Software Design (3/3) w/ twada この「認知負荷」ですが、少なくとも近年見聞

                            認知負荷および認知負荷理論 (Cognitive Load Theory) をもう少し正確に理解するための心理学研究・知見の紹介
                          • 2023年の話題&ベストセラーをまとめて紹介! Udemyで今年最大級のセール開催、生成AIなど対象講座が1,200円より - はてなニュース

                            世界中を席巻した生成AIは、ブームに終わることなく着実に社会のさまざまな場面で利用が進んでいます。特にChatGPTを始めとするテキスト生成はビジネスシーンですぐに適用可能なケースも多く、使いこなす人とそうでない人には大きな差が生じつつあります。 使いこなすノウハウにも一定の知見が貯まっており、定番となるセオリーが整理されています。正しく学ぶことができれば一気にキャッチアップできるでしょう。Udemyの講座でも、ChatGPTを使いこなすプロンプトの作法や、アプリケーションにLLM(大規模言語モデル)を組み込むノウハウ、AIをより深く知る数学知識などに人気があります。 この記事では、2023年11月17日(金)に始まるブラックフライデーセール(24日まで)、そして26日(日)から2日間のサイバーセールの対象になる人気講座から、エンジニアリングやビジネスシーンにおいて読者の成長を助けてくれる

                              2023年の話題&ベストセラーをまとめて紹介! Udemyで今年最大級のセール開催、生成AIなど対象講座が1,200円より - はてなニュース
                            • JavaScriptビルドツールの整理 各ツールの機能と依存関係

                              フロントエンドのビルドツールが色々ありすぎて、何がどうなっているのかがわかりづらいため、 各ツールができること、特徴 ツール間がどのように依存しあっているか を一気に調べて整理した。(情報は2023/10時点) 概要 ツールの依存関係整理 上層: dev server付きのバンドラ/ビルドツール。アプリ開発者が直接configなどを書いて取り扱うのはここが多いと思われる。(Next.jsに関しては、ビルド機能に着目した場合) 下層: やや基盤的なdev serverなしのツール群。 矢印は、明示的な依存関係を表す。実際には、明示的な依存関係がなくても、下層のツール群は上層のバンドラ(やRollup)に対してプラグインを提供していることが多い。 各ツールのできること整理 ツールごとに、大まかな機能区分で、できることとできないことをまとめた。 各機能区分の定義は次セクションを参照。 ツールごと

                                JavaScriptビルドツールの整理 各ツールの機能と依存関係
                              • Japanese Version - 100 Go Mistakes and How to Avoid Them

                                Go Mistakes Book Details Go言語でありがちな間違い このページは『100 Go Mistakes』の内容をまとめたものです。一方で、コミュニティに開かれたページでもあります。「ありがちな間違い」が新たに追加されるべきだとお考えでしたら community mistake issue を作成してください。 Jobs Is your company hiring? Sponsor the Japanese version of this repository and let a significant audience of Go developers (~1k unique visitors per week) know about your opportunities in this section. 注意 現在、大幅に多くのコンテンツを追加して強化している新しい

                                  Japanese Version - 100 Go Mistakes and How to Avoid Them
                                • Pull Request のコメント数を減らすアホみたいなコツ|牛尾 剛

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

                                    Pull Request のコメント数を減らすアホみたいなコツ|牛尾 剛
                                  • ChatGPTに渡す文章の適切な区切り線について検証した記事|Clirea

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

                                      ChatGPTに渡す文章の適切な区切り線について検証した記事|Clirea
                                    • 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
                                      • 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許容などの詳細を明示することで、コードの正確性を高めます。こちらのタイプのコメントも必

                                            良いコメントが良い設計を導く
                                          • 関数・変数・機能に対する名付け方は“理解の試金石” まつもとゆきひろ氏が、プログラミングで名前が大事だと思う理由

                                            技育祭は「技術者を育てる」ことを目的としたエンジニアを目指す学生のための日本最大のオンラインカンファレンスです。「技育祭2023【春】」に登壇したのは、Ruby開発者のまつもとゆきひろ氏。プログラミングの体験の中で実感した、ことわざや格言について話しました。全4回。1回目は、「名前重要」について。 日本人プログラマーで最も有名なRubyの生みの親 まつもとゆきひろ氏:ご紹介に与りました、まつもとゆきひろです。裏番組もおもしろそうなんですけれども(笑)、こちらに来ていただいてありがとうございます。何人ぐらい来てくれているのかな? まぁいいや。 今日はですね、「プログラミングのことわざ〜Rubyの父が語る教訓と知恵〜」というタイトルでお話しします。 まつもとゆきひろです。こんな感じのアイコンで活動していますけれども、Rubyを作った人として知られています。インターネットではひらがなです。ちょっ

                                              関数・変数・機能に対する名付け方は“理解の試金石” まつもとゆきひろ氏が、プログラミングで名前が大事だと思う理由
                                            • クソコードを読ませない

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

                                                クソコードを読ませない
                                              • paizaというプログラミング学習サービスにてサービス利用停止処分になった話 - Qiita

                                                こんなことを書いてしまうと自分のイメージダウンになってしまうことを承知で記載しています あくまでも好きなサービスの1利用者としての意見になります Paizaとは ITエンジニア向け総合求職・学習プラットフォームになります。 プログラミングの学習だったり、求職ができる国内サービスです。 こちらのサービスの売りとしては、プログラミングスキルチェックにより、 スキルレベルを6段階で評価します。 問題がS~Dランクに分かれており、ランクアップのためのチャレンジは各問題で一度のみになります。 ランクが高ければ企業からのスカウトが届きやすくなり、実力がある人ほど転職活動が有利になります。 経緯 2020年ごろからPaizaを使用してプログラミングの学習を行っており、スキルチェック問題や言語の学習サービスを利用していました。 半年ほど有料会員として登録したこともあるほど、好きなサービスです。 そして、2

                                                  paizaというプログラミング学習サービスにてサービス利用停止処分になった話 - Qiita
                                                • WebAssembly所感

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

                                                    WebAssembly所感
                                                  • 初めてDDDを使ってみて悩んだところ

                                                    研修でDDDを使ったサービスを作ってみることになったが、DDDを使うのが初めてなので同じような状況の人向けに悩んだところをメモしておこうと思う。 DDDとは DDD(Domain-Driven Design)とはドメイン駆動設計と呼ばれる設計方法の一種で、複雑なビジネスの要件をソフトウェアで上手く扱うためのアプローチとなっている。(DDDの詳しい説明などは以下を参照) DDDはドメイン(業界領域)の複雑さにフォーカスを当て、ドメインに精通しているドメインエキスパートと呼ぶ人の協力を得てシステム開発を行ってい行く。また、DDDではクリーンアーキテクチャ、ヘキサゴナルアーキテクチャなどのアーキテクチャと共に用いられることが多い。(今回作っているサービスではクリーンアーキテクチャを採用しているつもりだが、他のアーキテクチャとの違いが正直良く分かっていない) サービスの概要 ざっくりと説明すると、

                                                      初めてDDDを使ってみて悩んだところ
                                                    • 「誰にもできる」より良いコードを書くためのテクニック - Qiita

                                                      はじめに こんにちは、愛知でWEBエンジニアをしているkokuboと申します。 ここ最近の業務でコードレビューをすることが多くなり、人によって読みやすさの違いがあることや過去に自分で書いたコードが読みにくかったことから、良いコードとは何かを調べて見ました。 今回は「リーダブルコード」を元に良いコードとは何かを簡単紹介させていただきます。 この記事では難しい技術がいらないため、初心者や私と同じようにレビューを始めた方達の参考になれば幸いです。 概要 【この本での「良いコード」とは】 他の人(過去の自分も含む)が最短時間で理解ができるコードのこと 【メリット】 理解しやすい コードを読んだだけで、そのコードが何をしようとしているのかがすぐに理解できる メンテナンスしやすい バグの修正や機能の追加など、コードを変更する際に、その意図を把握しやすくなる チームで開発しやすい 複数の開発者が同じコー

                                                        「誰にもできる」より良いコードを書くためのテクニック - Qiita
                                                      • 【Streamlitよりいいかも?】機械学習系のデモアプリ作成に最適!Gradio解説 - 学習する天然ニューラルネット

                                                        はじめに Streamlit vs Gradio Gradioの設計思想 Interface 入出力に応じたUI Interface String Shortcut 入力データのサンプルのセット ドキュメンテーション テーマの変更 タイムアウトへの対処 中級者への第一歩、デモを作る際に知っておきたい処理 Gradioが担当する前処理について プログレスバー もろもろの出力結果を保存するには? 認証認可(というか認可) その他、解説しないが需要の有りそうなもの まとめ 追記 : 動画になりました。 はじめに 機械学習系のデモアプリを作成することがしばしばありStreamlitを使用していたが、パラメーターなどをいじるたびに処理が最初から走るなどといった挙動に悩まされていた。 同僚がGradioというのを使っていたのでサーベイがてらメモしていたらブログが出来上がってしまった。 本ブログでは、G

                                                          【Streamlitよりいいかも?】機械学習系のデモアプリ作成に最適!Gradio解説 - 学習する天然ニューラルネット
                                                        • 新Linuxカーネル解読室 - ソケットインターフェース(データ構造と概要編) - VA Linux エンジニアブログ

                                                          「Linuxカーネル2.6解読室」(以降、旧版)出版後、Linuxには多くの機能が追加され、エンタープライズ領域をはじめとする様々な場所で使われるようになりました。 それに伴いコードが肥大かつ複雑化し、多くのエンジニアにとって解読不能なブラックボックスとなっています。 世界中のトップエンジニア達の傑作であるLinuxカーネルにメスを入れ、ブラックボックスをこじ開けて、時に好奇心の赴くままにカーネルの世界を解読する「新Linuxカーネル解読室」プロジェクト。 本稿では、旧版第21章で解説されていたソケットインターフェースについて、カーネルv6.8のコードをベースに主にデータ構造を中心に解説します。 はじめに ソケットの実体と概要 ソケット操作関数の実装 ファイル操作関数によるソケット操作の実装 次回予告: ソケット生成編 執筆者 : 須田 哲志、稲葉 貴昭 ※ 「新Linuxカーネル解読室」

                                                            新Linuxカーネル解読室 - ソケットインターフェース(データ構造と概要編) - VA Linux エンジニアブログ
                                                          • DHH氏によるコンテナデプロイ自動化ツール「Kamal 1.0」正式リリース。ベアメタルや仮想マシンに自動デプロイ、ゼロダウンタイムのアプリ更新も可能

                                                            DHH氏によるコンテナデプロイ自動化ツール「Kamal 1.0」正式リリース。ベアメタルや仮想マシンに自動デプロイ、ゼロダウンタイムのアプリ更新も可能 Ruby on Railsの作者として知られるDavid Heinemeier Hasson(DHH)氏は、Dockerコンテナに対応したアプリケーションのデプロイ自動化ツール「Kamal 1.0」をリリースしました。 Kamalはアプリケーション(群)の構成とデプロイ先のサーバ(群)のIPアドレスなどの基本的な情報を設定すると、あとは仮想マシンやベアメタルサーバ、クラウドのサーバインスタンスなどにDocker環境の構築からアプリのデプロイ、トラフィックの切り替えまでを自動的に行ってくれる、デプロイ自動化ツールです。 Kamal 1.0 has shipped. Deploy your web apps anywhere from bare

                                                              DHH氏によるコンテナデプロイ自動化ツール「Kamal 1.0」正式リリース。ベアメタルや仮想マシンに自動デプロイ、ゼロダウンタイムのアプリ更新も可能
                                                            • TerraformのStateやModuleに関する設計 - tom-256.log

                                                              概要 名前付け 抽象度 インフラアーキテクチャ図 チーム 認証情報 変更(デプロイ)のライフサイクル DRYの誤用 コードの検索性 モジュール間の依存 アプリケーションレイヤーとの違い まとめ 概要 TerraformのStateやModuleに関する設計に関する考慮点をざっくり書く 名前付け ユビキタス言語とディレクトリ名や変数名を合わせて認知不可を下げる リソース名でなく役割・機能ベースのディレクトリ名にして認知不可を下げる プロダクトのコードネームはユビキタス言語なのでディレクトリ名にしても問題ない ModuleやStateのREADME.mdを書く https://github.com/terraform-docs/terraform-docs を使う うまく説明が書けない場合は設計に問題がある可能性がある チームメンバーが利用できるように考慮する いつどのようなときに使えばいいか

                                                                TerraformのStateやModuleに関する設計 - tom-256.log
                                                              • コードレビューの思想や心構え - Qiita

                                                                株式会社ブレインパッドでデータサイエンティストをしているasanoです。 この記事はBrainPad Advent Calender 2023 1日目の記事シリーズ2です。 ※シリーズ1は@fuyu_quantさんの入力プロンプトを復元する技術 #ChatGPTです! 今日はコードレビューの思想や心構えについて書きます。 はじめに コードレビューをより生産的に進めるには単にコーディングのスキルだけでなく、そもそものコードレビューに対する思想や心構えについても一定のリテラシーを求められると考えています。 コードレビューはどうしてもロジカルな話になるため伝え方にも気を付けないとモチベーションの低下に繋がりやすいと考えています。 そうなると当然パフォーマンスも下がってしまいます。 これを防ぐために自分は「コードレビューの思想・心構え」をまとめてチームのガイドラインとして使っています。 あくまで主

                                                                  コードレビューの思想や心構え - Qiita
                                                                • タスクランナーとしてのmakeを使う際の工夫と注意点 - KAYAC engineers' blog

                                                                  SREチームの長田です。 みなさま開発・運用上の定形オペレーションに伴うタスク実行をどのように管理していますか? 今回は make をタスクランナーとして使う例を紹介します。 タスクランナーがほしい タスクランナーを使う主なモチベーションは以下の2つです。 タスクをリスト化したい タスクの実行インターフェイスを統一したい タスクがリスト化されていれば、それ自体が生きたドキュメントとして機能します。 また、タスクの実行インターフェイスが統一されていれば、 例えばタスクに前処理や後処理を追加したとしても、 開発・運用メンバーが実行するべき操作が変わることはありません。 操作変更の周知コストも下がりますし、変更に伴う操作ミスも減らすことができます。 タスクランナーに求めるもの タスクランナーの機能としては必要最低限のものがよいと考えています。 高機能なタスクランナーも魅力的ではあるのですが、タス

                                                                    タスクランナーとしてのmakeを使う際の工夫と注意点 - KAYAC engineers' blog
                                                                  • 「GitHub Copilot」は「lint」の一段上をいっている シリコンバレーエンジニアがおすすめするAI活用法

                                                                    登壇者の自己紹介 後藤智氏(以下、後藤):では、始めたいと思います。今日は「ChatGPT」、もしくはAI周辺について、お話をしたいと思います。 モデレーターを務めさせていただく、キリロムでCTOをやっている後藤と申します。よろしくお願いします。それでは、お一人お一人紹介をしていただきたいなと思います。小林さんからお願いします。 小林聡汰氏(以下、小林):小林です。2022年の5月にUCバークレー、カリフォルニアにある大学のコンピューターサイエンス学部を卒業して、現在はシリコンバレーにあるAI系の会社のソフトウェアエンジニアをしています。本日はよろしくお願いします。 後藤:よろしくお願いします。櫻庭さん、お願いします。 櫻庭洋之氏(以下、櫻庭):櫻庭と申します。「zaru」というIDで活動しています。今は、東京のWeb系のSaaS会社でCTOをやっています。個人では「ムーザルちゃんねる」を

                                                                      「GitHub Copilot」は「lint」の一段上をいっている シリコンバレーエンジニアがおすすめするAI活用法
                                                                    • ノア・スミス「バズりグラフにだまされない方法」(2023年9月13日)|経済学101

                                                                      第1部: 誤情報・まちがい・無意味データを見つける方法「どんな宣伝屋でも煽動者でも,その仕事をこなすには,これという聴衆に影響を及ぼす最良の手段を見つけ出さねばならない.このうえなく頭に入りやすく,見てわかりやすく,きわめて強烈な印象を残し,このうえない説得力をもって,確たる真実を提示する最良の手段を見つけなければ宣伝も扇動もできない.」 ――レーニン 2020年の終わり頃にこのブログを書き始めたとき,「こんな記事を書こう」というアイディアをあれこれと用意していた.そのひとつは,「バズりグラフにだまされない方法」という記事だ.有名なグラフをいろいろと準備万端にリストにまとめてあった.でも,ちょっとワケあって,その記事は後回しにした.それからの年月で,ネタになるグラフのリストは増える一方で,記事にとりかかるのをぼくはずっと後回しにしてた. でも,後回しはもう終わりだ.バズりグラフにいよいよ我

                                                                        ノア・スミス「バズりグラフにだまされない方法」(2023年9月13日)|経済学101
                                                                      • とほほのPowerShell入門 - とほほのWWW入門

                                                                        Microsoft が開発したシェルであり、スクリプト言語です。 Windows 用に開発されましたが、中核である PowerShell Core は Linux や macOS にも移植されています。 拡張子は *.ps1 です。 Linux のパイプラインは文字列情報を引き渡すのに対し、PowerShell ではオブジェクト情報を引き渡すことができます。 変数名、関数名等の大文字・小文字は無視されます。 他言語ではエスケープにバックスラッシュ(\)を使うことが多いですが、PowerShell ではバッククォート(`)を使用します。 環境変数やレジストリをドライブとして参照することができます。 ここではある程度他の言語を習得している方を対象に、PowerShell の概要について簡単に説明していきます。バージョンは 7.4.0 を対象としています。 Windows のデフォルト設定では管

                                                                        • GitHub Copilotをエンジニア全員に導入して開発生産性を継続的に上げていく

                                                                          こんにちは。Magic Momentの髙橋です。 ここのところ世間では生成系AIが注目されていますが、エンジニアが一番注目しているのはその中でもコードを自動生成してくれるAIではないでしょうか? その中でもよく名前が上がるのが、GitHub Copilotだと思います。 Magic Momentではエンジニアの生産性をあげるべく様々な施策を実行してきましたが、今回GitHub Copilotを会社として公式に導入していくことになりました! 導入してまだ1ヶ月程度ではありますが、どのように運用しているのか?開発にどのように役立っているのか?をご紹介したいと思います。 導入した理由は、エンジニアの開発生産性を上げるため GitHub Copilotは、エンジニアの書こうとしているコードを補完してくれる生成系AIツールです。 詳しい説明は他記事や公式ドキュメントに譲りますが、これを活用することで

                                                                            GitHub Copilotをエンジニア全員に導入して開発生産性を継続的に上げていく
                                                                          • チーム開発の生産性が向上する良いコードの書き方:強いエンジニアになるための思考法 - Qiita

                                                                            概要 この記事では、エンジニアにとって重要な、 「良いコードとはなにか? どうすれば良いコードが書けるのか?」について、 基礎の考え方から、私なりに頑張ってまとめて記載してみようと思います。 ターゲット 新卒~1年目のエンジニア向けにわかるように、なるべくかみ砕いて説明をしようと思います。 第1章:良いコードとは? まず初めに、良いコードとは何でしょうか? ここでは会社に所属するエンジニアの視点から考えてみましょう。 会社に所属するエンジニアに求められるのは、 利益のあるソフトウェア(ゲーム) を作ることです。 言い換えれば、良いコードとは ソフトウェア(ゲーム)が生み出す利益を最大化するためのコードと言えます。 ここから、推論を進めてみましょう。 ⇒ 良いコードとは? ⇒ ソフトウェア(ゲーム)が生み出す利益を最大化するコード ⇒ 利益を最大化するためには? ⇒ 少ないコスト(時間・人件

                                                                              チーム開発の生産性が向上する良いコードの書き方:強いエンジニアになるための思考法 - Qiita
                                                                            • Goで作ったシステムをRubyでリプレイスすることを検討してみた

                                                                              はじめに 弊社にはGoで作ったシステムが存在しますが、作られてから数年が経過して、メンテナンスも十分にできていない状況でした。 そこで、このシステムをリファクタリングして生産性を上げようという結論になりました。 リファクタリングにあたり、Goのままで行くのか、弊社でよく使われているRubyで行くのかを検討してみましたので、その過程を紹介したいと思います。 Rubyでリプレイスしようと思った理由 Goで動いてて言語やライブラリのバージョンアップなどメンテナンスがされてない部分はありますが、 そこを解消すればGoのままで行った方が良いのでは?と思うかもしれません。 しかし、あえてRubyでリプレイスしようと思うに至ったのは以下の点があります。 Rubyの方が開発速度があがりそう Goのリファクタリングをするのに時間がかかりそう Goのリファクタリングと機能追加でコード修正箇所が被るとスケジュー

                                                                                Goで作ったシステムをRubyでリプレイスすることを検討してみた
                                                                              • 認知負荷は「ワーキングメモリに対する負荷」のこと 認知科学の観点から課題を整理すると“つらい”の輪郭が見えてくる

                                                                                「Developers Meetup 急成長ベンチャーが向き合う『開発生産性』」は、開発組織や事業フェーズの異なる株式会社Another works・株式会社SmartHR・株式会社スタメンの3社が、開発生産性について語り尽くすイベントです。ここで株式会社SmartHRのすがわらまさのり氏が登壇。チーム増加に伴い起きた「認知負荷が高い」状況をどのように解決したかについて紹介します。 チームの増加に伴いできるようになったこと、やりにくくなったこと すがわらまさのり氏:ここから本題ですね。「開発生産性について、上から見るか、下から見るか」ということで、よろしくお願いします。過去に私が登壇したもので似たテーマがいくつかあるので、軽く紹介しておきます。もし気になる方がいれば後で見てください。 前提の共有というところで、先ほどもお話ししたように、私が担当したのは「SmartHR」の基本機能というプロ

                                                                                  認知負荷は「ワーキングメモリに対する負荷」のこと 認知科学の観点から課題を整理すると“つらい”の輪郭が見えてくる
                                                                                • 【Flutter】わずか数分でアプリ開発!?超速アプリ開発総合フレームワーク「Masamune」 - Qiita

                                                                                  こんにちは。広瀬マサルです。 これまでのパッケージをまとめて統合Flutterフレームワークを作成しました。 コンセプトは 自動生成を用いて安全かつ高速に高品質のアプリを開発可能にするフレームワーク です。 使い方をまとめたので興味ある方はぜひ使ってみてください! masamune はじめに まずはこちらを御覧ください。 ※動画のサンプルコードはこちらに公開しています。 こちらはメモ帳アプリを全くの空の状態からわずか10分以内で完成させる動画です。 このMasamuneフレームワークを利用することでアプリ開発で行うコーディングの大半を削減することが可能になります。 このフレームワークは下記の機能を中心としています。 CLI(コマンドラインインターフェース)ツールによるコードテンプレートの生成 build_runner による追加コードの自動生成 つまりコードの大半を機械的に生成させることに

                                                                                    【Flutter】わずか数分でアプリ開発!?超速アプリ開発総合フレームワーク「Masamune」 - Qiita