はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    大阪万博

『まくろぐ』

  • 人気
  • 新着
  • すべて
  • GraphQL ベストプラクティス

    5 users

    maku.blog

    GraphQL アプリ開発のノウハウ集です。 GraphQL のスキーマ設計から、サーバー実装、クライアント実装まで、GraphQL を使ったアプリ開発全般にわたるベストプラクティスをまとめています。 業務や趣味での GraphQL アプリ開発を通じて学んだことをまとめていますが、多くの項目は、主要な GraphQL ライブラリ (Apollo や gqlgen)の設計や、『Production Ready GraphQL』、『GraphQL in Action』 などの書籍を参考にしています。 クライアントファースト、スキーマファーストクライアントファースト (Client First) で考える何よりも、クライアントのユースケースを念頭において考えます。 これは、GraphQL を採用するそもそもの目的でもあります。 バックエンドで使うデータベースや言語などの、実装詳細に引っ張られた

    • テクノロジー
    • 2023/02/17 02:26
    • まとめ
    • まくろぐ

      3 users

      maku.blog

      何をするか?Svelte 5 のコンポーネントで使用する状態変数は $state ルーンを使って定義できますが、ページをリロードするとその値はリセットされてしまいます。 この記事では、$state ルーンで定義した状態変数の値を localStorage や sessionStorage と同期させる方法を紹介します。 localStorage と同期させた場合は、ブラウザを開き直したときにも以前の状態を復帰できます。 sessionStorage と同期させた場合は、ブラウザのタブを開いている間だけ状態を保持できます。 $state ルーンを使って状態変数を共有する方法は、下記の記事を参照してください。 Svelte 入門: 複数のコンポーネントで状態を共有する($state ルーン)実装例図: サインイン状態を管理する AuthState クラスの実装と使用例ここでは、サインイン状態を

      • 暮らし
      • 2022/10/22 16:46
      • Next.js で Firebase: Cloud Firestore データベースを使う

        3 users

        maku.blog

        何をするかCloud Firestore は、Firebase サービス(あるいは GCP)が提供するサーバーレスな NoSQL データベースです。 Firestore データベースには様々な環境からアクセスできますが、ここでは Web サイトからアクセスすることを想定して、Firebase が提供する JavaScript SDK(クライアントサイド SDK)を使って Firestore データベースを操作してみます。 ☝️ Firebase と GCP の使い分け Firebase と GCP (Google Cloud Platform) の両方に Firestore の記載があるので混乱しますが、どちらのプロジェクトで作った Firestore データベースも内部的には共有されているようです。 Firebase プロジェクトも、GCP プロジェクトとして参照できるようになっています

        • テクノロジー
        • 2022/07/04 02:07
        • Next.js の Image コンポーネントで画像を表示する (next/image)

          6 users

          maku.blog

          Image コンポーネントの特徴Next.js が提供している Image コンポーネント (next/image) を使用すると、image 要素をそのまま配置するのに比べて次のような恩恵を受けられます。 遅延ロード (Lazy loading)Web ブラウザでその画像がビューポート内(画面内)に入って来たときに初めてダウンロードされるようになります。大きなページの末尾部分に配置された画像が、無駄にダウンロードされてしまうのを防ぐことができます。画像の最適化アクセスしてきたクライアントに応じて画像ファイルを最適化して配信します。例えば、圧縮効率のよい WebP フォーマットなどに変換してくれます。リクエスト時にサーバーサイドでオンデマンドで最適化するため、Image コンポーネントを使うことでビルド時間が伸びてしまうことはありません。外部サーバーの画像を間接的に表示する場合も最適化でき

          • テクノロジー
          • 2022/05/03 00:32
          • Next.js のコンポーネント内でクエリ文字列を取得する (next/router, useRouter)

            3 users

            maku.blog

            URL のクエリ文字列(クエリパラメーター)というのは、上記のような URL の末尾の ? 以降の、sortby=title&order=asc の部分のことを指します。 この部分を参照する方法としては、主に次の 2 種類の方法があります。 クライアントサイド JS … useRouter フックを使うサーバーサイド JS … getServerSideProps に渡されるパラメーターを使うクライアントサイド JS からクエリパラメーターを参照する (router.query)Next.js の useRouter フック を使うと、上記のようなクエリパラメーター部分を簡単に抽出することができます。 次の例では、クエリパラメーターとして渡された sortby と order の値を取得しています。 値が省略された場合は、それぞれの値は undefined になります。 src/pages

            • テクノロジー
            • 2022/04/23 09:54
            • VS Code の設定ファイルの場所 (settings.json)

              4 users

              maku.blog

              ワークスペース設定ファイルワークスペースごとの設定は、プロジェクトのルートディレクトリの .vscode ディレクトリに保存されます。 <プロジェクトルート>/.vscode/settings.jsonワークスペース設定は、前述のユーザー設定よりも優先されます(同じ設定項目の値が上書きされます)。 .vscode ディレクトリを Git にコミットしておけば、チーム内で VS Code の設定を共有できます。 .vscode ディレクトリには、プロジェクトのタスク設定ファイル (tasks.json) なども格納されます。 設定ファイルのサンプルsettings.json ファイルの拡張子は .json ですが、JavaScript 形式のコメントを記述できるようになっています (JSON with Comments)。 settings.json の例 // Place your set

              • テクノロジー
              • 2022/03/19 09:18
              • VS Code で Python 用のフォーマッター (Black) を使う

                3 users

                maku.blog

                何をするか?Visual Studio Code に Python 拡張 を入れることで、Python コードの編集(自動補完など)ができるようになりますが、コードの自動フォーマットを行うには、フォーマッターを別途インストールしておく必要があります(いろんなフォーマッターがあるため)。 Python のフォーマッターとしては、autopep8 や yapf などもありますが、ここでは、最近人気がある Black を VS Code の自動フォーマッターとして設定します。 Facebook や Dropbox、Mozilla などでも導入されており、採用実績としては申し分なさそうです。 ☝️ 頑固なフォーマッター Black は自分自身を The uncompromising code formatter と説明しています。 ようするに、「私が定義する設定に従いなさい」という意味で、ユーザー

                • テクノロジー
                • 2022/03/10 19:44
                • Next.js アプリのディレクトリ構成を考える(Atomic Design と Presentational and Container Components)

                  6 users

                  maku.blog

                  Web サイトを構築するにあたって、よく参照されるコンポーネントの分類手法として、Atomic Design と Presetational and Container Components があります。 Atomic Design … UI の粒度と具体性によって 5 レベルに分類するPresentational and Container Components … 「表示」と「振る舞い」の役割で分類するここでは、それぞれに関して概要をざっと眺めた上で、Next.js プロジェクトにどんな形で適用していけばいいかを考えてみます。 Atomic Design とはWeb デザインにおける UI コンポーネントの分割粒度の考え方として、Brad Frost 氏の Atomic Design があります。 Atomic Design - Brad Frost 氏のブログ記事Atomic Des

                  • テクノロジー
                  • 2022/03/04 17:35
                  • AWS CDK で外部パラメーターを扱う(コンテキスト・バリューと環境変数)

                    7 users

                    maku.blog

                    CDK コードに外部パラメーターを与える方法AWS CDK による CloudFormation スタックの構築時に、外部からキー&バリューの形でパラメーターを設定したいときは、主に次の 3 つの方法があります(クラウド上に値を保存するパラメーターストアなどは対象外とします)。 Context values (コンテキスト・バリュー)Environment variables (環境変数)CloudFormation parameters (CloudFormation パラメーター)S3 バケットの名前をパラメーター化したり、デプロイターゲットを staging と production の間で切り替えたりするときに使えます。 Context values(コンテキスト・バリュー)コンテキスト・バリューは、CDK 特有の仕組みで、cdk deploy 実行時のコマンドライン引数や、cdk

                    • テクノロジー
                    • 2022/01/31 11:23
                    • aws
                    • 考察
                    • 技術
                    • あとで読む
                    • TypeScriptの型: 環境変数 (process.env) 用の型情報を定義する

                      3 users

                      maku.blog

                      Node.js で環境変数を参照するためのオブジェクト process.env の型情報は、@types/node で次のように文字列型ディクショナリ Dict<string> として定義されています。 node_modules/@types/node/process.d.ts(抜粋) declare module "process" { global { var process: NodeJS.Process; namespace NodeJS { interface ProcessEnv extends Dict<string> {} //... } } export = process; } この型定義は @types/node モジュールをインストールするだけで簡単に使用できるようになるのですが、具体的なキー名(環境変数名)が定義されていないので、Visual Studio Cod

                      • テクノロジー
                      • 2022/01/22 17:20
                      • AWS CDK で TypeScript で実装した Lambda 関数をデプロイする (NodejsFunction)

                        3 users

                        maku.blog

                        何をするか?ここでは、CDK アプリとして作成した CloudFormation スタック内に、TypeScript で実装した Lambda 関数 を追加してみます。 Lambda 関数のビルドもデプロイ時に自動で行われるようにします。 以降の説明では、CDK プロジェクトの作成自体は済んでいるものとします。 参考: AWS CDK 入門: cdk コマンドのインストールから Hello World までTypeScript で Lambda 関数を実装するLambda 関数のコードは、プロジェクトのルートに lambda ディレクトリを作成して、そこに配置していくことにします。 myapp/ +-- bin/ ... CDK の App コンストラクト (.ts) +-- lambda/ ... ラムダ関数の実装コード (.ts) ★これを追加 | +-- index.ts +-- l

                        • テクノロジー
                        • 2021/12/24 13:33
                        • cloud
                        • React フック: useSWR でデータフェッチ

                          3 users

                          maku.blog

                          SWR とはuseSWR フックSWR (useSWR) は、Next.js を開発している人たち (Vercel) が開発したデータフェッチ用の React フックライブラリです。 React アプリでデータフェッチを真面目に実装しようとすると、大体最後にこのライブラリに行き着きますので、最初からこれを使いましょう(GraphQL の場合は Apollo Client がありますが)。 SWR - React Hooks library for data fetchingReact コンポーネント内から Web API などを呼び出してデータフェッチを行う場合、標準の仕組みだけで実現しようとすると、useEffect フックなどで fetch 関数を呼び出したりすることになります。 useEffect による不完全なデータフェッチ実装 function Page () { const [

                          • テクノロジー
                          • 2021/12/14 13:41
                          • あとで読む
                          • VS Code の Vim プラグインで OS のクリップボードと同期する (vim.useSystemClipboard)

                            3 users

                            maku.blog

                            Vim エディタ使いにとって、Visual Studio Code の Vim プラグイン はほぼ必須の機能になっています。 Vim - Visual Studio Marketplaceデフォルトでは、y キーによるヤンクバッファ(Vim 用語では unnamed register)のコピーが、OS のクリップボードと同期されません。 次のように Vim プラグインの設定を行っておく、OS のクリップボードと同期してくれるようになります。 settings.json で設定する方法settings.json

                            • テクノロジー
                            • 2021/11/30 05:21
                            • vim
                            • React の props.children の型定義には ReactNode を使う

                              7 users

                              maku.blog

                              children の型定義TypeScript で React の関数コンポーネントを定義するときには、下記のような React.FC (React.FunctionComponent) を使用します。 type FC<P = {}> = FunctionComponent<P>; interface FunctionComponent<P = {}> { (props: PropsWithChildren<P>, context?: any): ReactElement<any, any> | null; propTypes?: WeakValidationMap<P> | undefined; contextTypes?: ValidationMap<any> | undefined; defaultProps?: Partial<P> | undefined; displayName

                              • テクノロジー
                              • 2021/11/29 13:38
                              • React
                              • Next.js で環境変数を扱う (.env, NEXT_PUBLIC, NODE_ENV)

                                5 users

                                maku.blog

                                Next.js アプリ内での環境変数の振る舞いprocess.env の振る舞いNode.js の process.env による環境変数の参照が有効なのは、基本的には次のようなサーバーサイドで実行されるコード内のみです。 ビルド時あるいはアクセス時に呼び出される getStaticPaths や getStaticProps必ずアクセス時に呼び出される getServerSideProps必ずアクセス時に呼び出される API ルートのハンドラ関数 (handler)src/pages/sample.tsx export const getStaticProps: GetStaticProps<PageProps> = async context => { // このコードはビルド時に実行されるので環境変数を参照できる console.log(process.env.VAR_NAME) r

                                • テクノロジー
                                • 2021/11/16 20:17
                                • あとで読む
                                • ESLint の設定ファイル (.eslintrc) の各プロパティの意味を理解する

                                  6 users

                                  maku.blog

                                  何を説明するか下記は、TypeScript を使った React アプリ実装用に用意した ESLint 設定ファイル (.eslint.yml) の例です。 トップレベルのプロパティとして、env や extends などがありますが、これらが何を意味しているかをざっと説明します。 .eslint.yml(例) root: true env: browser: true es2021: true parser: '@typescript-eslint/parser' parserOptions: ecmaVersion: 2021 project: ./tsconfig.json plugins: - react - react-hooks - '@typescript-eslint' extends: - eslint:recommended - plugin:react/recomme

                                  • テクノロジー
                                  • 2021/10/13 17:17
                                  • eslint
                                  • TypeScript コードを Prettier で自動整形する

                                    4 users

                                    maku.blog

                                    Prettier とは?Prettier は、TypeScript や JavaScript などのソースコードを自動フォーマットするためのツールです。 HTML や CSS など様々なファイルに対応していますが、主に TypeScript や JavaScript のフォーマッターとして使用されています。 実際にどのようにフォーマットされるかは、Playground のページ で試すことができます。 特徴と思想Prettier の一番の特徴は、Opinionated(独断的な) コードフォーマッターであることを標榜していることです。 これは、ユーザーに自由なカスタマイズを許さず、「Prettier 自身が定義しているスタイルに強制的にフォーマットするよ」ということです(セミコロンの有無など最低限の設定はできます)。 これにより、コーディングスタイルに関する 不毛な議論を避ける ことができ

                                    • テクノロジー
                                    • 2021/09/09 05:39
                                    • TypeScript プロジェクトに ESLint を導入する

                                      3 users

                                      maku.blog

                                      ESLint とはESLint は JavaScript/TypeScript 向けの Lint ツール(静的解析ツール)です。 プロジェクト内のソースコードに対して eslint コマンドを実行することで、コーディングルールに従っていない部分や、不具合の原因になりそうな部分を検出してくれます。 ☝️ eslint vs tslint もともと TypeScript 用には tslint という Lint ツールが提供されていましたが、Microsoft の TypeScript チームが eslint への統合を 公式に発表 してから(2019年以降)は、TypeScript においても eslint が事実上の標準 Lint ツールとなっています。参考: TypeScript の ESLint 対応プロジェクト ESLint のインストールeslint コマンドは npm でインストー

                                      • テクノロジー
                                      • 2021/08/18 10:51
                                      • AWS Lambda にデプロイするための ZIP パッケージを npm で作成する (npm-pack-zip)

                                        3 users

                                        maku.blog

                                        何をするか?AWS Lambda で実行する関数は、ZIP ファイルの形でデプロイすることになります。 ここでは、Node.js で関数を実装しているという前提で、npm スクリプトで簡単にデプロイ用の ZIP パッケージを作成する方法を説明します。 Lambda 関数用の ZIP パッケージを作成するときは、次のようなことを考慮する必要があります。 実行時に必要な node_modules 以下のモジュールを含める(逆に devDependencies で指定したモジュールは含めない。例えば typescript とか eslint とかは含めない)AWS SDK (aws-sdk) は含めない(Lambda の実行環境にインストールされている)TypeScript を使っているのであれば、ビルド後の .js ファイルのみを含める(例えば、src/*.ts は含めず、build/*.js

                                        • テクノロジー
                                        • 2021/08/12 11:42
                                        • Next.js のダイナミックルーティング機能を利用する (getStaticPaths, getStaticProps, getServerSideProps)

                                          3 users

                                          maku.blog

                                          ダイナミックルーティングとはNext.js では、pages/books/[id].tsx のようなファイル名でページを作成すると、1 つのファイルで、 /books/001/books/002/books/003のようなパス (URL) によるアクセスをハンドルできます。 これを ダイナミックルーティング (Dynamic Routes) 機能と呼びます。 Next.js のページコンポーネント (/pages/xxx.tsx) は、そのページのエントリポイント(ルートコンポーネント)となるため、通常の React コンポーネントとは違って、上位のコンポーネントから props 情報を渡すことができません。 そこで Next.js では、ページコンポーネントの実装ファイル内で getStaticProps という関数を定義することで、ページコンポーネントに渡す props 情報を生成でき

                                          • テクノロジー
                                          • 2021/08/01 00:06
                                          • nextjs
                                          • Next.js のプロジェクトを TypeScript 化する

                                            3 users

                                            maku.blog

                                            何をするか?create-next-app コマンドで Next.js プロジェクトを生成するときに --typescript (--ts) オプションをつけて実行すると、TypeScript 対応したプロジェクトを生成することができます。 $ npx create-next-app myapp --typescript # ただ、こっちのテンプレートを使う方法の方が若干洗練されてる気はする $ npx create-next-app myapp --example with-typescript

                                            • テクノロジー
                                            • 2021/05/27 01:16
                                            • PlantUML でクラス図を作成する

                                              3 users

                                              maku.blog

                                              クラスの箱を描く基本クラスの箱を描くには、class キーワードを使用します。 他にも、interface でインタフェース、abstract で抽象クラス、enum で列挙型を定義することができます。

                                              • テクノロジー
                                              • 2021/05/13 18:02
                                              • Electron アプリの配布パッケージを作る (electron-builder)

                                                5 users

                                                maku.blog

                                                概要electron-builder を使用すると、Electron アプリを Windows、macOS、Linux 用の配布用バイナリとしてパッケージングすることができます。 各 OS 用のインストーラはもちろん、ポータブルな zip パッケージを作成することもできます。 electron-builder公式サイトのドメイン名が electron.build っていうのがかっこいいですね。 electron-builder のインストールNode.js のパッケージ管理ツールとして、npm よりも yarn を使うことが strongly recommended されているので、まず yarn をインストールしてから yarn で electron-builder をインストールすることにします。

                                                • テクノロジー
                                                • 2021/04/02 00:43
                                                • あとで読む
                                                • プロキシ環境から Electron をインストールできない場合の対処方法

                                                  3 users

                                                  maku.blog

                                                  問題プロキシ環境下で、Electron (9.0.5) をインストールしようとしたら、まぁいろいろとエラーになってハマりました。 どうも、node install.js の実行がうまくいっていないようです。 D:\sandbox> npm install electron --save-dev > core-js@3.6.5 postinstall D:\sandbox\node_modules\core-js > node -e "try{require('./postinstall')}catch(e){}" > electron@9.0.5 postinstall D:\sandbox\node_modules\electron > node install.js RequestError: read ECONNRESET at ClientRequest.<anonymous> (

                                                  • テクノロジー
                                                  • 2021/01/18 19:03
                                                  • React Context で複数のコンポーネント間でデータを共有する

                                                    3 users

                                                    maku.blog

                                                    Context とはReact の Context(コンテクスト) は、いわゆるグローバル変数の格納領域のようなもので、複数のコンポーネント間でのデータ共有に使用できます。 各コンポーネントから Context 情報にダイレクトにアクセスできるため、prop のように上位のコンポーネントから情報を伝搬させていく必要がありません。 Context をむやみに使うと、コンポーネントの再利用性が下がってしまいますが、アプリケーション全体で使用する次のような情報を Context で管理するとコードがすっきりします。 ログイン中のユーザー情報(認証情報)言語設定テーマ設定Context の使い方Context を作成する (createContext)Context オブジェクトは、React.createContext() で作成することができます。 複数のコンポーネントから参照することになるの

                                                    • 暮らし
                                                    • 2020/12/04 20:48
                                                    • TypeScriptの型: 既存の JavaScript ライブラリに型情報を追加する(.d.ts ファイル)

                                                      12 users

                                                      maku.blog

                                                      アンビエント宣言とはTypeScript の アンビエント宣言 (Ambient Declarations) を行うと、既存の JavaScript ライブラリに型情報を付加することができます。 この仕組みを利用すると、 サードパーティ製の JavaScript ライブラリ(npm パッケージ)や、自作の JavaScript ライブラリ(ただし TypeScript 化はしたくないもの)を TypeScript コードから使用するjQuery などのブラウザ上でロードされるライブラリを TypeScript コードから使用するといったことが可能になります。 ようするに、TypeScript トランスパイラに対して、このオブジェクトはこういう型のものとして外から提供されているので、型チェックエラーを出さないでね、と知らせることができます。 さらに、VisualStudio Code などの

                                                      • テクノロジー
                                                      • 2020/06/04 13:17
                                                      • TypeScript
                                                      • tutorial
                                                      • JavaScript
                                                      • PlantUML でシーケンス図を作成する

                                                        3 users

                                                        maku.blog

                                                        シーケンス図は相互作用図 (interaction diagram) の代表的なダイアグラムです。 シーケンス図は、特定のユースケースに関するオブジェクトの典型例と、オブジェクト間のメッセージを示します。 要素の並び順の制御 (participant)必須の定義ではないですが、participant であらかじめ要素を列挙しておくと、その後のメッセージ定義の順序に関係なく、participant に並べた順に左から要素が配置されます。 @startuml participant Class1 participant Class2 participant Class3 Class3 -> Class1 Class2 -> Class3 Class1 -> Class2 @enduml

                                                        • テクノロジー
                                                        • 2020/01/14 22:21
                                                        • TypeScriptの環境: Visual Studio Code で TypeScript の開発環境を構築する

                                                          3 users

                                                          maku.blog

                                                          はじめにTypeScript は Microsoft が開発している言語で、同じく Microsoft が開発している IDE である Visual Studio Code(以下 VS Code)が TypeScript コードの編集に適しています。 VS Code による TypeScript の開発環境を構築するには、下記をインストールする必要があります。 Visual Studio CodeNode.js(npm コマンド)TypeScript(tsc コマンド)開発環境をインストールするVisual Studio Code のインストールVS Code は下記からインストーラーをダウンロードしてインストールできます。 Download Visual Studio CodeTypeScript のソースコード (.ts) ファイルは、単純なテキストエディタでも編集できますが、この V

                                                          • テクノロジー
                                                          • 2019/10/25 14:48

                                                          このページはまだ
                                                          ブックマークされていません

                                                          このページを最初にブックマークしてみませんか?

                                                          『まくろぐ』の新着エントリーを見る

                                                          キーボードショートカット一覧

                                                          j次のブックマーク

                                                          k前のブックマーク

                                                          lあとで読む

                                                          eコメント一覧を開く

                                                          oページを開く

                                                          はてなブックマーク

                                                          • 総合
                                                          • 一般
                                                          • 世の中
                                                          • 政治と経済
                                                          • 暮らし
                                                          • 学び
                                                          • テクノロジー
                                                          • エンタメ
                                                          • アニメとゲーム
                                                          • おもしろ
                                                          • アプリ・拡張機能
                                                          • 開発ブログ
                                                          • ヘルプ
                                                          • お問い合わせ
                                                          • ガイドライン
                                                          • 利用規約
                                                          • プライバシーポリシー
                                                          • 利用者情報の外部送信について
                                                          • ガイドライン
                                                          • 利用規約
                                                          • プライバシーポリシー
                                                          • 利用者情報の外部送信について

                                                          公式Twitter

                                                          • 公式アカウント
                                                          • ホットエントリー

                                                          はてなのサービス

                                                          • はてなブログ
                                                          • はてなブログPro
                                                          • 人力検索はてな
                                                          • はてなブログ タグ
                                                          • はてなニュース
                                                          • ソレドコ
                                                          • App Storeからダウンロード
                                                          • Google Playで手に入れよう
                                                          Copyright © 2005-2025 Hatena. All Rights Reserved.
                                                          設定を変更しましたx