忍者ブログ
RoboCup Junior Japan Rescue Kanto OB

             2005~2013
[1]  [2]  [3]  [4]  [5]  [6]  [7
前回に引き続き、第3回の記事です。

今回はタイトルの通り、OCIでサーバーを建ててみますよ。

Misskeyのインスタンスを建てた話。①(Misskey紹介編)
Misskeyのインスタンスを建てた話。②(GCPでの建ち上げ編)

といっても建て方は同じMisskeyなので、GCPと同じです。

ではなんでこんな記事を?というところなのですが、OCIは。。。その難しいというかなんというか。


多分、無理なんです。情報なしでは。

ということで今回僕が通った道をご紹介させていただきます。

まず、なんでOCI?という話なのですが、

OCIにもGCPと同じコンピューティングインスタンスのAlwaysFree枠がありまして、


圧倒的にOCIの方が優秀なんです。

OCIはAlwaysFreeではAMDとARMのどちらかのインスタンスを利用できます。

ARMインスタンスがその中でもぶっちぎりで性能が高いということで

OCIのARMインスタンスがAlwaysFreeに加わったときは界隈に衝撃が走りました
※因みに今日本含む極東のリージョンでは、某国がVPNで使いまくるせいでARMインスタンスがほぼ取れません

比較するとこれくらいの差があります。
OCI(AMD) OCI(ARM) GCP(Intel Xeon)
CPU 1個(性能1/8制限) 4個 2個(性能25%制限)
メモリ 1GB 24GB 1GB
ストレージ 200GB 200GB 30GB
ベンチマーク(シングルコア) 410 1871 131
ベンチマーク(マルチコア) 533 3801 190
リージョン 全地域 全地域 北米のみ
利用可能数 2台 1~4台 1台
※OCIのストレージはAMDマシン2台とARMマシン合わせて200GBまで、2ブロックまで無料なので3台利用は不可
※ベンチマークはUnixBenchより

CPUの個数は(個々の仕様が不明なので)性能には特に関係ありませんが、

OCIのARMはGCPと異なり、AlwaysFreeの枠内でリソースの分割が可能でして、

1CPU=1マシンとすればARMの場合は最大4台までAlwaysFreeで利用可能です。


・・・で、見ればわかると思うですが、

衝撃が走っていない方のAMDインスタンスですら、GCPよりつよつよです。それも圧倒的に。

そんなものが2台も使えるのです。無料で。

しかもリージョンがOCIは全地域の中から無料で使いたいリージョンを自由に1カ所選ぶことができるので

日本だと東京、大阪を選ぶことができます。これは8800㎞離れたオレゴンが最短のGCPとは雲泥ですね。
※2度目ですが、今日本含む極東のリージョンでは、某国がVPNで使いまくるせいでARMインスタンスがほぼ取れません

しかも、GCPって何かと理由を付けて謎課金を作ることで有名です。勝手にマルチリージョンでキャッシュ作ったりとかなとかかんとか

なんだかんだGCPでずっとマシンを動かしてると、AlwaysFreeでも課金が大なり小なり発生するものです。

でもOCIにはそれがない。

料金プランが単純明快なので、GCPのように課金レポートとにらめっこしながら

謎課金の原因を探す日々から解放されるのです。




・・・ここまで性能が違えば、

これはOCIに行くっきゃない!!!


ってなるはずなのですが、現実はそうなっていません。OCIのARMがデビューしてからもう2年近くが経ちますが、

未だにコンピューティングの無料インスタンスと言えばGCP一強です。


なんでそんなことになっているのかというと、まぁ広報の問題もあるんでしょうが、単純に

OCIは初見殺しゲーなんです。

※何度も言いますが、今日本含む極東のリージョンでは、某国がVPNで使いまくるせいでARMインスタンスがほぼ取れません


それを今から解説します。

まず、OCIにはFree trialアカウントと有料アカウントの2種類のアカウントがあります。

で、個人の場合、いきなり有料アカウントにはなれなくて、まずトライアルアカウントを作成する必要があります。


そしてそのアカウント登録ページがこちらです。
検索で出てこないのでまずここに辿り着けない人が多いらしい。。。?

で、まず2FAがあるのでメールアドレスを登録してメールを待つのですが、、、

①メールが届かない

これが結構ありがちだそうです。現在、OCIの登録ではSMS認証は廃止になったので一律メールなのですが、

これが届かないケースが結構あるそうです。

OCI公式からは「一度登録に使ったメールアドレスは使えない」という趣旨の発表がありましたが、

未使用でも普通に弾かれるという報告がネット上では相次いでおります。

ただ、どうにもその多くが独自ドメインからのメールのようで、

GmailやYahooメールなどのフリーメールを試されることをお勧めします。
※僕はGmailで一発で行ったのでこの現象に出くわしておりません。


またこれとは別に、これ以降の工程で引っかかると、メール受取からやり直しになるのですが、

「数回メールの受信をすると同一IPからは45分間はメールを受け取れなくなる」のだそうです。
※OracleCloud LiveAgent回答より。多分日本語情報だとらじぷろにしか書いてない情報です。


なので何回か先の工程で引っかかるとメールの送信制限に捕まります。
僕はこれに捕まりました。


そして次にOCIでは本人確認としてアカウント作成時にクレジットカードの与信請求を行うようになっておりまして、

Free trialアカウントでもクレカの登録が必須です。ここはGCPと同じですね

ただ、GCPと違うのはFree trialアカウントのうちは

「何をやっても課金が発生しない」というとことでしょうか。

そういう意味ではGCPより安心して使えます。


ただ、そのクレカ登録で大きな問題がありまして


②クレカの検証で弾かれる

実はこれも僕はスルーしたのですが、多くの人が(体感8割)がここで弾かれて登録を諦めております。

これについては、公式からの発表として

(a) プリペイドカードを登録している。
(b) 意図的に、または意図せずにユーザーの所在地またはアイデンティティを隠蔽した。
(c) 不完全または不正確なアカウント詳細を入力した。

このどれかに引っかかると弾かれる、とあるのですが、

どれにも引っかからずとも弾かれた例が数多く報告されております。


これが一番業が深いようで、インターネット上で様々な検証がされておりまして、

・住所は関係ない
・デビットカードはダメ
・クレカの発行会社が関係している

など、色々な議論が展開されております。

これらについて、ひとつずつらじぷろの見解を述べさせていただきます。


有識者の立場から言わせてもらえば、まぁ「住所が関係ない」は事実ですね。

クレカの与信請求において住所情報を照合する手段は存在しない(そもそも住所照合は技術自体が困難)ので、

世界中から登録が行われる国際サービスの、それもたかがFree Tialの登録段階において

わざわざ特別な手段を別途作成してまでそんなことをしている可能性はゼロと考えて良いでしょう。

因みに英語じゃないとダメなんて話はありますが、自分は住所は日本語表記で通っています。
OCIは日本法人あるし日本語でええやろの精神です。



「デビットカードがダメ」も多分正しくて、クレカの与信処理的にこれは弾かれてる可能性が高いです。

確認はしておりませんが、プリペイド系も恐らくアウトだと思います。


で、最後にクレカの発行会社が関係しているも、概ね間違いではないと思います。

というのはこの手の与信請求は「カード会社側で弾かれている可能性が存在する」からです。

特に日本の会社はそれをやる傾向が強いです。あくまで「傾向」の話ですが。

これに関してはOCIではどうすることもできないので、カード会社に電話で確認するのが一番です。

あとは最悪「カードを変えるか」ですね。私はエポスで一発で行きました。




②の結論としては、

「狭義クレカをちゃんと使ってダメなら与信が通っているか会社に確認入れるかカードを変える」

これでいいと思います。まぁ要するにネットの不確定な情報も案外的を得ているな、という感想です。




で、最大の難所がそこまでクリアした上で一番最後に「無料トライアルの開始」を押した時に発生する

③トランザクションエラー

です。
※与信請求時のトランザクションエラーとは別のモノです


これに関しては、解決策がわかりません。

原因も一切不明。完全にお手上げです。


じゃあどうしたかというと、

OracleCloudのCloud Support Chatから

Live Agentを呼び出してもらって解決してもらいました。※全部英語



いや、マジでこれ以外に書きようがないんです。

与信請求も通ってるのにトランサクションエラーとか言うのが出て先に進めないんです、

って英語で問い合わせたら

「ちょっと待ってね」って言われて5分ぐらいしてから

「対応したのでもっぺん同じ情報入れて最初からやってくれ」って言われてやったらできたんです。


つまり、与信を通した後でも、あちら側の理由で何故か申請が弾かれるような何かがあって

「それは問い合わせたら解決する」というのが最終的な僕の答えでした。

そもそも、初見で恐らくこのサポートチャットを見つけてから人間を召喚するのは

難易度ルナティックにも程があります。どういう経緯で見つけたのかは未だに思い出せません。


ここまでの手順が書かれている日本語情報源は、恐らく世界でここだけだと思います。
いや、手順か?これ・・・?

②の与信請求については結構描いてあるサイトが多いのですが、①と③についてはほぼ書かれてませんでした。



あと、因みになのですが、OCIはログインも謎です。
ログイン画面で最初に出てくるところに入れるのが、「Cloud Account Name」。
登録時に入れたアカウント名前です。
次に遷移した画面で出てくるところに入れるのは「ユーザー名」とありますが、

入力するのは登録時のメールアドレスです。


この他にもOCIにはテナントネームと言う名前もあり、各所で要求される情報が異なります。


また、テクニカルサポートを受けるには別途Oracleのサポートアカウントを作成してOCIアカウントを紐づけて・・・

みたいなことをする必要があり、正直訳が分かりません。

この辺も全部先ほどのLiveAgentに英語で問い合わせて確認しました。


エージェントとのチャットはメールと違ってリアルタイムで飛んでくるので、

スピーディな返信をしないと勝手にチャットを打ち切られてしまうことから

Google先生に頼らずに英語である程度の技術文章をサクサク書いてサクサク読めないと

多分OCIは無理です。


正直罠だらけなので、誰もお勧めしないのでしょう。書いておいてなんですが、僕もあまりお勧めはしておりません。
※しつこいようですが、今日本含む極東のリージョン、では某国がVPNで使いまくるせいでARMインスタンスがほぼ取れません

。。。というか「勧めた以上発生する責任」に対処することができないから、と言うべきでしょうか。

あと、GCPみたいにコンソールを複数タブ開いて操作するとほぼ100%UIが壊れます。

GCPだと常に支払いを別タブで監視ながら操作するのが一般的ですが、

OCIは複数タブで同じことやると簡単に逝くので課金監視はアプリで別途やりましょう。



・・・とまぁこの通り、全体的にユーザビリティが地平線の彼方に飛んで行ってしまっているわけです。

但し、一度使えるようになってしまえば安いし強いので、心身(特に理不尽に挫けない心)に余裕がある際には

試してみるのもいいのではないでしょうか。


ちなみに私は奇跡的に、

2023年7月に、
東京リージョンで
ARMインスタンスの取得に


成功しました!!!


現在弊Misskeyインスタンスは、この奇跡のARMインスタンス上に乗っています。


それは今日はこの辺で。盛大に長い前フリを決めた上でのただの自慢話でした。


(^・ω・)ノ RadiumProduction at curonet
前回に引き続き、第2回の記事です。

今回はタイトルの通り、GCPでサーバーを建ててみますよ。

Misskeyのインスタンスを建てた話。①(Misskey紹介編)



とはいってもGCPはAWSほどではありませんが、クラウドコンピューティング市場ではちょっとお高めの価格設定です。

とてもじゃないですが、個人運用でGCPで課金マシンで動作させることは難しいでしょう。

・・・ということで、今回はAlways Free上に建てようと思ったのですが・・・

まぁ色々ありましたよ。というお話です。


簡潔に答えだけ言ってしまうと、GCPのAlways Free枠でMisskeyを動かせるか?という問いに関しては

YESです。

但し、かなりいくつか制約が伴う(特に2023年10月以降)のであまりお勧めはしません。

おひとり様インスタンスで完全無料で動かしたいという方だけ参考にして頂ければと思います。


まず、GCPといえば以前、こちらの記事を投稿させて頂きました。

Always Free(この時は当時のGoogleに倣って日本語にして常時無料枠と呼んでいましたね)枠の制約や、

基本的な使い方は以前とそう大きく変わっておりません。
因みにGCPって書いてますが、これは旧名称でして、今はPがバイバイしてGoogleCloudが正式名称らしいです。
でも、略称GCでは全くなんのこっちゃかわからないので、らじぷろでは引き続きGCP表記で頑張ります。


ただひとつ大きく変わったことは、無料枠のマシンがf1-microからe2-microに変更になりました。
※f1-microは現在存在しません。

f1-microはCPUがvCPU0.2個分、メモリが600MBでしたが、

e2-microはCPUがvCPU0.5個分、メモリが1GBとかなり性能が上がっております。

この無料枠の性能向上と、Misskeyの負荷軽減アップデートの相乗効果により、

2023年現在、個人利用であれば、GCPの無料枠でもMisskeyを十分に動かすことが可能です。



では次に具体的な手順から。

GCEのインスタンスマシンの取得法は以前と変わっておりませんので割愛します。

Misskeyはデータを本体ストレージのPostgresSQLに貯めるので

ストレージを無料枠上限の30GBにするのを忘れないようにしましょう。

また、OSはUbuntuにするようにしてください。

後述のMisskeyインストールの際に使われるバッチコマンドがUbuntuを想定しているので

それ以外のOSだと色々なものが大変です。


インスタンスが上がったら、Ubuntuの初期設定をしてしまいましょう。

SSHのポート変えたり、apt-get updateしたり、そんな感じの一般的なやつを済ませておいてください。
※SSHポート変更時はGCPのVPCネットワークのファイアウォールのSSHも変更しないと繋がらなくなります。

一応私はMisskey用に新しいユーザーを作成しましたが、特に必要ない気もしています。

あと、GCPで実行したインスタンスのタイムゾーンは東アメリカ標準時になっているはずなので、

ntpをインストールして日本標準に直しておくとよいかと思います。




次にドメインを取得します。

はい、Misskeyの稼働にはドメインが必要なんです。

恐らくdipとかでフリードメインを取得しても動作するとは思いますが、自分はxserverで有料のドメインを購入しました。

一番大事なのは、このドメインは絶対に失効させてはいけないという点で、

MisskeyはActivePubというプロトコルを使用しており、

そこでは相手方をドメインで一意に識別するようになっているようになっている関係上、

一度Misskeyインスタンスを立ち上げたら、ドメインの変更ができません。


なので、ドメインは失効させないように管理をしっかりするようにしましょう。
懺悔:私は過去にフリードメインをいくつも失効させております。



で、ドメインを登録したらGCEのインスタンスのIPアドレスにDNSを紐づけてしまってください。

Aレコードで普通に設定してしまって大丈夫です。

あと、GCPのVPCネットワークのファイアウォールで80番と443番を開けておくのを忘れずに。

また、Cloudflareを利用する場合はこの段階で設定を終えてください。

Misskeyインストール時にCloudflare利用の有無によって設定が変わってきます。

但し、Cloudflareを経由した通信は、2023年10月1日以降、Always Freeで枠内とは別で料金がかかるようになります。

Cloudflareを利用する際は完全無料でMisskeyを運用することができなくなる可能性がある旨ご注意ください。

※詳しくはGCPのNetwork Intelligence Centerの料金にて。





ここまで終われば下準備は終りです。

といってもMisskey開発者のご厚意によってここから先はすごく簡単です。

こちらの公式ページ(MisskeyHub)の手順通りにシェルスクリプトをwgetで取ってきて実行するだけです。


本来Misskeyのインストールには4GBのメモリ容量が必要で、GCPのAlways Freeでは不足するのですが、

こちらのスクリプトが自動でswap領域を作成してくれるので、本当に何もすることがありません。


スクリプトが終わったら、スクリプト内でMisskeyのドメインとして設定したドメインを

ブラウザで開くとこのような画面が出ているかと思います。



これが上がっていればMisskeyは正常にインストールできています。

後は「このサーバーに登録する」を押してアカウントを作成してしまいましょう。

作成したらMisskey画面に入れるので、

コントロールパネル>モデレーションから[誰でも新規登録できるようにする]をOFFにしておきましょう。

これをやらないと外から自由にアカウントが作れてしまうので、おひとり様インスタンスができません。
※これ以外も、現在(v13)はMisskeyは大体の設定はブラウザからMisskeyに入って、コントロールパネルを開けば操作できます。


ここまでやれればひとまずは最低限のMisskeyの構築は完了です。

他者に利用してもらうインスタンスであれば

メールサーバーとかオブジェクトストレージとか、まだまだ設定することはあるかと思いますが、

おひとり様インスタンスであれば正直これ以上の設定は必要ないのかな?と思います。

ご自由にカスタム絵文字を登録して、自分だけのMisskeyをお愉しみください。


多分今のMisskeyならサーバースペックを考えてユーザーひとりで運用する分にはe2-microで十分足りていると思います。

ただし、複数人で利用する一般的なMisskeyインスタンスとして使うのは難しいと言わざるを得ないと思います。

個人で使っている間も結構な頻度で通信が落ちたりしていましたし、

ぶっちゃけマシンの性能云々以前にサーバの物理的距離が遠いので、
(Always Freeで利用可能なリージョンのうち日本に一番近いのが8800km離れたオレゴンリージョン)

快適か?と言われるとまぁ若干疑問が残るかな?というレベルです。


とはいえ、ストレージ30GBをおひとり様運用で使い切るというのはちょっと考えづらいので
(外部のオブジェクトストレージの無料枠を使えば有り得ないのレベル)

基本的に無料枠で生きて行けるかと思います。

・・・という訳でGCPでのMisskeyインスタンスの構築はこれくらいで終了です。




次は・・・

「Oracle CloudでのMisskeyインスタンスの建ち上げ方」です。

GCPとはここでサヨナラして、次はOracle Cloud Infrastructure(OCI)に移りたいと思います。

「え、今建てたばっかなのに?」と思う方もいるかもしれません。

でも、うちのMisskeyは現に今GCPとサヨナラしてOCIにメインのサーバーを移しています。
別の用途でGCPはGCPで使ってるんですけどね。。。


なんでGCPとサヨナラしたかというと、OCIのAlways Freeの方が圧倒的に性能がよく、課金マシンも安いからです。
それにGCPはCloudflareもダメになるし・・・

コスパで考えておひとり様以外でGCPでMisskeyを運用するのは愚と判断し、OCIに移行したのですが、

これがまたトンデモナイ曲者でして・・・。恐らくソロでどうにかするのはかなりかと思います。


次回はその辺の話になります。



では今日はこの辺で

(^・ω・)ノ RadiumProduction at curonet
遥か昔、Mastodon(マストドン)というSNSの記事を書いたのですが、皆さま覚えていらっしゃいますでしょうか。
私は忘れていました。

今日の記事は再び、今話題の分散型SNSについての投稿となります。

今回紹介するのはMissekyというSNSです。
※厳密にはSNSではないですが、広義のSNSということで・・・TwitterもMastodonもその枠ですし。

実はMastodonより歴史が深く、2014年から開発が行われている日本製のSNSです。

しかも開発は個人で行われていて、

開発者ご本人があの与謝野晶子とレターパックで有名なMisskey.ioにいらっしゃるため、

比較的簡単にコンタクトがとれるというメリットがあります。

また、オープンソースなので派生forkもいくつか誕生しているようです。


MissekyはMastodonやTwitter創設者J.ドーシー氏が開発したBlueskyと同様に

ActivePubというプロトコルを採用しています。

これは簡単に言うと、インスタンス間でのデータのやり取りに使われるプロトコルでして、

全てのデータをJSON-LD形式で飛ばし合うような統一規格となっており、

これにより、MissekyはMastodonとの相互連携ができ、

端的に言えば、MisskeyのアカウントでMastodonのアカウントをフォローし、投稿を確認することができます。
※Blueskyは現在のβ版ではActivePubを切っているので、現状フォローができません。


じゃあMastodonで良くない?と思われるかもしれないのですが、決定的な違いがあります。

それがMFM(Markup Language For Misskey)です。

こちらのページを見て頂ければわかるように、Twitterでいうツイートに様々な「仕込み」を行うことができるんです。
※こちらのページのMFMは記法が古いため、現在のMisskeyでは動作しないものが多いです。

Twitterと違いMisskeyでは最大3000文字までの投稿が行えるので、様々なMFMを記述することが可能です。

また、Discordのスタンプ、絵文字のような機能である「カスタム絵文字」という機能があり、

どんな絵文字が登録されているかで、Misskeyインスタンスの色が出ているといっても過言ではないと思います。


他にも様々な機能があり、口が裂けてもMastodonと同じようなもの、とは言えないですね。


で、このMisskeyなのですが、昨今のTwitter(今はXって言うんでしたっけ?)の不祥事の連続のせいで。。。

現在大変な人気となっております。

特に自称非公式サーバーのMisskey.ioの盛り上がりが大変目を見張るものがあり、

ioを中心としてMisskeyの輪が広がりつつあります。開発者のしゅいろさんの根城なのに非公式とは言わせんぞ・・・?

Misskey HQの法人化に伴い、Misskey.ioはMisskey公式サーバーとなったようです。


で、そんなMisskeyなのですが、タイトルにもあるように実はらじぷろでもインスタンスを建ち上げております。


という訳で、2,3回の記事に分けて

2023年中頃現在のMisskeyインスタンスの立ち上げについて記事にしていければいいなと考えています。

今回は公開サーバーになるのでクラウド上に上げていきますよっと。


そんな感じで第1回の記事はこの辺で終了です。

(^・ω・)ノ RadiumProduction at curonet

最初に断っておくと、転職絡みの話ではありません。

まず経緯から。

ちょっと色々ありまして、Pythonをまた触ることになりました。

「また」といっても今回の案件はPython3でして、今までは仕事の関係で2しか触ったことがなく、

しかもそれが3年半前という、これからPython3案件を請けるにしては、割とヤバイ状況でして、

どうにかしてリハビリがしたい・・・でも今Pythonの環境持ってないし・・・


・・・ということで、オンラインで何か面白いリハビリ材料を探していたら、ヒットしたのがpaizaでした。

paizaというのは、ITエンジニア向け転職・就活・学習サービスで、恐らくかなり新興のモノです。
少なくとも僕が学生の頃にはなかったハズ・・・


職業エンジニアの方からするとオンラインコーディングができるこちらのページの方が有名かもしれません。

基本的には転職サイトのようなのですが、プログラム関係の学習サービスを展開しているほか、

スキルチェックというサービスがあって、paiza上でランク分けされたプログラムの問題を解くことによって

ユーザーのランク分け機能がある他、AtCoderのようなレーティングなんかもあったりします。
なんかpaiza側の解答が間違っている問題がちらほらあるみたいで、レーティングはあまにリ参考にならないかもしれません・・・

ぶっちゃけ上の方は競プロ絡み案件で、あまり実務には適さない問題も多く、

正直あまり興味はないのですが、スキルチェックの問題を利用すればPythonのリハビリになるのでは?と思いまして

とりあえずその場のノリでスキルチェックをやってみることにしました。



paizaのランクはS、A、B、C、D、Eの6ランクが存在し、問題のランクはS、A、B、C、Dと5ランクあります。
実は自分はpaiza自体は2年ほど前から登録だけしてる状態でして、ずっとEランクのままでした。

自分のランクよりひとつ上の問題が一問でも解けたらランクアップとなります。ランクダウンはないっぽいです。

どうやらpaiza自身はこのランクに随分と大きな自信を持っているようで、

高ランクになる度に耳障りのいい台詞を見る機会が増えていきますが、噓八百と考えたほうがいいでしょう。



で、一番易しいDランクの問題を初めて見たのが今から5日前になります。

スキルチェックでは色々な言語が使えるようで、僕の知らないプログラミング言語も対応しているくらいでした。



で、Dランクの問題ですが、

記憶にないです。
※因みにスキルチェックの問題は外部に記載が禁止されているそうです。


いや、なんか簡単というか、流石にこれで終わらせるのブログとして色々アレなので、

この記事を書くにあたって、paizaのログに残ってる自分の解答を見直したのですが

1行しか書いてない。

マジでこれ書けなかったらこの業界来ない方がいいぞ・・・?って本気で思うレベルでした。

ソースを見ても特に言うことが増えなかったので、さっさとCランクの問題に行きましょう。







Cランクですが、

これも記憶にないです。

ログによると、この辺からif for whileの条件文を書き始めたみたいです。いや待て大丈夫かこのレベル


これもマジで特記事項が何もないので次に行きます。






Bランク
です。ここで2日目になってます。

ちょっと複雑なアルゴリズムになります。プロでも凡ミスしてアウトになる可能性があるのはここからでしょうか。

多重ループ回したり、簡単な文字列操作があったり、ロジック組んだりし始める、くらいのレベルですね。

この辺りから既存で用意されているテストケースをクリアしたヨシ!で提出すると、

境界値などのテストケースでカバーされていない範囲で弾かれて乙り出します。

私はCまでの問題が簡単すぎたせいもあって、余裕こいて確認せずに提出して1問殺しました(懺悔)


とはいえ、一般的なレベルで境界値やコーナーケースに注意すればそこまで難しくはないでしょう。
さっきのと別で大いなる力に弾かれて1問時間切れになりましたが(#^ω^)<鯖落ちクソ



D、Cと反射で解けるクソ雑魚ワンパン問題だったのに、Bでいきなりアルゴリズムを要求されます。

インターネッツ大航海をしていると、Bで急に難しくなった!という声があったり、

paiza的にもBをクリアすることで、応募可能な求人が一気に増えるそうです。

個人的な意見としても、Bがクリアできていれば一般的なIT系のPGとしてはやっていけると思います。

Bランクというのは「業界で最低限やっていけるかどうか」の結構大きな境目になっているのではないでしょうか。

それに、正直ここから上の問題が解けたところで、それが現場で生かされるケースはかなり少ないと思います。
プログラムを「計算」に使う分野じゃないと使わない知識かなぁ




さて、次にAランクです。2日サボったのでここで5日目です。

Aランクは、難しいです。

というか、ウン年間触れてもいないような言語でやるような問題ではないです。

具体的に言うと、Bランクまでは、プログラミング言語の使い方とかアルゴリズムの考え方とか、

プログラムやる上で普遍的に必要なレベルの範疇の問題だったのですが、、、


Aはアレです、方向性が競プロです。

そろそろリソースを考えてプログラムを組んでいかないとヤバイ感じになります。

ソースの実行時間に制限があったり、使えるメモリの量に制限があったりします。


いや、本当はDランクの問題からこれらの仕様は存在したのですが、

引っかかることがなかったので実質ないも同然だったんです。

なのですが、Aに関しては計算量考えてアルゴリズム考えたり、容量意識したメモリ取りが必要になります。

多分競プロ御用達のアルゴリズムとかがいくつかあるので、その辺の勉強が本来必要なんだと思いますが、

私はゴリ押しました。

いやだって、アルゴリズム自作したほうが早いし楽だし、人が考えたものってわかりにくいよね。


でも時間とかメモリとかの仕様を知らなかったせいでクリアには時間がかかってしまいました。

タイムアウトしたり、Pythonの再帰の上限値設定の存在を知らなくてランタイムエラー吐いたり・・・


そんな感じでやらかしまくって問題をいくつか落としてしまいました。

というか、問題によっては時間ギリギリになるせいでトロいPythonでは実行できずC++で書かされたりもしました。

というか、クリアした問題がそれだったのでAはPythonじゃなくてC++で解いています。


・・・そう、PythonじゃなくてC++で解いてしまったんですよ。

Pythonのリハビリで始めたのに!!!

手段と目的が入れ替わってしまった!!!

paiza、恐ろしい子。






では最後、Sランクです。これ解いたのがさっきです。ここまで実働3日!

Aの問題見る限り、Sも競プロ系だろうし解かなくてもいいかな~っていう気にもなったのですが、

やるからには一番上の方が気分いいじゃん?ということでタダの見栄、特に細かいことを考えずに突撃しました。


ただ、問題を選ぶときって問題のタイトルしか見れないんですよね。

問題選んでスタートしてから問題文が見れるので、選んだ問題がPytthonで解けるかどうかはガチャなんです。


まぁ結果から言うと、ガチャでSSR当てました。

問題文に振れない程度に内容を言うと、構文解析系の問題でした。

正規表現かけて回して再帰するだけの簡単な問題。正直Aより簡単だぞ?って思いながら解いてました。

この問題だけなのかもしれませんが、特に計算量とか気にする必要もなかったので、

もしかしたらSとAは問題の差異があまりないのかもしれません。


正規表現の実装は言語によって微妙にニュアンスが違うので、そこの設定にちょっと時間がかかりましたが、

それ以外の箇所は問題なく、普通に一発クリアでした。Cランク挑戦時以来の一発クリアですね。




という訳で、SランクをPythonで解いたので、最後はちゃんとリハビリを行うことができました!


Sまで解いた総括としては、Sはまだ問題を1問しか見ていないのでなんともですが、

自分のレベルならAで解けない問題はないかな?という感じです。尚凡ミスで乙る模様

paizaのサイトにはSランクは上位3%しかいないスーパープログラマだ!みたいな能書きが垂れ流されていますが、

大嘘だと思います。

その上位3%の母数には僕みたいにpaizaに登録してから

年単位でランクEのまま放置している人間が大量に含まれているんだと思います。


paizaのSランクについての認識を世間と共有するためにググってみたのですが、皆さん概ねその認識のようです。
いや、なんか、採用の面接でpaizaSランクです!ってドヤ顔するのに使っている層が一定数いるらしいのですが、絶対逆効果だと思います。

ただし、内部的にAランクとSランクで採用に関して区分けがされているパターンはあり得ると思いますので、

就活でpaizaを使う気があるなら、一応Sランクに上げておいた方がいいかと思います。
具体的に言うとランクSユーザーしか企業側にレコメンドされないとか、そもそも応募基準にランクがあるとか・・・



巷ではSランクにあがるためのなんとか~みたいなことが書いてあるサイトもいくつか散見されていましたが、

ぶっちゃけちゃんと勉強したら誰でもSランク、取れると思います。

というか、ノリと勢いだけで取れたので、本格的な競プロ系の勉強はしなくても取れるんじゃないかな。



多分アルゴリズムで詰まるようなレベルの問題はSランクでもそうそうないと思うので、

落ち着いて出力形式見て着実に入力条件縛ってコーナーケース確認して境界値も見て・・・ってやれば


Bまで解ける知識があるなら(再起の知識があれば)誰でも行けると思います。

再帰使った探索はちょっと頻度高いので、それは流石にわかってないと厳しいかな?って感じですかね。


・・・いや待て、この記事はSランクを目指すための記事じゃないんですよ。

この記事の目的は


paizaのスキルチェックはリハビリは初めて触る言語の勉強に使えますよ~

ということを紹介するためのお話でした。リハビリに使うならまずはBランクがおススメです。

という訳で、ここまでご覧いただきありがとうございました。paizaさん、宣伝したからお金ください


(^・ω・)ノ RadiumProduction at curonet
そろそろ令和5年春のAP試験が近づいてきたので一発記事を投稿します。

実はここ数年、ずっと社内(社外かも)で応用情報を受ける受けたいという相談を頂く場面が多くなっていて

もう毎年のように直前期になると応用情報(以下AP)に関連した色々な会を発足させたりしております。

しかし、今年はスケジュールの都合上、会を開催するのが難しそうだったことと、

本件別に業務内容と関係ないので公開しても問題なくね?という結論に至ったので

ここに全部書いてしまおうと思います。



ということで題して、

「ノー勉でAPに合格しよう!」

のコーナーです。


まず今回の前提条件から。

今回の前提は情報系の高専、あるいは大学を卒業ないし、卒業可能な単位数を所持、

またはそれ相当の知識量があること、です。

一応国家資格らしいので門外の方のノー勉は流石に無理だと思います。



次に試験概要として、本試験は年2回開催、午前午後の2部制で

午前が4択マークシート、午後は記述(長くても一問30文字そこら、選択問題もある)です。


午前は全80問、内訳はテクノロジ50問、マネジメント10問、ストラテジ20問です。

テクノロジは完全に技術に関する問題、マネジメントはPM系、SM系、システム監査、

ストラテジは経営戦略の他法規の問題が出ます。

100点満点で配点は不明ですが、全問一律1.25点と言われています。足切りの有無は不明です。多分ない?


午後については大問が11問あり、その中から必修のセキュリティの他、4問を選択する形です。

こちらも100点満点で配点は大問ごとに各20点。小問の配点は不明です。
足切りはないとされていますが、午後は不自然な不合格がたくさん発生しているので、配点による事実上の足切りに近いものがあっても不思議ではないです。


合格点は毎年ある程度の調整が入りますが、午前午後どちらも約60点前後とされています。
正確な点数は不明ですが、そもそも配点がズラされるのであまり細かいボーダーに意味はないのです。。。

・・・つまり、午前は48問とれば合格出来て、午後は2科目満点取れれば後は半分でも通れば合格です。
まぁ実際のところ最低ライン65%くらいは欲しいのでこうはいかないのですが。。。


ここまで情報が出揃えばなんとなくわかるかもしれませんが、

午前はテクノロジだけで50問あって、多分情報学士持ちならよっぽど現場離れてない限り殆ど解けます。

稀に解けない問題があったとしても、残りの30問ガチャを確率通り25%引けば7~8問は当たるので、
(そもそも勤めている方なら法規やPM系がノー勉で解けることもままある)

よっぽど午前の合格ボーダーが上振れない限り理論上ノー勉で通るはずです。


もし不安があるようなら過去問だけ触っておきましょう。

午前は半分くらい過去問から出るので、それさえやれば午前は基本的には通ります。
私の受験時ですらノー勉82.5点を叩き出しました。




で、問題は午後なんです。

午後はノー勉合格ができるかどうかは、その人の普段からの生活にかかっているといっていいでしょう。

端的に言うと、「普段からSQLを叩いているかどうか」です。


まず午後問の選択として、10問ある中で技術界隈の人間が選択肢として選ぶなら、

多くの人が「プログラミング」「ネットワーク」「組み込み」「DB」「シスアー」「情報システム」。

まぁこの辺から4問を選ぶと思うのですが、基本的に「プログラミング」は必須です。

何故なら「簡単だから」。

プログラミングの問題は基本情報と異なり特定の言語に依存しない形式となっており、

ぶっちゃければこの界隈なら誰でも解ける問題です。

但し、注意点があって、時間がかかるんです。

ほぼ毎年、問題の中に脳内実行、脳内デバッグを要求してくる問題があるため

「あっ、この問題、競プロで見たやつだ!」ってならない限りはどうしても30分近くかかります。
競プロガチ勢さんなら10分程度で解きそうな気がする。

とはいえ、ガチで一切の勉強が不要です。というか、このレベルが解けない程度だと、

>>>高専の3年くらいで留年します。<<<




で、次に選ぶべきは基本的に組み込みかDBです。

実際これも理由は簡単だから、です。

但し、プログラミングほど簡単にはいかなくて、問題がいくつかあります。

組み込みの方は形式として前提条件が色々問題に書いてあり、そこから最善の回答を出す問題なのですが、

結構問題の作り方が荒いせいで求められている回答ではない「次善策」を間違って書いてしまう可能性が高いからです。
いやこれシスアーでもあるんだけど・・・

つまり、端的に言うと盛大な引っかけ問題があることが多いんです。
いやあちらさんにその意図があるのかはわかりませんが。。。

そのせいでちょっと嫌われている感はありますね。

因みに問題の内容自体はどの年もちょっと専門用語の混じった国語(とたまに算数)の問題です。

プログラミングと同様に、あんまり回答に専門用語が出てくる場面が少ないのでノー勉勢には優位です。


しかし上述の理由から、優先候補ではあるのですが、インフラ系に長けている方は選ばない人も多いです。



で、次にDBなのですが、DBも問題自体は割と簡単なものが多いのですが、

プログラミングと大きく違うのがSQL構文の知識が必要ということです。

言語文法を問われることがなく、仕組みを理解していれば解けるプログラミングと異なり

DBの問題はSQLを書いていくので、SQLを割と普段から直打ちで叩いてないとノー勉は不可能です。

というか、SQLを普段から叩いてないなら選択するべきではないまであると思います。


しかし、SQLに精通していれば、この時点で大問3問でほぼ満点近い点数が狙えるので・・・

これでもう得点は60点。

合格おめでとうございます。

・・・ブラウザバックされる前に真面目にやりましょうか。

まぁでも実際、ノー勉ストレート連中は、自分の知る限りだいたいこんな感じです。

特にプログラミングを満点落として合格した人には心当たりがありません。


真面目な話として、残りの午後問題の選択ですが、ネットワーク、シスアー辺りは割とオススメです。

何故かというと、必修であるセキュリティの問題と勉強範囲がほぼ被るからです。

つまりこの2問に関しては実質ノー勉で解ける可能性の高い、コスパ高めの問題となりますね。

特にネットワークは過去問を見ても、セキュリティで出しても違和感のない問題がかなり多くあるので

必修で必ず勉強することになるセキュリティの知識だけで半分以上の問題が解ける可能性がありコスパ抜群です。

とはいえ、まぁ結局選択問題はざっと問題見て解けそうな問題を解くで良いと思いますが・・・





で、午後問題の勉強方法なのですが、

基本的に午後だから何か特別技術的に午前の内容以上に知る必要のある内容はないと思います。

強いて言えば午前は選択なのでDNSの...キャッシュが...アレして...みたいな曖昧でも良かった知識が

「DNSキャッシュポイズニング」という単語としてちゃんと頭に入っていないと書けませんよ、くらいの認識です。

特にその辺りは専門用語を聞かれやすいセキュリティやネットワークの分野は抑えておくべきだと思います。



後大事なのが過去問で、午前と違い過去問からは一切出ないので過去問を周回する必要は1ミリもないのですが、

ちょっと特殊なやり方で問題の出し方の傾向を把握しておくべきだと思います。


やることで大事なのは、問題を解いて解答を見た後に、

「解答の根拠」を問題文の中から探すようにしてみるといいと思います。


特にセキュリティ、シスアー、ネットワーク、組み込みなどは事例問題になり易いので

「解決するべき課題」が問題文上に存在して、そこから要件を拾い集めて回答を作るようになっています。


つまり、問題文にある要件を拾い損ねると、正解ではない次善策を導いてしまったり、

場合によっては頓珍漢な回答を錬成することも珍しくありません。


なので解いてみて「間違っていた」場合、恐らく読み落とし箇所に正答の根拠が転がっていたりします。


そういうのを拾い集められるようにならないと多分、午後はどうしようもないんじゃないかな。という認識ですね。

なので、その辺を意識して午後の問題文と付き合っていくことが合格への近道なんじゃないかと思います。


あとプログラミングで問題文中のソースの記法を無視して答えを書いてバツになるケースは割とあるあるなので

それは本当に気を付ける必要があると思います。ノー勉勢の大半はこれをやらかしてプログラミングで爆死して霧散します。



次に点数の取り方ですね。

狙いとしては、やっぱりプログラミングと組み込みまたはDBのどちらかで満点近くを狙って合計35点~40点近く取り、

内容が近いセキュリティとネットワークで各10点ずつくらい取って、

後は後詰めとして、最後の選択問題で解けそうな問題選んでできる限り埋める。

これで60~65点ぐらいなのでボーダーじゃないでしょうか。

この志向ならセキュリティの練度を上げればその分だけ合格率が上がる、と考えていいと思います。
実際両方10点だとボーダーで切られる可能性が高いので、各13点くらいは欲しいところですね。



後は、勉強時間が取れない場合の最終手段として「午後ガチャ」があります。

つまり、毎年の恒例行事のように試験を沢山受けるのです


午前レベルであれば、恐らく業界に従事していれば、雑な勉強でも合格レベルを維持することが可能なので、

午前を毎回クリアしつつ、午後で自分が解きやすい問題が来るのを祈るという手法です。クソ手法だけど実際有効なので困る


仕事が忙しくて試験勉強ができず、何回やっても午後でいつも落ちる!という人が

勉強リソースをセキュリティ全ぶっぱしてガチャでSSR当てて合格するケース、実は珍しくなかったりします・・・
まぁ当然これもプログラミングノー勉満点条件が付与されますが・・・


とまぁ、こんな感じの内容を毎年どこそこで話したり話さなかったりしています。


因みに、令和5年度春季ですが、恐らくガチャは大ハズレの年になるかと思います。ノーマルだらけの予感

理由は前回試験、令和4年度秋季でSSRが連発し、歴代最高合格率を叩き出しているからです。

実は当試験は年々易化しており、将来的にはこの記録も更新されるとは思うのですが、

それにしたって令和以降はずっと23~24%台だったのが急に26%も合格してしまったので

流石に次回試験は少し難しくなると予想されています。なので次回のガチャ祈りはやめた方が無難です。



そして最後に一番大事なことを言うと、

試験に受かるため一番大事なことは、「試験を受けること」です。


何いきなりコイツ、新次郎構文使ってんだ?と思われたかもしれません。でも事実なのです。

つまりどういうことかというと、APは受験申込者に対して実際の受験者の比率が非常に低い試験なのです。

この5年の平均受験率はなんと65%

受験票を持っている人の3人に1人は、試験当日に試験会場行って、問題用紙を開くところに辿り着けないのです。

この試験会場まで辿り着く行為をAP界隈では所謂「0次試験」などと呼んだりします。
起床試験に落第したり、夜勤休出をぶち込まれたり、存在を忘れていたり、イベ被りしたり...IT系の人間は大変です。


まぁそもそも受験申込を忘れる人間も結構な数いるので、申し込みも忘れないようにしましょう
数年単位で申込に失敗した人が私です。

統計に出てこない申込試験落第も含めれば、0次試験で落ちている人が一番多い、という説もあるくらいなので、

皆さん会場に辿り着くまで「も」試験ですからね。気を抜かないで頑張ってください。




という訳で以上、限りなく少ない勉強リソースでAPに合格しよう!のコーナーでした~

ではまた次の記事でお会いしましょう。

(^・ω・)ノ RadiumProduction at curonet
私は元気です。

2022年は(も)特にこちらの活動はしていませんでしたが、2023年特に活動予定がありません。

とりあえず生存報告として謹賀新年記事の投稿をさせて頂きます。

今年も気分で記事を更新していきますのでよろしくお願い致します。


昨日までコミックマーケット101に参加しておりまして、今年は寝正月が確定しております。

去年サボったので3年ぶりの冬コミ参加だったんですよね。。。もう色々忘れた・・・


方々に挨拶する余裕もなく、ただただ歩き回ったコミケでした。でも楽しかったです


落ち着いたらまたサークル参加でもしようかなと思っているのですが、

ちょっとここ1,2年は厳しそうなので、まぁそのうち・・・という感じです。


コミケの話しかしておりませんが、特にそれ以上に話すことも今は持ち合わせがありませんので、

ひとまず今日はこの辺で以上とさせて頂きます。


本年も皆様良き一年となりますように・・・・

(^・ω・)ノ RadiumProduction at curonet



嘘じゃないですほんとなんです。

ここまで長く使う予定もなかったので、正確な立ち上げの日付は覚えていないのですが、

多分昨日か今日か、明日ぐらいでRadiumProductionは15周年になります。


この前コミケに出して以降、ここ5年くらいは余りまともな活動をしていないので、

果たしてこの15周年に意味があるのかは甚だ疑問ではありますが、

一応到達したということでここに記しておきます。


以前にもお話ししたかと思いますが、業務のコンプライアンスの関係で

向こう数年は技術(プログラム)的な内容の発信が一切できなくなっておりまして、

C100にサークル参加することはおろか、ブログに技術的な話を書くことすら結構危険な状態なのです。
去年の今頃書いた記事、実はけっこうヤバいラインでした。。。

とまぁこんな感じでただの生存報告です。15周年企画なんかやるよ!なんてこともないです。

もしかしたら20周年は何かやるかもしれませんが、

2027年なんて遠い未来、自分が生きてるかもわかりませんね?


そんな感じの理由で、書く予定だったあれこれそれが殆ど潰れてしまっているので

暫くはてきとーに書きたいことを暇があれば書く感じでやっていこうと思います。

ではでは、16年目もよろしくお願いいたします。
これが最後の記事になったらどうしようね・・・

(^・ω・)ノ RadiumProduction at curonet

新年あけましておめでとうございます。

今年も記事を書くかは怪しいですがよろしくお願い致します。
昨年は某案件の記事の影響で年間PV100,000超えたから許して?


コイン〇イブ高裁敗訴とか、み〇ほ銀行とか、怪しい案件が増えている暗い時代ではありますが、

昨年1年間、大きなトラブルに巻き込まれることがなかったことを感謝しつつ、

最低限自責案件、貰い事故被害等々にあわない程度には、皆様気を引き締めて1年間頑張りましょう。


今年ですが、C100なんか出すの?っていうお話を各所から尋ねられてはいるのですが、

仕事クソ忙しすぎて未来のことは到底考えられる状況にないので

なんか思いついたら出す、程度で見といてください()

まぁ書こうと思えば書けることはあるんだけど、本にしてコミケで頒布するほどかと言われると

そこまででもなくて、ぶっちゃけここでの公開で十分なのです。。。


まぁ今一番可能性があるのは技術書ではなくプレゼン関係ですね。
※僕が今下手に技術本だすと会社のコンプライアンス的にまずいのよ・・・


そんな感じで今日の話は以上です。繰り返しになりますが、本年もよろしくお願いいたします。

(^・ω・)ノ RadiumProduction at curonet


直近に関して、実はまた色々新しいことをやっているのだが、それを書くにはコンプライアンスがキツすぎる。

ということで、ブログタイトルの通りです。
なぜか前回のダンガンの記事が反響があって混乱してます。

自分はSリボルバーやWレイザー最つよ世代でFレース以降はそこまで詳しくないのです。。。

ハードはクソ雑魚ナメクジなので地区大会決勝までは残るけど全国には行けないくらいの位置にいました。
その後別ジャンルに転向した後河童に転向して、そっからのことはこのブログに書いてありますね

言いたいことは記事タイトルに書いてあるので、結論だけ見たい方はタイトルだけ読んだらブラウザ閉じてOKです。

chiaファーミングに関しては非公式のプールが爆誕しつつあるようですが、

先駆者のありがたいお話を聞く限り、どう考えてもこれマイナスですね。

市場では先を見越して2TB NVMeSSDの完売が相次いでいるようですが、

正直どこまで高騰しようが、収支がプラスになることはないのではないでしょうか。



ここ暫く最新の話をしていたので、今回は打って変わってとてつもなく古いテーマでお送りしたいと思います。


カレンダー
05 2026/06 07
S M T W T F S
1 2 3 4 5 6
7 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
最新CM
[05/09 ONE RoboCuper]
[05/07 HDD ほしいよー]
[04/21 ブラック3辛]
[12/26 bols-blue]
[06/08 ONE RoboCuper]
かうんた
カウンター カウンター
らじぷろ目次
らじぷろ検索機
プロフィール
HN:
Luz
性別:
男性

PR

忍者ブログ 2007-2021,Powered by Radium-Luz-Lα+-Rescatar in RadiumProduction [PR]


Related Posts Plugin for WordPress, Blogger...