並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 216件

新着順 人気順

*programの検索結果1 - 40 件 / 216件

*programに関するエントリは216件あります。 プログラミングpythonjavascript などが関連タグです。 人気エントリには 『Goで作るテキストエディタ - Sansan Tech Blog』などがあります。
  • Goで作るテキストエディタ - Sansan Tech Blog

    はじめに みなさんこんにちは。Sansan事業部プロダクト開発部のiOSエンジニア荒川です。 以前はRDBMSの記事*1を寄稿し、好評いただいたこともあり、定期的に車輪の再発明系の記事を書いていこうと思います。 さて本日はタイトルの通り、VimやEmacsに代表されるターミナルで動作するインラインテキストエディタをGoで開発してみました。 ソースコードは以下のリポジトリに置いているため、ぜひ参考にしてください。 github.com 完成品 文字だけだとイメージも湧きにくいので、まずは完成品をお見せします。 最低限エディタの動きは出来ている、というレベルの完成度ですね🙏 特徴 1000行インラインエディタ 文字入力/挿入/削除 画面スクロール キーボードショートカット ファイル読み込み/保存 Goのコードハイライト機能 実装の方針 今回はただ開発するだけではなく、いくつかのこだわりポイン

      Goで作るテキストエディタ - Sansan Tech Blog
    • 論理プログラミング言語Logicaでデータサイエンス100本ノック

      Googleが発表したOSSプロジェクトである論理プログラミング言語Logicaを使って、データサイエンス100本ノック(構造化データ加工編)の設問を解きながらどのような言語かを確認していく。 (BigQueryのクエリとして実行していく) 最初に、プログラミング言語Logicaの特徴を纏めておく。 論理型プログラミング言語: このカテゴリではPrologが有名 SQLにコンパイルされる: 現状BigQueryとPostgreSQLに対応 モジュール機構がある: SQLと比較した強み コンパイラはPythonで書かれている: Jupyter NotebookやGoogle Colabですぐ始められる Colabでチュートリアルが用意されているので、まずこちらからやると良いと思う。 コードの見た目は関係論理の記述に似ている。 事前に、データサイエンス100本ノックのテーブルデータをBigQu

      • PythonでTableau風 BIツールによる視覚的データ探索をやってみよう 〜PyGWalker〜 - Qiita

        更新情報 -目次- はやくもUI改善等 Ver.upが図られています。以下内容の記事を追加しました。 1. データフレーム表示 2. ヒストグラムの描き方 3. ダークモード対応 4. オンライン版 5. 海外のデータイノベーション支援団体でも人気 はじめに Tableauはご存じでしょうか? 私は使ったことはありませんが、名前だけはよく耳にします。 これは、専門家でなくてもデータの収集・分析・加工ができるBI(ビジネス・インテリジェンス)ツールのひとつです。 なんと、Jupyter Notebook上(Google ColabもOK)で実行できる Tableau風 BIツール「PyGWalker」が登場しました。 Tableauそのものではありませんが、ドラッグ&ドロップの簡単な操作でデータ分析や視覚的な探索が実行できます。 こんなのが出てくるとは・・・すごい。 しかも、数行のコードで実

          PythonでTableau風 BIツールによる視覚的データ探索をやってみよう 〜PyGWalker〜 - Qiita
        • バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境

          @July Tech Festa 2020

            バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境
          • アセンブラをゼロから作って自作コンパイラをアセンブルするまで(日記)

            GNU Assembler互換(サブセット)のアセンブラをGo言語でフルスクラッチで作ってみました。 開発22日目で自作Goコンパイラ(をセルフホストしたときに出力される20万行のアセンブリ)をアセンブルすることに成功しました。 どうやって作ったかというと、小さいコードを GNU Assembler (以下 as) に食わせて出力されたバイナリを観察する、を繰り返して中のロジックを推定し再現しました。as の実装は見ていません。(一瞬見たけど巨大すぎて何もわからなかった) アセンブラ自作は、やってみるとコンパイラ自作よりだいぶ簡単でハマりポイントも少ないので、学習テーマとしてはおすすめです。2箇所ほど難所(命令エンコーディングのルールを理解するのと、ジャンプ命令の最適化)がありましたがそれ以外はさくさく楽しく作れました。 作ってみた結果、アセンブリ言語の理解が深まったのはもちろんのこと、E

              アセンブラをゼロから作って自作コンパイラをアセンブルするまで(日記)
            • TypeScriptで世界一型安全な型レベルSQL Interpreterを作っている話

              こんにちは。DevOps芸人と化して久しいAndyです。 2020年の秋にTypeScript 4.1へTemplate Literal Typesが導入され、そのインパクトに俄かに一部の界隈がザワついたのは記憶に新しいかと思います。 今回は型プログラミングの可能性を大いに押し広げたTemplate Literal Typesを用いてSQL文を型レベルで解析し、その実行結果を型情報として導出するためのsqlptureというライブラリを作ったので紹介します。 Embedded content: https://github.com/andoshin11/sqlpture SQLの実行/検証対象はPostgreSQL v13です。 tl;dr SQL文を型レベルで解析・評価して返り値型を取得できるmini interpreterを作ったよ 型レベルのSQL validatorも作ってるよ 実際

                TypeScriptで世界一型安全な型レベルSQL Interpreterを作っている話
              • V8エンジンによる内部変換コードでasync/awaitの挙動を理解する

                はじめに JavaScript の「非同期処理」ってやっぱりかなり難しくないですか? 自分も色々試行錯誤しましたが、結局「完全に理解した🤓」→「やっぱり何も分からん😭」っていうループの中で泥臭く理解を深めていくしかないようです。 さて、非同期処理の制御をある程度予測できるようになるには、非同期 API を提供する環境のことやイベントループ、マイクロタスクなどの仕組みについて理解する必要があります。 そして環境に埋め込まれた JavaScript Engine のことも理解する必要があります。 今回の記事では、JavaScript Engine の1つである V8 が内部で変換するコードから async/await の挙動を理解するための解説を試みたいと思います。V8 エンジンからアプローチすることで async/await の分かりづらい挙動を掌握して非同期処理を打倒します。 今回の記

                  V8エンジンによる内部変換コードでasync/awaitの挙動を理解する
                • レトロゲームエンジンPyxelでプログラミングを始めよう!(2020.4.4版) - kitao's blog

                  在宅勤務、週末の外出自粛と、何かと家にいることが多くなりました。 厳しい状況が続きますが、まとまった時間を確保して、新しく何かを身に着けるにはいい機会と言えるかもしれません。 そこで、在宅の時間を活用して、Pythonの使い方やゲームプログラミングを覚えたいという方に向けて、最新版に対応したレトロゲームエンジンPyxelの紹介記事を再作成してみました。 古い紹介記事を読んで、以前のインストール方法を試して詰まっている方もたまに見かけますので、こちらの最新版の紹介記事を参考にしていただければと思います。 Pyxelとは Pyxel(ピクセル)は、昔ながらのドット絵タイプのゲームを簡単に作れる「レトロゲームエンジン」です。 GitHubでオープンソースとして公開されており、2018年7月30日のリリース後4日で、GitHubのデイリーランキングで1億プロジェクト中1位を獲得。現在は6800スタ

                    レトロゲームエンジンPyxelでプログラミングを始めよう!(2020.4.4版) - kitao's blog
                  • ArmにあるというJavaScript専用命令とは何か、あるいは浮動小数点数を整数に変換する方法について - Qiita

                    // gcc-10 -march=armv8.3-a arm-jcvt.c という風にコンパイル #include <stdio.h> #include <math.h> #include <inttypes.h> #include <arm_acle.h> // Prototype: // int32_t __jcvt(double); #if defined(__GNUC__) __attribute__((noinline)) #endif int32_t cast_double_to_i32(double x) { return (int32_t)x; } int main(void) { printf("(int32_t)(-2.8) = %" PRId32 "\n", cast_double_to_i32(-2.8)); printf("(int32_t)1.99 = %" P

                      ArmにあるというJavaScript専用命令とは何か、あるいは浮動小数点数を整数に変換する方法について - Qiita
                    • マシな作り方の作り方を作る | 麦 Baku

                      ここ最近、Glispというアプリをつくっています。Lisp ベースのベクタードローイングツールで、Creative Coding と伝統的なチマチマやるデザインとの合わせ技っぽい使い勝手を目指してます。 ひとまずCuusheさんのビデオに手入れ続けて止まらないのが気が済んでからなのですが(ごめんなさい…)、終わったら本格的にこれに注力してみたいなと思っとります。だから助成金やファウンディング含めてみなさんに色々ご相談したいです。 #glisp – Twitter Search / Twitter これが実現したらようやく「こいつなんか意味分からん事言って Adobe に因縁つけてるな」みたいなんがもう少し多くの人に理解してもらえる気がしています。少なくともベクターグラフィックに関しては、ソフトの使い勝手に気が散ってツール開発をしないとしんどくなる体質が改善して実制作に集中出来るようになれま

                        マシな作り方の作り方を作る | 麦 Baku
                      • GraphQLとクライアントサイドの実装指針.md

                        GraphQLとクライアントサイドの実装指針.md GraphQLとクライアントサイドの実装指針 GraphQLって何 Facebookが開発した クエリ言語 今はGraphQL Foundationに移管されている https://quramy.github.io/graph-api-note/#/ GraphQLの特徴 スキーマと静的な型 Demand Driven Architecture Composition 1. スキーマと静的な型 スキーマには可能なクエリや操作の全てが記述されている。 表現方法はいくつかあるが、SDL(Schema Definition Language)で表現されることが多い。 type User { id: ID! name: String! age: Int friends: [User] articles: [Article] } type Arti

                          GraphQLとクライアントサイドの実装指針.md
                        • 完全栄養マクドナルド食の線型計画による実装~もしマクドナルドだけで生活すると栄養バランスはどうなるのか?~ - Qiita

                          完全栄養マクドナルド食の線型計画による実装~もしマクドナルドだけで生活すると栄養バランスはどうなるのか?~PythonMacデータ分析データサイエンスマクドナルド 背景と概要 マクドナルドが大好きである。 しかし、ジャンクフード、健康に悪い、 などという話は以前よりよく見かける。 では本当にマクドナルドを食べ続けると、 健康に悪いのだろうか? マクドナルドだけで生活する場合本当に、 栄養の偏りやカロリー過剰などが発生するのだろうか? 本稿は、マクドナルドだけで 一日に必要なすべての栄養素を摂取する食事 をする場合に、どのようなメニューを選ぶべきで、 その結果どのような栄養問題が生じるのか、 PuLPというPythonの線型計画ライブラリを用いて 研究した結果をまとめたものである。 すなわち、マクドナルドだけで 完全栄養食としてのメニューを組み立てるには 何をどれだけ食べればいいの? そして

                            完全栄養マクドナルド食の線型計画による実装~もしマクドナルドだけで生活すると栄養バランスはどうなるのか?~ - Qiita
                          • Real World GraphQL on Next.js SSR

                            tl;drNext.jsはv9.3.0以降Initial Loadingの扱いが変わったクライアント側ではApolloを利用することができるが、Authorization Headerを設定するなら一工夫必要SSR時にはfetchによるシンプルなAPIリクエストをすると良い昨今のWebフロントエンド昨今のWeb開発において、React、TypeScriptとかのベース知識は当然として、やはりNext.js(あるいはNuxt.js)のような、SPA/SSR両方のニーズを汲み取りながら、dynamic routingを提供してくれたり、ビルド環境を高速に整備してくれるフレームワークが重宝されるようになってきていると感じます。 また、Reduxもアリですが、スキーマ駆動開発が推進できるGraphQL、特に尋常じゃなくステート管理が用意になるHooksとApolloクライアントの組み合わせは、フロ

                              Real World GraphQL on Next.js SSR
                            • 人はFat Modelを恐れサービスを求め ドメインモデルは貧血に至る - @ledsun blog

                              この文章は祈りです。 主にRuby on Railsアプリケーションを想定した話です。 Ruby on Railsアプリケーションでは、Fat Model問題という問題が起きることがあります。 ドメインオブジェクトが肥大化しメンテナンスしにくくなる問題です。 Fat Model問題に対応するためにサービスレイヤーを導入することがあります。 「ドメインモデル貧血症」と呼ばれているアンチパターンです。 ドメインモデル貧血症 ドメインのロジックをドメインオブジェクトの中に入れないという設計ルールに従っているのでしょう。その代わり、すべてのドメインロジックを含むサービスオブジェクト群が存在しているのです。 Fat Modelを恐れよ Fat Modelは「単一責任原則」を満たしていないモデルです。 単一責任原則 | プログラマが知るべき97のこと 1つのサブシステムやモジュール、クラス、関数などに

                                人はFat Modelを恐れサービスを求め ドメインモデルは貧血に至る - @ledsun blog
                              • 達人プログラマー 第2版はいいぞ

                                名著中の名著である達人プログラマーの第2版が2020年11月に出版されました。 原著であるThe Pragmatic Programmerは、1999年の出版で、第2版(英語版)の出版が2019年なので20年ぶりの改定ということになります。 この書籍にある個人的に響いたTipsと、ちょっとした感想をこの記事に書いていますので、書籍購入の参考になれば幸いです。 個人的に響いたTips8選 本書にはありがたいTipsがたくさんありますが、その中でも自分に特に響いたTips8つを紹介します。 割れた窓を放置しない 環境犯罪学の理論で有名な「割れ窓理論」はエンジニアリングの世界でも 当てはめることができるようです。 この書籍では悪い設計や質の低いコードを「割れ窓」とみなし、 それを放置することはクリーンなシステムの崩壊を加速させると言及しています。 これに関しては自分の心のなかで「割れ窓」が種とな

                                  達人プログラマー 第2版はいいぞ
                                • 書き捨てるためのRust - Qiita

                                  はじめに Rustは「きちんとしたプログラムを書く時にはいいけど、書き捨てのプログラムを書くには向いていない」と言われることがあるようです。「一般論としては全くその通り」と思う一方で、自分自身を振り返ってみると、これまでPythonで書いていたような書き捨てに近いプログラムも全部Rustで書くようになっています。 なぜ書き捨てのプログラムもRustで書くのかを考えてみると 最初は書き捨てだと思っていても、手直ししながら使い続けることは意外と多い コンパイラが割と多くのエラーを捕捉してくれるのでデバッグの時間が短くて済む 記述量の多さはエディタの補完があってあまり気にならない といったあたりが理由になっています。 そうはいってもRustがいろいろと面倒な言語であることには違いないので、書き捨てるときは普段のRustプログラミングとは少し違った書き方をした方がより早く書けるのではないかと思いま

                                    書き捨てるためのRust - Qiita
                                  • DevTools の Web 技術でできている部分を覗き見る - polamjaggy

                                    この記事ははてなエンジニア Advent Calendar 2021 の 22 日目の記事です。 昨日の記事は id:shimobayashi さんの アジャイル推進活動にここ1年で吉兆がみえてきた要因について - 下林明正のブログ でした。 Chrome の DevTools の UI 部分は Web 技術でできています。Web 技術でできているので、DevTools を DevTools で inspect することもできます。 example.com を inspect している画面を inspect している様子 このことを知ったのは、10MB くらいある JavaScript ファイルにブレークポイントを貼りつつデバッグしていたら DevTools が固まるようになってしまい、ブレークポイントを解除しようにもその前に DevTools がフリーズしてしまうので詰んだ……、という出

                                      DevTools の Web 技術でできている部分を覗き見る - polamjaggy
                                    • Rustから目覚めるぼくらのゲームボーイ! - undefined

                                      Conway氏についてですが、公式にアナウンスがでたようです。ご冥福をお祈り申し上げます。 www.math.princeton.edu 2003年に発売された「Linuxから目覚めるぼくらのゲームボーイ!」というC言語でゲームボーイアドバンスで動作する自作ゲームを作成していく書籍があります。 ゲームボーイアドバンスはARM7TDMIというコアを使用しており、Rustで自作ゲームを作ることも可能となっています。 この記事では「Linuxから目覚めるぼくらのゲームボーイ!」のステップをRustで実施するための準備としてライフゲームが動くまでを書いてみます。 動機は今作っているWasmインタープリタをGBAで動かすことができないかの調査です。(たとえLチカレベルでも)AssemblyScriptとかでGBAのゲームかけたら面白くないですか。 成果物 github.com I succeeded

                                        Rustから目覚めるぼくらのゲームボーイ! - undefined
                                      • ChatGPTのプロンプトをLispで書く

                                        ChatGPTのプロンプトをLispで書けることに気づきました。プロンプトによって処理系としてふるまってもらうという話は聞いたことがありましたが、Lispの場合はそのようなプロンプトがなくても解釈されました。 モデルはGPT-4です。言語としてはClojureをベースにした擬似コードを書いています。 ※いくつか例を追加しました。思った以上にプログラミング的なことができるみたいです。 単純な生成と変換の例 子供っぽくする 静かなヤンデレっぽくする (しっぽりやんでれ?) 対偶を返す 小説を作ってそれを要約する 鶏の唐揚げのレシピのJSONを生成する Lispについて執事っぽく説明する クラムチャウダーのレシピを妹として箇条書きにする お兄ちゃんとツンデレの妹の誕生日ケーキについての会話を生成する Clojureの関数を使う例 3つの文を元気にする 犬の名前を5個生成してひらがなにする キリン

                                          ChatGPTのプロンプトをLispで書く
                                        • SQL等価性検証ツールCosetteを使ってみた - Qiita

                                          はじめに 皆さん、SQLチューニングしてますか?(唐突) 私は仕事柄RDBMSのSQLチューニングをすることが多いのですが、たまにチューニングの一環で SQL文の書き換え をすることがあります。 その際に問題になるのが、書き換えたSQL文が等価であるかどうかの確認が大変なことです。 SQL文を書き換えた場合には、想定通りの結果を取得できるか確認するために、テストをやり直す必要があります。 これが開発早期のフェーズならまだましなのですが、結合テスト以降だと手戻りも多くかなりコストがかかりますし、既に本番運用が始まったシステムともなると、テスト自体が困難なこともあります。 また、複雑なSQL文だと網羅的なテストケースを作成すること自体が困難であるため、完全に正しいと確信することはできません。 なので、SQL文の書き換えの正しさを証明する良い手段はないかと考えていました。 SQLチューニングとは

                                            SQL等価性検証ツールCosetteを使ってみた - Qiita
                                          • Pythonでデータの挙動を見やすくする可視化ツールを作成してみた - Qiita

                                            ※アンダースコアのpip install seaborn_analyzerでもインストール可能です。 インポート時はアンダースコアのimport seaborn_analyzerやfrom seaborn_analyzer となるのでご注意ください コード モジュールcustom_pair_plot.py内のクラスCustomPairPlotに、必要な処理をまとめました。 GitHubにもアップロードしています モジュール本体 import seaborn as sns import numpy as np import pandas as pd import matplotlib.pyplot as plt from scipy import stats class CustomPairPlot(): #初期化 def __init__(self): self.df = None sel

                                              Pythonでデータの挙動を見やすくする可視化ツールを作成してみた - Qiita
                                            • GoのWASMがライブラリではなくアプリケーションであること - 株式会社カブク

                                              はじめに がんばって書いた書籍が低評価で少々しょんぼりしているあんどうです。まぁ、つい力が入りすぎて袋小路に思い切り突っ込んだ結果抜けられなくなることってあるよね。あるある。そんなわけで今日はできるだけ力を入れずテンション低めにサクッと行きます。 で、GoのWASM。大道の真ん中をまっすぐに歩まれているみなさんはWASMするときはRustかいっそC/C++をemscriptenでってことになると思いますが、私はしょせん路傍の石の下で低評価が目に入らないように丸まっているダンゴムシ。せっかくだからオレはこのGoでWASMを選ぶぜって感じなんですが、ぶっちゃけあれ、めんどくさいすよね。 あ、ちなみに今回の話は「このめんどくささをまるっと解決!」みたいな気持ちのいい話ではなくて、ただただ「めんどくさいよね」っていうだけの話です。あーめんどくさい。 Rustの場合 まず比較のためにRustの例をあ

                                                GoのWASMがライブラリではなくアプリケーションであること - 株式会社カブク
                                              • SuikaというPure Rubyな形態素解析器を作成した - 洋食の日記

                                                はじめに Pure Rubyな形態素解析器Suikaを作成した。開発中でバッリバリにα版だが、思い切ってリリースすることにした。 suika | RubyGems.org | your community gem host 最も有名な形態素解析器であるMeCabもそうだが、形態素解析器は食べ物の名前がつくことが多い。「Rubyなので赤い食べ物が良いかな」と考えて、文字数とかわいらしさからSuika(スイカ)とした。 使い方 SuikaはPure Rubyで作られているため、MeCabをはじめ特別なライブラリを別途インストールする必要はない。 gem install suika バッリバリにα版なので、機能はないに等しく、オプションなしのMeCabコマンドと同様となる。 $ irb irb(main):001:0> require 'suika' => true irb(main):002:

                                                  SuikaというPure Rubyな形態素解析器を作成した - 洋食の日記
                                                • Mirrativ×Unity as a Library 活用事例と開発テクニック - Mirrativ Tech Blog

                                                  こんにちは、Unityエンジニアの菅谷です。今回はUnity as a Libraryの活用事例と開発テクニックとして、以前のLTで紹介した内容をまとめました。Mirrativでの活用事例を通してUnity as a Libraryの強みや課題を共有し、他のプロダクトでの導入の参考になれば幸いです。2021/6〜2021/7にMirrativ×Unity as a Libraryのテーマで行った3本のLTをまとめた内容となっています。 mirrativ.connpass.com meetup.unity3d.jp mirrativ.connpass.com MirrativにおけるUnity Mirrativにはエモモという配信をサポートする3Dアバターが存在します。ユーザーは衣装やアクセサリーなどのアイテムを組み合わせてエモモを着飾ることができます。MirrativはiOSはSwift、

                                                    Mirrativ×Unity as a Library 活用事例と開発テクニック - Mirrativ Tech Blog
                                                  • Concurrent Mode時代のReact設計論 (1) Concurrent Modeにおける非同期処理 - Qiita

                                                    Concurrent Modeは、現在(2020年3月)実験的機能として公開されているReactの新しいバージョンです。Reactの次のメジャーバージョン(17.x)で正式リリースされるのではないかと思っていますが、確証はありません。なお、React公式からもすでに結構詳細なドキュメントが出ています。 並列モードの導入(実験的機能) Concurrent Modeに適応したアプリケーションを作るためには、従来とは異なる新しい設計が必要となります。筆者はConcurrent Modeを使ったアプリケーションをひとつ試作してみました。この記事から始まる「Concurrent Mode時代のReact設計論」シリーズでは、ここから得た知見を共有しつつ、Concurrent Mode時代に適応したReactアプリケーションの設計を提案します。 なお、Concurrent Modeはまだ正式リリース

                                                      Concurrent Mode時代のReact設計論 (1) Concurrent Modeにおける非同期処理 - Qiita
                                                    • 主成分分析(PCA)の数学的な理論とPythonによる実装

                                                      $$ \newcommand{\bm}[1]{\mathbf #1} $$ 主成分分析(PCA)の数学的な理論とPythonによる実装¶ Author: Yuki Takei (noppoMan) Github: https://github.com/noppoMan Twitter: https://twitter.com/noppoMan722 Blog: https://note.com/noppoman これは、noteの主成分分析の背景にある数学理論の話(最適化問題)の本文です。 主成分分析の数学的な理論の理解に必要な知識¶ 主成分分析は、アルゴリズム的な観点で見るとデータの分散を最大化させる最適化問題であり、その理論は数学(とくに微分学、線形代数)により与えられている。以下は、主成分分析で使われる数学の分野をざっくりとリストしたものである。 データ分析 分散、共分散 解析学 多

                                                        主成分分析(PCA)の数学的な理論とPythonによる実装
                                                      • Pythonで知ってるとドヤ顔ができるかもしれない文法をいくつか紹介します - Qiita

                                                        新しめの機能を中心に知っているとドヤ顔できるかもしれないpythonの文法を紹介します。 1. 代入式 python3.8より追加された新しい構文です。新しいものを知っているって良いですよね。 代入式は :=という構文で書き、条件式と代入文を同時に使用可能です。 例えば以下のような良くある条件式は text = 'Hello New Expression!!' text_length = len(text) if text_length > 10: print(f"String is too long!!({text_length} length, expected <= 10)") :=を使用して以下のよう短縮して書くことが可能です。 if (text_length := len(text)) > 10:の部分で代入と条件式の両方の役割を果たしていることが分かります。 text = 'H

                                                          Pythonで知ってるとドヤ顔ができるかもしれない文法をいくつか紹介します - Qiita
                                                        • 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通信社エンジニアブログ
                                                          • PythonのウェブフレームワークDashで京都の新型コロナアプリを作成した - Qiita

                                                            PythonのウェブフレームワークDashを使って、京都の新型コロナアプリを作成しました。DashはFlask、React、Plotlyを使って作られたフレームワークで、ダッシュボードのようなアプリケーションを短時間で作成できます。またコールバックを使ってアプリケーションをインタラクティブに動作させられます。私のようにデータをこねるのは好きだけど、ReactもVueもいまいちよくわからないという人には、容易にダッシュボードを作れるフレームワークです。 作成したアプリケーションは以下のURLにあります。 PC向け スマホ向け コードはgithubを参照ください。 開発環境は以下の通りです。 Windows10 Pro Python3.7.5 dash 1.9.1 pandas 1.0.0 アプリの機能 アプリは京都府のサイトから取得したデータ(取得方法などは後述)をCSVファイルとして読み込

                                                              PythonのウェブフレームワークDashで京都の新型コロナアプリを作成した - Qiita
                                                            • 僕がRSpecでsubjectを使わない理由 - give IT a try

                                                              はじめに 僕は折に触れて「RSpecではなるべくsubjectを使わない方がいい」という発言をしています。 Qiitaとか見てるとRSpecのsubjectを愛用している人が多そうな印象なんだけど、僕はほとんど使っていません。「subjectは原則使わない。明らかにメリットがあるときにだけ例外的に使用する」が僕のポリシーです。ほら、RSpecの(元)メンテナさんもそう言ってるし。 https://t.co/Rp5EiIxCVb #Qiita pic.twitter.com/pMlN35ihEG— Junichi Ito (伊藤淳一) (@jnchito) 2019年5月28日 そもそもの話として、RSpecではsubjectは無理に使わない、というのが僕の持論です。なぜなら無理にを使うと、いびつなテストコードができやすいから。基本はsubjectなしで書く。明らかにsubjectが有効なと

                                                                僕がRSpecでsubjectを使わない理由 - give IT a try
                                                              • 今さら聞けないビジュアルリグレッションテストをChromaticで始める - Sansan Tech Blog

                                                                Bill One Entry*1グループの秋山です。 1. はじめに 2010年代前半に登場したReactやVue.jsに代表される宣言的UI実装は、大規模なSPAの構築を可能にしました。その一方、フロントエンド領域に新たなアーキテクチャが導入されたことで、それまでWebアプリケーション開発で定石とされたテスト手法を適用しづらいケースが増え、新たなベストプラクティスが求められるようになりました。 その要請に応える形で、2010年代後半にはフロントエンドのテスト手法に緩やかなパラダイムシフトがありました。この記事ではそのパラダイムシフトを振り返りながら、フロントエンドで必要なテストについて考察し、最後にChromaticを用いたビジュアルリグレッションテストを紹介します。 2. Testing Pyramid と フロントエンド テストを語る際によく持ち出されるメタファとして、Testing

                                                                  今さら聞けないビジュアルリグレッションテストをChromaticで始める - Sansan Tech Blog
                                                                • 【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい

                                                                  【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい by nao · 2022年6月25日 前書き:sqlcとは 本記事は、kyleconroy/sqlcの基本的な情報を紹介します。 sqlcは、DBスキーマ(DBテーブル定義)、SQLクエリ定義、設定ファイルの3点をインプットとして、型安全なCRUDコード + DBテーブルに対応したモデル(構造体)を自動生成します。ここでのモデルの自動生成には、複数テーブルをJOINしたクエリ用の構造体も含まれます。 個人的な視点では、sqlcは「SQLクエリを検証してから、そのクエリを実行するGolangコードを書いて、クエリ結果を受け取るための構造体を書くのが大変」という課題を解決するツールです。独自のDSL(Domain Specific Language)は殆ど登場しないので、SQLをゴリゴリ書ける

                                                                    【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい
                                                                  • GitHubに1コマンドでいろいろPUTできるツールghputを作った - Copy/Cut/Paste/Hatena

                                                                    ghput pr-comment ghput issue-comment のデフォルトの挙動について注意点を追記しました 最近はGitHubやGH:Eといったサービスのリポジトリと、そのリポジトリと連携するCI/CD環境がある前提で、様々なパイプラインを作ることが普通になってきています。 git push や Pull Request をトリガーにCI/CD環境で実行されるのもテストの実行だけではなく、master mergeのタイミングでのプロダクションデプロイやプロビジョニング、その前段階としてPull Requestタイミングでのdry-runやplanの実行など。 GitHubは便利ですし、それと連携するCI/CD環境があるとその2つだけで様々なものの自動化ができて便利です*1。 そんなGitHub+CI/CDな環境で使えるであろう ghput というツールを作りました。 gith

                                                                      GitHubに1コマンドでいろいろPUTできるツールghputを作った - Copy/Cut/Paste/Hatena
                                                                    • AI画像生成とワールド制作|るら

                                                                      自宅用に使えるワールドをBoothで販売してたりします。 ワールド制作の役に立つかなー、と思ってAI画像生成に手を出してみた、という次第です。 DALL·E 以前からAI画像生成自体、ワールド制作の何かに使えそうだなー、とうっすら考えていたところ、DALL·EというAI画像生成のサービスの噂を聞き、Waitlistに並んで3ヶ月ほどが経ちました。 そして先日、ついにアクセス権を手に入れた…!! とりあえず試してみると… え……すご…(言葉を失う)いや、なにこれ、すご… もうなんにでも使えるじゃん。 よっし、いろいろ試すぞー!!! …となっていたところだったのですが、ベータテストと方針が変わり、無料体験分を使い切ると15$で115回分のチケットを購入する、という方式になっているようでした。 まー、そりゃそうだよねー。サーバー負荷とかすごそうだし… 凄い画像を生成できるならそれでも安いかー で

                                                                        AI画像生成とワールド制作|るら
                                                                      • JSのProxyでアルゴリズムを可視化する - Qiita

                                                                        JSのProxyを使ってアルゴリズムの実行中の各ステップを可視化する仕組みを作る記事です。 (inspired by アルゴリズム図鑑) 初めに完成品のキャプチャとデモのリンクを貼っておきます。 DEMO: https://codesandbox.io/s/heuristic-morse-1kc2d?file=/src/index.js ※ スマホだとシンタックスハイライトでエラーが出てるのでコード記載無し版も置いておきます。 https://codesandbox.io/s/happy-sun-211bq?file=/src/index.js JavaScriptのProxyとは Proxy - JavaScript | MDN 最初にJSのProxyとは何か簡単に説明すると、 特定の操作に対するオブジェクトの振る舞いを拡張/変更できるオブジェクトです。 拡張されるオブジェクト(ターゲッ

                                                                          JSのProxyでアルゴリズムを可視化する - Qiita
                                                                        • RESTが日本で受け入れられていった頃の話( #mozaicfm の補足) | 栗林健太郎

                                                                          mozaic.fm第7話のRESTの話で、RESTが日本で広く受け入れられていった頃、というか、その端緒の頃の話が出ていて懐かしかったのだし、細部にやや不正確なところがあるのが気になったりもしたので、補足を書いておきますね。 まず、いわずとしれた@yoheiさんがRESTをまず知ったのが2003年とかそれぐらいの時期とおっしゃっていて、それから数年経ち、RESTがWebエンジニアに広く受け入れられていったのは、2007年末にリリースされ、resourcesという機能を取り入れたRails2からというのは、@t_wadaさんがおっしゃっている通り、事実だろうと思います。 また、Podcastの中では、主催のJxckさんが、それはそれと認めた上で、彼自身にとってはAjaxの登場が大きかったということを述べた上で、@yoheiさんの主催された第八回XML開発者の日での高橋征義さんとid:seco

                                                                          • 競プロ実装テクニック - よすぽの日記

                                                                            これはなに 実装力で戦える! ~競プロにおける実装テクニック14選~ - Qiita に触発された 競技プログラミングでコーディングの際気を付けていること - うさぎ小屋 を強く参考にしている 効果が高い or 一般性がありそう なことから書いたつもり 重要なこと 「競プロのきれいなコードと業務のきれいなコードは違う」と定期的に唱える。未来の自分 or 他の人 が読む必要がないことを仮定できるため、様々なバッドノウハウ(業務)が正当化される。(あえて過激なことを書くと、)「using namespace stdを使わない」などは逆にバッドノウハウ(競プロ)だと思っている。 -fsanitize=undefined,address / -D_GLIBCXX_DEBUG #include <iostream> using namespace std; int main() { int a[10

                                                                              競プロ実装テクニック - よすぽの日記
                                                                            • ルーティング機能を自作して学ぶ History API - 30歳からのプログラミング

                                                                              History API は、HTML5 で導入された API。 これを使うことで、JavaScript で URL の履歴を管理できるようになる。 多くの場合、そういった操作は React Router や Vue Router などのルーティングライブラリを通して行うことになる。そのため、History API を直接操作する機会は稀だと思う。 しかし、ルーティングライブラリを使いこなし、特殊なユースケースにも対応できるようになるためには、History API そのものについても理解しておきたい。 この記事では、ルーティング機能を持った React アプリを開発しながら、History API について学んでいく。 使用している React のバージョンは16.13.1。 動作確認は Google Chrome の81.0.4044.113で行っている。 コンテンツに対して URL を

                                                                                ルーティング機能を自作して学ぶ History API - 30歳からのプログラミング
                                                                              • さようなら、Node.js - 株式会社カブク

                                                                                はじめに こんにちは。JavaScriptの本を書いたりしているあんどうです。 JavaScript、流行ってますよね。より正確にはNode.js流行ってますよね。ぶっちゃけハンズオンなんとかもNode.jsの方がだいぶ・・・ゲフンゲフン。まぁハンズオンNode.jsはマジ名著なのでそのことは置いておくとして、そのNode.jsについて正直なところみなさんはどう思ってますでしょうか? 私はRails文化圏出身なので、開発に必要とわかりきっているツールを事前にわざわざあれやこれやと検証して設定してみたいなのが面倒くさくてしょうがないです。なんか思いついてキーボードに手を置いたらノータイムで機能の実装を開始したい。 しかもすぐ新しい同じようなツールが出てきて数年で主要ツール総取っ替え上等。ポジティブに捉えれば万物流転とか諸行無常とか人生のあれこれの現れかもしれないけど、正直回し車の中のハムスタ

                                                                                  さようなら、Node.js - 株式会社カブク
                                                                                • 【入門】Figmaで作ったデザインをReactアプリに連携する - Qiita

                                                                                  はじめに 今回はAWS Amplify Studioを利用してFigmaで作成したデザインをReactアプリに連携する方法について解説します。 「AWSなんて触ったことないよ!」「Reactも触ったことないでやんす!」って人でもサクッとできるような内容なので読んでいただければなと思います。 目標成果物 Figmaで作成したカードコンポーネントのデザインをReactアプリ上で表示させる Figmaで作成したボタンコンポーネントでクリックイベントを試す この記事でやること AWS Amplify Studioの解説 Figmaでのデザイン作成とコードの自動生成方法の解説 Reactアプリとの連携 この記事の対象者 AWSの初心者だけどFigmaで作成したデザインをReactアプリと連携してみたい人 将来的に流行りそうな技術をサクッと試してみたい人 AWS Amplify Studio AWS

                                                                                    【入門】Figmaで作ったデザインをReactアプリに連携する - Qiita

                                                                                  新着記事