「Udp」を含む日記 RSS

はてなキーワード: Udpとは

2024-09-29

anond:20240929092551

計算機科学知識体系とネットワーク技術

計算機科学は、情報理論的基盤から実用的な応用まで、広範な領域カバーする学問です。以下に、計算機科学の主要な分野と、特にネットワークに関連するトピックを体系的にまとめます

1. 計算機科学の主要分野

1.1 アルゴリズムデータ構造

アルゴリズム設計: 問題解決のための効率的な手順の開発。

データ構造: データの整理と管理効率化するための手法

1.2 プログラミング言語コンパイラ

プログラミングパラダイム: 手続き型、オブジェクト指向関数型、論理型など。

コンパイラ設計: 高水言語機械語翻訳する技術

1.3 オペレーティングシステム

プロセス管理: CPUスケジューリングマルチタスキング

メモリ管理: 仮想メモリメモリ割り当て。

ファイルシステム: データの保存とアクセス方法

1.4 データベースシステム

リレーショナルデータベース: SQLによるデータ操作

NoSQLデータベース: 非構造データ管理

1.5 人工知能機械学習

機械学習アルゴリズム: 教師あり学習教師なし学習強化学習

深層学習: ニューラルネットワークによる高度なパターン認識

1.6 ソフトウェア工学

開発プロセス: アジャイルウォーターフォールモデル

品質保証: テスト手法バグトラッキング

1.7 セキュリティ暗号

暗号アルゴリズム: 対称鍵暗号公開鍵暗号

セキュリティプロトコル: SSL/TLSIPsec

2. ネットワーク技術

ネットワークは、情報の共有と通信可能にする計算機科学の核心的な分野です。

2.1 ネットワークの基本概念

OSI参照モデル: ネットワーク通信を7つのレイヤーに分割し、それぞれの機能定義

物理層: 電気信号ビット伝送。

データリンク層: フレーム転送エラー検出。

ネットワーク層: パケットルーティング

トランスポート層: エンドツーエンドの通信制御

セッション層: コネクションの管理

プレゼンテーション層: データ形式の変換。

アプリケーション層: ユーザーアプリケーション使用するプロトコル

TCP/IPモデル: 現実インターネット使用される4層モデル

2.2 ネットワークトポロジー

スター型: 中央ハブを介して各ノード接続

リング型: 各ノードが一方向または双方向に隣接ノード接続

バス型: すべてのノードが一本の通信ラインを共有。

メッシュ型: ノード間が多重に接続され、高い冗長性を持つ。

2.3 ネットワークプロトコル

IPInternet Protocol): データパケット化とアドレッシング

TCPTransmission Control Protocol): 信頼性のある通信提供

UDPUser Datagram Protocol): 信頼性よりも速度を重視した通信

HTTP/HTTPS: ウェブデータの送受信。

FTP/SFTP: ファイル転送プロトコル

SMTP/POP3/IMAP: 電子メールの送受信。

2.4 ネットワークデバイス

ルーター: 異なるネットワーク間のパケット転送ルーティング

スイッチ: 同一ネットワーク内でのフレーム転送

ブリッジ: ネットワークセグメントの接続

ゲートウェイ: 異なるプロトコル間の通信可能にする。

2.5 ワイヤレスネットワーク

Wi-Fi802.11規格): 無線LANの標準技術

Bluetooth: 近距離間のデータ通信

セルラーネットワーク: モバイル通信3G、4G、5G)。

2.6 ネットワークセキュリティ

ファイアウォール: 不正アクセスを防止。

IDS/IPS(侵入検知/防止システム): ネットワーク攻撃の検出と防御。

VPN仮想プライベートネットワーク): 安全リモートアクセス提供

暗号技術: データの機密性を保護

2.7 クラウドネットワーキング

クラウドサービスモデル: IaaSPaaSSaaS

仮想ネットワーク: ソフトウェアによるネットワーク構築。

SDNSoftware-Defined Networking): ネットワークの柔軟な管理制御

2.8 分散システム

分散コンピューティング: 複数ノードタスク分散処理。

ブロックチェーン: 分散型台帳技術

2.9 IoTモノのインターネット

センサーネットワーク: デバイス間の通信データ収集

IoTプロトコル: MQTT、CoAPなどの軽量プロトコル

2.10 ネットワーク管理モニタリング

SNMPSimple Network Management Protocol): ネットワークデバイス管理

ネットワークトラフィック分析: パフォーマンスセキュリティ最適化

3. ネットワーク技術の最新動向

3.1 5Gと次世代通信

帯域幅と低遅延: リアルタイムアプリケーションの実現。

エッジコンピューティング: データ処理の分散化。

3.2 SD-WANSoftware-Defined Wide Area Network

ネットワーク仮想化: 柔軟なWAN構築とコスト削減。

中央集中的な管理: ネットワークポリシーの一元管理

3.3 ネットワーク自動化AI

ネットワークオーケストレーション: 自動化された設定と管理

AIによるトラフィック最適化: パフォーマンスの向上と障害予測

3.4 ゼロトラストセキュリティ

信頼しない設計: 常に認証検証を行うセキュリティモデル

マイクロセグメンテーション: ネットワーク内部の細かなアクセス制御

4. 学習リソースと参考文献

4.1 推奨書籍

コンピュータネットワーク』 アンドリュー・S・タネンバウム著

TCP/IP詳解』 W. リチャード・スティーブンス著

ネットワークはなぜつながるのか』 戸根勤著

4.2 オンラインコース

Coursera: 「コンピュータネットワーク」、「ネットワークセキュリティコース

edX: 「Computer Networking」、「Cybersecurity Fundamentals」

4.3 標準化団体リソース

IETFInternet Engineering Task Force): ietf.org

IEEE Communications Society: comsoc.org

W3CWorld Wide Web Consortium): w3.org

2024-04-14

最近Excelで新しいファイルを作ったらとりあえずテーマフォントをBIZ UDPゴシックにして、全セル選択して行の高さを18にしてる。

2024-03-25

anond:20240325123118

BIZ UDPゴシックが好き

これが数値も綺麗に並べば完璧だった

2024-02-16

anond:20240216192830

BIZ UDPユニバーサルデザインなのか見やす

まぁメイリオを太くした感じかな

ヒラギノiPhoneとかで利用されてるので見やす

メイリオもまぁまぁ好き

游ゴシックWindowsだと特に見づらいと言うか游ゴシックライトなのが悪い

とはいえドルですら見づらい気がしてる

2023-12-04

Cat5eを使い切る未来はあるか?

要するに1Gbpsと10Gbps論争

最近10Gbpsを諦めて2.5Gbpsになってきているので、1Gbps越え論争の方が正しい

インターネット接続の1G越え対応

5/10Gbps提供はかなり広まっているのでここはそんなに問題無い

価格も1Gbpsと大して変わらない

実測としては10Gbpsは絶対に出ないが、2〜3Gbpsなら出る

ただし、それはスピードテストをしたときの話であってEnd-to-Endでそれだけでるかどうかは全く別の話になる

有線接続の1Gbps越え対応

高性能PCでは2.5Gbps対応NICが増えてきた

10Gbpsは依然としてまだまだだが、1Gbpsを越えるという意味では使えるようになってはい

またType-C接続のRJ-45ドングルも2.5Gbps対応が出てきている

無線接続の1Gbps越え対応

ノートPCだけでなくスマホでもWiFi 6(11ax)対応が増えてきている

11axなら理論上は最大9.6Gbps使えるが、これは160MHz帯域を8本同時利用した場合で、そんなPCは無い

現状では2本同時利用なので2.4Gbpsが上限となるので、1Gbps越え通信可能である

アプリケーション

本題のアプリケーションだが、単体で1Gbpsを越えるような通信をするアプリケーション存在しない

8K映像を非圧縮で送れば72Gbps必要だがH.265だとせいぜい100Mbps、将来的な規格では50Mbpsほどまで圧縮できる

10部屋あって全員が8K映像を同時視聴すれば1Gbpsを越えるかもしれない

オンラインゲームでは遅延を嫌ってUDPバカスカ送ることもあるが、それでも100Mbpsもあれば十分である

圧縮で送るとコーディング遅延がなくなるが、そもそも伝送遅延がバカみたいに大きいので圧縮しても大差が無い

一方でファイルなどの送受信では帯域幅がそのままダウンロードアップロード時間に直結する

5GBのイメージダウンロードする時間は1Gbpsから2.5Gbpsにすればまぁ半分ぐらいにはなる

オンラインストレージバカスカ使う人にとっては1Gbps越えが魅力的に思えるのだが

実際にはソフトウェア側の工夫(キャッシュなど)によってそれを体感できるかどうか怪しい

実際にDropBox, iCloudOneDriveはどれもよくできているので帯域幅による違いを感じにくい(細すぎるとダメダメだが)

将来性

モデム28.8kbpsで頑張っていた頃は1Mbpsも出れば夢のような未来が待っているという期待があった

ADSLで1〜10Mbpsもつかえ始めると「1Gbpsも使えるの?」と思っていたが実際には10Mbps越えの通信は十分に需要があった

なので今、「1Gbps以上必要あるの?」と思っていても、将来的には必要になるかも知れない

否定はしないが、1〜10Mbpsの頃から4K8Kの話やクラウドストレージのような話はあって

将来的に1Gbpsが使えたときの利用方法は山のように案があった

今、10Gbpsの利用法として合理的ものは知る限り全くない

特にコーディングに関する技術が進みすぎて映像伝送に帯域が不要となったのが大きいように思う

何より1Gbpsの状況が10年以上続いているのが好例だと思う

ネットワーク業界未来

伝送スピードよりも接続の確実性の方が圧倒的に需要が高い

特に5Gでモバイル網のスピードが固定網に追いついてしまっているので

ハンドオフ等を考えれば全て5G(もしくは6G)でカバーする方が接続性・速度ともに満足度が高い

5Gアンテナを多人数で共有している限りは速度上昇は見込めないので

この業界に求められているのは5GC内蔵の屋内5GプライベートアンテナをeSIM認証自由ハンドオフできる世界線だと思う

WiFiの設定もいらないし契約も一本化できる

PCにeSIMが入るようになれば屋内でも屋外でもシームレスネットワーク接続できるし

スタバWiFiに繋がらなかったりドコモフリーWiFi勝手に繋がってLINEが来ない、という未来もなくなる

ただ、そのときであっても家庭の屋内配線は1Gbpsで十分である

マンション店舗のように複数人で共有するなら当然1Gbps以上の回線必要だが、伝送距離を考えればファイバーの方が有利である

ということでLANケーブルはCat5eで打ち止めではないか、というのがここ10年ぐらいの温度感だと思う

2023-06-15

YAMAHA NVR500 で エキサイトMEC光 に接続する方法

ネットに公開されている情報は、初心者には難しいと感じました。

Yamahaサイトconfigは公開されていますが、exciteMEC光だと、クリアする注釈が多すぎて。

"NVR500 では、tunnel endpoint address コマンド使用して、AFTR の IPv6アドレス指定してください。"

って書いてますが、exciteMEC光はAFTR公開してないぞ!ってなるので。

正解は[gw.transix.jp]のIPv6アドレス指定する、で

"tunnel endpoint address 2404:8e01::feed:101"です。

以下、全文。

#

# transixのIPv4接続DS-Lite)でインターネット接続

#

#

# ルーターの設定:ひかり電話契約なしの場合

#

#

# ゲートウェイの設定

#

ip route default gateway tunnel 1

#

# LANインターフェースの設定 (LAN1ポート使用)

#

ip lan1 address 192.168.100.1/24

#

# WANインターフェースの設定 (LAN2ポート使用)

#

ipv6 prefix 1 ra-prefix@lan2::/64

ipv6 lan1 address ra-prefix@lan2::1/64

ipv6 lan1 rtadv send 1 o_flag=on

ipv6 lan1 dhcp service server

ipv6 lan2 dhcp service client ir=on

ipv6 lan2 secure filter in 1010 1011 1012

ipv6 lan2 secure filter out 3000 dynamic 100 101 102 103 104 105 118 119

ngn type lan2 ntt

#

# トンネルの設定

#

tunnel select 1

tunnel encapsulation ipip

tunnel endpoint address 2404:8e01::feed:101

tunnel enable 1

#

# フィルターの設定

#

ipv6 filter 1010 pass * * icmp6 * *

ipv6 filter 1011 pass * * tcp * ident

ipv6 filter 1012 pass * * udp * 546

ipv6 filter 3000 pass * * * * *

ipv6 filter dynamic 100 * * ftp

ipv6 filter dynamic 101 * * domain

ipv6 filter dynamic 102 * * www

ipv6 filter dynamic 103 * * smtp

ipv6 filter dynamic 104 * * pop3

# ipv6 filter dynamic 105 * * submission

ipv6 filter dynamic 118 * * tcp

ipv6 filter dynamic 119 * * udp

#

# DHCPの設定

#

dhcp service server

dhcp server rfc2131 compliant except remain-silent

dhcp scope 1 192.168.100.2-192.168.100.191/24

#

# DNSの設定

#

dns host lan1

dns service fallback on

dns server dhcp lan2

2023-04-02

はてな匿名ダイアリーってデフォルト文字が小さすぎる。しかも、幅が広すぎて、読みやすい幅に上限設定されてない。

から自分ユーザースタイルシート適用することにした。

:root {
  --main-font-family: 'BIZ UDPゴシック'
}
div.day {
  max-width: 100ch;
}
div.day p {
  line-height: 3.5rem;
  font-size: 1.25em;
  font-family: var(--main-font-family);
}
div.day div.section ul li,
div.day div.section ol li{
  line-height: 3rem;
  font-size: 1.25em;
  font-family: var(--main-font-family);
}
#text-body {
  line-height: 3rem;
  font-size: 1.3em !important;
  font-family: var(--main-font-family);
}
.main-content .card-text p {
  font-size: 1.8rem !important;
  font-family: var(--main-font-family);
}

2023-02-16

anond:20230216122436

女同士の会話は、 UDP じゃなくて TCP で 3ウェイハンドシェイクから

送信偽装がやりにくいということなんでは。

2022-11-30

anond:20221129133151

真に許されざるのはMS明朝游明朝游ゴシックおまえらだ。

細すぎるんだよ。線が。画面でも紙でも見えにくい。ユニバーサルデザインを何と心得るか。

なのでUDPゴシック。おまえが一番だ。

おまえが入ってない古い業務PCではメイリオ代打だ。上下のスペースがクソなので素人にはおすすめできない

anond:20221130155016

まず伝搬遅延を計算します。

これは光の速度から計算できます

簡単計算したければ1m=5nsだと覚えましょう。

そうすると1kmは5μsだとすぐに分かるし、1000kmで5msです。(単位を上げるだけ)

東京-大阪間はざっくり500kmなので2.5msで到達できます

片道の遅延を計測するのは難しいのでpingで往復を測ると5msぐらいです。

実際にはルーターを通過する時間なんかがあるので10msとかになったりします。(30msはちょっと遅い気がする)

ちなみにLTEとかWiFiを挟むと平気で100msぐらい増えます

電波は共有資源なので誰かが使ってる間は使えないから、使えるようになるまで待つからです。

待ち時間が100msとかになります。5GとかWiFi6はその辺が早かったりします。

東京-サンフランシスコ間だと8000kmぐらいあるので40msです。往復で80msなので、まぁ100msぐらいです。

TCP場合送信前に3wayハンドシェイクっていうのをするので2往復ぐらい事前にやりとりします。

なので200msecぐらいかかりますが、最近はFast Openっていうのもあるので多分もっと早いです。

1GBのデータを送るとして、送り始めの先頭データが到達するのにこれだけの遅延がかかります

1byteだけ送って、届いた確認が来たら次の1byteを送って・・・なんてやってたらいつまで経っても送れないので

届いてるかどうかは後回しにしてとにかくドンドン送るとします。

この場合、1GBのデータを送り終わるまでかかる時間は、使える帯域によって変わります

1Gbps使えるなら、1GB送るのにざっくり8secの計算になりますが、まぁ諸々あってそんなわけはなくてもうちょっとかかります

ちなみにUDP場合、使える帯域以上にデータを送ると途中で捨てられるだけです。

パケットなので順番が逆転する可能性もありますが、それでも気付かずそのまま送ります

送られた側でエラーになって初めて気付きます

TCPだと途中で「ここまでOK?」っていう確認をするのでその分の遅延が入りそうですが、SACKっていう仕組みで良い感じに遅延が少なく通信できます

anond:20221130160129

他の前提条件がないから30msの伝送遅延のところは30msで送れるよ

無限に容量がある回線無限に多重してUDPパケット送るだけ

500KB位なら実環境でもそん位だけど

anond:20221130120214

それ不思議なんだよな。音声・映像リアルタイム通信ではTCPの再送なんて間に合わないか意味ないのに。UDPだって暗号化はできるし、TCP使ってる理由わからん

anond:20221130120214

配信はHLSとRTMPじゃなかったっけ

というか双方向通信ってUDP向いてたっけ?

2022-11-14

誰とは言わないけどUDPってだけでパケット叩き落とす下品な奴いるじゃん

QUICちゃんと動くのか

2022-09-30

anond:20220930194054

UDPだと全然パケロスが無い」に、"うっ"となった。

もしかしてパケットというのはL2の話だからと言いたいのか?

パケロスいうな

TCPでパケロスとか言ってる奴は自分が何を言っているのか分かってんのか

NUROをきっちり糾弾するためにレイヤーのことぐらいは分かってくれ

例えばLTEなんてバンバンパケロスするけどTCPUDPだと全然パケロスが無い

モバイルバックホールはそもそも品質が凄く悪いのを前提にしている(無線区間のことではない)

パケロスしてるからダメでしてないかOKっていう単純な話では無い

そういうのをひっくるめて「回線速度」で評価できるんだから

単純に「NUROは遅い」って言えばいいし、NUROはそれを向上させればそれでいいんだよ

2022-09-24

anond:20220923211542

TCPUDPしかなくて、そのTCPが詰まるからUDPの上にコネクション型のスパゲティを流すんだろ

anond:20220923211542

RFC4594。受け側のメモリが有限なのだから元々落としていい仕様になってる。特にUDPVoIPとかな

2022-09-23

パケットは落としていいんだよ

NUROでパケロスが酷いっていうのは問題だし対処してほしいけど

パケットを破棄するなんて許せない」とか言ってるアホはインターネット最初から勉強し直してこい

UDPパケットを落としてるのは問題」とか言ってるアホもL4勉強やり直してこい

TCPが遅いだのなんだの文句付けてUDPネットワークリソースを消費しておいて

いざUDP輻輳したらNUROに文句言うとかお門違いにもほどがある

文句を言う先は任天堂だし任天堂はまともなネットワークエンジニアを雇えよ

今時のゲームUDP冗長に送るのがデフォだし輻輳制御とか全然考えてないから絞られて文句言う方がおかしいわ

ゲームじゃなくて仕事で使ってる人からすれば「そんなクソUDPパケットバカバカ落としてしまっていい」っていう感じだし

TCPみたいなフェアネス考えてないパケットはもうガッツリブロックしていいんだよ

文句言う先間違えんな アホども

追記

伸びててワロタ

そして全員電話屋さんの脳みそワロタ

1Gの先に100Mの回線繋がってたら「90%もパケロスしてる!」って騒いでるようなもん

送ってる奴が悪いに決まってるだろ

もちろんそんな単純な話では無いんだけど輻輳の原因がスプラ制御してくれないならUDP狙い撃ちで落とすしかないでしょ

他の人が困るんだからそれでいいし、パケロスしてても完全ブロックじゃないんだから端末側でどうにかせーよっていうのがインターネットですよ

まぁそもそもベストエフォート」っていう単語が良くないと思う

特に日本人は「もっと頑張れ」とか言い出しそうで

1Gの回線で1Gのスピードが出ないのは頑張りが足りないから、とか思ってそう

「無保証シェア回線」とかにした方が良いのでは

2022-08-27

センスの無い未経験年収300万強のプログラマとして就職して必要だったこ

学歴がよくなくて、就職が困難だったので中小 SIer で働いていた。 (プライム案件を取ってこれる分マシらしい)

レキサルティレクサプロデパスのお世話になって続けてたけど、結局は薬でどうにかできず、辞めてしまった。

参考程度だけど、未経験の人が 300万 をもらうために、どのようなスキル必要かを、まとめておく。

ちなみにどれくらいプログラムが書けなかったかというと、競技プログラミング努力しても AtCoder黄色になれず青色のままってくらい。

AtCoder でいう、初心者から抜け出せないという、要するにセンスがないということなのだけど、そういう人も居そうなので、参考までに。

要するに

経験プログラマに対して、これだけ要求されるのだから、未経験の人は覚悟するようにという指針を提供したいので書いた。

入社時に覚悟しておかなければならない事

誓約書

基本的に、損害を与えた場合には、それを作業者補填するという誓約書を結ぶ。

要するに、捨て駒として扱って、失敗したら賠償しろ、という事になる。

このことを認識して、失敗しないように振舞ないと、連帯保証人含めて迷惑をかける事になる。

要するに、低賃金で未経験プログラマ案件にノーリスクで送りこんで、稼ぐための手段です。

必要だったスキル

ディレクション

基本的に PL (夢想家) → PM (御用聞き) → プログラマ という環境なので、プログラマ自分ディレクションして意思決定する必要がある。

例えば、下請け場合は、PM の御用聞きの結果の WBS に合わせないと、顧客から DM瑕疵担保責任がどうとか言われる。

社内開発の場合は、PL の方から直接、長時間の叱責を受けなくてはならない。

そういう不幸を防ぐためにも自分ディレクションして、PM の決めた実態を反映していない WBS に合わせて作業するスキル要求される。

基本的に手戻りは個人の過失になってしまうため、手戻りしないように考え抜いて意思決定をする、というのが重要になる。

これこそ、ガクチカと呼ばれる、頑張れますというスキルなので、学生時代に頑張っておけばよかったなぁ。

デザイン

こう見せたい、こう表現したい、という事を伝えるには、必然的デザイン知識必要になる。

創造思考デザインは切っても切り離せない概念で、デザインとは創造なのだから、当たり前である

ソフトウェアアーキテクチャも、ソフトウェア設計も、コーディングデザインと言えるかもしれない。

言語技術 (言語能力)

顧客と 1:1 で話す事が DM でもボイチャでも突発的に発生するので、いつ、いかなる時でも論理武装していなければならない。

まぁ、顧客であったり PL であったりはキレるのが仕事なので、それに対して理路整然と説明する必要がある。

なんとなく、では納得しないし、すぐ損害賠償請求とかそういう話にいくので、答えられないと持ち帰りますお茶を濁して、エマージェンシーになる。

後述する設計能力においても、課題を把握するための言語技術(言語能力)は重要ファクターだと思う。

ソフトウェア設計

C/C++システムプログラムフレームワーク基本的に無いので、自分概念を整理して、どのような変更、拡張があるかを考えて設計する必要がある。

この能力が弱いと、手戻りが発生しやすくなり、瑕疵担保責任を問われることになる。

読んだ本の中だと、ボブおじさんの本が、やっぱりしっくりくるなという個人的な感想がある。

ネットワークプログラム (C)

UDP で送ってくるデータを受けて 24/365 で停止しない WebAPI への繋ぎ込みという簡単作業があって、振られた。

リークしてはいけないという事で malloc禁止で、グローバル変数を利用するという変なルールがあった。

Rust で書けばいいんじゃないかなと思ったけど、Rust 書くのもシンドイし、C/C++ で、しんどくて読みづらいコードを書いた。

あとで保守する人が大変そうだけど、そういうルールを決めたのは PL だしね。

システムプログラム (C++)

なんか、特殊PCI Expressカードからベンダーが用意している SDKデータ引っこ抜いて Web API へつなぎ込む部分をやった。

データの中の特殊信号を取りたかったらしい。

一応、SDK の使い方をパラ見して 1 日で作ったので、別に負担じゃなかったけど、素人やらせるんなとは思った。

Webバックエンド (Express/Fastify + PostgreSQL)

当たり前だが、DB 作って RestAPI を生やすのは現代プログラマにとって自然にできなければならない。

なので、新規開発のサブモジュールバックエンドを任せられた。

だが、ORM の癖を把握したり、発行されるクエリ確認したりするのは、疲れる。 SQL を直書きするのはシンドイ。

結局 SQL を直書きすることにしたけど、あまりいい決断ではなかったと思っている。

それ以外は フレームワーク に乗ってしまっていいので、書き捨てる分には楽だった。

最近だと、TypeScriptPrisma 使うのが、型安全でよさそうだなと思っている。

Nest.js個人的には好み。

Linux操作 (EC2 とか)

デプロイEC2 直でやったり ECS にしたりとしていたので、ベアメタル知識必要になった。

要するに systemd のいじり方とか、死活監視の仕方とか。

個人的には、クラウド嫌いなので、ベアメタルの方が安心できる。

Bind権威DNS管理して、postfix絶対止めてはいけないメールサーバ管理するとかもあったけど、出来て当然ではある事だし。

Webフロントエンド (React/Vue)

会社Webアプリ案件を取ってきたので突っ込まれた。

経験プログラマでも、月単価 100 万以上で顧客請求してるんだから会社はそりゃ儲けるだろうと思った。

会社が一人前の経験N年のプログラマといったら、その通りに振舞う必要がある。顧客責任はないのだから

当たり前だが、WebディレクションWebデザインWebプログラミング, Webマークアップ は、全て作業者であるプログラマ仕事になる。

個人的には、これが分かれている理由が良く分からないけど、分けたい人がいるんだろう。

デザインで、CSSフレームワークを使うと、その色が出るという事で、全部 CSS手書きしていた。

tailwind が出た現在では使っていればよかったなと思う。

結局、全く分からない中、手探りでデザインし、コードを書いて、顧客に 1 日 5 ~ 10リリースするという行為をした。

顧客大手企業だったので、自社のエンジニアならもっと出来る、と叱責されまくったけど、だったら自社でやればいいじゃんと思った。

一応、今でもサービスは生きていて、ユニークユーザ数は上がっているらしい。

そして、焼き付け刃だったので、 WAI-ARIA を知らず、アクセシビリティへの配慮が足りない事が問題になってしまった。

これはなんとか保守対応ねじ込めたのでトラブルにならなかったけど、瑕疵担保責任と綱渡りだなと思った。

CI/CD 構築 (Azure Pipelines)

当たり前だが、リリースサイクルを短くしないと顧客はキレてしまうので、CI/CD を整えないといけない。

今は Github Actions とかあるけど、昔は無くて Bitrise が高いからみたいな理由Azure Pipelines で CI/CD フローを構築した。

もう Multi Stage Pipeline になってるだろうけど、Release Pipeline が GUI からしか設定できないのが辛みだった。

IaC (Terraform)

当然だが、デプロイするためには IaC を整える必要がある。

これを知らずに、コンソールポチポチしていたので、 IaC 出来てない事がバレた時に色々怒られてしまった。

今は CDK とか便利なものが出来てるんだなぁ。

自動テスト

本来テスト自動テストを整えて、質保証をしてバグを減らさなければならない。

だが、テストを書くという手間を払えなかったので、人力テストしかできなかった。

一応、リグレッションテストを人力でやりまくったので、バグ発見曲線が結合テストでの IF 不一致しかない、という結果にはなったけど

自動化できれば費用必要じゃなかったから、怠慢だと、責められてしまった。

同じような未経験の人へ

経験でも誓約書を盾に、振られた事全部を出来なくてはならない慣習があるので、プログラマはそんなに良い職業じゃないよ。

甘い考えで、プログラマになろうと思っているのなら、考え直した方がいいです。

ログイン ユーザー登録
ようこそ ゲスト さん