Posts

ゴールデンウィークにTwitchでゲーム配信を始めた話|古いMacBook Pro・PS4・OBSで配信環境を作ってみた

Image
古いMacBook ProでもTwitch配信はできる?PS4・Switch2用にOBS配信環境を作ってみた ゴールデンウィークで時間があったので、以前から少し興味があったTwitchでのゲーム配信を始めてみました。 アカウントは うえはら000 。 主にストリートファイター6や、趣味で遊んでいるゲームを配信しながら、だらだら話すようなスタイルで配信しています。 この記事では、実際にTwitch配信を始めるまでに用意した機材、古いMacBook Proで配信してみた感想、配信を始めて分かったことをまとめます。 これから「家庭用ゲーム機で配信を始めてみたい」「古いMacでも配信できるのか知りたい」という人の参考になれば嬉しいです。 配信を始めたきっかけ もともと格闘ゲームは好きで、ストリートファイター4シリーズをそれなりに遊んでいました。 スーパーストリートファイターIV AE Ver.2012の頃は、家庭用でやり込みつつ、休みの日に新宿のタイトーステーションにも遊びに行っていました。 当時は、AE時代と比べて大幅に弱体化された後のユンを使っていて、一瞬だけグランドマスターに到達したことがあります。 とはいえ、グランドマスターだった期間は本当に一瞬で、実際にはマスター上位からグランドマスターに届くか届かないかくらいの位置にいることが多かったです。 ちなみに、強かった頃のユンはほとんど触っていません。スパ4AEの頃はまだライトゲーマーで、フェイロンを使っていました。 その後、Ver.2012でユン・ヤンが大きく弱体化されたのですが、対戦しているうちに「弱くなったとはいえ、まだかなり強くないか?」と思うようになり、試しに使い始めました。 使ってみると思った以上に自分に合っていたので、そのまま使い続けて、最終的にグランドマスターに届くところまでやり込みました。 その後、ウルトラストリートファイターIVが発表され、ユンに有利なシステム(赤セビ)やキャラ自体の強化も追加されました。ユンは再び強キャラの一角に戻ったのですが、当時は大学受験の時期と重なってしまい、ほとんどプレイできませんでした。 受験が終わった後も、大学生活や社会人生活がそれなりに忙しく、気づけばストリートファイターからはかなり離れていました。 他のゲームはちょくちょく遊んでいたものの、ストリートファイターを本格的...

ゼロから始めるLeetCode 目次

概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 リンク集 この記事をストックしておくと新しい記事の追加時に通知されます。 コードだけ見たい方はこちらの Github をご覧ください。 番号はLeetCodeの問題へのリンク、問題のリンクは解説記事についてのリンクです。 間違えているリンク等あればコメント頂けると幸いです。 Day 番号 問題 難易度 1 1389 Create Target Array in the Given Order Easy 2 1108 Defanging an IP Address Easy 3 1313 Decompress Run-Length Encoded List Easy 4 938 Range Sum of BST Easy 5 1266 Minimum Time Visiting All Points Easy 6 1342 Number of Steps to Reduce a Number to Zero Easy 7 104 Maximum Depth of Binary Tree Easy 8 1302 Deepest Leaves Sum Medium 9 701 Insert into a Binary Search Tree Medium 10 1431 Kids...

ゼロから始めるLeetCode Day110「1535. Find the Winner of an Array Game」

概要 問題 解法 概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 ゼロから始めるLeetCode 目次 前回 ゼロから始めるLeetCode Day109「213. House Robber II」 次回 ゼロから始めるLeetCode Day111「682.Baseball Game」 Twitter やってます。 問題 1535. Find the Winner of an Array Game 難易度はMedium。 久しぶりに問題集以外から解きました。 問題としては、整数の入った配列 arr と,整数 k が与えられている。 配列の最初の2つの要素(すなわち arr[0] と arr[1] )の間でゲームが行われます。ゲームの各ラウンドでは, arr[0] と arr[1] を比較し、大きい方の整数が勝ち、0 の位置にとどまり、小さい方の整数は配列の末尾に移動します。ゲームは、ある整数が k 回のラウンドに連続して勝利したときに終了します。 ゲームに勝つ整数を返します。 なお、ゲームの勝者が存在することが保証されています。 Example 1: Input: arr = [2,1,3,5,4,6,7], k = 2 Output: 5 Explanation: Let’s see the rounds of the game: Round | arr | winner ...

ゼロから始めるLeetCode Day109「213. House Robber II」

概要 問題 解法 概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 ゼロから始めるLeetCode 目次 前回 ゼロから始めるLeetCode Day108「300. Longest Increasing Subsequence」 次回 ゼロから始めるLeetCode Day110「1535. Find the Winner of an Array Game」 Twitter やってます。 問題 213. House Robber II 難易度はMedium。 コーディング面接対策のために解きたいLeetCode 60問 からの抜粋です。 問題としては、あなたは街中の家々を襲っているプロの強盗です。それぞれの家には一定の金額のお金が隠されています。この場所にある全ての家は円を描くように配置されています。つまり、最初の家は最後の家の隣人です。一方、隣の家にはセキュリティシステムが接続されており、同じ夜に隣の家に侵入された場合、自動的に警察に連絡してくれる。 各家の金額を表す非負の整数のリストが与えられたとき,警察に通報せずに今夜奪える最大金額を決定する、というものです。 Example 1: Input: [2,3,2] Output: 3 Explanation: You cannot rob house 1 (money = 2) and then rob house 3 (money = 2), beca...

ゼロから始めるLeetCode Day108「300. Longest Increasing Subsequence」

概要 問題 解法 概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 ゼロから始めるLeetCode 目次 前回 ゼロから始めるLeetCode Day107「98. Validate Binary Search Tree」 次回 ゼロから始めるLeetCode Day109「213. House Robber II」 Twitter やってます。 問題 300. Longest Increasing Subsequence 難易度はMedium。 コーディング面接対策のために解きたいLeetCode 60問 からの抜粋です。 問題としては、整列されていない整数の配列が与えられたとき、最も長く増加する部分列の長さを求めなさい、というものです。 Example: Input: [10,9,2,5,3,7,101,18] Output: 4 Explanation: The longest increasing subsequence is [2,3,7,101] , therefore the length is 4 . 解法 class Solution : def lengthOfLIS ( self , nums : List [ int ] ) - > int : if not nums : return 0 ...

ゼロから始めるLeetCode Day107「98. Validate Binary Search Tree」

概要 問題 解法 概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 ゼロから始めるLeetCode 目次 前回 ゼロから始めるLeetCode Day106「209. Minimum Size Subarray Sum」 次回 ゼロから始めるLeetCode Day108「300. Longest Increasing Subsequence」 Twitter やってます。 問題 98. Validate Binary Search Tree 難易度はMedium。 コーディング面接対策のために解きたいLeetCode 60問 からの抜粋です。 問題としては、二分木が与えられた場合,それが有効な二分探索木(Binary Search Tree)であるかどうかを判断してください、というものです。 なお、二分探索木は以下のように定義されているとします。 ノードの左の木には、そのノードの値よりも小さい値を持つノードのみが含まれます。 ノードの右の木には、そのノードの値よりも大きい値を持つノードのみが含まれます。 左の木と右の木の両方が二分探索木でなければなりません。 解法 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # ...

ITエンジニアがUdemyとCourseraに入門した結果

UdemyとCourseraについて それぞれの紹介 Udemy Coursera まとめ UdemyとCourseraについて 技術に詳しい人が作った(大体の場合)動画形式の有料のコースを買い、自分のペースで講義を受けるというもの。 修了時には一応証明書が貰えるので、LinkedInとかに載っけることも可能。 ITエンジニアがこれらを受講する目的としては、技術力を高めたい時やキャリアアップのために特定の技術について興味があるという時な気がする。 なお、どれくらい効果があるかは謎。 この記事で紹介するのは僕が受講したことのあるプラットフォームとコースについてです。 それぞれの紹介 今回紹介するのはタイトル通り以下の二つ。 Udemy Coursera それぞれの印象としては、 Udemy 買切り制。 何も知らずにページを見ると10000円超えのコースばかりでたっか!!となるかもしれないが、何かにつけてセールをやっているのでその時に買いましょう。大体のコースが2000円しないくらいで買えるので、興味があるコースはセールの時にまとめて買うべき。 講義の全体的な質としては、個人が投稿しているものが多いためか、そこまで高くはない印象です。 また、厳密な試験がほとんどない為、習熟度を試験形式で測りたいという人には物足りないです。 ただ、最近流行っているのか分からないですが、日本人の投稿が他のサイトに比べてかなり多いため、英語アレルギーの方にはオススメできます。 講義のレベルとしても、あくまで入門レベルが多いため、発展的な内容を学びたい!という人よりは、新しい技術を学びたい人にオススメしたいサイトです。 ちなみに英語がある程度出来る方に限るのですが、海外でトップクラスの評価を受けているコースはかなり信頼できます。 個人的に受講したコースは以下の通り。 Build Responsive Real World Websites with HTML5 and CSS3 The Complete JavaScript Course 2020: Build Real Projects! 2020 Complete Python Bootcamp: From Zero to Hero in Python Ja...

ゼロから始めるLeetCode Day106「209. Minimum Size Subarray Sum」

概要 問題 解法 概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 ゼロから始めるLeetCode 目次 前回 ゼロから始めるLeetCode Day105「111. Minimum Depth of Binary Tree」 次回 ゼロから始めるLeetCode Day107「98. Validate Binary Search Tree」 Twitter やってます。 問題 209. Minimum Size Subarray Sum 難易度はMedium。 コーディング面接対策のために解きたいLeetCode 60問 からの抜粋です。 問題としては、 n 個の正の整数の配列 nums と正の整数 s が与えられたとき、連続する nums の和が s を超える部分配列の最小の長さを求めなさい、というものです。 なお、仮にそのような部分配列が存在しない場合は 0 を返してください。 解法 class Solution : def minSubArrayLen ( self , s : int , nums : List [ int ] ) - > int : index , num , low = 0 , 0 , float ( "inf" ) for i in range ( len ( nums ) ) : ...