スキップしてメイン コンテンツに移動

投稿

3月, 2020の投稿を表示しています

PythonでSyntaxError: Non-ASCII character が出た時の対処

PythonでSyntaxError: Non-ASCII character が出た時の対処はじめにとても初歩的なことですが、Pythonで作ったコードを実行した時に、「SyntaxError: Non-ASCII character」が出た時の対処方法についてメモします。解決ファイルの先頭に、以下の1行を入れるだけで解決します。# coding:utf-8 このエラーが出る原因は、PythonはデフォルトのファイルエンコーディングがAsciiになっているためにエラーが出ます。日本語はAscii文字セットに収録されていないため、Pythonが文字を解釈できないようです。なので、ファイルの先頭に「coding:utf-8」のようにエンコーディングを指定してやれば、OKって感じです。

axiosの使い方まとめ (GET/POST/例外処理)

axiosの使い方まとめ (GET/POST/例外処理)最近何かとよく使うJavaScriptでAJAX通信を行うaxiosについて、簡単に使い方をまとめました。GETリクエストをaxiosで送るまずはGETリクエストをaxiosで送る方法です。const res =await axios.get('/users') console.log(res.data)分割代入の記法を使うと、以下のようにも書けますconst{data}=await axios.get('/users') console.log(data)クエリパラメータ (URLパラメータ)を指定クエリパラメータを指定する方法は2つあります。1つ目は、axios.getに指定するURLに直接記述する方法です。axios.get('/user?id=123')2つめは、axios.getの第2引数に、オプション指定する方法です。axios.get('/user',{ params:{ id:123}})POSTリクエストをaxiosで送る次はPOSTリクエストをaxiosで送る方法です。JSON形式でPOSTするJSON形式でPOSTする場合は、axios.postの第2引数に、送信するデータをJavaScriptオブジェクトで指定します。const res =await axios.post('/user',{ id:123, name:'Yamada Tarou'})application/x-www-form-urlencoded形式でPOSTするapplication/x-www-form-urlencoded形式でPOSTする場合は、URLSearchParamsを使います。var params =newURLSearchParams() params.append('id',123) params.append('name','Yamada Tarou')const res =await axios.post('/user', params)axios でファイルをアップロードする画像などのファイルを、axiosでアッ…

文字単価「2円」のホワイト案件。実は... | クラウドワークスのブラッグ案件紹介シリーズ

文字単価「2円」のホワイト案件。実は… | クラウドワークスのブラッグ案件紹介シリーズクラウドワークスは、在宅でリモートワークーの仕事が探せる便利なサイトです。この記事では、クラウドワークスに登録されいる仕事の中から、超低報酬のブラック案件を紹介していきます。私もクラウドワークスで仕事受けている1人のワーカーです。この記事はクラウドワークスを批判したい訳ではなく、クラウドワークスにはびこる「ブラック発注者(クライアント)」が絶滅して、クラウドワークスがより良いサービスになることを願って書いています。文字単価「2円」のハズが…クラウドワークスに、こんな仕事が登録されていました。項目内容仕事の概要「構成」から作成したことのあるライターさん歓迎!「構成案」作成者さん募集【1本最大1,000円】報酬金額1,000 (文字単価 2円)最低文字数500文字この案件の文字単価は2円で、他のクソ案件にくらべると非常に高いほうだと思います。「構成案」から作成なので、少し難易度は高いようです。上記だけ見れば、ブラック案件とは言えません。しかし、案件の詳細でこのブラック案件が正体を表しました。実は「文字単価:0.16円」の詐欺案件だった案件の登録内容には、文字単価「2円」と書きながら、案件の詳細にコッソリと次の内容が書かれていました。■給与について 800円~1,000円/1本(約5,000文字程度の記事) えっ??全然「文字単価:2円」じゃない…
文字単価が2円なら、5,000文字の記事なら10,000円が報酬になるはずです。なんと、クラウドワークスの案件内容には、「文字単価:2円」と歌っておきながら、実は 「文字単価:0.16円」の詐欺案件でした。もし、気付かずに応募したら大変です。おそらくこの発注者は、5,000文字の記事1本を10,000円で応募させて、実際は「1本(5,000文字) 800円なので、10記事以上 (50,000文字)以上の作成を、ワーカーに求めるつもりでしょう。なんと恐ろしい…まとめクラウドワークスには、うまくやればアルバイト以上に稼げる仕事も多く登録されています。しかし、今回紹介した仕事のように、超低報酬なブラック案件が多く登録されているのも事実です。これは、ブラック案件を発注するクライアントが悪なのは当然ですが、ブラック案件を受注してしまうワーカ…

記事単価0.01円?クラウドワークスのブラッグ案件紹介シリーズ

記事単価0.01円?クラウドワークスのブラッグ案件紹介シリーズクラウドワークスは、在宅でリモートワークーの仕事が探せる便利なサイトです。この記事では、クラウドワークスに登録されいる仕事の中から、超低報酬のブラック案件を紹介していきます。私もクラウドワークスで仕事受けている1人のワーカーです。この記事はクラウドワークスを批判したい訳ではなく、クラウドワークスにはびこる「ブラック発注者(クライアント)」が絶滅して、クラウドワークスがより良いサービスになることを願って書いています。文字単価「0.01円」のブログ記事作成クラウドワークスに、こんな仕事が登録されていました。項目内容仕事の概要ブログ記事の作成依頼。おすすめのお店を紹介する記事を書いてください。報酬金額5円 (文字単価 0.01円)最低文字数500文字はい、ブラック!原稿用紙1枚以上の文章を書いて5円って… 仕事を受けるワーカーさん達をバカにしているとしか思えません。しかもこのクライアント、こんなちっぽけな報酬なクセに、お店のおすすめ写真を最低1枚提供することを求めていました。こんなクライアントは早々に消えて欲しいものです。500文字の記事+写真の準備にかかる時間実際に500文字の記事作成と、写真の準備にかかる時間を考えてみましょう。人によって作業時間は違うと思いますが、おおよそ以下のようになると思います。作業項目内容所要時間ネタだし過去の記憶からどのお店、どんな内容を紹介するのか構想を練る5分記事作成書く内容が決まったら、実際に500文字の記事を書く10分確認誤字脱字などがないか確認5分画像選定インターネットでお店のおすすめ画像を探す5分納品ワーカーサイトで、記事の納品を行う5分上記の作業を合計すると、このブラック案件では、約30分程度の作業時間が必要になります。時給換算すると、時給2.5円です。。。
もう、最低賃金を下回っているというレベルの話ではありません。まさに奴隷です。このようなブラック案件に引っかからないように、仕事の応募前に推定作業時間を見積して、報酬が妥当かどうかよく考えましょう。まとめクラウドワークスには、うまくやればアルバイト以上に稼げる仕事も多く登録されています。しかし、今回紹介した仕事のように、超低報酬なブラック案件が多く登録されているのも事実です。これは、ブラック案件を発注するクライア…

JETBOYの特徴を、実際に使っている私が解説!

JETBOYの特徴を、実際に使っている私が解説!JETBOYの特徴料金が安いWordPressが使える、数あるレンタルサーバー中で、JETBODYの最大の魅力は「料金の安さ」です。以下は、主要なレンタルサーバーの最安料金を比較したグラフです。JETBODYの料金が安いことがお分かり頂けると思います。
サイト表示が早いSSDによる高速化や、WebサーバーにLiteSpeedを採用していることにりょい、ほかの同程度か少し高い価格帯のレンタルサーバーと比べ、サイト表示が断然速いです。バックアップが自動で復元も無料JETBOYは、サーバー内のデータを自動でバックアップしているため、間違ってデータを消した時や、障害等が発生した場合でも、バックアップからデータが復元できます。他のレンタルサーバーは、復元が有料の所がありますが、JETBOYは復元も無料です。JETBOYのデメリット最安プランでは月間PV 5万が目安JETBOYは、データ転送無制限ですが、料金プランによって実質的に性能限界があります。最安プランのミニSSDプランの場合、月間PV5万が目安になります。
※ 記事の画像の数などによってPV数の目安は前後します。
まずはスモールスタートレンタルサーバを選ぶとき、ディスク容量が少ないと心配になりますが、今回紹介したミニ SSDプランの5GBでも、個人のブログであれば数千記事ほど書けるため、問題なく十分に運用できます。
まずは、費用を抑えてスモールスタートしましょう!JETBOYのいいところで、後から簡単に上位のプランにアップグレードできます。記事の数やPV数が増えたタイミングで、アップグレードすれば問題ありません。「君に決めた!」

Bloggerで最初にやるべき6つの設定!独自ドメインも設定

Bloggerで最初にやるべき6つの設定!独自ドメインも設定Bloggerのブロガーさん、こんにちわ。今回は、これからBloggerを使おうと思っている人Blogger を使い始めたばかりの人を対象に、Bloggerで絶対にやっておくべき設定を6つ紹介します。特に2018年1月から、Bloggerは独自ドメインにもHTTPSをサポートしました。HTTPS化を忘れている人は、この機会に設定しましょう。ではさっそく見ていきましょう。タイトルあなたのブログのタイトルを設定します。
タイトルは好きな名前でよいですが、執筆する記事と関連がある方が、SEO的に良いと言われています。タイトルの設定は、Bloggerの管理画面 → [設定] → [基本]で表示されたページから設定します。
説明ここで入力した内容は、タイトルの下に表示されます。ブログの簡単な説明を、最大で300文字入力できます。ただ文字数があまり多いと見にくくなため、20 - 40文字程度がよいかもしれません。
説明には、特定の記事に対する説明文ではなく、ブログ全体の説明を簡単に書きます。入力例日本全国1000店舗のラーメンを食べ尽くしたラーメンマニアが、絶品ラーメンを紹介! 説明は、Bloggerの管理画面 → [設定] → [基本]で表示されたページから設定します。
プライバシー超重要な設定です。あなたのブログをGoogleの検索結果に表示するのか設定します。ブログをGoogleの検索結果に表示する設定(プライバシー)プライバシーの設定は、Bloggerの管理画面 → [設定] → [基本]で表示されたページの、「プライバシー」の欄から設定します。Googleの検索結果にあなたのブログを表示するには、以下の表の通り設定を行なってください。項目設定値リストにブログを追加しますか?はいブログの検索を検索エンジンに許可しますか?はいここを間違えて「いいえ」してしまうと、Googleクローラーが検索対象外のサイトと判定し、どれだけ頑張って記事を書いてもGoogleの検索結果に表示されなくなります。逆に本当にGoogle検索結果に表示されたくない場合は、「いいえ」を設定してください。
ただ、注意して欲しいのは、たとえ「いいえ」を選択したとしても、誰でもあなたのブログを閲覧できることに変わりはありません。ブラウザに直接URL…

[pymongo]ドキュメント数を取得(カウント)する最速の方法を検証。cursor.count()とcount_documents()ってどっちが早い?

[pymongo]ドキュメント数を取得(カウント)する最速の方法を検証。cursor.count()とcount_documents()ってどっちが早い?はじめにpymongoで検索結果のドキュメント数を知る方法に次の2通りのやり方がある。cursor型のcount()で件数を取得する方法ret = collection.find(filter={検索条件}).count() コレクションのcount_documents()関数で取得する方法ret = collection.count_documents(filter={検索条件}) どっちを使っても、条件に一致するドキュメント数が取得できます。
この記事では、上の2つの方法の内、どちらの方が高速に動くのかを検証してみます。テストデータ今回、実行時間の比較で使用するデータ(コレクション)は、次のような「ユーザID」「ユーザ名」と「点数」を持つ一般的な成績表データを使用します。なお、「点数」には1〜1000までのランダムな値を設定しておく。idnamescore (ランダム値)1ユーザ11002ユーザ29503ユーザ3550………Round1. 1000ドキュメント、filterなし(全件)1回戦目は、簡単な条件で実行時間を測定してみたいと思います。以下の条件で実行時間を3回計測し、その平均値を比較しています。ドキュメント数: 1000検索条件: なし実行結果この程度の件数であれは、どちらの関数を使用しても同じ時間で結果が返ってきます。使用関数実行時間corsor.count2.28mscollection.count_documents2.85msRound2. 10万ドキュメント、filterなし(全件)2回戦目は、ドキュメント数を一気に増やして10万件で実行時間を比較してみます。ドキュメント数: 10万検索条件: なし実行結果corsor.countの方が50倍近い速さで結果が返ってきています。この結果を見る限りだと、ドキュメント数の取得は、corsor.countを使った方がよさそうですね。使用関数実行時間corsor.count2.00mscollection.count_documents55.34msRound3. 10万ドキュメント、filterあり次のは、検索条件を指定した時の実行時間を比較してみ…

pymongoとMongoDBでNo SQLが楽しくなる!

pymongoとMongoDBでNo SQLが楽しくなる!はじめにPython + pymongoでMongoDBにアクセスする方法を解説します。MongoDBは世界的に人気のNoSQL DBで、DBMSをランキングしているDB-Enginesでは、Oracle、MySQLなどに次いで、5位になっています。この記事を書くにあたって使用した環境は、以下の通りです。Python 3.7 pymongo-3.10.1 MongoDB 4.2 前提データusers.insert_one({"id":1,"name":"山田 太郎","age":20}) users.insert_one({"id":2,"name":"山田 次郎","age":25}) users.insert_one({"id":3,"name":"山田 三郎","age":40}) users.insert_one({"id":4,"name":"鈴木 一郎","age":40}) users.insert_one({"id":5,"name":"鈴木 次郎","age":60})idnameage1山田 太郎202山田 次郎253山田 三郎404鈴木 一郎405鈴木 次郎60接続pymongoでMongoDBには、次のように記述します。from pymongo import MongoClient client = MongoClient("mongodb://user:password@localhost:27017")# DB接続(存在しない場合は作成) db = client["testdb"]# コレクションに接続(存在しない場合は作成) users = db["users"]検索条件を指定条件指定はfind関数の引数で指定するコレクショ…