株式投資を本格的に始めたいのでちょっとずつ勉強していきます。
今も少ないお金を投資はしているけど、どんなものか知りたい程度の動機でやってただけでした。
とりあえず年末まで株式投資に時間を多めに使おうと思います。
投資を始めたい40代です
株式投資を本格的に始めたいのでちょっとずつ勉強していきます。
今も少ないお金を投資はしているけど、どんなものか知りたい程度の動機でやってただけでした。
とりあえず年末まで株式投資に時間を多めに使おうと思います。
2023年の2回目の1月15日のAtCoder ABC285 B が全然わからなかった。
私はまだB問題がやっとなくらいの実力です。超初心者なのでほとんどの問題は解けません。
けど、解説を読んだり、正解のコードを見たら少しはわかる。解けないけど、おおよその方向性くらいは見える。
しかし、ABC285 B はなにがなんやらわかりません。
Youtubeの解説を見てもまったく理解できません。
とりあえず、今は理解することをあきらめて、週に1回くらいのペースでゆるく取り組もうと思います。
わかったらここに追記します。
NumPyを使うシーンは現時点では少ないのですが、将来必要になったときに使いこなせているように今から準備したいと思います。
まずは、NumPyを使うための準備です。
インストールとインポートです。
ターミナルで以下を実行します。
pip install numpy
Google Colabだとインストール済みのようです。
import numpy as np
「as np」を付けるのは標準のようです。
実際、標準通りにするのが考えなくていいので楽です。
まずは基本の基本です。
NumPyといえば、行列のイメージなので以下が基本かと思ってます。
np.array([1,2,3]) # array([1, 2, 3])
2つ重ねます。
np.array([[1, 2, 3], [4, 5, 6]]) # array([[1, 2, 3], # [4, 5, 6]])
NumPyで実行してprintすると行と列が揃って表示されるのが良い感じです。
今NumPyを勉強中なのでわかったことがあったら追加していきます。
ただ毎週土曜日に問題を解くだけでは成長しないので、本(アルゴリズム的思考力が身につく!プログラミングコンテストAtCoder入門)を買って勉強してます。
ABC081 B「Shift Only」がなんかむつかしいです。
本にも「このような抽象的な問題を見ると、何をしたらよいかわからなくなる方も多いかも知れません。」とあって、「そうそう、そうなんです!」と思ってしまいました。
本には「操作ができなくなるまで実際に操作を繰り返す」とも書いてあるのですが、私はこういう系が苦手かもしれません。
中でも「if not」が理解がしづらいです。
理解はできるのですが、理解がしづらいのです。
ifの後はbool型のTrueかFalseになっているのが感覚的にわかっていないと思います、、慣れればいいのかな。
ifはすぐに理解できるのに。。。
ちなみにですが、本を見てたら「ド・モルガンの法則」があった。
not A and not B ⇔ not(A or B)
not A or not B ⇔ not(A and B)
これが成り立つとのことです。
今はこの法則が役に立つ場面は思いつかいのですが、将来的には使うようになるのかな。
設定は何もしてないはず。
アラートの内容は以下でした。
参照仕様をリモートにプッシュできません。最初に"Pull"を実行して変更を統合してください。
"Pull"を実行してもダメでした。
解決すべくいろいろ設定を確認していました。
設定画面を見ていて、ふと思い出しました。
昨日、Emails設定の「Keep my email addresses private」にチェックをしてしまっていたことに。。
セキュリティ系のことなので「当然チェックでしょ」と何も考えずに設定してしまってました。
ちなみに、この設定はクローン(ダウンロード)したりしたときにメールアドレスがわかってしまうのを防ぐとのことです。
原因がわかったら、すぐに解決できました。
「Keep my email addresses private」の説明部分に以下のようなメールアドレスがあります。
[ID]+[GitHub アカウント名]@users.noreply.github.com
このメールアドレスをローカルのGit設定のメールアドレスに設定したら解決しました。
『作って学ぶ Next.js/React Web サイト構築』で Next.js と React を勉強しています。
全然わからないので、とりあえずコードを写して動かしているのですが、それでもエラーが出て慌ててます。
エラーの中でも最大のエラーがあったのでメモ。
microCMS の設定を本の説明どおりにせずに、なんとなくで設定していました。
そのせいでエラーが出て、なかなか解決できませんでした。
こちらのページで解決しました。
Next.js では width と height が必要らしいのです。
microCMS のデフォルト設定では、width と height が含まれていないようです。
だから画像サイズが必要な Next.js ではエラーが出てしまいます。
microCMSで「画像のレスポンスに width と height を含む」をオンにすることで解決しました。
書籍についている PDF にそって設定していると問題なかったようなのですが、Next.js の画像のことを知れたのでよかったと思ってます。
毎回使うときに調べている気がします。
とは言っても、私のようなプログラミング初心者が必要なコマンドは数少ないです。
よく使うものだけをメモしておきます。
▼ディレクトリ移動
cd (ディレクトリ名)
▼1つ上のディレクトリへ移動
cd ..
▼ディレクトリ(フォルダ)を作る
mkdir (ディレクトリ名)
▼ディレクトリの中を見る
ls
▼パスを調べる
pwd
必要なコマンドが出てきたらここに追加していきます。
調べたらわかったのですが、すぐに忘れそうなのでメモしておきます。
まず、Google DriveにCSVを読み込みます。
Jupyterのファイルを開くと、Drive内のディレクトリが表示されます。
※Driveは最初にマウントする必要があります。
CSVファイルを読み込みたいフォルダの横の3つの点をクリックします。
そして、「アップロード」を選択して、CSVファイルをアップロードします。
これでCSVファイルを扱う準備OKです。
次に、JupyterにCSVファイルを読み込みます。
driveライブラリをインポートし、ドライブをマウントします。
from google.colab import drive drive.mount('/content/drive')
CSVはpandasで読み込むのでpandasをインポートします。
import pandas as pd
読み込む時、パスを「content/drive」から書きます。
df_info=pd.read_csv("/content/drive/MyDrive/dev/test.csv")
このパスがわからずで手こずりました。
最後に、表示します。
df_info
無事に表示できました。
これでGoogle ColabのJupyterでプログラミングすることができるようになりました。
2022年12月10日のAtCoder ABC281のB問題で文字種類の判定がわからなかった。
これまでちゃんと理解しようとしなかったことを後悔した。
アプリなどでユーザーが入力することがある時に必須ですよね。
https://atcoder.jp/contests/abc281/tasks/abc281_b
文字判定の種類は何があるか書籍で確認してみました。
違いがよくわからないものが結構あります。
isalnum():英数字
print('abc123'.isalnum()) # True
print('abc++'.isalnum()) # False
isalpha():英字
print('abcde'.isalpha()) # True
print('abc123'.isalpha()) # False
isascii():ASCII文字
print('abc'.isascii()) # True
print('あいう'.isascii()) # False
isdecimal():10進数
print('100'.isdecimal()) # True
print('0x64'.isdecimal()) # False
isdigit():数値
print('1234'.isdigit()) # True
print('1234.56'.isdigit()) # False
isnumeric():数値文字
print('百万'.isnumeric()) # True
print('million'.isnumeric()) # False
isidentifier():有効な識別子
print('abc_123'.isidentifier()) # True
print('abc-123'.isidentifier()) # False
islower():小文字
print('test'.islower()) # True
print('Test'.islower()) # False
isupper():大文字
print('TEST'.isupper()) # True
print('Test'.isupper()) # False
istitle():先頭文字が大文字
print('Atcoder Test'.istitle()) # True
print('AtCoder Test'.istitle()) # False
isspace():空白文字
print(' '.isspace()) # True
print('test'.isspace()) # False
isidentifierがいまいちわからないです。。
isdigit、isdecimal、isnumericの違いについて本に以下のようにありました。
”isdecimalはアラビア数字だけ認める、isdigitはそれに加えて上付き数字のような文字も含める、isnumericはさらに漢数字・ローマ字数字のような文字も含める。”
しかし、isdigitとisdecimalの違いはまだやっぱり理解できない。
↑このサイトにわかりやすくありました。
”isdigit メソッドは文字列中のすべての文字が数字で使われる文字で、かつ 1 文字以上ある場合に真を返します。”
なるほど。1文字か1文字以上かで違うようです。AtCoderの解説コードの使い方も納得です。
文字種類を判定が必要なのはすごいプログラマーだけだと思っていたのですが、こうしてみると必須ですね。
Pythonのpipの使い方をすぐに忘れてしまう。
そもそもよく使うもの以外は覚えておくことはできない気がしてます。
ということでカンニングペーパーとしてまとめます。
pipのバージョンの確認
pip -V pip --version
pipのアップグレード
python -m pip install --upgrade pip
パッケージを表示する
pip list
パッケージのバージョン表示する
pip freeze
パッケージをインストールする
pip install package-name
パッケージをアンインストールする
pip uninstall package-name
最新版があるパッケージを表示する
pip list -o pip list --outdated
最新版をインストールする
pip install -U package-name
今後、Next.jsが来そうですね。
もうとっくに来てると言ってもいいかもしれません。
Wordpressがなくなるわけではないと思うのですが、Next.jsに移行する人や会社は増えそうですよね。
私も使ってみたいので勉強し始めました。
プロンプトやターミナルで以下を実行します。
npx create-next-app my-app
「my-app」のところを自分で名前をつけます。
次にプロジェクトを起動します。
先ほど作ったディレクトリ(今回は「my-app」)に入ります。
cd my-app
そして、実行します。
npx next dev
または、以下でも大丈夫です。
npm run dev
実行したら、「http://localhost:3000/」にアクセスします。
実行すると以下のサンプルページが表示されます。
終了するときは、「CTRL + C」をします。
これでNext.jsでの開発準備が完了です。
AtCoderでプログラミングを勉強しようとしています。
12月3日にはじめてコンテスト(ABC280)に参加してみました。
間違ってレーティングなしにしてしまったのでレーティングはないのですが参加できたことが嬉しかったです。
ちなみに、A問題しかできませんでした。
AtCoderで初心者が最初につまずくのは入出力方法だと思います。
いろいろ調べてみたところ入出力はほぼ決まっているので、最初は丸暗記でいいかもしれません。
1つの数の入出力方法
a=int(input())
2つ以上の場合
b,c = map(int,input().split())
リストにする場合
d = list(map(int,input().split()))
次に出力方法です。
出力方法はそのままです。
print(a)
ただAtCoderの出力はスペースくぎりの数字にしないといけません。
プログラミングの結果がリストになった場合にforなどで取り出すのは面倒です。それを簡単にする方法を最近知りました。
リストが入った変数の前に「*」をつけるとリストが外れてスペースくぎりの数字になります。
print(*a)
プログラミングの勉強をしています。
基本的な勉強をして理解ができてきた気がする。
しかし、自分で何かを作ろうとすると何もできない。
初心者向けの書籍や記事がたくさんあるので最初の1歩の勉強はやりやすい。
けど、2歩目は何をしたらいいのかわからず途方に暮れてしまう。
初歩的なことはわかっているけど、それ以外は何もできない状態が続いている時に「AtCoder」を知りました。
「AtCoder」は競技プログラミングです。
競技プログラミングは、猛者たちが血で血で洗うプログラミング・バトルをするところだと思っていました。
しかし、すべてがそうではありませんでした。
初心者にもいい感じの問題がありました。
猛者には邪魔じゃないかと思うほど簡単な問題です。
例えば、
A×B を求めてください。のような感じです。
2行で完了します。
A,B=map(int,input().split()) print(A*B)
初心者でも大丈夫そうです。
しかし、初心者の方はわかってもらえると思うのですが、いざコードを書こうとしたら2行であってもパニックになります。
初心者はどんな単純なプログラミングであっても、自分の頭で考えてコードを書くという経験が圧倒的に足りないのです。
AtCoderの初級(A問題)はそんな経験をたくさん積めるのですごくいいと思ってます。
初心者こそオススメな気がします。