サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
www.meganii.com
「Puppeteer入門 スクレイピング+Web操作自動処理プログラミング」 を読むまで、PuppeteerのwaitForNavigationの動きを誤って理解していました。 ここでは、Puppeteerを利用して「ページ遷移を待つ」というよくある処理における誤った実装と正しい実装を紹介します。 誤った実装 やりがちなNGパターンPuppeteerで非同期処理を同期的に記述するawaitを用いて、click後にページ遷移を待つという処理を思い浮かべた場合、次のような書き方をしがちです。 await page.click('.some .a'); await page.waitForNavigation({ waitUntil: 'load'}); waitForNavigationとは、「waitForNavigationを呼び出してから次の遷移を待つ」という意味の処理です。 上記の書き
Windows StoreからインストールできるWSL2のUbuntuおよび、Docker Desktop WSL2 Backendのイメージ格納先がデフォルトではCドライブに格納される。 Cドライブに必要最低限なSSD、Dドライブに大容量HDDを割り当てているため、Cドライブが枯渇するためDドライブに移動させたい。 ここでは、WSL2のUbuntuと、Docker Desktop WSL2 Backendのインストールフォルダ変更についての調査・確認結果を記す。
複数OS(Windows、macOS、iPadOS)でHappy Hacking Keyboard(以降HHKBと表記)を利用していると、OS間で微妙にキーボード操作が異なることにストレスを覚えることはないでしょうか。 私は昨年(2020年)にHHKBを購入し、複数OSで利用し始めましたが、OS切替時の些細なストレスが気になり始めました。 そこで、HHKBとOSの最適な設定を模索し、今時点の自分にとって最適な設定をまとめてみました。 ちなみに、 【レビュー】HHKB(Happy Hacking Keyboard)ファーストインプレッション で、HHKBを使い始めたときの1週間の所感をまとめています。 前提利用HHKBHappy Hacking Keyboard Professional HYBRID Type-S 英語配列/墨利用OSWindows 10(JIS配列ノートPC)macOS
ブログメンタリング受講者の方々が書いたtextlintの記事に触発され、Visual Studio Code(以降VS Code)にtextlintを導入しました。 ブログメンタリングに関しては 技術ブロガーを育てる!ブログメンタリングで何を教えているのか - kakakakakku blog を読んでみてください。 VS Codeでtextlintを導入してみた - chikoblogVim + textlintで良質なブログ記事を書こう! - code-log基本的には、上記記事の方法と同様です。 しかし、少し異なるのは私の ブログ がHugoで構築している点です。 Hugoは、通常のMarkdownの文章の中にHugo独自の記法(Shortcodes)を利用できます。 textlintとそのルールプリセットを導入すると、Shortcodesの部分がエラーになってしまう(文字数制限)た
2019年12月11日(水)、Scrapbox Drinkup No.11に参加してきました。気になった点をまとめてみます。 Scrapbox Drinkup #11 - connpass LT大会今回のScrapbox Drinkupは「2019年のScrapbox」をテーマにした「LT」がメインでした。5名(うち自分を含む)のLTについて紹介します。 マッハレジュメ - @shio さん マッハレジュメ by 塩澤一洋 - Scrapbox Drinkup 「マッハ新書」があるのなら「マッハレジュメ」もあってよいのではないかある学会で、直前まで書きためていた議事録を自分自身の発表前にScrapboxページとして公開し、聴衆者の手元でも確認できるようにしている「学生の方が、Scrapboxに「可愛さ」を求めてJavaScriptを触り始めた」という話無理矢理学ばせるのはなく、自分が使いや
Homebrewで入れたHugoを、「brew upgrade hugo」でv0.60.1にアップグレードしたところ、まともにビルドできなくなってしまった。これでは困ると思い、前のバージョンをインストールしようと思ったがやり方が分からなかったので、調べてみました。 まず試してみたのは、「brew install [email protected]」とバージョン指定してインストールを試みましたがダメ・・・。 諦めてちゃんと調べてみると、下記の方法で過去バージョンをインストールできることがわかりました。 1. まずはbrew info hugoで状況を確認する $ brew info hugo hugo: stable 0.60.1 (bottled), HEAD Configurable static site generator https://gohugo.io/ /usr/local/
大前提「自分の好きなように」 Scrapboxで読書管理をすると言っても、やり方は1つに限りません。 「こうしなければならない」と決めつけるのではなく、自分で工夫しながら試していくのがよいと考えます。 とはいえ、ある程度のルール決めがないと運用するときに迷うので、私は「じぶんルール」を決めました。 自分の整理のため、これからScrapboxで読書管理をやろうとしている方の参考になればと思い、この「じぶんルール」を書き出してみました。それではどうぞ! ゆるふわ「じぶんルール」0. 「後から変えてもよい」というゆるい心構え気が変わったら「後から変えてもよい」という心構えが大事!Scrapboxではページタイトルを変えても、よしなにリンクを張り替えてくれます。この「後から変えられる」という安心感があるので、気軽にページを変更できます。 1. 書影重要 書影があると視覚的に分かるので楽しいどんどん
「Scrapboxで読書管理がしたい」そんな自分のために、書籍情報を書影付きで簡単にScrapboxに送れるFlutter(Android)アプリを作りました。 モチベーションScrapboxで読書管理をするときに問題になるのが、Scrapboxに書籍ページを作ること。やろうと思えば、Amazonから対象書籍を検索して、Bookmarkletで取り込むことができるが、ちょっと面倒。 面倒だと続かないので、Scrapboxへの取り込みステップを1つ省略するために、書籍バーコードを読み取り、そのままScrapboxへ送ることができるアプリがあればよいと思い、作りました。 機能書籍バーコードを読み取り、書籍情報を取得、書影付きでScrapbox or Twitter へ送付する(手動での直接ISBN入力も可能)データ取得元はopenBDかAmazonから選択(Amazonを利用する場合は、Ama
公開 DeployHugoには、サイトを生成する仕組みはありますが公開する仕組みは持っていません。そのため、Hugoで生成した生成物(HTML+CSS)を何らかの方法で、Webサーバに持っていってあげなければいけません。 必要なのは、どこに公開するかと、どうやって公開するかです。 どこで公開するかHugoで生成したサイトをどこに公開するかは、いくつか選択肢があります。例えば、以下のようなものです。 VPS(Virtual Private Server)レンタルサーバ(ロリポップ)GitHub PagesAmazon S3私は、さくらのVPSを契約しています。自分で色々といじれるので楽しいです。 2017/03/19追記 さくらVPSを解約したので、 Netlify で公開するように変更しました。 Hugoで生成した静的サイトのホスト先をさくらVPSからNetlifyに変更する - SIS
概要今まで、はてなダイアリー(d.hatena.ne.jp/meganii)の記事は移行せずにそのまま残していました。 しかし、Scrapboxのユーザー会に参加して過去コンテンツの重要性に気付き、今のブログに全て集約したいと考えました。 そこで、はてなブログを経由させて、独自ドメインのブログに記事を全て移行しました。 その結果、はてなダイアリーからはてなブログにブックマークを含めて簡単に移行できました。 その後の独自ドメインへの移行も、ページ価値を引き継いで、問題なく移行できました。 移行理由Scrapboxのユーザー会に参加して、過去に書かれた文章と今の自分を繋ぐことができるという点に感銘を受けました。 ブログをScrapboxに移行することも考えました。 しかし、ブログはあくまでもブログとして記事を残し続け、少しでも過去記事への参照が容易となることを目指します。 よって、はてなダイア
GoogleChrome/puppeteer: Headless Chrome Node API というHeadless Chromeを操作するJavaScriptライブラリが出たので使ってみました。 何度も実行してロボット判定されてしまったので、実際にはHeadlessで動作確認していないが(おそらく)こんな感じで取得できるはず。 2017/09/10追記デバッグモード以外では毎回ロボット判定されてしまうため、Cookieからログインする方法に変えました。 初回ログイン時は、デバッグモードで動かし、Cookieを保存し、2回目以降はCookieからログインする。 インストール const puppeteer = require('puppeteer'); const fs = require('fs'); const cookies_path = './cookies_amazon.js
Hugoでは、ちょっとしたHTMLタグを記事やテンプレートに差し込みたいと思った場合、ShortCodesという便利な機能が使えます。 例えば、次のものがあります。 Twitterのツイート埋め込みSlideshare, Speakerdeckなどのスライドの埋め込みYoutubeなどの動画埋め込みAmazonアフィリエイトリンクInstagramの写真imgタグAdsenseShortcodesのメリットHTMLタグを直書きと比べて何が嬉しいかというと、次の2点が挙げられます。 変更に強い見た目がシンプル埋め込みURLでよくあるパターンが、各記事に主導でコードを埋め込んだはいいがちょっと変更を加えたいときに、1つ1つ直していかなければいけないというものです。 HTML直書きだと変更に対して明らかに弱いです。 一方、Shortcodesにしておけば、コードは変えずにレイアウトを後からいくら
いつのまにかNetlifyでServer Pushができるようになったようです。このアナウンスに伴い、今までFreeアカウントでは利用できなかった_headersファイルが有効になっています。 HTTP/2 Server Push on Netlify | Netlify HTTP/2, Server Pushの詳細を理解しているわけではないので詳しくは説明できないのですが、Server Pushにより1回分の通信を節約でき、レンダリングブロックとなるCSSのクリティカルパスを解消できるとの理解です。 HTTP/2については @kazuho さんのスライドが超絶参考になります。 HTTP/2時代のウェブサイト設計HTTP/2の課題と将来設定方法Hugoであれば、staticフォルダに_headersファイルを作成します。 _headersの記述方法は下記ドキュメントを参照し、Server
EDINETとは?Electronic Disclosure for Investor’s NETworkの略EDINETは、金融庁により運用されている「金融商品取引法に基づく有価証券報告書等の開示書類に関する電子開示システム」2008年のリニューアルで、財務諸表をXBRL形式による提出が義務付けられたXBRLとは?eXtensible Business Reporting Languageの略財務諸表データの表現用途に特化したXMLベースの言語米国の企業情報開示システムEDGARでも採用されていて、財務諸表電子化のグローバルスタンダードな規格XBRLの特徴財務諸表は会計基準・会計規則と密に関係するため、国・地域・業種が異なれば、財務諸表の構成も大きく違うという性質がある。 財務諸表の多様性に対応するため、XBRLは柔軟な拡張性を備えているXML Schema, XLinkといったXMLの
今、自分でブログ・サイトを構築するとしたら、どんな選択肢があるでしょうか。 さすがにHTMLを自分で手打ちするのは大変です。 なんらかのCMS(Content Management System:コンテンツ管理システム)を利用することになりますが、そのCMSにもさまざまな種類があり、どれを選んだらよいのでしょうか。 私自身、CMSとしては Lokka (Ruby), WordPress (PHP), Jekyll (Ruby), Octopress (Ruby)、 Middleman (Ruby)と利用してきました。 どのCMSも一長一短ですが、Ruby, PHPなどの動的スクリプトで構成されるCMSは共通してビルドの遅さを感じます。 そこで、ビルドが高速という噂の Hugo (Golang)に移行したところ、快適でシンプルなブログサイトを構築できましたので、今回はその Hugo の紹介を
マーケティング22の法則の核になっているのは、 1.知覚の法則3.心の法則であると感じたため、左下を中心として描きました。 この知覚と心の法則は、本書で語られている 「マーケティングとは、商品をめぐる戦いではなく、知覚をめぐる戦いである」 の言葉に集約されます。 マーケティングとは、良い商品を売るのがよいのではなく、いかに相手の知覚・心に入り込むかが大事だということ。ここでいう知覚とは、どういったものでしょうか? 知覚とはマーケティング担当者は、事実を把握することに没頭しているが、マーケティングの世界には、「客観的な現実、事実、ベストな商品」は存在しない。あるのは、顧客や、見込み客の心にある知覚だけである。知覚こそ、マーケティングの世界における現実である。 知覚とは、自分たちのモノの見方、思い込み、価値観、メンタル・モデル、バイアス、色眼鏡、・・・などだと捉えました。人は、現実をありのまま
現在(2017/3月)、Hugoで生成した静的サイトをホストするためにさくらVPSを利用しています。 さくらVPSは2年近く使ってきましたが、そろそろ更新時期した(1年まとめて契約しているため)。 自分が契約したタイプはデイスクがHDDのままSSDに変更できないタイプだったので、新規契約し直すか、Conoha VPSに切り替えるか、それともVPS自体を契約しないとするか迷っています。 良い機会であるため、静的サイトのホスティングをVPSではなくクラウドサービスを利用しようと検討しました。 移行先検討GitHub PagesNetlify自分の中ではGitHub PagesかNetlifyの2択でした。 静的サイトのコンテンツはGitHubにコミットしているため、最初は、GitHub Pagesにしようとしていました。 しかし、現状HTTP/2に対応していないことからあまり気乗りしませんでし
プログラムからAmazon Product Advertising APIを利用するためには、Amazon Web Servicesからアクセスキーを発行する必要があります。 GitHubにAWSアクセスキーを誤ってCommitしてしまったため、アクセスキーを再取得したのでそのときの備忘録を載せておきます。 前提AWSアカウントは作成済みであること。 まだAWSアカウントを持っていない方は、下記リンクを参照してアカウントを作成してください。 AWS アカウント作成の流れとポイント | AWS IAMユーザ作成ユーザ作成 ポリシー設定Amazon Product Advertising APIを利用するには、AdministratorAccessの権限が必要です。「既存のポリシーを直接」
ドメインサービスとは?Windows Communication Foundation(WCF), Silverlight周りで出てくるドメインサービスとは一体なにものだろうか。 ドメイン駆動設計(DDD)の文脈から読み解いてみる。 「サービス」と聞くと、粒度の粗いコンポーネント(リモートクライアントから複雑な業務システムを利用できるようにするもの)を想像するかもしれないが、ドメインサービスは違う。 また、アプリケーションサービスも頭に思い浮かぶかもしれないが、それも違う。 アプリケーションサービスには、ビジネスロジックを組み込みたくないが、ドメインサービスにはビジネスロジックを組み込んでおきたい。 時には単純に「物」や「値」にはできないこともある。 ドメインにおける重要なプロセスや変換処理が、エンティティや値オブジェクトの自然な責務でない場合、その操作は、サービスとして宣言される独立した
久々に、vagrantを触ろうと思い、どうせならバージョンアップしてから使おうと思い、Virtualboxから入れ直そうとしたらちょっとハマった時の話です。 環境El Capitan Version 10.11.4※ VirtualboxとVagrantのバージョンはメモしていませんでした 事象dmgファイルをダウンロードして、Vagrant.pkgやVirtualbox.pkgをダブルクリックしたところ、以下のようにチェックが終わらない現象になった。 原因virtualbox.org • View topic - [INSTALL] Verifying “VirtualBox.pkg”… never clears – El Cap 10.11.4 を見ると、System Integrity Protection(SIP)絡みでインストールが弾かれるみたい。 System Integrit
以前、Angular.jsで作成したFlickrアプリを、Electron + Mithril.jsで焼き直した。 Angular.jsは重厚長大な感があり、個人で使う分にはちょっと過剰すぎる気がする。どうせなら、VirtualDOMの概念も合わせて学びたかったので、まずReact.jsのチュートリアルをしたのだが、JavaScript初心者が使う分には、ES6, Babel, JSXなどなど、新しく学ぶ概念が多すぎる気がして挫折した。 他に何かシンプルなフレームワークはないか、探していたところ、ElectronとMithril.jsの組み合わせの記事をQiitaで見かけたので試してみた。 Electron と Mithril でソースリーディングを助けるアプリをつくってみた - QiitaElectron + Mithrilで、ふつうのデスクトップアプリを作る - Qiita結論から言う
Hugoが爆速であること、HugoがGolangで作られていて読みながら勉強したいという理由で、JekyllからHugoに移行した。 基本的には、_postディレクトリにあるものを、Hugoでいうcontent/postディレクトリに配置すればよい。テーマを指定せずに、Hugoとしても何も出力されないのでそこは注意すること。 JekyllからHugoへ移行する際にハマった点を残しておく。 日付フォーマットの変更2015-08-30-post.markdown jekyllだと、2015-08-30 10:30で認識していたが、Hugoで読み取る日付フォーマットは、以下の通り。 2006-01-02T15:04:05Z07:002006-01-02T15:04:05Mon, 02 Jan 2006 15:04:05 -0700Mon, 02 Jan 2006 15:04:05 MST02 J
sqlite3-rubyを使って、SQLite3にアクセスしてデータの取得、加工がしたい。 db.executeした際に配列が帰ってきた。カラム名でアクセス出来る方法がないか探したところ、results_as_hash = trueにすれば、Hashで返ってくることがわかった。 SQLite3/Ruby FAQ I’d like the rows to be indexible by column name.By default, each row from a query is returned as an Array of values. This means that you can only obtain values by their index. Sometimes, however, you would like to obtain values by their colum
このページを最初にブックマークしてみませんか?
『SIS Lab - SIS Lab』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く