やってみたらなんとかなる

プログラミングをする上で調べたこととかやったこととか

[React] WebRTC x React でP2Pビデオ電話アプリを作ってみる 番外編#3 ~MUIで見た目を整える~

概要 WebRTCとReactでビデオ電話アプリを作る番外編第3回です。今回はReactのUIライブラリであるMaterial-UIを用いて外見を整えていきます。 MUIのインストール frontendディレクトリでnpm install @mui/material @emotion/react @emotion/styled でOKです。…

[React] WebRTC x React でP2Pビデオ電話アプリを作ってみる 番外編#2 ~別ブラウザにも対応させる~

概要 WebRTCとReactを使ったビデオ電話アプリ制作の番外編第2回です。今回はブラウザの対応範囲を増やしたいと思います。 これまでのコードは基本的にChrome向けのコードだったのでMacユーザーの方はもしかしたら途中で意味不明エラー(これは関数じゃないよ…

[React] WebRTC x React でP2Pビデオ電話アプリを作ってみる 番外編#1 ~Herokuにデプロイ~

概要 WebRTCとReactを使ったビデオ通話アプリケーションの番外編第1回です。これまでとりあえずうまく通話ができた(localhost内)ので今度はインターネットに公開してみます。 無料で使用できるHerokuというサービスで公開します。 Heroku Herokuは基本料金無…

[React] WebRTC x React でP2Pビデオ電話アプリを作ってみる #5 ~データ通信・交換編~

概要 WebRTCとReactを使用したビデオ電話アプリ製作の第5回です。今回は、別のブラウザ間でのアクセスを可能にします。 今回もだいぶ重いです... 追加の準備 今回はサーバーにexpress、WebSocketを使用するためにsocket.ioを使用します。そのために追加で…

[React] WebRTC x React でP2Pビデオ電話アプリを作ってみる #4 ~データ交換編~

概要 WebRTC と React を使ってビデオ電話アプリを作成する第4回です。今回は前回取得したデータを交換します。 今回は割と重かったりします。 今回のコード 今回のコードは長くなってしまったのでここに載せてあります。 変更したのはsrc/VideoConnect.jsと…

[React] WebRTC x React でP2Pビデオ電話アプリを作ってみる #3 ~映像・音声取得編~

概要 WebRTCとReactを使った簡単なビデオ通話アプリ作成の第3回です。 今回は、映像の取得まで行います。 今回行うこと getUserMedia()を使った映像と音声の取得 今回使用するコード 次の①、②のコードを書いた後にnpm startでカメラに映った自分が表示される…

[React] WebRTC x React でP2Pビデオ電話アプリを作ってみる #2 ~準備編~

# 概要 第2回は準備編です。環境構築などを進めます。 今回やること node.jsのインストール 作業ディレクトリの作成 Reactのインストール node.jsのインストール Reactを使用するのにはnode.jsが必要です。このインストールはOSごとにやり方が違うので公式と…

[React] WebRTC x React でP2Pビデオ通話アプリを作ってみる #1

概要 最近見つけたWebRTCという技術と最近勉強したかったReactを使ってP2Pビデオ通話アプリを作ってみたいと思います。 今回すること そもそもWebRTCって何? どんなものを作るのか? ここらへんをはっきりさせておきたいと思います。 そもそもWebRTCって何…

[SwiftUI] RealmSwiftのMigrationについて

概要 長い間見て見ぬ振りしてきたRealmSwiftのMigration処理について触れることになりました。 とてもとても長い道のりでした。 もっと早くにやっておけばよかったと後悔してます。 解決策 まずは解決策から class AppDelegate: UIResponder, UIApplicationD…

[SwiftUI] Cannot assign to property: 'last' is a get-only property について

# 概要 今回はSwiftUIをいじっていた時に出てきた Cannot assign to property: 'first' is a get-only property というエラーについて分かったことと対応策です。 エラーが起きた状況 var a = [1, 2, 3, 4] a.last! = 3 // Cannot assign to property: 'firs…

sortされたlistを維持したいならbisectをつかう! -AtCoder学習日記 #6

概要 今回はABC217-Dについてです。TLEから抜け出せずに終わってしまいました... なかなかTLEにならないコードを書くのは難しいですね。 今回はレートが下がりました悲しいです。 ACらないコード l, q = map(int, input().split()) cut = [] for _ in ran…

Dequeを使うといいのかも -AtCoder学習日記 #5

概要 今回はABC216-Dについてです。 今回はうまくいったと思ってたんですけどね...やはりTLEに悩まされます。 ACにならなかったコード n, m = map(int, input().split()) nodes = [set() for _ in range(n+1)] for _ in range(m): k = int(input()) pipes…

最長増加部分列ってどちら様??? -AtCoder学習日記 #4

概要 今回はARC125-Cについてです。 今回の問題に至っては問題文の理解から時間がかかりました。最長増加部分列(LIS)についての問題のようです。 私事:やっと茶色に乗ることができました!!! 最長増加部分列とは? 部分列 そもそも最長増加部分列を理解す…

[Python] 数値誤差恐るべし。。。 -AtCoder学習日記 #3

概要 今回はABC215-Bについてです。 コード自体は簡単なのですが「誤差」でWAになってしまいました。 ACできないコード import math n = int(input()) print(math.floor(math.log2(n))) ほとんどACなのですが一部だけWAになってしまっています。 なぜ誤差が…

[Python] UnionFindって何!? -AtCoder学習日記 #2

概要 今回はABC214-Dです。やっとD問題に手が出るようになりました。 問題文的にこの問題はグラフ理論の問題のように見えます。 解説文 今回詳しく書く部分(私がわからなかった部分)を赤くしています。 以下では、辺の重みは相異なると仮定します。制約にそ…

[Python] 座標圧縮ってなんだ! -AtCoder学習日記 #1

概要 今回からAtCoderのコンテストに参加して解けなかった問題の復習を書いておこうと思います。 AtCoderは基本Pythonで参加しています。 今回はABC213-Cです。 ACできないコード import numpy from sys import stdin _, _, n = map(int, input().split()) l…

[Swift]RealmSwiftでデータベースを使いたい<実践編>

概要 Swiftでデータベースを使いたい。<準備編>, <基本編>の続き。 環境 Xcode: 12.1 Swift: 5.3 Realm: 10.1.1 RealmSwift: 10.1.1 今回(と前回)で作るアプリ 入力した文字列をリストに追加していくアプリを作ってみる RealmSwiftTestApp 実際に組み込んで…

[Swift]RealmSwiftでデータベースを使いたい<基本編>

概要 Swiftでデータベースを使いたい。<準備編>の続きです。 環境 Xcode: 12.1 Swift: 5.3 Realm: 10.1.1 RealmSwift: 10.1.1 今回(と次回)で作るアプリ 入力した文字列をリストに追加していくアプリを作ってみる RealmSwiftTestApp 基本的な使い方 もちろん…

[Swift]RealmSwiftでデータベースを使いたい<準備編>

概要 Swiftでデータベースを使いたい。Realmが早くていいらしい。とりあえずやってみっか! 環境 Xcode: 12.1 Swift: 5.3 Realm: 10.1.1 RealmSwift: 10.1.1 準備 CocoaPodsに苦戦 実はRealmはXcodeに初めから入ってるライブラリではないらしい。ので外部か…

[Python]waveファイルを重ね合わせたい

概要 あるwaveファイルの一部にノイズ(waveファイル)を重ねたいんだ!!! どうやるの LibROSAとNumpyでなんとかなりそう。 準備 まずは準備。LibROSAとNumpyのインストールから。 たぶんAnaconda使ってる人はNumpyは最初から入ってるかもです。 pip install…

[Python]Pythonで録音したい

概要 機械学習の訓練用データの収集のためにPythonで録音したい。できればリアルタイムで録音しながら細切れに保存していきたい。 どーやるの PyAudioっていうライブラリを使うのです。 準備 PyAudioをインストールすれば使えます。 $ pip install pyaudio …

使っている環境について

概要 現在(2020/10/27)使っている環境です。もしこのブログを参考にしてる人がいたらここの環境を参考にしてください。たまに更新し忘れると思います。どこまで書けばいいかわかんない。 相棒 ノートPC MacBook Pro (13-inch, 2020, Four Thunderbolt 3 port…

このブログについて-初めての記事-

初めての記事 タイトル詐欺です。この記事は二本目です。ブログの記事って数える単位は本であってるんですかね。 概要 このブログでは、僕がプログラミングをしてる時にハマった罠とか疑問とかを調べた時に僕がもう二度と調べなくていいように他の人が同じと…

[Swift]ForEachでIndexを使用する方法

概要 SwiftのForEachでListの中身をぶん回してる時にIndexが欲しくなったので、使い方を調べた。その忘備録。 どうなったのか array.enumerated().forEach( { ( index, item ) in 〜行いたい処理 インデックスはindex 中身はitem〜 } ) こんな感じにするとう…