Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
1.はじめに 前回に引き続き、店舗の緯度経度情報を取得します。 今回はMapion電話帳からチェーン展開している企業の店舗情報を取得します。 汎用性を持たせるため、scrapy実行時に引数で以下項目を渡せるようにしています。 ・genre:ジャンルID ・category:カテゴリID ・chain_store:チェーン展開企業ID 例えば、餃子の王将の場合、以下のようになります。 genre=M01(グルメ)、category=002(ラーメン・餃子)、chain_store=CA01(餃子の王将) 2.実行環境・環境構築 実行環境・環境構築は前回と同じ。 3.scrapy item.py、setting.pyの設定も名称/取得項目以外、前回同様なので割愛。 チェーン店舗のトップページ(例)に店舗一覧が載っています。 ただし、このページからは緯度経度情報を取得できないため、各店舗のlin
FAQにも記されていますが、 non-working localStorage in Private Mode. This is a common issue e.g. for websites based on AngularJS. If rendering doesn’t work, try disabling Private mode (see How do I disable Private mode?). Splashはデフォルトでプライベートモードで立ち上がるらしく、プライベートモードだとlocalStrorageが正常に動作しない場合があるよと、、 私は後述するサイトのレンダリングが当初一向にされなかった(=JavaScriptのコードが未解釈だった)ので--disable-private-modeオプション付でdocker runを行ったところ、キチンとレンダリングされる様
replaceは最初の検索文字しか置き換わらない replaceメソッドを用いた標準の方法では、一番最初にマッチした文字列のみが置き換えられます。replaceFirst的な挙動ですね。 "a b c".replace(' ', '-') // "a-b c" JavaScriptで文字列を全置換する方法 JavaScriptで文字列を全置換するには、正規表現を用いるか、split join メソッドを組み合わせるテクニックを用いる必要があります。 "a b c".replace(/ /g, '-') // "a-b-c" "a b c".split(' ').join('-') // "a-b-c" 前者がreplaceAll処理に相当する「# 正規表現で文字列を全て置き換える」方法です。 後者は「# split と join で文字列をすべて置換する」テクニックです。 より確実でオスス
document.querySelectorAll(selectors) を Array.prototype.slice.call() ([].slice.call()) の中に入れると、配列で使える map や filter といったメソッドが使えるようになるようです。 サンプル 例として、Qiitaの人気の投稿Beta にある記事のタイトルをコンマ区切りでアラート表示するブックマークレットを作ってみました。 以下のコードをQiitaの人気の投稿Betaを開いている状態でブラウザ上のアドレスバーに貼り付け(貼り付け時に先頭の javascript: が消える場合は javascript: を追記してください)してからEnterキーを押すと実行できます。 ES2015の記法(アロー関数等)は用いていないので、Internet Explorer 11でも動作します。 [].slice.cal
都内でサーバーサイドエンジニアをやっている山下です。 webサービスを作るのが好きで、個人でもいくつか開発をしています。 先日Nuxtとfirebaseを使った個人サービスをリリースしたので、開発から初期ユーザ獲得までに行ったことをまとめておこうと思います。 作ったサービス 行きたい場所への同行者を募集するwithruitを作りました。 もしよかったら、使ってみてください!! 個人サービスなので、もしかしたらバグがあるかもしれません、、。 その際は、お問い合わせフォームから優しく連絡いただけるとありがたいです。 機能一覧 withruitには様々な機能があるのですが、大体がfirebaseを使って実装されています。 今回は、以下の機能について自分がfirebaseでどのように実装したのかを書いていこうと思います。 facebookログイン 投稿(画像アップロード) お問い合わせ 通知 それ
ある日CTOから僕に勅命が下りました。 テストコードを作成せよ... と、 環境はVue + Jestということで色々調べてみたものの、種類が多すぎる... ・https://vue-test-utils.vuejs.org/ja/guides/ ・https://lmiller1990.github.io/vue-testing-handbook/ja/#vue-js%E3%83%86%E3%82%B9%E3%83%88%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF ・https://jestjs.io/docs/ja/testing-frameworks どれみればええねん。 すでにJest-test-Vueのようなライブラリが入っていたのでこれを使うことにしました。 要件の設定 とりあえず、動くテストコードをとのお達しを受
最新版=>フロントエンドのテストについて考える 現在、新規プロジェクトで、Nuxt.js+TypeScriptを使ったSPAの開発を行っています。この記事では、そういったケースにおいての、Nuxt.jsアプリケーションでのテストに対する考え方と、その方法を紹介します。 TL;DR ユニットテスト/結合テスト=>Jest UIテスト=>Storybookをベースに、Jestで足りない部分を補う プロジェクトの技術スタック Nuxt.js Vue.js Vuex TypeScript Docker テスト種別の整理 簡単に、今回登場するテスト種別の整理をしておきます。より詳しくは、ググったり書籍を読んだりするのをおすすめします。 ユニットテスト - 個別の関数やクラス、コンポーネントをテストする。 結合テスト - 複数の関数やコンポーネントをつなぎこんでテストする。 UIテスト - ブラウザを
4日朝に Vue.js #1 アドベント カレンダーを見たら3日のぶんが空いていたので急遽書きました。 私は .vue ファイルを静的検証するための ESLint Plugin を開発しています。 eslint-plugin-vue ( ESLint についてはこちら: ESLint 最初の一歩 ) このプラグインを使うと、.vueファイルのテンプレート部分について、リアルタイムで構文エラーを検出したり、v-bind 等のディレクティブの使い方が間違っていたときに指摘してくれたりします。また、公式の Vue.js スタイルガイド に沿うように自動成形することもできます。 🏃 試してみる eslint-plugin-vue を簡単に試してみるために、オンライン デモがあります (1度アクセスすれば、以後はオフラインでも使えます)。ここでコードを入力して、どのようなエラーが出るのか、どのよう
検索する対象のサイトが多いんじゃあー!! 技術系の記事を読みたい時はQiita、買い物をしたい時はAmazon、場所を調べたい時はGoogleMap 検索しなくちゃいけないサイト多くない!? Googleの検索窓から直接調べたいキーワードを打てばある程度、調べられるけどもっと細かく調べたいんじゃあ!! 特定のサイトの中だけを検索したい時ってありますよね? いちいちサイトに遷移して検索窓にキーワードを打つのがめんどくさい どうすればいいのだ? ChromeにはOmnibox(アドレスバー)の機能に検索エンジンを切り替えて検索することができる機能があります。 ※規定の設定だとGoogleになっています。 Omniboxに検索エンジンの設定をすることでGoogle以外から検索することができます。 興味がある人はぜひ調べて見て下さい!! OmniBoxは良さそうだが、検索エンジンの設定はものすごく
vue.jsのDjangoでの使い所 私がつくっているあるアプリではDjangoにバックエンドで使っていますが、フロントエンドはページによってreactとvueを使い分けています。それぞれに長所があると思って両方使っているのですが、今回はvueの話をします。 vueはreactに比べて柔軟な使い方ができる印象です。Django(APIではなくテンプレート)が吐き出したデータを受け取って要素をつくるような書き方ができます。そしてその結果感動するほどHTMLがすっきりするのです!! DjangoとVueを一緒に使う DjangoにVueを組み合わせる方法については私のを含め下記の記事が参考になるでしょう。 Django + Webpack を使ってVueを動かす Django REST framework with Vue.js Django + Vue.js な開発環境を作ろう コード 例え
なにをしたいか フロントエンドにはVue.jsを用いたシングルページアプリケーションを、バックエンドにはDjangoとDjango REST frameworkを使ったWeb APIを用意して、組み合わせてみます。 先駆者様が既にいらっしゃいますが、ちょっと異なるアプローチを試したので記事にしました。 Django + Webpack を使ってVueを動かす Django REST framework with Vue.js どうやって? Djangoプロジェクトでは通常htmlファイルはテンプレートとして解釈されてレンダリングされますが、そのテンプレート構文がVueと丸かぶり。そのためにVue的なテンプレート構文を持ったhtmlはDjangoテンプレートと共存できません。 そこで、webpackを利用してフロントエンドをVueの単一ファイルコンポーネントに分割しながら書いていくことでこの
Vue.jsでSSR(サーバサイドレンダリング)する はじめに この記事はなにかの Advent Calendar 2016の23日目の記事です. Vue.jsは2系がリリースされてそこそこたちました. 日本語ドキュメントもそろっています. フロントの取りかかりとして簡単でスケールもしやすく良いのではないでしょうか. そこで今回はVue.js2系の大きな特徴であるサーバサイドレンダリングを行ったアプリケーションの制作をしてみたいと思います. 最終的に APIコールをして動的ページのSSRを行う 初期表示以後はSPAとして動く こんなアプリケーションを目指します. 完成版は以下です ソースコード Github 使う物 vuejs vue-router vuex このあたりを使います. 詳しくはソースコードのpackage.jsonを... Step1 静的ページのSSR さぁ作成していきます
Vue.jsミニハンズオン(TODOリスト作成) AngularでもReactでもriot.jsでも満足できなかったひとに、ぴったりフィットなJSフレームワーク「Vue.js」のざっくりハンズオンです。 このハンズオンではnode.jsのパッケージは使わず、Google ChromeとテキストエディタがあればOKです。 Vue.jsミニハンズオンのシリーズは以下を公開しています。 Vue.jsミニハンズオン(TODOリスト作成) Vue.jsミニハンズオン(TODOリストにアニメーションをつける) Vue.jsミニハンズオン(TODOリストをコンポーネント化する) 今回の目標 目標はシンプルなTODOリストの作成です。 WebStorageに保存してリロードしてもデータを保持できるようにしてます。 Chromeの拡張機能を入れる デベロッパーツールでデータを見やすくするためChromeの拡
こちらの記事内容は3年以上前のものなので、記事内にあるアプリケーションなどの動作やUIは実際と異なる可能性があるのでご注意ください。 (2023/01/04追記) iPadでプログラミングwwwアホちゃうかwww ワイ「え?お前全部iPadでプログラミングしてんの?そんなん効率悪いに決まっとるやんw」 ワイ「せいぜいでっかい画面でGithubのコード眺めるくらいしかできないやろwてかハイライトすらないんじゃn」 ?!(Monokaiで表示されとるやんけ...) ワイ「おっ、おう。シンタックスハイライトくらいはできるんやな。」 ワイ「まあ、考えてみればそのくらいは余裕だわなwでもな〜wコードだけ書けてもプレビューは?流石にそれが出来ないことには使えるとはいえn」 ?!?!(localhostで立ててくれるんか...これならCDN使えば簡単なサイトくらいやったらiPadだけで楽に作れるやんけ.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く