並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 1426件

新着順 人気順

変数名の検索結果201 - 240 件 / 1426件

  • シェルスクリプトでゲームボーイプログラミング入門

    シェルスクリプトで ゲームボーイプログラミング ⼊⾨ ⼤神祐真 著 エアコミケ(2020 年春)新刊 2020 年 5 ⽉ 5 ⽇ ver 1.0 ■免責 本書は情報の提供のみを⽬的としています。 本書の内容を実⾏・適⽤・運⽤したことで何が起きようとも、それは実⾏・適⽤・運⽤した⼈⾃ ⾝の責任であり、著者や関係者はいかなる責任も負いません。 ■商標 本書に登場するシステム名や製品名は、関係各社の商標または登録商標です。 また本書では、™、®、© などのマークは省略しています。 はじめに 本書をお⼿にとっていただきありがとうございます! 本書では、アセンブラやコンパイラなどを使⽤せず、echo コマンドのバイナリ出⼒や dd コマンドなどを駆使して、シェルスクリプトでゲームボーイの ROM ファイルを⽣ 成します。 そのためには、ゲームボーイの CPU の各機械語命令について、そのバイナリ列

    • 優れたソフトウェア開発チームが持つ共通点とは?

      メンバーが上司を恐れて意見を言えないチームや、業務の優先順位がはっきりせず何週間も時間を無駄にしてしまうチームなど、さまざまな理由からパフォーマンスが低下している開発チームが多く存在します。ソフトウェア開発者のデニス・ユー氏は、さまざまなソフトウェア開発チームと仕事をする中で「パフォーマンスの高いチームには共通点があった」と語っています。 Habits of High-Functioning Teams | deniseyu.io https://deniseyu.io/2020/05/23/habits-of-high-performing-teams.html ◆心理的安全性が高い 他者の反応に怯えたり羞恥心を感じたりすることなく、自然体の自分でいられる環境を指す心理的安全性が、パフォーマンスの高いチームで実現されていたとユー氏は述べています。心理的安全性をチーム内で実現するには、まず

        優れたソフトウェア開発チームが持つ共通点とは?
      • unameコマンドから始めるデバッグ&カーネルハック入門 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

        この記事はLinux Advent Calendar 2019の1日目の記事です。 はじめに 環境 おことわり uname(1) uname(1)が出力する内容 strace(1) gdb(1) bpftrace systemtap Kernel Hack Livepatch おまけ RHEL 8.1 CentOS 8 まとめ はじめに 本記事ではLinuxサーバのホスト名、Linuxカーネルのバージョン、cpuアーキテクチャなどのシステム情報を表示するuname(1)を利用してLinux環境でのデバッグとカーネルハックについて説明していきます。本記事ではコマンドやツールの使い方の説明ではなくて、それらを使ってどのようにデバッグするのかというところを説明します。 環境 ディストリビューションにはFedora 31(x86_64)を利用します。動作環境はQEMUやlibvirt、Oracle

          unameコマンドから始めるデバッグ&カーネルハック入門 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
        • なぜ「Rustは難しい言語」とされるのか――習得の難しさとその対策をWebエンジニアが考察

          最終回となる今回は、Rustの開発生産性を支える言語機能および難しさにフォーカスを当てて簡潔に紹介します。 開発生産性とはいうものの、この言葉は定義付けをすること自体が難しいです。下記のRust公式が提供するツール群は開発生産性を間違いなく向上させますが、実際に使ってみた方が理解がはかどるのでここでは紹介にとどめます。 Rustコンパイラによるコンパイルエラーメッセージの丁寧さ Docs.rsのドキュメンテーション Cargoによるパッケージ管理(≒Rubyのbundler、JavaScriptのnpm) rust-analyzerによる強力な開発支援(≒インテリセンス) 言語標準のユニットテスト 端的にいえばモダン開発のプラクティスがRustのプロジェクトでもシームレスに利用でき、簡単に開発環境を整えることができます。 下記はプロジェクトファイル(Cargo.toml)の例です。外部ライ

            なぜ「Rustは難しい言語」とされるのか――習得の難しさとその対策をWebエンジニアが考察
          • サーバーサイドエンジニアがじっくり学ぶVue.jsチュートリアル【2. Introduction】 | DevelopersIO

            こんにちは。DA事業本部の春田です。 普段の業務では全く扱わないフロントエンドの世界に飛び込んでみたいと思います。最近3系が登場しましたがまだ情報が少ないので、2系のチュートリアルを進めていきます。サンドウィッチマンでいう「ちょっと何言ってるかわからない」ポイントは、その都度調べていきます。英語版の公式ドキュメントがベースです。 今回はIntroduction編です。 Vue.js とは? Vue.jsは、ユーザーインターフェース(UI)を構築するためのプログレッシブ・フレームワークです。 Unlike other monolithic frameworks, Vue is designed from the ground up to be incrementally adoptable. このモノシリックなフレームワークが何を指しているかといえば、例えばAngular.jsです。モノシリ

              サーバーサイドエンジニアがじっくり学ぶVue.jsチュートリアル【2. Introduction】 | DevelopersIO
            • Go の命名規則

              本記事は Go Advent Calendar 2019 11 日目の記事です。 Go はシンプルな言語機能・シンタックスが特徴であり、命名規則にもそのシンプルさが表れています。 本記事では、公式や著名な Go エンジニア、OSS などから見られる Go らしい命名規則を紹介します。 今更なテーマかもしれませんが、意外にも公私共々で命名規則が意識されていないコードを時折見かけるので、自戒も込めて記します。 誤った内容があれば Twitter でご指摘いただければと思います。 パッケージ名簡潔にするEffective Go では、short, concise, evocative なパッケージ名が望ましいとされます。 これはパッケージ名に限らずほとんどあらゆる命名において役立つ指針だと思います。 また、「パッケージ名は一言で何をするかを表すエレベーターピッチだ」という Dave Cheney

              • "HTML5ゲーム重い問題"をいかに解決するか? CPU負荷を改善する方法

                2019年10月9日、『神姫PROJECT』などソーシャルゲームの企画・開発を手がける株式会社テクロスが主催するイベント「TECH x GAME COLLEGE」が開催されました。第27回となる今回のテーマは「HTML5で『重い』問題をクリアしてリッチなゲームを作る」。株式会社ノックノート執行役員の岡山知弘氏が、話題のHTML5ゲームを作るにあたって、いかにJavaScriptでリッチなゲームを作りながら重い問題を解決していくかを語りました。前半パートとなる今回は、負荷改善における前提とCPUの問題についてレクチャーしました。 HTML5で「重い」問題 岡山知弘氏:それでは、30分ほどお時間をみなさんにいただいて、HTML5で重たい問題は、みなさんがHTML5を触られている方であれば、まさに直面しているかなとは思うんですけど、そこで弊社でどういうふうにアプローチしたのかをお伝えさせていただ

                  "HTML5ゲーム重い問題"をいかに解決するか? CPU負荷を改善する方法
                • コントリビュートで沢山の人が救われる。mattn氏が語る、好循環を実現するアウトプット活動の仕組み

                  コントリビュートで沢山の人が救われる。mattn氏が語る、好循環を実現するアウトプット活動の仕組み 2024年8月6日 mattn 大学卒業後、ソフトウェアハウスやSIerなどでソフトウェア開発に携わる。vi派生のテキストエディタVimの日本語化やプラグイン、Go言語などでOSS(オープンソースソフトウェア)の開発・コミュニティ運営に参加し、2019年からGoogle Developers Expert。2021〜2023年 GitHub Stars。著書に『みんなのGo言語』(2016年、2019年に改訂2版、技術評論社、共著)、『Go 言語プログラミングエッセンス』(2023年、技術評論社、単著)がある。関西在住。 X:@mattn_jp GitHub 前回はアウトプットのためのお題選びに際して、巷のエンジニアがよく選びがちな TODO アプリについてお話させていただきました。 いった

                    コントリビュートで沢山の人が救われる。mattn氏が語る、好循環を実現するアウトプット活動の仕組み
                  • 「価値」から小さく始めるドメイン駆動設計 - KAKEHASHI Tech Blog

                    こちらの記事は カケハシ Advent Calendar 2023 の 16日目の記事になります。 概要 こんにちは。AI在庫管理の開発チームでSWEをしている小室です。 私は普段ドメイン駆動設計(以下、DDD)を意識しながら開発することが多く、実践を重ねるほどDDDの素晴らしさを実感しております。 最近異動してきたAI在庫管理の開発チームでは、現状はあまりDDDを意識して開発を進めていないのですが、プロダクトが対象としている世界が非常に複雑であることと、今まさに多くの法人様に利用していただけるようになったうれしい悲鳴として成長痛を感じ始めており、ドメイン駆動設計を何かのヒントとしてプロダクトによる価値提供速度を加速できればと考えています。 しかしながら、ドメイン駆動設計は独自の価値観や学習コストの高さから、まだ取り組んだことのないメンバーとしては大きな不安を感じる部分があると思います。

                      「価値」から小さく始めるドメイン駆動設計 - KAKEHASHI Tech Blog
                    • JavaScriptの「カバー文法」とは何か - Qiita

                      この表を上から読みつつ多少言葉で説明すると以下のようになります。 const foo = bar + 3;はStatementListItemである。なぜなら、DeclarationはStatementListItemの一種であると定義されているから。 const foo = bar + 3;はDeclarationである。なぜなら、LexicalDeclarationはDeclarationの一種であると定義されているから。 const foo = bar + 3;はLexicalDeclarationである。なぜなら、LetOrConst, BindingList, ;が並んだものはLexicalDeclarationであると定義されているから。 constはLetOrConstであると定義されている。 foo = bar + 3 はBindingListである。LexicalBind

                        JavaScriptの「カバー文法」とは何か - Qiita
                      • 導入1ヵ月で、35,000行分のコーディング時間を削減 定量面・定性面から評価する「GitHub Copilot」

                        「GitHub Copilotで開発生産性はどのように変わるのか」というタイトルで登壇したのは、GMOペパボ株式会社の黒瀧悠太氏。株式会社タイミー社が主催した「GitHub Copilotで拓く開発生産性」で、「GitHub Copilot 」を開発に導入したことで起こった変化について発表しました。 登壇者の自己紹介 黒瀧悠太氏:よろしくお願いします。GMOペパボの黒瀧です。今日は「GitHub Copilotで開発生産性はどのように変わるのか」というタイトルで発表します。 私は、今GMOペパボ株式会社の「SUZURI」というサービスの技術責任者、シニアエンジニアリングリードというのをやっていて、GMOインターネットグループとしては「デベロッパーエキスパート」専門分野のエキスパートとして活動しています。 SNSアカウントは「@kurotaky」というのでやっています。趣味はドラムを叩くこと

                          導入1ヵ月で、35,000行分のコーディング時間を削減 定量面・定性面から評価する「GitHub Copilot」
                        • 理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita

                          はじめに 「理解容易性」は「保守性」の観点の1つとして重視され、多くの原則や技法が紹介されているが、断片的かつ多様であり、全体像を理解することは難しい。 抽象度は高いが、体系的に観点を整理する事で、その理解の助けとなれば幸いである。 定義 「理解容易性」を簡単に言えば、「理解のしやすさ」であるが、その意味から掘り下げると、「思考する量」と言い換えることができる。 本記事では理解容易性を「思考量の少なさ」と定義し、7つの観点に整理した。 先に要約およびチェックリストを記載し、概略を記載した。 後に詳細で理解のため、各観点毎の説明と個別の原則や技法へのリンクを記載した。 要約 7つの観点の要約を先に示す。 (変数や関数の)名称は分かりやすくする (変数や関数の)役割は1つにする (変数や関数の)参照は狭くする (変数や関数の)状態は変えられなくする (関数やクラスの)面積は小さくする (関数や

                            理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita
                          • ブラウザでRubyを動かす夢 - まめめも

                            何に使うわけでもないけど、とにかくブラウザで Ruby を動かしたかったんです。 その夢が、ついにかなった気がします。 長年の念願だった Emscripten と xterm.js でブラウザで irb を動かすやつがついに(一応)できたhttps://t.co/ubentOzj7p— Yusuke Endoh (@mametter) 2024年1月27日 振り返ってみると、ここに来るまで 6 年もかかったようです。ちょっと嬉しくなったので経緯を書き残します。 Emscripten で Ruby をビルドする 2018 年、ふと思い立って、Emscripten で Ruby をビルドできるようにしました。 Emscripten は、要するに C/C++ プログラムを JavaScript や Wasm に変換してくれるコンパイラです。C で書かれた Ruby を Emscripten でビ

                              ブラウザでRubyを動かす夢 - まめめも
                            • 開発スピードを早めるDeveloperToolでのデバッグ - iimon TECH BLOG

                              こんにちは、iimonフロントエンジニアのさいとーです。本記事はiimonアドベントカレンダー21日目の記事となります。 はじめに devtoolでデバッグをしてみる watch(監視) 条件付きブレークポイント Eventlistenerブレークポイント(click) Break on まとめ 最後に 参考 はじめに みなさんはdeveloper toolをつかってデバッグをしてますでしょうか。 elementsやsource、networkなど見れる便利なツールです。フロントエンドで開発するなら必須のツールです。 しかし、いろいろな便利な機能があるのは知っていましたが、曖昧な理解のまま使っていました。 曖昧な理解だったため、自分がデバッグのときに使っているなと思っている機能をまとめてみました。 devtoolでデバッグをしてみる サンプルコード <!DOCTYPE html> <htm

                                開発スピードを早めるDeveloperToolでのデバッグ - iimon TECH BLOG
                              • ChatGPT APIとStreamlitを使って超簡単にAIアプリを作ってみた - NRIネットコムBlog

                                こんにちは 堤です。 3月1日にChatGPTのAPIが公開されました。 openai.com APIが公開されたことでChatGPTを活用したアプリが色々登場して盛り上がっていますね! 今回はPythonのみで簡単にWebアプリを作成できるStreamlitとChatGPT APIを組み合わせて簡単にAIアプリを作成する方法をご紹介します。 Streamlitについて StreamlitはフロントもバックエンドもPythonのみの記述でWebアプリケーションを作成できるフレームワークです。 streamlit.io Webアプリ作りたいけどフロントの知識が全くない。。という人でもUIが簡単に作成できるのでとても便利です。 データ可視化や機械学習モデルの共有がとても簡単にできるのでデータサイエンスの領域でよく使われています。 作成するアプリ 今回はこのChatGPT APIとStreaml

                                  ChatGPT APIとStreamlitを使って超簡単にAIアプリを作ってみた - NRIネットコムBlog
                                • Python統計テクニック集 ~Pythonで抗う統計解析~ - Qiita

                                  これは、Open and Reproducible Science Advent Calendar 2019:13日目の記事です。 記事の目的 統計解析といえばRです。 しかし私のようにPythonだけでなんでもやりたい人もいます。 そんな人に向けて、Pythonで統計解析を行う上で便利なライブラリやテクニックをご紹介します。 同じテーマの記事や書籍も多々ありますが、他ではあまり紹介されていないものを中心にまとめるつもりです。 各ライブラリ・テクニックの詳細についてはなるべく別記事を紹介する方針です。 対象:Pythonを使ったことはあるけれどガチではない人 Jupyter Notebook / Lab 様々な記事で紹介されているド定番ですが、一応ご紹介します。 なぜ私たちはSPSSのようなGUIベースでなく、PythonやRのようなプログラムベースの統計ソフトを使うのか。 それは高価だか

                                    Python統計テクニック集 ~Pythonで抗う統計解析~ - Qiita
                                  • エンジニアのためのドキュメントライティング - ぱたへね

                                    エンジニアのためのドキュメントライティング読みました。 最近の仕事の悩みに対して、方向性を示してくれた良い本でした。 www.amazon.co.jp 自分のチーム内にドキュメントの文化が無い人にお勧めします。 全体のざっくりした感想だと、この手の本にありがちな小言っぽいことは書いてなく、作って意味のあるドキュメントはどうあるべきかを書いてあります。仕事のドキュメントで悩んでいる人には、具体的な取り組みのアイデアがいっぱい見つかるでしょう。 背景 うちの会社は転職者が多く、開発への考え方がバラバラ。当然、ドキュメントに対する考え方もバラバラで必要なドキュメントがなかなか揃わない。今の仕事は各部署からの寄せ集めチームでもあり、ドキュメントのテンプレートみたいなものもない。 世代間の格差も結構ある。ベテラン勢はドキュメントは印刷され保管される前提であり、表示にバージョン、日付、部署、作成者など

                                      エンジニアのためのドキュメントライティング - ぱたへね
                                    • ノーコードで万能型のチャットボットを自由に開発できる「Joonbot」を使ってみた! - paiza times

                                      どうも、まさとらん(@0310lan)です! 今回は、ノーコードで誰でも簡単にチャットボットを作成&公開できるWebサービスをご紹介します。 基本的な機能はすべて無料で利用可能なうえ、直感的に操作できる編集エディタと高度なロジックを組み立てられる機能を合わせ持ったスグレモノです。 ほとんどのケースに対応できるチャットボットをすぐにでも作成できるので、ご興味ある方はぜひ参考にしてみてください! 【 Joonbot 】 ■「Joonbot」の使い方 それでは、「Joonbot」をどのように使えばいいのか詳しく見ていきましょう! 最初にトップページからメールアドレスを入力して、無料のユーザー登録をしておきます。 ユーザー名・メールアドレス・パスワードを入力するだけなので簡単です。(Googleアカウントでのログインも可能) テンプレートの選択画面が表示されますが、ひとまず画面左上にあるリンクをク

                                        ノーコードで万能型のチャットボットを自由に開発できる「Joonbot」を使ってみた! - paiza times
                                      • 「天才プログラマーが作った糞コード」という都市伝説 - カレーなる辛口Javaな加齢日記

                                        「一人の天才プログラマーがほとんど一人でシステムを作ったがドキュメントはなくて誰もメンテできないときってどうするの?って話」 https://togetter.com/li/1549364 1人の天才プログラマーがシステムをほとんど1人で作ったんだが、ドキュメントが残っておらず、他に誰もメンテできる人がいない。 みたいな状況って、みんなどう対応してるの?— やまぶん (@yamabunmath) June 25, 2020 保守不可能な糞コードは山ほど見てきたけど,そんな状況は一度も見たことがない.*1 ヘッポコ管理職が,社長を説得するためにそう説明しただけじゃないかね.まさか「自分はバカなので,デザインパターンとか平行プログラミングとか分かりません」なんて口が裂けても言わないもの.*2 またヘッポコプログラマーには自分に理解できないコードが,それが自分の理解を超えているからなのか,単純に

                                          「天才プログラマーが作った糞コード」という都市伝説 - カレーなる辛口Javaな加齢日記
                                        • ビジュアルリグレッションテストを導入した話 - メドピア開発者ブログ

                                          こんにちは。フロントエンドエンジニアの小林和弘です。 Vue.js + Atomic Designでつくられたプロジェクトにビジュアルリグレッションテストを導入しました。 ビジュアルリグレッションテストでUIの安全性を高める コンポーネントの改修、新機能の追加、ライブラリのアップデートを行う際、UIに不要な変更が入っていないか不安になることがあると思います。リファクタリングをしようにも、意図しないところでUIが壊れないか心配になります。 画面表示に関わるコードを改修するたびに、ローカル環境やステージング環境で全UIコンポーネントを確認するのは難しいです。 また、ステージング環境と本番環境を並べて変更されたUIを目視で確認するのも非現実的です。 ビジュアルリグレッションテストはその名前の通り、視覚的な回帰テストを指します。改修前後のスクリーンショットの差分を検証するためのテストです。 開発に

                                            ビジュアルリグレッションテストを導入した話 - メドピア開発者ブログ
                                          • 新Vue.js「Vue 3」で便利に使えるさまざまな新機能を先取りで紹介

                                            「Vue 3」は、JavaScriptフレームワークVue.jsの次期バージョンで、2016年にリリースされた「Vue 2」以来のメジャーバージョンアップです。Vue 3で導入される新機能のうち、前回は新しいコンポーネント記述形式「Composition API」を紹介しました。今回は、それ以外の主な新機能を説明していきます。 はじめに Vue.jsは、Webページのユーザーインタフェース(UI)を構築できるフレームワークです。2015年のバージョン1(Vue 1)、2016年のバージョン2(Vue 2)に続き、バージョン3(Vue 3)が開発中で、2020年第2四半期にリリース予定です。 前回記事ではコンポーネントの新しい記述形式「Composition API」を紹介しましたが、他にもさまざまな新機能がVue 3で導入されます。本記事では、それ以外の主な新機能を抜粋して紹介していきます

                                              新Vue.js「Vue 3」で便利に使えるさまざまな新機能を先取りで紹介
                                            • 「コメントを全く書かない」プロジェクトに1年従事して思ったこと - Qiita

                                              初めに 私はSESでエンジニアをしています。そのためいろいろな現場に参画して開発をすることが仕事なのですが、コメントを全く書かないどころかドキュメントもあんまりないという思想のチームに1年従事したときに感じた事を書いた記事です。 開発にはJava,Pythonを利用しているので、これらの言語でサンプルを記載しています。 良かったこと まずは良かったことです。大きく分けては 自身のコーディングスキルの向上 文章力の向上 の2点です。 自身のコーディングスキルの向上 コメントがまったくない。という状態でコードを書いていく場合には、変数名、メソッド名等の命名が非常に重要です。もはや命名さえちゃんとできればコーディング自体はそんなに大変でないといってもいいかもしれません。 SIerの案件ではコメントは多く書けという思想が多いです。そのため、これまでのコードは以下のような感じでした。

                                                「コメントを全く書かない」プロジェクトに1年従事して思ったこと - Qiita
                                              • Dify の ワークフロー の概要|npaka

                                                以下の記事が面白かったので、簡単にまとめました。 ・Workflow - Dify 1. ワークフロー1-1. ワークフロー「ワークフロー」は、複雑なタスクを小さな「ノード」に分割することで、LLMアプリケーションのモデル推論への依存を減らし、システムの説明可能性、安定性、耐障害性を向上させます。 「ワークフロー」の種類は、次のとおりです。 ・Chatflow :  顧客サービス、セマンティック検索など、応答作成に複数ステップのロジックを必要とする会話シナリオ用 ・Workflow : 高品質な翻訳、データ分析、コンテンツ作成、電子メールの自動化など、自動化・バッチ処理シナリオ用 1-2. Chatflow自然言語入力におけるユーザー意図認識の複雑さに対処するため、「質問分類」「質問書き換え」「サブ質問分割」などの問題理解ノードを提供します。さらに、LLMに外部環境との対話機能、すなわち「

                                                  Dify の ワークフロー の概要|npaka
                                                • 大規模言語モデルは相関関係から“本当の”因果関係を推定できるのか? 40万個の問題で研究者らが調査

                                                  Innovative Tech: このコーナーでは、テクノロジーの最新研究を紹介するWebメディア「Seamless」を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。Twitter: @shiropen2 ドイツのMPI-IS、スイスのETH Zurich、米ミシガン大学、香港大学、米Meta AIに所属する研究者らが発表した論文「Can Large Language Models Infer Causation from Correlation?」は、大規模言語モデル(LLM)が相関関係から因果関係を推定する因果推論タスクでどの程度の性能を発揮できるかを調査した研究報告である。 推論の基本的な考え方では、因果関係を得るために2つの方法がある。1つは、経験的な知識に基づくものだ。例えば、誕生日パーティーを友人のために準備すると、幸せになるということは常識

                                                    大規模言語モデルは相関関係から“本当の”因果関係を推定できるのか? 40万個の問題で研究者らが調査
                                                  • 単なる品質チェックではなく、技術的な思想も共有・議論する ソニックガーデンの“妥協しないコードレビュー”

                                                    単なる品質チェックではなく、技術的な思想も共有・議論する ソニックガーデンの“妥協しないコードレビュー” 妥協できないソニックガーデンのコードレビュー 田中氏の自己紹介 田中義人氏:こんばんは。ソニックガーデンの田中です。ここでは「妥協できないソニックガーデンのコードレビュー」というお題で発表していきます。 私は神戸に住んでいます。2017年から6年間、ソニックガーデンのプログラマーをやっています。プログラミング歴は30年とか40年とかになってしまうかもしれないんですが、Rails歴は7年ぐらいかなと思います。社会人としては二十数年という感じですかね。 ということで、2023年の5月頃に技術書典14で、『コードレビューで学ぶRuby on Rails』を共著で執筆しました。 「妥協しないコードレビュー」とは何か? 今日は、そんな私がソニックガーデンのコードレビューがどんなものかをみなさんに

                                                      単なる品質チェックではなく、技術的な思想も共有・議論する ソニックガーデンの“妥協しないコードレビュー”
                                                    • Vue.js 3.0で搭載される Composition APIをリリースに先駆けて試してみた - SMARTCAMP Engineer Blog

                                                      スマートキャンプでBiscuetのエンジニアをしている中川です。 本記事はスマートキャンプ Advent Calendar 2019 - Qiitaの19日目の記事です。 現在弊社のプロダクトであるBOXILとBiscuetは、そのどちらの開発チームもVue.jsを使用して開発しています。 Vue.jsの学習コストの低さやコンポーネント指向は少人数のチームでユーザーに素早く価値を届けていきたい弊社の開発においても重宝しています。 さてそんなVue.jsですが、2020年のQ1にバージョン3.0が正式リリースされることが予告されており、正式リリースに先駆けて目玉機能のひとつであるComposition APIが公開されました。 Composition API RFC | Vue Composition API ドキュメントやAPIリファレンスのみならず、バージョン2系でプラグインとして利用で

                                                        Vue.js 3.0で搭載される Composition APIをリリースに先駆けて試してみた - SMARTCAMP Engineer Blog
                                                      • Serverless Framework+mangum+FastAPIで、より快適なPython API開発環境を作る - JX通信社エンジニアブログ

                                                        はじめに 最近ハイボールにハマっているSREのたっち(@TatchNicolas)です。 昨日オンライン開催されたJAWS DAYS 2020にて、JX通信社もサーバレスをテーマとして発表をしました。(by 植本さん) 発表でもありましたように、上記プロジェクトにおいて開発当時はスピードを優先してプロジェクトメンバーの手に馴染んでいて分担もしやすいフレームワークとしてFlaskを採用しました。 一方で、JX通信社としてはFlaskよりもFastAPIを使うプロジェクトが増えてきており、今後もその傾向は続く見込みです。 そこで、特設ページ作成やAPI提供など初動としての開発が一段落したのを機に、JAWS DAYSで発表した仕組みを今後のために発展させる検証をしたので紹介します。 TL; DR; JAWSでは Serverless Framework+awsgi+Flaskな構成でスピーディに

                                                          Serverless Framework+mangum+FastAPIで、より快適なPython API開発環境を作る - JX通信社エンジニアブログ
                                                        • Cloudflareの画像最適化料金をWorker KVで97%削減した話 - SMARTCAMP Engineer Blog

                                                          BOXILでエンジニアをやっている永井です。前回は入社エントリを書きましたが今回は技術的な記事を書こうと思います。 今回はCloudflareにおける画像の最適化処理のコストカットをした話をします。ざっくりいうとCloudflare内のKVという機能を使い、最適化をした画像をキャッシュしました。似たような問題で悩んでいる方は参考にしてもらえると嬉しいです。 TL;DR Cloudflareで画像のリサイズ(形式変更)を行っていた リサイズ後の画像はデフォルトではキャッシュされず、都度リサイズの処理が実行されていた Cloudflare内のWorker KV機能を使いキャッシュの実装をしたところ、コストがおよそ97%削減できた TL;DR 前提 問題 対策 Workers KVとは 注意事項とか サンプル 事前準備 KVのnamespace作成 KVをworkerに登録 流れ Keyについて

                                                            Cloudflareの画像最適化料金をWorker KVで97%削減した話 - SMARTCAMP Engineer Blog
                                                          • テストの可読性と保守性を改善したいよねって話 - Qiita

                                                            この記事は NIJIBOX Advent Calendar2019 の20日目の投稿です。 背景 この記事は「仕様の変更に強いコードを書きたいよねって話」のテストについて掘り下げたお話になります。 題材は「ページネーションにおける関数」です。 ※ 以下currentは現在いるページ、totalは総ページ数、sizeはページネーションの表示するページサイズを指します。 書くこと ページネーションのロジック部分のgetPageNums関数のテストコードがわかりにくかったのでクラス設計を導入し、修正した。 テストコードを書くときに気をつけたいぞい!ってこと 参考にしたもの テスト駆動開発(TDD)の第一人者のtwadaさんにアドバイスをいただきました、ありがとうございました! 書籍「リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック」 手順 テストには、Facebook社

                                                              テストの可読性と保守性を改善したいよねって話 - Qiita
                                                            • 増田亨さんによる「設計の考え方とやり方」勉強会 書き起こし5 「質疑応答」 - asken テックブログ

                                                              増田亨さんによる「設計の考え方とやり方」勉強会 書き起こし5ページ目です。最初からお読み頂く場合は、こちらから御覧ください。 資料 増田さんの講演資料 質疑応答モデル なぜこの場を作ったのか 書き起こしリンク パート1「良い設計を目指す」 パート2「設計スタイルの選択とクラス設計のスタイル」 パート3「テーブル設計のスタイル」 パート4「開発のやり方と設計スキルと補足資料」 パート5「質疑応答」(本記事) 目次 質疑応答 イミュータブルテーブルについて 「とっとと作る」について 開発組織、開発チームについて リファクタリング、テストについて こんな時はどうすれば 勉強方法について クロージング 質疑応答は参加者の皆様でモデルにしました。こちらを是非御覧ください。 balus.app 質疑応答 安西:ありがとうございました。ではせっかくなので、質疑応答の時間にしたいと思います。けっこう質問が

                                                                増田亨さんによる「設計の考え方とやり方」勉強会 書き起こし5 「質疑応答」 - asken テックブログ
                                                              • 借りたものはきっちり返す。技術的負債への向き合い方 - Gaudiy Tech Blog

                                                                はじめまして。エンタメ領域のDXを推進するブロックチェーンスタートアップ、Gaudiyでエンジニアをしている@kaa_a_zuです。 早速ですが、質問です。みなさんは、所属している組織のコードを誇りに思い、この先数十年間に渡って使い続けることができると確信していますか? 私は、この質問をされた場合、顔を背ける自信があります。今回は、私と同じようにこの質問に対して "YES" と答えることが出来なかった人たち、そして 「リファクタリングをしたい」と思っているエンジニアが在籍する組織の偉い人たち に読んでもらいたい内容を書こうと思います。 テーマは、技術的負債の返済方法と技術的負債をためない方法についてです。(かなり長いので、HOWだけ知りたい方は4章から読んでいただけたらと思います。) 1. 一般的な技術的負債とは 2. なぜ技術的負債が発生するのか 3. 技術的負債がもたらす問題点 3-1

                                                                  借りたものはきっちり返す。技術的負債への向き合い方 - Gaudiy Tech Blog
                                                                • Rubyオブジェクトの未来をつくる「シェイプ」とは(翻訳)|TechRacho by BPS株式会社

                                                                  概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The Future Shape of Ruby Objects 原文公開日: 2021/09/10 原著者: Chris Seaton RubyKaigi Takeout 2021: The Future Shape of Ruby Objects by Chris Seaton - RubyKaigi Takeout 2021 日本語タイトルは内容に即したものにしました。本記事はRubyKaigi Takout 2021 Day2キーノートのスピーチ原稿につき、最終的な発表内容はこのとおりでない部分もあります。流れを把握するために必要と思われる部分については訳注で補足いたしましたが、わかりにくい場合は動画と合わせてご覧ください。 本記事ではshapeの仮訳として「シェイプ」を採用しています。 なお、本記事公開後にCRuby 3

                                                                    Rubyオブジェクトの未来をつくる「シェイプ」とは(翻訳)|TechRacho by BPS株式会社
                                                                  • 【Flutter】わずか数分でアプリ開発!?超速アプリ開発総合フレームワーク「Masamune」

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

                                                                      【Flutter】わずか数分でアプリ開発!?超速アプリ開発総合フレームワーク「Masamune」
                                                                    • シェルスクリプトの代替

                                                                      要約:決定版はとくにない。 kzys氏のシェルスクリプトを書かないという記事は面白かった。 https://blog.8-p.info/ja/2021/09/15/bash/ シェルスクリプト、ごくたまに書くことはあるが、ほんともう細かい話とかはすべて忘れているし、覚える価値を感じない。いまさら覚える必要のない技術だなと感じる。が、その一方でなかなか代替品がないようなニッチでもある。 自分は必要に応じてPythonかRubyか、といったあたりを使うことが多いが(perlはもう書けなくなった)、なかなかこれという感じには思い至らない。なにがいいんだろうね?という。 前提条件:インタラクティブな環境(REPL)はなくてもいい。そこはもう既存のシェルでいい。自動化したシェルスクリプト的なタスク記述を目標とする。bashの置き換えという意味では「どこにでもインストールされていることを前提にしないと

                                                                        シェルスクリプトの代替
                                                                      • JavaScript初学者が現場で活躍するフロントエンドエンジニアにレビューしていただいた内容【もりけん塾】 - Qiita

                                                                        前置き 私が所属している「もりけん塾」で受けたコードレビューについてまとめていきます。 「もりけん塾」では、先生がマークアップエンジニアからフロントエンドエンジニアになるための課題を作成してくださっており、塾生はその課題を通してJavaScriptの基礎を学んでいきます。 本当に1段1段階段を登っていくように作られており、課題を終える頃にはある程度自走しながらコードが書けるようになります。 私もこの課題に挑戦し、先日課題を終えることができました。だいたい2~3ヶ月くらいかかったと思います。JavaScriptが全然わからない状態から、ここまで書けるようになるとは思っていなかったです。 JS課題はこちら 成果物 👈 README.mdに置いてます。 先を見越したコードを書く編 仕様が増えたときを想定する バリデーションを実装する課題でのレビューです。 名前のバリデーションでは、変数名を n

                                                                          JavaScript初学者が現場で活躍するフロントエンドエンジニアにレビューしていただいた内容【もりけん塾】 - Qiita
                                                                        • PythonのListとTupleの違いとTupleはなぜ早いのかを調べてみた | DevelopersIO

                                                                          データアナリティクス事業本部@札幌の佐藤です。 ListとTuple使いこなせてますか? 私はPythonをやる前はTupleの存在しない世界の住人だったため、なにこのカッコは……た、Tuple……???って感じでした。 同じような方もいらっしゃるのかなと思いますし、あの頃の自分に教えてあげたいというのもありますのでそんな意味も込めてListとTupleの違いとTupleはなぜ早いのかについて書きたいと思います。 そもそもListとTupleとは そもそもListとTupleは共にシーケンス型です。いわゆる配列ができる型になります。 上記のほかにはstrやrangeもシーケンシャルに値を取得できます。 基本的なシーケンス型は 3 つあります: リスト、タプル、range オブジェクトです。バイナリデータ や テキスト文字列 を処理するように仕立てられたシーケンス型は、セクションを割いて解説

                                                                            PythonのListとTupleの違いとTupleはなぜ早いのかを調べてみた | DevelopersIO
                                                                          • “Too Many Requests.” でビルドが失敗する…。AWS CodeBuild で IP ガチャを回避するために Docker Hub ログインしよう!という話 | DevelopersIO

                                                                            buildspec.yml 内で docker login -u *** -p *** といった処理をしていなければ、それは匿名ユーザーで利用していることになります。 (ちなみに aws ecr get-login のログイン処理は ECR へのログインであり、Docker Hub のログインではありませんのでお間違えないように) 「匿名ユーザーで使ってるけど 6 時間あたり 100 pull も出来るならウチの環境では十分やなー」 と思ってスルーされた方も少なくないと思いますが、ちょっと待ってください。リンク先のブログで言及されているとおり、匿名ユーザーは IP アドレスに基づいて制限されます。 For anonymous (unauthenticated) users, pull rates are limited based on the individual IP address.

                                                                              “Too Many Requests.” でビルドが失敗する…。AWS CodeBuild で IP ガチャを回避するために Docker Hub ログインしよう!という話 | DevelopersIO
                                                                            • InstChocoでのChocolateyインストールでWindowsソフトウェア引っ越しが楽々! - はるなぴログ

                                                                              InstChocoでChocolateyをインストールするとWindowsソフトウェアの引っ越しが超簡単にできます。 ChocolateyをインストールするならInstChocoも使うのがお勧めです。単なるパッケージ管理ソフトウェアとして利用するのはもったいないです。 ChocolateyでWindowにインストールしたパッケージリストや設定をiCloudやDropbox、GoogleDrive、OneDriveに保存してくれるChoco Package List Backup to Local and Cloudの使い方も併せてご紹介します。 InstChocoとChoco Package List Backup to Local and Cloudの使い方を日本語で説明した記事が見当たらないので書いてみました。本邦初公開記事です! Chocolateyとは Chocolateyのインス

                                                                                InstChocoでのChocolateyインストールでWindowsソフトウェア引っ越しが楽々! - はるなぴログ
                                                                              • 【オフショア】ベトナムメンバと理解する「PHPリーダブルコード」 〜第1回 表面的な改善〜 - RAKUS Developers Blog | ラクス エンジニアブログ

                                                                                本稿では、ベトナムとのオフショア開発において利用できるよう、"リーダブルコード" の内容をもとに筆者が解釈したものを、社内用資料として日本語とベトナム語の両方で解説したものです。*1 この記事を日本チームとベトナムチームのメンバに読んでもらうことで、"リーダブルコード" の知識がチーム間の共通認識となり、プログラムコードの品質が向上することを目的としています。 全2回を予定しており、第1回である本稿は、「表面上の改善」について解説します。 Trong bài post này, tôi sẽ tóm tắt nội dung của "Readable code" và giải thích bằng cả tiếng Nhật và tiếng Việt, để có thể sử dụng trong việc phát triển Offshore với Việt Nam. Khi

                                                                                  【オフショア】ベトナムメンバと理解する「PHPリーダブルコード」 〜第1回 表面的な改善〜 - RAKUS Developers Blog | ラクス エンジニアブログ
                                                                                • 線形計画法使ってあすけんで100点とってみた - asken テックブログ

                                                                                  今回テックブログを書くにあたり、以下の記事を参考にしました。 qiita.com こちらの記事では、マクドナルドのメニューを対象に組み合わせ最適化問題を扱っており、内容も非常に面白く読ませて頂きました。 今回、弊社askenでも自社データを使用して食事の組み合わせ最適化問題をやってみたのでご紹介します。 はじめに こんにちは! askenで機械学習エンジニアとして働いているyumaです。 shoku_panという名前でTwitterをやってます。 さてみなさん、弊社ダイエットアプリ「あすけん」をご存知ですか? www.asken.jp あすけんでは、その日の食事内容を記録すると栄養士の未来(みき)さんからアドバイスをもらえます。点数も出るので、高得点をとることがモチベーションになっている方もいらっしゃると思います。 もちろん僕も使っています。ちなみに今年のお正月はこのような結果になりました

                                                                                    線形計画法使ってあすけんで100点とってみた - asken テックブログ