プログラミング

プログラミング周辺の記事です

Python

Pythonが遅い理由・C言語が速い理由をシステムコール呼び出し回数から考察する

巷によく聞く、Pythonって遅いよね~~Cは速いよ!という会話。「Pythonはインタプリンタ言語で、C言語はコンパイラ言語だから」がよくある説明なのだが、こんな適当な説明だと、だからどうして?と思うだろう。もうちょっと丁寧に言うと、Python(インタプリタ言語)は一行一行機械語に翻訳して実行するから遅い、C言語(コンパイル言語)は一度にすべて機械語に翻訳するから速い、が理由になる※他にも動的型付け言語であるとかいろいろ理由はありますが話を簡略化してます。ここで、あーなるほどね!となればいいのだが好奇心旺盛な諸君に実際にどういう処理の中身になっているか説明することにしよう。文章で説明するより実機で動かして、自分で確認したほうがわかりやすいと思うのでまずはLinuxの開発環境を整えよう。・Windows10・Virtual Box 6.1・Ubuntu 20.04 Linuxの環境であればいいのだが、WindowsにVirtual BoxでUbuntuを入れている。Cygwinとかだと違うlog出力結果になるのでおすすめしない。
プログラミング

ZOOMとスマホでリアルタイムに字幕付けする

Googleが開発した「音声文字変換」アプリをAndroidのGoogle Playからダウンロードします。次にスマホをパソコンに接続し、スイッチャーというアプリでZOOMの画面に音声認識結果を表示していくというものです。他のツールを使って文字変換の構成を考えている人もいました。
プログラミング

【SkyWay】オンライン会議で文字起こし

オンライン会議アプリというとSkypeとかありますが、僕が欲しかったのは文字起こし機能付きのアプリで、残念ながらSkypeには搭載されていません。他に探すか(たぶん有料)、自分でそういうアプリを作るしかないです。せっかくなのでネットで調べて自分で作ってみることにしました。URLからアクセスし、自分たちでルームを作成、ビデオ通話しながら会話の内容が音声認識で文字起こしされます。
プログラミング

統合開発環境(IDE)のすすめ

統合開発環境とは、エディタやコンパイラ、デバッガなどが統一化された環境のことです。IDE (Integrated Development Environment )と呼ばれることもあります。調べた感じ、以下のような統合開発環境があるらしいです。Eclipse、Xcode、Android Studio、Visual Studio、NetBeans、IntelliJ IDEA、SharpDevelop、Aptana Studio
プログラミング

エディタにVisual Studio Codeを使ってるという話

エディタとはプログラミングをするときにコードを記述するアプリです。 自動で変数に色を付けたり、行数を表示させたりしてくれます。 Windowsではメモ帳もエディタの一つです。(使いづらいですが) 僕がよく使う言語はPyt...
プログラミング

【Ubuntu】 “ロック /var/lib/apt/lists/lock が取得できませんでした” アップデートできないとき

$ sudo apt-get updateの時点で以下のエラーログが出ました。$ sudo apt-get update E: ロック /var/lib/apt/lists/lock が取得できませんでした - open (11: リソースが一時的に利用できません) E: ディレクトリ /var/lib/apt/lists/ をロックできません E: ロック /var/lib/dpkg/lock が取得できませんでした - open (11: リソースが一時的に利用できません) E: 管理用ディレクトリ (/var/lib/dpkg/) をロックできません。これを使う別のプロセスが動いていませんか?
プログラミング

岩波講座 ソフトウェア科学〈〔環境〕6〉オペレーティングシステムをレビューする

OS(オペレーティングシステム)の勉強をする方に岩波講座 ソフトウェア科学〈〔環境〕6〉オペレーティングシステムをおすすめします。OSの参考書で検索すると自作OS入門をよく見かけます。30日間でOSを自作する入門書です。触りとしてはいいですが、OSについてもっと先を知りたい方には物足りないかと思います。本書は上級者向けではありますが、事前にコンピュータアーキテクチャに触れていた方なら問題なく読み続けられると思います。よくある入門書と異なり、実践もなくOSに関する理論が繰り広げられています。途中で挫折してしまいそうになるかもしれませんが、全部読めば一通りOSを理解したという状態になるかと。
プログラミング

NVIDIA Jetson nano開発キットでディープラーニングの勉強は挫折しにくいかも

<!-- wp:paragraph --> <p>ディープラーニングでは膨大な回数の積和演算を繰りかえし、推論していきます。カメラ等からの入力画像から畳み込み演算をし(特徴抽出)、全結合で分類します。特に前半の畳み込み演算の計算が大変で、一つずつ処理すると時間がかかります。並列に処理できればその分だけ高速化が可能になります。自動運転などで、計算待ちなんかがあると非常に危険です。パソコンにGPUが搭載されていれば、ライブラリの設定次第で並列化することができます。今回紹介するJetson nanoもコア数が通常のCPUに比べ多く、ニューラルネットワーク向きです。
パソコン

自宅のPCでディープラーニングを高速化させる【Intel Neural Compute Stick 2】

ディープラーニングを高速化するツールにGPU(Graphical Processing Unit)があります。CPUのコア数が一般に2~8であるのに対してGPUは1000コアくらいあります。 ディープラーニング、特にCNN(畳み込みニューラルネットワーク)では積和演算の回数が膨大なため、GPUで並列計算することで高速が可能になります。GPUを使うとなると自作PCであればGPUを追加で購入するだけで済みます。しかし、GPUが入らないミニタワータイプや、ノートパソコンでは不可能です。そこでUSB接続でディープラーニングを高速化するツールであるIntel Neural Compute Stick 2</a> が便利です。
プログラミング

Android Studioでツールバーを表示&アラートダイアログの使用

ツールバー?アクションバー?を設置してメニュー選択できるようにする & アラートダイアログで選択する
タイトルとURLをコピーしました