【8選】海外で人気のAIツールが日本語で使えるか試してみた

海外のAIツール

今日は話題のAIを使って作業効率が向上できるツールを8つ紹介します。すべて海外からのウェブアプリケーションになりますので、ほとんど英語かGoogole翻訳で翻訳して使う事になります。日本語のユーザーでも使えるものと使えないものに分かれたので紹介していきます。 1.PDFGPT サイト:PDFGPT PDF解析ツールになります。解析したあとはチャット形式で文章の内容を回答してくれれます。 使い方 試した感想: 現在はアクセスが多すぎて無料の範囲ではサービスを提供していないため、使えませんでした。デモを見たところ、長い論文も解析して、自分の質問(例えば、時系列で出来事を並べて。とか、○○事件にかかわった人物を紹介して、など)に答えてくれるのでかなり役に立つと思います。 2.Parrot AI Parrot AIとは音声ファイルや動画ファイル、もしくはZoomミーティングの音声をテキストファイルに出力してくれるAIツールです。 試した感想: 実際に動画を上げて試してみましたが、英語でしか音声の解析ができないようなのでなかなか活用する場面が出てこなさそうです。しかし、無料でGoogleアカウントを使って試しすことができるので、今後の日本語への対応に期待! 3. Adobe Enhance クリエイターの必須ツールのIllustratorやPhotoshopを提供するAdobeから音声のクオリティを向上させてくれるAdobe Enhance AIが誕生! 使い方: 使ってみた感想: これで部屋のエコーや、車のノイズなどが取り除かれてスタジオで録音した環境に近い音声が手に入ることができました。素晴らしい!iPhoneのボイスレコーダーのノイズ削減の機能よりも優れているかと思います。 4.invideo.io テキストから動画を作成してくれる動画作成ツールになります。動画のストックも有料サービスを使えばかなり増えるようです。また、作成した動画に音声を追加することもできます。例えば、アメリカで役に立つ知識の紹介と入力すると、AIが生成したリストが出力されそれに合わせた動画とBGMを作成してくれます。 使ってみた感想: 入力したテキストから、AIが文章を作成してくれてそれに合わせた動画を作れるのは素晴らしいが安っぽい感じが否めないです。これに自分の音声を追加してテキストを修正してやっと人間らしさが追加できそうです。使い方によってはかなりの時間削減になりそうです。音声は日本語に対応したテキストスピーチの機能のあるので面白いです。 また、作った動画を出力するには有料アカウントでないといけないので、有料のサービスとして使うことになります。 5.perplexity.ai perplexity.aiはAI検索エンジンで、ChatGPTとMSソフト社のBingサーチエンジンのテクノロジーが使用されています。 検索結果をもとにフォローアップの質問ができる部分はChatGPTと同じです。 使ってみた感想: データの信ぴょう性を確認するために情報源を一目で確認できないこと、リソースとなるのURLがクリックしないと見れない部分は個人的に好きではありませんでした。しかし通常の検索エンジンにはない、フォローアップで検索できる機能は今後のブラウザでデフォルトでついてきても良いかなと思いました。 モバイルのアプリのあるのですが、検索結果が表示されるまで数分かかりました。 現在は日本語に対応していないので、楽しみ待っておきます。 6.Stable Diffusion(おすすめ) Stable Diffusionはテキストから画像を生成してくれるAIツールになります。登録不要でホームページからそのままテキストを入力するだけなのでとても簡単に使えます。 使ってみた感想: 下記に、金髪のおじさんがPCをもって笑っていると入力した結果です。 なんとも惜しい結果に。。(金髪じゃないと、ね。) では同じリクエストを英語にしてみました。 イエス!イエス!イエス! ではアジア人にします。 これは素晴らしい!面白くてずっと使えそうです。 7.Magic Eraser Magic Eraser:マジックイレーサーも登録不要で簡単に画像にある物体を消してくれるツールになります。 家の不要な家具を削除したい場合や著作権のあるものを除いた写真が必要になったときなどに使えそうです。 使ってみた感想: 簡単にオブジェクトを取り除けるのでサクッと作業をしたい場合に活用できそうです。悪い部分は特になさそうかな? 8.Prime Voice Prime … Read more

Web3ってなに?Web3を徹底解説

Web3とは何か Web3は、分散型のインターネットの新たな進化形を指す用語です。Web3は、ブロックチェーンや分散型台帳技術、暗号通貨などの技術を活用して、従来の中央集権型のWeb2.0から、よりオープンで自由なインターネットへの移行を促進することを目指しています。 従来のWeb2.0は、ユーザーが中央集権的なプラットフォームや企業に依存している一方、Web3は分散型のアプリケーションやサービスを可能にすることで、ユーザーの自己主導性やプライバシーを強化し、中央集権的な権力や制約からの解放を提供します。 Web3の技術的な要素には、ブロックチェーン技術があります。ブロックチェーンは、分散型台帳として機能し、透明性やセキュリティを提供します。また、スマートコントラクトと呼ばれるプログラムも重要な要素であり、自動的に実行される契約を可能にします。 さらに、Web3では暗号通貨が重要な役割を果たしています。暗号通貨は、分散型のデジタル通貨であり、取引やネットワークへの参加に使用されます。これにより、ユーザーは従来の中央集権的な決済システムに依存する必要がなくなります。 Web3の目標は、ユーザーがより自由にデータやアプリケーションを所有し、自己のデジタルアイデンティティを管理し、中央集権的な権力構造からの解放を実現することです。分散化されたエコシステムを通じて、個人の所有権、セキュリティ、プライバシー、自己表現の権利を強化することを目指しています。 Web2とは Web2(Web 2.0)は、従来の静的なウェブページから、より対話的でコラボレーションが可能なウェブの進化形を指す用語です。Web2は、2000年代初頭に登場し、現在も広く使われているインターネットの形態です。 Web2の特徴は以下のようなものです: Web2は、ユーザー参加や対話性、クラウドコンピューティングなどの特徴により、インターネットの普及と発展を促進しました。しかし、Web2ではデータの管理やプライバシーの問題、中央集権的な権力の集中などの課題もあり、それらを解決するためにWeb3の概念が注目されています。 Web3の例 Web3のコンセプトを活用したウェブサイトの例は以下のようなものがあります: これらはWeb3のコンセプトを応用したウェブサイトの一部ですが、Web3はまだ新しい概念であり、さまざまなプロジェクトが開発されています。今後、さらに多くのWeb3のウェブサイトやアプリケーションが登場することが期待されています。 Web3開発に貢献している組織 Web3は分散型の概念であり、中央集権的な組織や会社が直接的に管轄しているわけではありません。代わりに、Web3は分散型のエコシステムであり、コミュニティや開発者、プロトコルの貢献者によって形成されています。 ただし、いくつかの組織やプロジェクトがWeb3の発展や技術の推進に関与しています。これらの組織は、プロトコルの開発やツールの提供、スタンダードの策定など、Web3の基盤を支える役割を果たしています。以下にいくつかの主な組織やプロジェクトを挙げます: これらは一部の例であり、Web3エコシステムにはさまざまな組織やプロジェクトが関与しています。Web3の進化は、開発者やコミュニティの協力と参加によって推進されているため、分散化と共同作業が特徴的な動きとなっています。 Web3のサイトをホスティングするには Web3のサイトをホスティングする方法は、従来のWeb2とは異なります。Web3のサイトは、分散型の技術やプロトコルを利用してユーザーによってホスティングされることが特徴です。以下にいくつかの一般的な方法を説明しますが、注意点として、具体的な手法はプロジェクトや技術によって異なる場合があります。 これらの手法は一般的なWeb3のホスティング方法の一部です。ただし、具体的なツールやプロトコルの選択は、プロジェクトの要件や技術スタックによって異なります。Web3のエコシステムはまだ発展中であり、新しいツールや技術が登場しているため、最新の情報やドキュメントを参照することをおすすめします。 Web3でブログサイトを公開するメリットはある? Web3を利用してブログサイトを公開することにはいくつかのメリットがあります。以下にいくつかの主なメリットを挙げます: Web3の短所は Web3にはいくつかの短所や課題も存在します。以下にいくつかの主な短所を挙げます: これらはWeb3の短所や課題の一部ですが、技術やエコシステムは進化し続けており、これらの課題への取り組みや解決策が模索されています。 Web3で使用されているプグラミング言語は Web3にはさまざまなプログラミング言語が使用されていますが、以下にいくつかの主な言語を挙げます: これらは一部の主要なWeb3関連プログラミング言語の例ですが、Web3のエコシステムは活発に進化しており、新しい言語やツールが登場する可能性もあります。具体的なプロジェクトやプラットフォームによって、異なる言語やフレームワークが推奨される場合もあるので、プロジェクトの要件に応じて適切な言語を選択することが重要です。 まとめ Web3は人々の生活や社会に大きな影響を与える可能性を秘めています。自身の学びを社会への貢献につなげることを忘れずに、イノベーションの一翼を担うことを目指しましょう。 お疲れ様です。

Webpackについて徹底解説

Webpackとは

Webpackは、JavaScriptアプリケーションやウェブサイトのためのモジュールバンドラー(Module bundler)です。JavaScriptやその他の関連リソース(CSS、画像、フォントなど)をモジュールとして扱い、それらをバンドルして最適化されたファイル群を生成します。 Webpackは、モダンなウェブ開発の中で重要な役割を果たしています。以下にWebpackの主な機能と特徴を説明します: Webpackは、モダンなウェブ開発において、モジュール管理やバンドル最適化のための重要なツールとなっています。複雑な依存関係やリソースの統合を効率的に処理し、効果的なウェブアプリケーションのビルドを実現することができます。 Webpackの開発者は誰? Webpackの開発者は、Tobias Koppers(トビアス・コッパース)です。彼はドイツのソフトウェア開発者であり、Webpackの初期のバージョンから開発に関与してきました。Tobias Koppersは、モジュールバンドリングと効率的なウェブ開発のためのツールとしてWebpackを作り上げ、コミュニティの支援を受けながら、多くの機能や改善を加えてきました。Webpackは、彼の努力と貢献によって広く普及し、現在では重要な開発ツールとして広く使われています。 Webpackの短所は? Webpackは非常にパワフルなツールですが、いくつかの短所も存在します。以下にWebpackの一般的な短所をいくつか挙げます: Webpackの代替オプション Webpackの代替オプションとして、いくつかのモジュールバンドラーが存在します。以下に代表的なオプションをいくつか紹介します。 Webpackはフロントエンド開発において必須か Webpackは、フロントエンド開発において非常に一般的なツールですが、必須の知識とは言い切れません。Webpackはモジュールバンドラーであり、複数のJavaScriptファイルやその他のアセット(CSS、画像、フォントなど)をひとつのバンドルファイルにまとめるためのツールです。 フロントエンド開発では、Webpackを使用してモジュールの管理やバンドルの最適化、リソースのローディングなどを行うことで、効率的でメンテナンス性の高いコードベースを構築することができます。特に大規模なプロジェクトや複雑なアプリケーションの開発では、Webpackの知識が重要となります。 ただし、Webpackを使わなくてもフロントエンド開発を行うことは可能です。代替のツールやフレームワークを使用する場合や、小規模なプロジェクトや個別の要件に応じて、Webpackを使わずに開発を進めることもあります。 したがって、Webpackの知識はフロントエンド開発において非常に役立つものですが、必須ではありません。 Webpackのコンフィグ Webpackの設定は、通常、プロジェクトのルートディレクトリにあるwebpack.config.jsという名前のJavaScriptファイルで行います。以下は、基本的なWebpackの設定方法の例です。 この例では、エントリーポイント、出力パスとファイル名、モジュールの設定(JavaScriptファイルのトランスパイルやCSSファイルのロード、画像ファイルのロードなど)、およびプラグインの設定が含まれています。 Viteの登場 Viteは、Webpackに代わる新しいモジュールバンドラーとして開発されたツールです。Viteは、開発時の高速なリロードやホットモジュールリプレースメント(HMR)などの特徴を持ち、より高速な開発体験を提供します。 ViteはデフォルトではWebpackではなく、esbuildという高速なビルドツールを使用しています。esbuildはバンドルとトランスパイルの機能を持ち、非常に高速で効率的なビルドを実現します。 ただし、ViteはプロジェクトのビルドプロセスにWebpackを使用することも可能です。Viteでは、Webpackをオプションとして選択することができます。これは、既存のWebpackプロジェクトをViteに移行する場合や、特定のWebpackプラグインやカスタム設定を使用する必要がある場合に便利です。 したがって、ViteはデフォルトではWebpackではなくesbuildを使用していますが、Webpackを使用するオプションも提供しています。プロジェクトの要件や好みに応じて、ViteとWebpackの組み合わせを選択することができます。 まとめ 個人的な意見としては、Viteは特に開発時の高速なリロードやホットモジュールリプレースメント(HMR)の体験において優れていると感じます。特にVue.jsプロジェクトにおいては、Viteのパフォーマンスが顕著に現れます。一方で、Webpackは柔軟なカスタマイズ性と豊富なエコシステムが魅力であり、複雑なプロジェクトや特定の要件に対応するために重宝されます。 どちらを選ぶかは、プロジェクトのニーズや個人の好みによります。両方のツールについて試してみて、自分の開発スタイルや要件に最も適したツールを選ぶことをおすすめします。

How to create and restore Django database

Djangoのデータベースをバックアップ

Hi coders!

We really want to protect our Django database from getting attacked or some sort of database corruption especially after the deployment.

I will explain how to easily create a Django database backup and restore the database by using Django dbbackup library.

Installing django-dbbackup

First, let’s take a quick look at this django-dbbackup.

Then, let’s use the command below to install the library.

pip install django-dbbackup


#If you want to keep the dependency in the text.
pip freeze > requirements.txt

Next, let django know that we added the dbbackup library in the Django project file > settings.py.

We also want to add the detabase backup output location as well.

INSTALLED_APPS = (
    ...
    'dbbackup',  # django-dbbackup
)

DBBACKUP_STORAGE = 'django.core.files.storage.FileSystemStorage'
DBBACKUP_STORAGE_OPTIONS = {'location': '/my/backup/dir/'}

We can modify the storage option like this.

It will create a “dump” folder in the same django application path.

DBBACKUP_STORAGE = 'django.core.files.storage.FileSystemStorage'
DBBACKUP_STORAGE_OPTIONS = {'location': BASE_DIR/'dump'}
Django dbbackup

We can create a “dump” directly in the stated file path in the settings.py.

Use command to create a backup

Now we are ready to take a database backup file from command line.

Let’s use this command to create a backup file.

python manage.py dbbackup
Django database backup

Now we can confirm that we have a database backup file.

Restore database from the backup

Let’s use the backup file to restore the django database.

Django Admin panel

Let’s add a sample record to see if it changes after restoring to the empty database file.

To restore, we can use this command below.

python manage.py dbrestore
python manage.py dbrestore

Now, we can confirm the database is restored.
Congratulations!

独学でプログラミングを学ぶときにモチベーションを持続するには

独学でモチベーションを持続させる

独学プログラマー、もしくはプログラマーを目指す皆さん、お疲れ様です。 今日は、モチベーションについて語っていきたいと思います。皆さんはプログラミングを初めてどれくらいになりますか?これからもあきらめずにプログラミングの学習を持続できそうですか? 独学で学ぶにあたりモチベーションを持続するコツを紹介するので是非試してみてください。 プログラミングのモチベーションを持続するコツ① なぜ、プログラミングではないといけないのか? プログラミングを学びたい理由は何ですか?給料が良いから?それとも自宅から働けるから?今の仕事を変えたいから? それともWebの開発やソフトウェアに興味があるから? もしプログラミングをしたい理由が明らかでない==学び続ける理由がないという事です。 また給料が良いだけではプログラミングである必要はありません。 プログラミングでなければいけない理由がないと、長時間PCに向かう作業がただの苦痛になってしまいます。 同じように、プロの野球を目指したい人が野球のルールを知らずにプロにはなれません。野球のルールを知らずに野球の楽しさはわからないですよね? では次の質問にもつながりますが、プログラミングの基礎を知らずになぜプログラミングでなければいけない理由が語れるでしょうか? プログラミングのモチベーションを持続するコツ② 常に興味のあるトピックに敏感になれ JavaScriptのエンジニアになりたい場合は単純にJavaScriptのビルトインのメソッドだけ覚えていればよいわけではありません。 例えば高級車のディーラーで成功するためにはどうすればよいか考えてみましょう。きっと新車のデザインに詳しくなりたいと思いませんか?また各メーカーごとにエンジンが動く仕組みの違いが説明できて、ちょっとした修理までできれば頼れるセールスマンとして成功できそうですよね。 同じようにプログラミングを学ぶ上でメインの学習とは別に興味のあるトピックを見つけて調べてみましょう。例えばブラウザのJavaScriptエンジンがどのようにコードを読んでいるのか、クロームのエクステンションがどのような仕組みになっているのかです。 更にデータベースとのコミュニケーション、LinuxのOSの使い方、SSHの使い方、VPNのセットアップの仕方など、メインの学習に関係のないトピックでも大分野としては同じカテゴリに属しています。 これらの知識は糸のように紐づけられて後からこれかっ!という瞬間に出くわすことになります。 また、メインの学習のトピックでも新しいフレームワークを調べてみたり、プログラミングに関するポッドキャストを聞いてみるとか聞いてみて常に頭に新鮮な刺激を与えてあげることはモチベーションを持続する重要なコツになります。 プログラミングのモチベーションを持続するコツ③ プログラミングで今のライフスタイルを改善できるか? プログラミングは衣食住には関係なく、プログラミングなしでも生きていくことはできます。しかし、プログラミングなしでどの分野の産業の作業効率化や管理の向上を図ることはできなくなりました。 今の仕事で困っていることがあってプログラミングで解決できますか? 例えば、顧客のリストをエクセルで管理していたものをデータベースに保管してソフトウエアからチャートを作成し、CRUD(Create,Read,Update,Delete)操作を行えるようにすると作業効率があがるとか。 例えば、自分で管理している株式やFXの資産と一か所で管理したい場合に自分で動きをトラッキングできるアプリを作りたいとか。 最初は難しいものはできなくでもそれらにつながるようなボタンの作成やログイン画面の作成から取り掛かっていけば、実際に使える場面を想像できるのでより楽しくなります。 今、目にしているものでプログラミングを使って改善できるか考えてみましょう! プログラミングのモチベーションを持続するコツ④ ゴールを明確にする 明確な目的地なしでは車のナビゲーションもどうやって誘導したらよいか困ってしまいます。 ですので、常に明確なゴールを紙に書いて貼っておくなり常に頭に理解させておきましょう。 例えば、プログラミングでキャリアを変えたい場合: ①どのような仕事がしたいか ②どのようなプログラミング言語が必要か ③どのようなレベルのスキルが必要か ここまでわかれば後はスケジューリングの問題です。 ④いつまでにどのレベルに達成していないといけないか ⑤そのためには今日どの学習をするべきか ゴールは常に変わるものです。学習の途中でやっぱりPythonを学びたいと思ったら調べるものありです。しかしゴールを変えた場合には同じように明確な目的地とそのルートを示していかなければいけません。 プログラミングのモチベーションを持続するコツ⑤ 記録を残す では、単純にゴールに向かってロボットのように日々学習をすることは現実的でしょうか? 常に、今日学習したことの記録を残すことで、翌日に前回までの記録を見ることができます。この毎日の成果を振り返ることがモチベーション持続のコツであることは経験者の私が約束いたします。 そして1年後にはどれくらいの成果を出せたか明確に理解することができますね。 まずは、本を読んだら読んだところまでの日付を書いておく。コードを書いたらGitHubにプッシュしてリポジトリを作成するなど簡単な所から始めてみましょう。 おまけ 英語で学ぶ 私はアメリカに住んでいることもありますがすべての学習、エンターテインメント、プログラミングは英語で行っています。 これは英語の方が圧倒的な情報の多さがあり、さらに最新の情報も手に入れることができます。 日本にいる場合は話せなくても、聞けて読めればよいのですからこれを毎日のトレーニングに取り入れるべきです。 特に英語で字幕なしで映画を見たり、簡単な動画が分かるようになればそこから本当の面白さが実感できるようになります。 プログラミングは最初の6か月が大変だと思います。 まずは、毎日プログラミングを生活の一環に入れられるように試してみてください。