並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 596件

新着順 人気順

グローバル変数の検索結果201 - 240 件 / 596件

  • minlink - browser/node で使える Worker ラッパー

    mizchi/minlink: Minimum(> 1kb) and isomorphic worker wrapper with comlink like rpc. というライブラリを作った。自分で使ってみて、とても便利だったので紹介する。 概要 Browser WebWorker / Node worker_threads を同じ API でラップして、関数呼び出しのように使える Magical なことをしない軽量 comlink みたいなもの 双方向で API をラップできる Web Worker を使う思想的な背景は off-the-main-thread の時代 - mizchi's blog にて。 使い方: Browser WebWorker をラップする。 // browser worker.js import { expose } from "minlink/dist/b

      minlink - browser/node で使える Worker ラッパー
    • App Engine を布教したくて Go + Datastore の開発環境を Docker Compose でシュッと立ち上げた話 - Qiita

      App Engine を布教したくて Go + Datastore の開発環境を Docker Compose でシュッと立ち上げた話GoAppEnginedatastoredocker-compose 最新1の Google App Engine Goランタイムの開発環境を Docker Compose で簡単に構築してみた話。 あるいはリーズナブルにサーバーを運用できる App Engine を布教する話。 TR;DR; 環境構築 https://github.com/pistatium/appgengine-go112-datastore-docker-compose 動くサンプルはこちら。 docker-compose up -d で開発環境が立ち上がります。 プロジェクトのテンプレートにするなりご自由に。 App Engine + Datastore の構成 非常に安価でのサーバ

        App Engine を布教したくて Go + Datastore の開発環境を Docker Compose でシュッと立ち上げた話 - Qiita
      • トレタのコードレビューへの取組 - トレタ開発者ブログ

        始めに 皆さま、こんにちは! トレタのサーバサイドエンジニア兼佐久間まゆちゃんのプロデューサーの@hiroki_tanakaです。 先日、コードレビューに関する議論が社内で巻き起こり、その時話に上がった内容や実際にトレタで行っているコードレビューの取組に関してご紹介します! コードレビューの目的 そもそも何故、コードレビューが必要なのでしょうか。 前提としてシステム開発は何もしないと下の”あるある”現象に苛まれます。(身に覚えのある人が多いのではないでしょうか。) コピペの横行 動けば良しのコードの乱立 //TODO:後で直す と書かれているコードの散乱 単一責任の原則を無視した巨大クラス・メソッドの発生 ソースコードは継続的にメンテナンスをしないと品質は低下し続けます。 コード品質が低下している状態では、訳の分からないコードや処理を追うのが困難なコードが壁となってちょっとした機能追加や修

          トレタのコードレビューへの取組 - トレタ開発者ブログ
        • 『ふつうのLinuxプログラミング』読書メモ

          システムコールの問題点 シンプルに遅い 特定のバイト単位でしか入出力できない stdio システムコールの問題点を解決してくれるのがコイツ。 では、どのように解決してるのか?という話。 バッファ システムコールで読み書きするデータを一時的に保存しておく場所のこと。 stdioはバッファに対して読み書きの指示を出すことで、汎用性を上げている。 読み 読みの場合は、ディスクからバッファに塊で書き出したデータを、「1バイトとか10バイトとかの単位でちょーだい」と命令することで読み込める。 システムコールも別に1バイト単位で読めるけど、遅いという問題があるので現実的じゃない。 書き 書き込みの場合、バッファに書き込んでから一定の単位でシステムコールのwrite()を呼ぶ。 一定の単位というのがミソで、これはストリームの向こうにターミナル(端末)がある場合は改行単位になるだろうし、ファイルがある場合

            『ふつうのLinuxプログラミング』読書メモ
          • 京都大学プログラミング演習Python2019コラム編.pdf

            プログラミング演習 Python 2019 コラム編 京都大学 国際高等教育院 喜多 一 Version 2020/02/13 0 目次 次の章へ 目次へ 2 目次 0. コラム 0 始まり ............................................................................ 4 0.1 Python は 0 ではじまる............................................................ 4 0.2 1 始まりではいけないのか ........................................................ 4 0.3 結局は .........................................................

            • メルペイ×エムスリー×Preferred Networksの機械学習エンジニアたちが語る、技術的課題 Part.2

              機械学習エンジニアはどこまでコミットしたいのか 藤倉成太氏(以下、藤倉):ここにいらっしゃる方、世の中の機械学習向けエンジニアの方々は、プロダクションのコードを書くところまで、みなさんやりたがっているものなんですか? 例えば、採用などで考えたときに「いやー、俺はそこまでやらないです」みたいな方が果たして出てきてしまうのか。 谷脇大輔氏(以下、谷脇):弊社の場合は特殊で研究系のエンジニアは本当に研究系の人で、アプリ開発とかは一切やらない。ただ、その代わり一点突破というか、研究にすごく強い。それで我々がそれ以外の部分をカバーする感じですね。 逆にプロダクト開発チームは機械学習にすごく強い人はそこまでいないです。とはいえ、機械学習のことがわからないと、どういうインフラ、アプリケーションを作るかが想像できないので、そのへんのキャッチアップがすごく重要になっています。 竹原一彰氏(以下、竹原):メル

                メルペイ×エムスリー×Preferred Networksの機械学習エンジニアたちが語る、技術的課題 Part.2
              • php-fpm(php) をビルドして gdb でデバッグ実行できる Docker Compose 環境を作った - Shin x Blog

                php-fpm と php コマンドを php-src からビルドして、gdb コマンドでデバッグ実行できる Docker Compose 環境を作りました。 github.com 利用方法 gdb コマンド php-src の .gdbinit さいごに 利用方法 リポジトリを git コマンドでチェックアウトして、make コマンドを実行します。make コマンドを実行すると、php-src からソースをチェックアウトして、Debian の Docker コンテナで php-fpm と php コマンドをビルドします。 $ make # ビルド完了後 $ docker compose run --rm php-fpm /php-src/php/bin/php -v PHP 8.3.8-dev (cli) (built: Jun 1 2024 04:00:02) (NTS DEBUG)

                  php-fpm(php) をビルドして gdb でデバッグ実行できる Docker Compose 環境を作った - Shin x Blog
                • 『WordPress 5.5.2 アップデート』

                  アップデートの必要性 必要か必要でないかで言うとWordPressのアップデートは、必要です。 長い間、放置すると自サイトの維持が難しくなるかもしれません。 厳密に言うと自動でアップデートする場合とそうでない場合とがあります。 上記の記事の中でも書きましたが、wp-config.phpをカスタマイズしていない限り設計上、マイナーアップデートの場合は自動的にアップデートされます。 したがって今回は、マイナーアップデートなのでされているかもしれません。 ただメジャーアップデートは、手動でのみアップデートが可能です。 アップデートではバグの解消だけでなくセキュリティの更新や機能の追加などです。 それにともなってテーマやプラグインのアップデートがあるのです。 それと別にサーバーによっては PHPのアップデートがある場合もあります。 そういった場合に2年や3年放置しているとサイト事態のデザインなども

                    『WordPress 5.5.2 アップデート』
                  • Ruby3.0でRactorを入れた理由、M:Nスレッドの制限。深掘りRubyKaigi 2022 with ko1 & kateinoigakukun 文字起こしレポートvol.2 - STORES Product Blog

                    2022年10月5日に『深掘りRubyKaigi 2022 with ko1 & kateinoigakukun~ RubyKaigiどうでした&RubyのWASI/並列どうなるの? ~』を開催しました。イベントでお話した内容を3部作でお届けします。こちらはvol.2です。 ko1の発表「Making *MaNy* threads on Ruby」をざっくり fujimura:では、笹田さんのパートに移ろうと思います。笹田さん、どうぞよろしくお願いいたします。 ko1:よろしくお願いします。 fujimura:最初にRubyKaigiのトーク内容のざっくりまとめと、感想及びその後の反響をお願いします。 ko1:ざっくりしたまとめで言うと、RubyにM:Nスレッドを入れたいという話を発表しました。M:Nスレッドとは何かというと、ユーザーレベルスレッドライブラリと、カーネルスレッドのよさをハイ

                      Ruby3.0でRactorを入れた理由、M:Nスレッドの制限。深掘りRubyKaigi 2022 with ko1 & kateinoigakukun 文字起こしレポートvol.2 - STORES Product Blog
                    • Vue.jsとjQueryの違いは メリット・デメリットを歴史的に比較 | RUNTEQ - 公式ブログ|未経験からWebエンジニアへ RUNTEQ BLOG

                      「jQueryでもアプリは作れるのになぜjQueryではいけないのか?Vue.jsを学ぶ理由を知りたい」RUNTEQの生徒さんから出たこの疑問についてjQuery脱却の歴史的背景とVue.jsとの比較について説明します。サーバとクライアントの役割がどう変遷してきたか、それによってJavaScriptの役割がどう変遷してきたかなどメリット・デメリットをわかりやすく解説。 RUNTEQではVue.jsのカリキュラムを用意しています。先日生徒さんから『jQueryでもアプリは作れるのになぜjQueryではいけないのか?Vue.jsを学ぶ理由を知りたい』との声を頂いたのでこの記事を書くに至りました。 それを説明するには事前知識としてフロントエンドの歴史を知っておかなければいけないので、そこから簡単に解説します。 フロントエンドの歴史 *注)初心者向けの記事になるので、以下厳密性に欠ける部分はあると

                        Vue.jsとjQueryの違いは メリット・デメリットを歴史的に比較 | RUNTEQ - 公式ブログ|未経験からWebエンジニアへ RUNTEQ BLOG
                      • 入門 eBPF

                        eBPFは、ネットワーク、セキュリティ、オブザーバビリティなど、さまざまなインフラ関連の分野のプラットフォームとして利用が広がりつつある、近年最も注目されている技術の1つです。本書ではカーネルの機能を拡張する方法として注目度の高いeBPFについて、どんな技術であるか、何ができるかを概観することができます。基本的なeBPFプログラムの書き方を紹介するとともに、仕組みも理解できるようになっています。 訳者まえがき まえがき 1章 eBPFとは何か? なぜ、重要なのか? 1.1 eBPFのルーツ:Berkeley Packet Filter 1.2 BPFからeBPFへ 1.3 本番環境に向けてのeBPFの進化 1.4 名前付けは難しい 1.5 Linuxカーネル 1.6 カーネルへの新機能の追加 1.7 カーネルモジュール 1.8 eBPFプログラムの動的ロード 1.9 高性能なeBPFプログ

                          入門 eBPF
                        • 【Rust】static でも Drop したい

                          Rustのstatic変数はいわゆるグローバル変数として使われることが多いですが、static変数はDropできない(デストラクタが呼ばれない)という特徴があります。 Static items do not call drop at the end of the program. メモリ管理の仕組みとして見ると、'static なライフタイムを持つstatic変数はdrop() の実行時でも生存している(有効である)必要があるため、自然な仕様に思えます。一方で、ある構造体がメモリに限らない一般的なリソースを所有するような場合、解放処理はDropとして実装されることが多いです。そのような構造体をプログラム全体で共有したいとき、static変数として表現すると、最初に提示した「Dropできない」という特徴が足枷になってしまうことがあります。この記事ではそのような場合の対処法をいくつか考えようと

                            【Rust】static でも Drop したい
                          • RubyKaigi 2023参加レポート 〜エンジニアによるセッション紹介〜 - ZOZO TECH BLOG

                            こんにちは、バックエンドエンジニアの近です! 2023/5/11〜13に長野県にて開催されたRubyKaigi 2023でプラチナスポンサーとして協賛し、スポンサーブースを出展しました。 また、今年は我々が運営しているファッションコーディネートアプリ「WEAR」のサービス紹介CMを作成し、RubyKaigiの会場にて放映させていただきました。 technote.zozo.com technote.zozo.com 実際に放映されたCMは以下になります! www.youtube.com 我々が運営・開発しているファッションコーディネートアプリ「WEAR」のバックエンドはRuby on Railsで開発しています。2013年にVBScriptで作られたシステムですが、2020年頃からVBScriptのシステムをコードフリーズし、リプレイスをはじめました。現在もリプレイスを進めながら、新規の機能

                              RubyKaigi 2023参加レポート 〜エンジニアによるセッション紹介〜 - ZOZO TECH BLOG
                            • 今日は Haskell Day 2019 の日です - Pixel Pedals of Tomakomai

                              咳が止まらない状態で非常に厳しいですが、来ていますので、自分用のメモを残しておきます。 関数型(function type)を見つめるプログラミング / 山下さん 関数の型、 Haskell では第一級 リスト型 a が型なら [a] も型 タプル a b が型なら (a, b) も型 タプル a b が型なら a -> b も型 a が domain 、 b が codomain 高階関数型 domain が関数 (a -> b) -> c codomain が関数 a -> (b -> c) こちらは意識されにくい 2変数関数 (a, b) -> c Haskell 以外でもよく使う セクション (+) は高階関数 a が domain、 b が codomain 逆に、 codomain が関数の高階関数は 2 項演算子 f: a -> a -> a `f` curry :: ((a

                                今日は Haskell Day 2019 の日です - Pixel Pedals of Tomakomai
                              • マスタリング・イーサリアム

                                イーサリアムとは、分散型アプリケーションやスマートコントラクトのアプリケーション構築を可能にするオープンソースプロジェクトです。送金、決済などの金銭取引を行う機能に加えて、ゲーム、不動産取引、身分証明など、さまざまなサービスがイーサリアムから生まれています。本書は、ビットコインの定番書『Mastering Bitcoin』の著者と、イーサリアム共同設立者でありスマートコントラクト開発言語Solidityの開発者により執筆された、イーサリアムの技術解説書。イーサリアムとブロックチェーンの基本に始まり、ウォレット、トランザクション、Solidity言語によるスマートコントラクトの構築、暗号とセキュリティ、Vyper、DAppの構築、ERC20トークン、イーサリアム仮想マシン(EVM)、コンセンサスの仕組みまで、幅広い知識が得られます。イーサリアムについて詳しく知りたいすべての人必携の一冊です。

                                  マスタリング・イーサリアム
                                • Ruby "enbugging" quiz の解説 - STORES Product Blog

                                  STORESでフルタイムRubyコミッタをやっている遠藤(@mametter)です。 STORESは今回RubyKaigi 2024で、託児所を運営する「ナーサリースポンサー」として参加していました。この様子は後日詳報しますが、それ以外にも参加者に楽しんでもらえる企画をいろいろな形でしていました(予告記事を参照)。 この記事ではその中でも、ブースでやった「Ruby "enbugging" quiz」について、解答や出題意図などを紹介します。 Day 1 終了時のスコアボードです! 3点の方もたくさんいらっしゃいました! Day 2のクイズも楽しんでください😊#rubykaigi https://t.co/RJIBEqsFSf pic.twitter.com/ewp22Cs7jr— STORES Tech (@storesinc_tech) 2024年5月16日 概要 動作しているプログラ

                                    Ruby "enbugging" quiz の解説 - STORES Product Blog
                                  • モバイル開発での技術的負債の解消方法 - Uzabase for Engineers

                                    はじめに こんにちは、@ko2icです。今回はAndroidのアーキテクトとして書きます。 ニューズピックスのモバイル開発は古い技術で古いアーキテクチャをいまだに使っていると思っていませんか?たとえば、Androidは昔のブログでMVPを利用しているとの記述が...。 そこからほぼ発信できていなかったのでそう思われるのも無理はありません。ただ、そんなわけはありません、日々、改善を続けています。 ちなみにiOSは、SwiftUIでThe Composable Architecture(TCA)をメイン機能であるニュースフィードで利用するなど、なかなかのチャレンジングなことをしています。他社でもSwiftUIの事例はたくさん聞きますが、ニューズピックスほど多様な一覧アイテム(カルーセルタイプやそれ以前に複数デザインがあり)で上タブ(横スワイプ)があり、メニューをスワイプで開き、縦・横ともにスク

                                      モバイル開発での技術的負債の解消方法 - Uzabase for Engineers
                                    • Node.js と Deno と Bun のどれを使えばいいのか - Qiita

                                      現在注目されているサーバーサイドJavaScriptランタイムといえば、Node.js と Deno と Bun の3つが挙がると思います。この記事ではそれぞれのランタイムを比較し、将来的にどのような使い分けをしていけばいいのか考えます。 Node.js と Deno と Bun の現在 npmライブラリにはすべてのランタイムが対応 Node.js:当然npmライブラリには対応しています。 Deno:npmパッケージを配布するCDNや、npmインポートを使うことで対応しています。 Bun:対応しています。 「Denoが急に方針転換をしてnpm対応を始めた」というのはよくある間違いです。 Big Changes Ahead for Deno(Denoの今後の大きな変化)というブログタイトルが「Denoが大幅な方針変更」というタイトルに翻訳されて日本語記事が出たため、急に方針転換をしたと誤解さ

                                        Node.js と Deno と Bun のどれを使えばいいのか - Qiita
                                      • Sequelize のモデル定義ファイルからER図を作成してみた - commmune Engineer Blog

                                        はじめに こんにちは。コミューンでソフトウェアエンジニアをしているU2です。 今回は commmune の開発でも使用している typescript-sequelize のモデル定義ファイルからER図を作成していきます。 はじめに 背景 やりたいこと 実装 環境 前準備 実験 ER図の生成 CI化 今後の課題 参考サイト まとめ 背景 commmune は豊富な機能を持ちそれに合わせいくつものデータを保持しているので、永続化のためのテーブルが多く存在します。 また、テーブル定義としてはリレーションを持つが、Sequelizeのロジック上使用しないことが理由でモデルファイルにそのリレーションが記述されていないこともあります。 そのため、新規参入者がテーブル全容を把握するのに苦労しています。(そもそも長く開発に関わっている人でも知らないテーブルがあったりする。) そんな問題を解決するために、S

                                          Sequelize のモデル定義ファイルからER図を作成してみた - commmune Engineer Blog
                                        • [レポート] サーバーレスアプリケーション向けネットワークのベストプラクティス Networking best practices for serverless applications #SVS404 #reinvent | DevelopersIO

                                          CX事業本部@大阪の岩田です。 本エントリはAWS re:Invent 2019のセッションSVS404 Networking best practices for serverless applicationsのレポートとなります。 セッション情報 Serverless technologies such as AWS Lambda have removed the burden of server management, but what about networking? When should you put a Lambda in an Amazon VPC? How do you balance security vs. the flexibility offered by Lambda? What are the best practices for working with

                                            [レポート] サーバーレスアプリケーション向けネットワークのベストプラクティス Networking best practices for serverless applications #SVS404 #reinvent | DevelopersIO
                                          • Rustで設定ファイルの内容をグローバル変数に保存する - Qiita

                                            [dependencies] #.envファイルの内容を環境変数として読み込む dotenv = "0.15.0" # .envの内容をConfigに保存するcrate config = "0.10.1" # 実行時にstatic変数を初期化するcrate lazy_static = "1.4.0" serde = {version = "1.0.116", features = ["derive"]} extern crate lazy_static; use config::ConfigError; use dotenv::dotenv; use lazy_static::lazy_static; use serde::Deserialize; /// .envの内容を保存するstruct #[derive(Deserialize, Debug)] pub struct Config

                                              Rustで設定ファイルの内容をグローバル変数に保存する - Qiita
                                            • 10年代の思い出 / JavaのゲームをBREWへ移植した思い出ばなし - eaglesakuraの技術ブログ

                                              BREWとは 最近ではSnapdragonで有名なクアルコムがかつて開発していたOS 日本人的には auの KCP/KCP+ だ ガラケー全盛のauを支えようとしていた、かつての クソ OSだ 2010年代が終わり、記憶が消えてしまう前に、彼について記録と記憶を留めておこうと思う BREWとの出会い 新卒で入社し、手取り17万円で働いていた会社で、 Javaに似たへんな言語 で作られたゲームを、BREWへ移植する仕事が降ってきた ゲームの内容自体は面白かったが、ソレは別な話だ 当時docomoユーザーだった俺は、BREWやKCP/KCP+なんて全く知らない なので、手探りで開発をスタートすることとなった 会社的には、前任者のコードがサンプルとして存在していた 2010年前後の、お話である BREWのざっくりとした開発環境 Windowsで開発環境が構築できる Windowsでは x86環境

                                                10年代の思い出 / JavaのゲームをBREWへ移植した思い出ばなし - eaglesakuraの技術ブログ
                                              • ECMAScript Realms と ShadowRealm の提案 - Qiita

                                                【2021/9/1 追記】 提案されていた API のリネームが検討されていましたが ShadowRealm に決まりました。それに伴って記事の中身を修正しています。 【追記ここまで】 Realms とは何か Realms は JavaScript の言語仕様である ECMAScript で定義されている概念です。 JavaScript のコードが評価されるグローバル変数や Array, Map といったビルトインクラス、そこで実行されるコードなどの状態やリソースのことを指します。 ShadowRealm 現在 TC39 で ShadowRealm クラスが提案されています。これを使うことで新しい Realm を作って、JavaScript を評価させることが出来ます。 Web Workers のように別のスレッドで動作されるわけではなく、同じスレッドで同期的に実行されます。 const

                                                  ECMAScript Realms と ShadowRealm の提案 - Qiita
                                                • tailwindcss のコンセプトとメリットについての考察 - CADDi Tech Blog

                                                  目次 こんにちは、CADDi でフロントエンド エンジニアをやっている桐生です。この記事は CADDi Advent Calendar 2020 の7日目の記事になります。 昨日の記事はモリさんの あえてケイスケ・ホンダのようなデザイナーになるには でした!まだご覧になっていない方はぜひ目を通してみてください! 本日は、最近触っている tailwindcss についてお話できればと思います。 [toc] tailwindcss とは tailwindcss は数あるCSSフレームワークの1つですが、Utility first というアプローチでスタイルを組み上げていく点がユニークで、OOCSS, BEM, SMACSS など、これまでのCSS設計アプローチとは考え方が大きく異なります。 tailwindcss では p-6, max-w-sm などの CSS class を utility

                                                    tailwindcss のコンセプトとメリットについての考察 - CADDi Tech Blog
                                                  • Elasticsearch の Mapping 管理を Go + CUE に移行した - 好奇心に殺される。

                                                    Go / Elasticsearch Elasticsearch の Mapping 管理を Go + CUE に移行した Elasticsearch の Mapping JSON を全て Go の構造体で定義していたのを Go + CUE に移行したので知見を共有します。 Overview こんにちはponです。私が働いている白ヤギコーポレーションではElasticsearchを利用しているのですが、顧客ごとにIndexの設定、言語、Analyzerなどをカスタマイズできるようになっています。そのため、顧客の設定をDBから取得してGoで構造体を通してJSONを生成し、Mappingを作成/更新する機構が存在します。これを Go + CUE に移行して課題が解決できたので共有します。少し珍しいCUEのusecaseだと思います。 Before CUEの紹介の前に、まずは弊社が抱えていた課題

                                                      Elasticsearch の Mapping 管理を Go + CUE に移行した - 好奇心に殺される。
                                                    • iPadOS でもっとメモリを使いたい!(iPadOS 16.1 対応版) - OPTiM TECH BLOG

                                                      はじめに 久々の記事投稿となります,R&D ユニットの久保です. OPTiM が開発している OPTIM Geo Scan では iPhone や iPad 上で巨大な点群ファイルを扱うため,メモリ不足によってクラッシュを引き起こすことがないように空間計算量には非常に気を遣って開発しています.OPTiM Geo Scan は LiDAR スキャナを搭載した iPhone や iPad Pro に対応していますが,特に iPad Pro ではメモリの大容量化が進んでいます.どうせならこの大容量なメモリを使いこなしたい!ということで iPadOS 15 における変化,そして 2022/10/25 にリリースされた iPadOS 16.1 における変化をまとめてみました. この記事では Xcode 14.0.1 と iPadOS 16.1 を使用しています. はじめに iPadOS における A

                                                        iPadOS でもっとメモリを使いたい!(iPadOS 16.1 対応版) - OPTiM TECH BLOG
                                                      • SwiftUIではSingletonの代わりにEnvironmentを使うことができる - cockscomblog?

                                                        ここで言うSingletonというのは、ある種のグローバル変数を指している。そもそもクライアントアプリケーションの開発においては、実質的なグローバル変数が出現しやすい。環境にたった一つしか存在しない、存在すべきでない、というものが見出せる。例えばタイムゾーンがそれである。アプリケーション内のタイムゾーンはシステムに合わせるのが自然であり、アプリケーション中で複数存在することはほとんど起こり得ない。 iOSやmacOSでは、タイムゾーンを表すのはFoundation frameworkのTimeZoneである。システムのタイムゾーンはTimeZone.currentで取得できる。これはSingletonパターンのインターフェースに近い(本当にインスタンスが一つであるかどうかをここでは問題にしない)。 このように環境中で存在する個数が限定されるような値を表すのに、Singletonパターンが用

                                                          SwiftUIではSingletonの代わりにEnvironmentを使うことができる - cockscomblog?
                                                        • Closure LibraryからTypeScriptの型定義を生成する - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                          こんにちは、フロントエンドチームエキスパートチームの穴井(@pirosikick)です。 弊社の製品である kintone は Closure Tools (Closure Library と Closure Compiler の総称) を使って開発していますが、TypeScript を使ったモダンなスタックへの移行を検討しています。 その移行の過程で Closure Tools 側のコードを TypeScript で型安全に再利用したいケースが発生し、その解決策として Clutz というツールを試しています。 今回は、この Clutz がどういったツールなのか、その使用方法と注意点などについて紹介します。 この記事は次の条件に当てはまる方には特におすすめできる内容になっています。 Closure Tools(Closure Compiler, Closure Library)を使って開発

                                                            Closure LibraryからTypeScriptの型定義を生成する - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                          • Googleアナリティクスの参照元とは?各レポートごとの計測仕様を紐解く|GAラボ

                                                            Googleアナリティクスの参照元とは 用語について 参照元やメディアなどの用語については過去の記事で取り上げています。本稿では参照元を各レポートではどのように判定するのかというテーマで解説していくので、用語を確認したい場合は下記記事をご覧ください。 Googleアナリティクスの「参照元」「メディア」「チャネル」とは「参照元」「メディア」「チャネル」とは何か。それぞれの仕様をわかりやすく解説します。参照元情報をどのようなルールでデフォルトチャネルグループにまとめているのか。そしてカスタムチャネルグループを作成する際の注意点とは。... 各レポート共通の原則 Googleアナリティクスではユーザーがサイトを訪問した際、発生したセッションごとに、訪問経路を参照元・メディア・チャネルといった情報で記録します。 ただし、レポートごとに異なる仕様で判定している為、あるセッションが別レポートでは異なる

                                                              Googleアナリティクスの参照元とは?各レポートごとの計測仕様を紐解く|GAラボ
                                                            • JavaScriptの巻き上げとは?変数と関数での動作 - deve.K's Programming Primer - プログラミング初心者のための入門ブログ

                                                              本日はJavaScriptの巻き上げについて学習します。 巻き上げとは? 変数の可変巻き上げ 関数の巻き上げ 関数式(無名関数)の巻き上げ クラスでの巻き上げ まとめ JSのスコープについては下記入門で解説しております。 dev-k.hatenablog.com 巻き上げとは? JavaScriptでの巻き上げ(hoisting)は、宣言の前に関数または変数を使用できる動作です。 JavaScriptコンパイラは、エラーが発生しないように、変数と関数のすべての宣言を一番上に移動します。 これは巻き上げと呼ばれます。 なぜこの巻き上げを1つの記事として取り上げるのか それは巻き上げは、多くの開発者にとってJavaScriptの未知のまたは見落とされた概念でもある為です。 中級者ですら巻き上げについてあまり理解されていない方が稀にいらっしゃいます。 しかし、開発者が巻き上げを理解していない場合

                                                                JavaScriptの巻き上げとは?変数と関数での動作 - deve.K's Programming Primer - プログラミング初心者のための入門ブログ
                                                              • AA(Account Abstraction)の先にある、コントラクトウォレット中心の世界

                                                                SIVIRA Inc. 執行役員兼エンジニアの m0t0k1ch1 です。Ethereum Advent Calendar 2021 の 20 日目の記事として、本記事を書かせていただきます。 導入(2022.07.13, 2022.08.30 追記) 2022.07.12 に開催された TOKYO BLOCKCHAIN TECH MEETUP 2022 にて、本記事の導入に相当するお話をさせていただきました。 ライブ配信アーカイブ 発表資料 本記事の内容が難しいと感じた方はまず上記をご覧いただくのがよいかと思います。 はじめに 今年は、EIP4337 の登場によって Ethereum の Account Abstraction(以降、AA と表記することとします)が大きく進展し、その実現がようやく現実味を帯び始めた年となりました。 詳細は後述しますが、AA は Ethereum デベロッ

                                                                  AA(Account Abstraction)の先にある、コントラクトウォレット中心の世界
                                                                • オブジェクト指向歴25年のオブジェクト指向おじさんが語るオブジェクト指向設計の処方箋 - Qiita

                                                                  この記事のターゲット この記事は以下の人々を対象としています。 オブジェクト指向を一通りわかっている人。 オブジェクト指向の設計力を高めたい人。 オブジェクト指向を使っているのに、設計が綺麗にならず悩んでいる人。 プログラムが大きくなるとオブジェクト指向設計が破綻する人。 オブジェクト指向に限界を感じている人。 共同開発メンバーの設計力に差があって困っている人。 以下の人は対象外です。 オブジェクト指向が何なのかわからない人。 オブジェクト指向を極めている人。 関数型など別のパラダイムに活路を既に見いだしている人。 オブジェクトは責任ベースで考える オブジェクト指向といえば、やれインターフェイスだメッセージだ隠蔽だカプセル化だ、みたいな用語がたくさん出て来て、どれも関連があるようでないようで意味が分からないですよね。気取ったこと言ってんじゃねぇよと。 日本で社会人経験があれば、こんなものは

                                                                    オブジェクト指向歴25年のオブジェクト指向おじさんが語るオブジェクト指向設計の処方箋 - Qiita
                                                                  • C++で実装するなら(2023年時点での考え) - Qiita

                                                                    最近、C++を書いていない。 Pythonで書いていることが多いからだ。 C++を書けるということをどういう意味で期待していますか? C言語のレガシーがコードの安全性を損なっている。 C++言語はC言語の拡張という枠組みになっています。そのため、C言語ヘッダファイルをinclude することができてしまいます。 C言語では、ヘッダファイルのincludeする順序で動作が変わってしまうこと ヘッダファイル中の書かれているdefine マクロが、あなたの書いたソースコードを書き換えてしまうのです。 有名なところではwindows.h のmin() max() のマクロが多くのコードと相容れないという問題を持っています。 https://yohhoy.hatenadiary.jp/entry/20120115/p1 C言語のコードは、C++言語としても有効なコードになっているので、同じ弱点がC+

                                                                      C++で実装するなら(2023年時点での考え) - Qiita
                                                                    • 待望のLazyCell/LazyLock安定化間近! - paild tech blog

                                                                      こんにちは、ペイルドの森です。ペイルドでは創業以来バックエンドの開発言語にRustを採用してきたため、Rustという言語そのものが持つ課題とその解消、クレートの流行り廃りなどの歴史を共に歩んできました。その中でも最も苦しんだものの一つに遅延初期化があります。 その遅延初期化のための機能が、2024年7月リリース予定のRust 1.80.0で安定化されるということで、本機能について、その歴史とともに見ていきます。 目次 遅延初期化とは何か、何のためにするのか パフォーマンス向上のため リソースの効率的な管理のため 循環依存の回避のため Rustと遅延初期化の歴史 lazy_static クレートの登場と、抱えていた課題 マクロ依存性 スレッドセーフでない初期化のリスク 型の制約 初期化のタイミング制御 once_cell クレートの登場によって何が解決されたのか? マクロを使わないシンプルな

                                                                        待望のLazyCell/LazyLock安定化間近! - paild tech blog
                                                                      • 研鑽Rubyプログラミング ― 実践的なコードのための原則とトレードオフ

                                                                        紙書籍をお届けします(PDFがついてきます) PDFのみ必要な場合は、こちらからPDF単体を購入できます 紙書籍は2023年4月14日より順次発送を開始いたします 通常はご注文から2~3営業日で発送します。 年末年始や大型連休など、1週間から10日程度、配送のお休みをいただく場合があります。詳しくはお知らせをご覧ください。 現在公開されている研鑽Rubyプログラミング β版とは別の商品になります 本商品をβ版の差額等でお求め頂くことはできません 原則を学んで腕を磨き、さらなる高みを目指すために Jeremy Evans 著、角谷信太郎 訳 原書 Polished Ruby Programming 392ページ A5判 ISBN:978-4-908686-17-7 2023年4月14日 発行 正誤情報 プログラミング言語の入門書では、前半でコアとなる文法が説明され、ライブラリをはじめとする周

                                                                          研鑽Rubyプログラミング ― 実践的なコードのための原則とトレードオフ
                                                                        • “世界最速”のペアリング暗号化技術をどう実現するか? ペアリングを使うのに固定多倍長演算が必要な理由

                                                                          Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。光成氏は、WebAssemblyにおける多倍長演算の実装について発表しました。全2回。前半は、ペアリング暗号とx86-64の計算方法について。 ふだんはペアリングを使った暗号化技術の研究や実装を担当 光成滋生氏:「WebAssembly向け多倍長演算の実装」について光成が発表します。 簡単に背景を紹介したあと、実装についてIntelのx64における多倍長演算の歴史を紹介して、WebAssemblyでの戦略を紹介します。 自己紹介です。SNSやGitHubでは@herumiで活動しています。Intelや富岳でのJITやAI関係の最適化をしていて、今日はそちらではなくて暗号とセキュリティに関するR&Dの中の、ごく一部を紹介します。 私は主に、ペアリングを使った暗号化技術の

                                                                            “世界最速”のペアリング暗号化技術をどう実現するか? ペアリングを使うのに固定多倍長演算が必要な理由
                                                                          • ISUCON 9: チーム「ソレイユ」の5年目、はじめての予選通過 - osyoyu.hatenablog.com

                                                                            ISUCON 9 予選にチーム「ソレイユ」 (@osyoyu, @KOBA789, @s4ichi) で参加し、28位で予選初突破を果たしました。 このメンバーで ISUCON 5 から予選への挑戦を続けていて、参加5回目にしてようやく本選への切符を手にした形です。 4度も予選敗退を繰り返しているうちに、ISUCON の本選に出場したいという気持ちは強くなるばかり。 時間の経過とともにメンバーのそれぞれが日常で取り組んでいる課題や業務の領域が ISUCON で扱われるそれに近づいているのにもかかわらず、思うような成績を残せないことに対する焦りを感じることもありました (ISUCON 7: 42位, ISUCON 8: 45位) 。 我々にとっては予選こそが ISUCON であるという状況は長く、本選は手の届かない夢の舞台、という感じです。 文章にしちゃうとちょっと格好悪いね。 そんなわけで

                                                                              ISUCON 9: チーム「ソレイユ」の5年目、はじめての予選通過 - osyoyu.hatenablog.com
                                                                            • Emacsと暦 - Qiita

                                                                              はじめに 本記事は、Emacs のカレンダー機能・天文計算ツールの簡単な紹介、Emacsでサポートされている世界の暦、また本フレームワークを使った、和暦の実装を試みと、その際に気づいた注意点を紹介します。また「またアジア各国の旧暦に関する雑学」についても触れています。 世界の暦 世界には様々な暦が存在します。 人類が月の満ち欠けを意識し、農耕・牧畜、そして宗教祭礼を始めた頃から、一年のうち、どの時期に何をするかを記録することは、社会生活を営む上で重要となり、そこから暦の概念は始まったと考えられます。 その中でもグレゴリオ暦は、世界的に共通の暦として使われ、日本でも多くの年中行事の基準となっています。 しかし、欧米を除いて単一の暦を使っている国はあまり多くはなく、ほとんどの国が、ローカルな暦とグレゴリオ暦を併用しています。グレゴリオ暦のみを使っている日本は、欧米以外では数少ない例外です。 た

                                                                                Emacsと暦 - Qiita
                                                                              • Unity 6がいよいよ本気でゲーム開発者へオブジェクト指向を捨て去りDOTSに移行することを推奨〜関数型プログラミングとの関係性は?

                                                                                Unity 6がいよいよ本気でゲーム開発者へオブジェクト指向を捨て去りDOTSに移行することを推奨〜関数型プログラミングとの関係性は? Introducing our new e-book: Unity’s Data-Oriented Technology Stack (DOTS) for advanced developers / 新しい電子書籍のご紹介: 上級開発者向けの Unity のデータ指向テクノロジー スタック (DOTS) Unity のデータ指向テクノロジースタック (DOTS) を使用すると、 ターゲットハードウェアを最大限に活用できるパフォーマンス強化ツールスイートが提供され、大規模で複雑なゲームを作成できます。 50 ページを超える電子書籍「上級 Unity 開発者向けのデータ指向テクノロジー スタック入門」が、無料でダウンロードできるようになりました。データ指向プロ

                                                                                  Unity 6がいよいよ本気でゲーム開発者へオブジェクト指向を捨て去りDOTSに移行することを推奨〜関数型プログラミングとの関係性は?
                                                                                • 1から始める Juliaプログラミング | コロナ社

                                                                                  「Pythonのように書けて,Cのように動く」新しいプログラミング言語Juliaの基本的な文法や使い方から,実践的な内容として,標準ライブラリには含まれない数値計算やデータの可視化などのパッケージの活用まで解説する。 ◆対象者◆ * Juliaに興味を持ち,初めて触れるプログラミング学習者 * 科学技術計算を高速かつ手軽に行いたい学生や研究者 ◆書籍の特徴◆ Juliaは2012年に開発版が公開され,2018年に安定版のバージョン1.0がリリースされた新しいプログラミング言語である。JuliaはPythonやRなどのスクリプト言語のように手軽に使用できながら,Cなどの高速なプログラミング言語にも匹敵する実行速度をもち,科学技術計算分野を中心に大きな注目を集めている。2019年には,米国の工業・応用数学に関する学会であるSIAM(Society for Industrial and Appl

                                                                                    1から始める Juliaプログラミング | コロナ社