「ソースコード」を含む日記 RSS

はてなキーワード: ソースコードとは

2019-07-29

anond:20190729082010

フリーソフトウェア運動

フリーソフトウェア原則支援する活動リチャード・ストールマンはその創始者の一人であり代表者でもある。

ほーん

公的機関でのUNIX/Linuxデスクトップ導入を推進しま

狭義のUNIXとは、AT&T ベル研が開発したOSとその直系の派生システムオリジナルのものから Sys III、SYS Vと発展し、現在SCOがそのソースコードを握っている。

POSIX準拠UNIX互換OSカーネルまたは、そのカーネルを用いたOS総称

はいはい

公的機関広報のためのActivityPubプロトコル方式SNSサーバーを設置し運営しま

ActivityPubは非中央集権型の分散SNSオープン標準であるPump.ioのActivityPump プロトコルベース設計されている。 クライアント/サーバAPIを通してコンテンツの「作成」「更新」「削除」を行い、連携するサーバAPI を通して通知およびコンテンツを届ける。

ふむふむ

マイナンバー国際標準規格であるDecentralized IDs(DIDs)へ移行を推進し秘密鍵によって保護された新マイナンバーおよび新マイナンバーカードを発行しま

分散識別子(DIDs)は、検証可能な「自主的な」デジタルIDの新しいタイプ識別子です。

ほー

HTTPS over DNSの普及を推進し国民通信の秘密を守ります

HTTPS over DNSは、HTTPSプロトコルを介してリモートドメインネームシステム解決を実行するためのプロトコルです。

へぇ

マジで何を言われているのかわからんわw

これは投票できる人居ないだろうなぁ

何言ってんのかわかんねぇんだもんw

2019-07-27

(Web)エンジニア転向について

知り合いと飲んだら、過去の私と同じような状況であの日々を思い出して吐き出したくなった。

当時私が参加していたチーム・プロジェクトは美味しそうなFWを使っていた。

サーバサイドのエンジニアは片手ほどの人数で、採用時点でそのFW経験があることを確認されていたし、別チームから転属してきたメンバーも何らかのMVCWSGIFW経験があり、わりとサクッと順応していた。

前職では業界経験だったり、経歴を盛っていると思われるエンジニアもどき仕事していたので、普通に公式ドキュメントを読み、FWソースコード確認することができる同僚との仕事はおもりがなくなったようで気楽だった。

3年前の夏、サーバサイドのチームに新人のN氏が加入した。新人と言っても別チームから来た年上の業界経験豊富インフラエンジニアである

プロジェクトクラウド化や縮小が当時の1年半ほど前から進んでいて、社内のインフラエンジニアはSREに名前を変えるような流れがあった。(実際にはインフラミドルウェアネットワークに長けた彼らは相変わらずそれなりに仕事があったようだが)

その流れの中でN氏は、サーバサイドエンジニアをしてみようと決めたらしい。転向については1年前から部長相談していたとのことだった。しかも、うちのチーム名指しで。これはちょっとしかった。

さっそく、N氏には社内向けの新機能担当してもらい、私がレビュー担当になった。

これがなんというか読むのが辛かった。確実に言えるのはチュートリアル絶対やってないということだった。

機能は満たすが、FWの書き方やお作法については部分的にググった結果がパッチワークされているような。

社内の各チームのアーキテクチャエンジニアならだれでも知っていた、つまりN氏は知っていながら特に準備なしでやってきたわけである

そこから始まる、レビューを通した実プロダクトを使ったチュートリアル。褒めるとこは褒めて、受け入れられないところは参考になる実装ドキュメント提供する。

はじめからチュートリアルを一緒にこなした方が良かった。レビューで大幅に書き換えてもらうのは結構辛い。勿論プロダクトに使えるレベルコードじゃないから仕方ないんだけど。

しかもN氏、臭いである。脂汗を吸った服、毎日履いてくるジーパン、脱いだのが瞬時にわかるほど臭う靴。

当時は Visual Studio Live Share なんて無いし、ペアプロは5分で限界だった。

がっつり書き直しが入るようなコード卒業には2ヶ月ほどかかった。(これは私が時間を十分にとれなかったのも悪かったし、N氏は前のチームの引継ぎ作業も並行していたので)

もう、色々思い出して悲しくなったから書いとくと

ちなみに知り合いのところは、最近の天気のせいなのか生乾き臭マックス縁故入社新人とのことで、当時彼にしてもらったように「ガンバ」と背中叩いておいた。

N氏は今も臭っているようだが今は別プロジェクトだ。スキルセットが増えている分、頼れるエンジニアに近づいたのかな。喉元過ぎればなんとやらで、忘れていた。

最近は私が別チームから支援できた若手のフロントエンドエンジニアレビューしてもらっている。

チュートリアルこなして、書籍記事を読んで手を動かしたうえで相談をしながら実装を進めている。あんまりものは見せられない。

新しいスキルセットは必要になる。

人に教えておらうにも、ある程度は自分勉強しないと適切な質問が出来ない。

ある程度が分からないなら、公式資料書籍、有志のページを当たろう。

2019-07-20

anond:20190720225244

マジレスすると、Pythonではソースコード文字コードutf-8にできるから、本当は漢字変数名扱えるぞ。

みんなやらないだけで。

https://qiita.com/yukinoi/items/e521e8f6b085a51de90b

Javaでもできるはず。というか、最近ソースコードutf-8対応言語は、みんなできるはず。

これ”コピペになってない”ということを誰が保証するの?

類似文章検索のようなことをしたら確実にヒットするだろうし。

GPL感染するんでは?

(そうでなくても長々と著作権者表記必要になる)

いやまあ著作権者表記長々としてくれたらいいんだけど。

2019-07-16

本当に俺らに参政権あっていいの?

24時間365日、政治の事について専門的に勉強してる政治大先生たちですら

それぞれ誰がどんなデータを見てから物を語ってるんだか知れないが、意見を全く違えたりするし

不見識な事をほざいて笑われたりするのに。

俺ら自身仕事の事について専門的な勉強を欠かせず、政治の事なんかサッパリな俺らなんかに

参政権なんてあっていいの?

投票なんかしていいの?

俺この1か月、お客様企業)が運営するECサイトドキュメントソースコードしか読んでないよ?

日本企業特有のクッソ複雑なビジネスルールで、客自身すらどういう要件だったのか分からなくなったやつ。

客が俺に聞いてくるんだよ「こういう設定をしたキャンペーンって、どの商品に割り当たるんですかね?」とかさ。知るかよクソが。

2019-07-13

anond:20190713214809

そんな言わないと書かない人のソースコードを読まざるを得ない自分努力不足では?

MastodonGab論争〜燃え上がるMast〜

前回のエントリ

anond:20190706150428

大騒ぎとなったMastの振る舞い

MastodonはAGPLで開発されており、AGPLに則れば誰しもが自由に参入し使用することができるということは前回のエントリ言及させてもらった。

まりコレはMastodon接続するいわゆるクライアントアプリケーション作成する自由も認められていることとなる。

そのMastodonクライアントアプリケーションの1つとしてiOS向けに提供されている「Mast」という実装存在する。

Mast - App Store

https://apps.apple.com/jp/app/mast/id1437429129

MastはiOSでは比較的高品質Mastodonクライアントアプリケーションとして知られ、多くのMastodonユーザから支持されている。

App Store上では¥600で提供されている有償ソフトウェアだが、ソースコードGPLv3ライセンスの元にGitHubで公開されているので誰しもがMastを自由使用することができるというフリーソフトウェア運動の一環として非常に好ましい姿勢であると見られてきた。

ShihabM/Mast - GitHub

https://github.com/ShihabM/Mast

GNU代表格に自由を重んじるフリーソフトウェア運動へ関わるFLOSSなユーザはMastには¥600を支払う価値があるとし、景気よく¥600を支払ってMastを利用した。

GitHubからソースコードをcloneし、Xcodeプロジェクト作成コンパイルビルドiOS端末実機で動かすなんてことは¥600支払った(女性かも知れないが)彼らのスキルからすると簡単すぎる手順であり、何なら自動化すらできるだろう。

スタバMacbookを用いて1回ドヤリングするよりも彼らはMastの理念に感銘しMastに¥600を支払うことへ価値見出したのだ。

そんなMastの製作者Shihab MehboobはGab問題で揺れるMastodon創始者Eugen Rochkoの提言賛同しMastへ禁じ手たるアップデートをしてしまった。

Mastを購入したユーザ同意せずMastを起動するたびにMastodonサーバへ対してユーザに無断でGabドメインブロックするシステムコール送信するアップデートを施したである

これには2つの問題がある。

  1. アップデート以前にMastを購入したユーザはMastの振る舞いへ対して同意していない
  2. Mastからシステムコール送信であるMastodonサーバはShihab Mehboobの所有物ではない

まりどういうことか?と言えばMastは¥600で購入するマルウェアと化したのだ。

百歩譲ればMastがスタンドアロン機能としてGabとの通信不可能になるアップデートを施すのならまだ擁護のしようはある。

しかし、今回のMastのアップデートは無断でMastodonサーバGabドメインブロックするシステムコール送信してしまっているのだ。他人サーバを無断で操作してしまっているのだ。

このMastの振る舞いは情報技術者へ問えば100人100人とも「マルウェア的振る舞いであることは疑いようがない」と言うだろう。

しかも¥600支払っているのである別に¥600が惜しいわけではない。フリーソフトウェア運動としてShihab Mehboobの生活の足しになればと思って多くの者は¥600を支払ったのである

¥600支払ったユーザへ対して明確すぎるShihab Mehboobの背信行為が今回大炎上しているというわけだ。

これは自由vs自由の論争である

勘違いしてならないのは、この件は別に北米極右が集うとされるGab擁護するためフリーソフトウェア運動標榜する者たちが声を荒げているわけではないということだ。

GNU宣言を読めば理解できるように、フリーソフトウェア運動コンピュータ制御権は個別ユーザへ対して帰属するべきということを一貫して主張しているだけなのである

Gabブロック個別ユーザ価値観で決定されるべきであって、AGPLを冠するMastodon創始者Eugen RochkoやGPLを冠するMastの製作者Shihab Mehboobが強制すべきではないと主張しているのだ。

Eugen RochkoやShihab Mehboobが歩もうとしているのは疑いようもなく言論統制への道であり、それはリベラリズムが憎む道でありGabが歩んでいる道でもある。

からこそ今回のMastのアップデートは許されるべきではないとされ、Eugen RochkoやShihab Mehboobはフリーソフトウェア運動標榜する者たちから反論が起きている。

これが今現在最も先進であるとされる分散SNSが抱えている問題現在進捗である

2019-07-12

anond:20190712141248

いまだに原因が分かった!

対策できた!

という発表が無いのも、

ソースコードに穴も無ければ、ログにも異常が無いからやで。

2019-07-06

7payのセキュリティ審査って何をやってたんだろうか

ここ連日騒がれている7pay。

パスワードリセットリンク送付先のメールアドレスに対して設計上の問題脆弱性が発覚して大変な事態に発展しています

昨日の会見では社長ITリテラシ不足が露呈したり、サービス継続が表明されたりして、いわゆる「祭」の様相を呈しています

また、会見内で「セキュリティ審査実施した」と明言がされました。

https://www.asahi.com/articles/ASM745HHHM74ULFA01Y.html

セキュリティ審査実施していたにも関わらず、何故今回の問題が見逃されたのか。

非常に稚拙な推測ですが個人的に考えられる可能性をまとめてみようかなと思います

セキュリティ審査とは

その名の通り、サービスローンチ前に実施する、脆弱性問題がないか審査の事・・・だと解釈しました。

審査」というとISMS辺りを連想しちゃいますね。

一般的には脆弱性診断とかセキュリティ検査とも呼ばれています。私はこちらの呼び方の方がしっくりきます

以後脆弱性診断と記載していきます

実施した」とはいっても、どういった内容を実施たかはわかりません。

ただ、7payは「一般に公開する」「お金を扱うサービス」になるため、ガチガチ脆弱性診断を実施すべきでしょうし、実際に実施したのではないかと思います

通常、脆弱性診断というと、以下のような項目があげられると思います

抜け漏れあると思うけど、大体どこのセキュリティベンダーでも上記のような項目を診断しているんじゃないかなあと思います

詳しくは各ベンダの診断内容のページを見てみると更に詳しく載っています

LAC、CyberDefence、NRIセキュア、ブロードバンドセキュリティスプラウトなど。

ただ、今回の脆弱性診断が外部ベンダ実施されたのか、内部で実施されたのかはわかりません。

以下、推測をつらつら書いていきます

外部ベンダ発注したが、コスト削減のために対象を削りまくった

脆弱性診断はモノによりますが、診断内容をマシマシにするとエラい額が掛かります

Webサービス診断は見積もり方法が各社違ったり、ツールを使うか手動とするかによって金額も大きく変わってきます

また、数量計算ベンダによってまちまちです。ページ単位であったり、画面遷移単位であったり、SPAであればAPI単位であったり、複合での計算だったりします。

お願いすれば見積もり時にステージング環境で動いているWebサービスクロールして、各ページの評価を付けてくれるベンダもあります

規模と見積もり内容にもよりますが、100~200万といったところでしょうか。

スマホアプリ診断は一本幾らという場合が多いような気がしますね。相場としては50万~100万程度でしょうか。

プラットフォーム診断も内容によるとは思いますが、大体100万くらいかなあと思います

これ以外にWebSocketを使っていたり、別のサービス連携していたりするとその辺りの通信も含まれてくるのでまた金額は上がる可能性もあります

Webサービス200万、スマホアプリ(iOSAndroid)100万*2、プラットフォーム100万とすると、500万円掛かるわけですね。

脆弱性診断をするだけでこれだけのお金が吹っ飛んでしまうわけです。

そしてこれをそのまま発注するかと言われると、多分しないでしょう。

セキュリティお金が掛かる割にリターンが少なく、目に見える結果が必ず出てくるとも限りません。

経営層は中々首を縦には振らないでしょう。

会見でも明らかになったことですが、社長ITリテラシはあまり高そうにありません。

こうなると脆弱性診断の稟議を通すのは中々容易ではなかった可能性もありそうです。

また7月1日に間に合わせたようなところもあるっぽい(?)ので、開発側に資金を全振りしていた可能性もあり、診断に費用を掛けられなかったのかもしれません。

いずれにせよ、全く実施しないのはまずいし重要そうな部分だけピックアップして実施しましょうという話にはなるでしょう。

削れるものをあげていってみましょう。

例えば、iOSスマホアプリ実施しなくても良いかもしれません。iOS上で動くアプリは確かサンドボックス構造になっているはずで、ローカルに何かしらのデータを持っていても外部からアクセスは基本不可であるためです。確か。

そもそもスマホアプリ自体不要かもしれません。7payのサービスへのアクセスインターフェイスとしてのアプリしか提供していないのであれば、取り扱うデータほとんどないと考えられるためです。そのため、スマホアプリAndroidのみ、もしくは両方実施しなくても大きな問題は発生しないのではないかと思います

・・・この辺り私の勘違いというか、「最優先でやるべきだろjk」といった考えがあれば指摘ください。

プラットフォームも、ベンダによります実施しなくとも良いとも思います

ベンダ説明でも、主にポートスキャンをして、空いているポートに対してtelnetで色々したりするといった説明がなされたと思います

Webサービスなら443と、空いていても80くらいしか外部には公開していないので、これは実施しないという選択をしても不思議ではないと思います

サーバコンフィグも、DocumentRootがおかしいとか致命的な設定ミスをしていない限りは見てもらう必要はないでしょう。

そもそも構築手順等はノウハウもあるでしょうし、わざわざ見てもらう必要性はほとんどないわけです。

ワイドショーでは「不正海外IPからで、国外からアクセス許可していた」事が取り上げられていましたが、例えプラットフォーム診断をしていても、この辺りは指摘されなかった可能性があります

実施していればもしかしたら備考レベルでの注意や、口頭で「国内のみに留めておいた方がいいかも」といったことは伝えられたかもしれませんが、「利便性」という観点から実行されることはなかったんじゃないかなと思います

Webサービスですが、ログインログアウト処理は必須でしょう。また、新規登録情報変更、退会処理も重要です。

パスワードリセットどうでしょうか。正直これも重要です。なので、ベンダに依頼するにあたってはここも診断対象としていたはずです。

ところで今回の件では協力会社について様々な憶測が飛んでいますが、NRI説が結構人気みたいです。

ただ、NRIにはNRIセキュアというセキュリティに特化した子会社存在しています

もし脆弱性診断をするとなった場合、そこを使わないという手はあまり考えられません。そもそも発注時にそれを見越して診断費も開発の見積もりに含まれているのではないかと思います

ただし、セブン側が「脆弱性診断はこちら側で発注します」と言っていれば話は別です。

NRIセキュアは診断費用が高いらしいので、コストダウンするために別ベンダに診断部分のみ発注する可能性はあります

別のベンダ発注したことで、抜け落ちた可能性はゼロではないかもしれません。

また、NRIセキュアが実施する場合においても、「ここは抑えておいた方が良い」という機能毎やページ毎にランク付けした資料セブン側に提出することと思われますが、どこを実施してどこを削るかの最終的な判断セブンに委ねられます

考えられる事としてはパスワードリセットの処理を診断対象外としたことですが・・・そうする理由もわからないので、うーん・・・

ただ、こうして対象を削りまくることで100万程度、もしくはそれ以下まで診断費用を抑えることができます

特定ベンダと、ツールを用いた定期診断を実施してもらう契約をしていた

この可能性もあるのかなと思います

使ったことはありませんが、SecurityBlanket 365というサービス自動での定期診断が可能なようです。

ライセンスやどういった動き方をするのかはいまいちわかりませんが、ベンダ逐次依頼する脆弱性診断よりかは安く済むはずです。

ただ、自動診断となると設計上の不備やそれに伴う問題は検出できないはずです。

ツールの手が届く範囲での、XSSPoC、ヘッダの有無など、ごく一般的脆弱性診断になると考えられます

でも手軽そうで安価っぽいなので、これで済ませていても不思議ではないです。

セブン内部でツールを用いた診断を実施していた

脆弱性診断ツールOSSのものもあればベンダ販売していたり、SaaS提供しているものもあります

OSSならOWASP ZAPやw3afがWebサービスの診断が可能です。また、phpcs-security-auditなど、ソースコードを解析し脆弱な箇所がないかを診断するものもあります

ちなみにWebサービスに対する診断を「DAST」、ソースコードに対する診断を「SAST」と言ったりします。

有償のものとなると、DASTは先程のSecurityBlanket、AppScan、Nessus、Vex、VAddyが挙げられると思います

SASTになると、RIPS TECH、Contrast Securityなどでしょうか。

上記のようなツールを用いて、セブン内で脆弱性診断を実施することでセキュリティの知見を高めたり、内部で完結させるための動きを取っていたかもしれません。

こういった動きは結構色んな組織で見受けられます。外部の手を借りずに診断ができれば、関係者間の調整も楽ですし、それと比べると費用も安く済みますからね。

ただし、社内のエンジニアに任せる事になるため、片手間になってしま可能性があります

また、ツール使用方法についてのノウハウは溜まるかもしれませんが、それとセキュリティの知見が溜まるかどうかは別の問題としてあると思います

・・・とは言ってもセブンにはCSIRT部隊ちゃんとあるんですよね。

https://www.nca.gr.jp/member/7icsirt.html

『7&i CSIRT は、7&i グループCSIRT として設置され、グループ企業に対してサービス提供しています。』と記載があります

また、『7&i CSIRT は、7&i HLDGS. の組織内に専任要員を以て設置され、インシデント発生時の対応だけでなく、インシデント発生の未然防止にも注力しています

グループ企業情報システム部門と連携し、7&i グループ内で発生するインシデントに対する未然防止のための調査分析リスク情報の共有、ならびにインシデント対応活動を行なっています。』

という記載もあるため、今回の7payも、7&i CSIRTが動いてセキュリティ関連のチェックをしていたのではないかと思います。「情報システム部門」とはありますが。

組織図上にはありませんが、デジタル推進戦略本部の下か、リスクマネジメント委員会情報管理委員会のどこかに所属しているんじゃないかと思われます

日本CSIRT協議会にも名を連ねているわけですし、CSIRTメンバー専任要因ともありますし、セキュリティ関連の技術知識は十二分にあると思うんですよね。

なので、内部でツールを使って実施していたからといって、こんな重大な不備を見逃すというのはちょっと考え辛いなあ・・・と思います

会見内で言われた二段階認証検討事項に上がらなかったのかなあ・・・と。

まあ、今でも機能しているのであれば、の話ではありますが。

で、これを書いている最中に気付いたのですが以下のようなリリースが出ていたんですね。

https://www.7pay.co.jp/news/news_20190705_01.pdf

これを見ると内部のCSIRT機能していなかったか力不足判断されたかどちらかになるのかな・・・と。

実際はどうだかわかりませんけど・・・

診断を実施したがどこかで抜け落ちた

これも有り得る話かなあ・・・と。

関係者が多いと情報共有にも一苦労です。

開発やベンダCSIRT部隊情報共有したとしても、POが忘れていたとか、伝えたつもりが曖昧表現で伝わっていなかったとか・・・

ベンダ実施して指摘事項として伝えていたけど、いつの間にやら抜け落ちていてそのままサービスイン・・・というのもシナリオとしては考えられますね。

問題認識していたが上申しなかった/できなかった

7payは社内的にも一大プロジェクトだったはずで、スケジュールも決まっている場合、余計なことを物申すと手戻りや対応時間を取られることになります

そういった事を許さな空気が出来上がっていると、まあ中々上には上がってきづらいです。

これも十分にありえる話ですかね。ないといいんですけど。

セキュリティ審査自体が、情報セキュリティ基本方針個人情報保護方針に沿った内容かどうかを確かめただけだった

どうしても『審査』という言葉に引っかかっています。『検査』ならまだわかるんですが。

そこで思ったのですが、情報セキュリティ基本方針個人情報保護方針を元にしたチェックリストのようなものセブン内にあって、それを埋めた・・・みたいなことを「セキュリティ審査」と言っていたりするのかなと思ってしまったんですね。

でもこれはセブンペイの社長個人情報保護管理責任者ということで、ISMSPMS等で慣れ親しんだ単語である審査』を使っただけかもしれません。

そもそもそれで終わらせるなんて事ないでしょう。セブン程の企業・・・

そもそもやってない

大穴ですね。いやこれはないと思いますよ。あったら大問題じゃないですか・・・

というわけで、なんとなく「こうだったりして・・・」みたいな事をつらつら書いてみました。

そういえばomni7で以下のお知らせが上がっていましたね。

https://www.omni7.jp/general/static/info190705

『定期的にパスワードを変更いただきますようお願い申し上げます。』とのことです。CSIRTはもしかしたらもう機能していないのかもしれないですね。

もしくはわかりやす対策提示しろと言われたのかもしれません。それなら仕方ないんですけど。

パスワード定期変更を推奨する因習はいつ消えるんでしょうか。

以上。

以下追記 2019-09-08

一部typoとか指摘事項を修正しました(役不足力不足 etc)。

ついでに時間経ってるけど追記します。もう誰も見ないでしょうけど。

所詮「人のつくりしもの」だよ

監査なんて取り揃えた書類通りになっているかどうかなので、監査受けているかセキュリティ的に大丈夫ってことじゃないよ

そんなに監査が万能なら監査できるくらいの人が作り出せば完璧になるはずだろ

ちゃんと読んでいただけましたか?全文通して私の主張が「監査をしっかりやれば防げた」という意味と捉えられているのでしょうか。そんなに分かりづらい文章を書いた覚えもないのですが・・・

一番上でも記載していますが、私は今回の7payの「セキュリティ審査」は、「脆弱性問題がないか審査の事」、つまり脆弱性診断」を指していると仮定して本エントリを書いています

そういう意味で、ここで私が指している「審査」と貴方が指している「監査」は似て非なるものです。字面は少し似ていますがね。

監査貴方記載する通り「ある事象対象に関し、遵守すべき法令社内規程などの規準に照らして、業務成果物がそれらに則っているかどうかの証拠収集し、その証拠に基づいて、監査対象有効性を利害関係者に合理的保証すること」です。

貴方の言う「監査」に近いことは「セキュリティ審査自体が、情報セキュリティ基本方針個人情報保護方針に沿った内容かどうかを確かめただけだった」の見出し部分で触れていますが、それで終わらせているわ Permalink | 記事への反応(2) | 05:48

2019-07-03

anond:20190703172738

こりゃあたちの悪い書き方を知らんからカプセル化のありがたみがわかんないんだよなきっと

環境C#とかで、人物一人分の情報クラスを作る気があって、Personには体重とか身長とかがあって、みたいなわりときちんとした理屈があればああそれはね、それぞれプロパティにしとけば大丈夫、なんてので大丈夫

地獄はこうだ。

char Person[200];
/* 0から19までを名字に使います */
/* 20から38までを名前に使います */
/* 39は年号コードです 0: 明治、 */
/* 40は生年です */
/* ... */

そしてソースコードの中にいきなり現れる

Person[70] = 35; 

なにやってんだこれー!わかんねえぞこれー!

こういうことがないように、カプセル化するんだ。

2019-06-28

見出し記法

~~

日記見出し(h3)を付けます

時刻付き見出し記法

t*~~

t+1*~~

見出し編集時刻を保存し表示しま

name属性付き見出し記法

name*~~

見出しに好きな name 属性つけま

カテゴリー記法

[~~]~~

日記カテゴリーを設定しま

小見出し記法

~~

日記小見出し(h4)をつけま

小々見出し記法

~~

日記に小々見出し記法(h5)をつけま

リスト記法

  • ~~
    • ~~
  • ~~
    1. ~~

リスト(li)を簡単記述しま

定義リスト記法

~~
~~

定義リストdt)を簡単記述しま

表組み記法

~~ ~~

|*~~ | ~~ |

表組み(table)を簡単記述しま

引用記法

~~

引用ブロック(blockquote)を簡単記述しま

pre記法

 ~~ 

整形したテキストをそのまま表示します(pre)

スーパーpre記法

 ~~ 

整形したHTMLなどのソースをそのまま表示します(pre)

スーパーpre記法シンタックスハイライト

>|ファイルタイプ|

~~

||<

>|??|

~~

||<

整形したプログラムソースコードを色付けして表示します(pre)

aa記法

 


  

2019-06-22

anond:20190622195609

かつて日本ゲーム産業の中心だったのに今は戦いの舞台にすら立てていない。惨めだ。

任天堂スクエアエニックスあたりがスーファミプレステ全盛の頃に無料公開していれば

Unity,UE4の二強時代は全く違かっただろうが

スーファミプレステ全盛の頃」に無料ゲームエンジンなんて海外でも想像してなかっただろうね

日本人の性格からし無料で公開するなんて絶対にありえない。

オープンソースに貢献している日本人は少ないが0ではない

現代ではソースコードごと公開して全世界ボランティアに協力してもらうという方式が主流になっていて

この方式の開発速度に一企業努力では全く太刀打ちできない。

Microsoftですらオープンソースに移行しようとしているもんな

それにはGitHubやらなんやら公開・統合するしくみが整ってきたという背景もあるだろう

国産無料ゲームエンジンってあるのかなと思ったらなかった。

かつて日本ゲーム産業の中心だったのに今は戦いの舞台にすら立てていない。惨めだ。

任天堂スクエアエニックスあたりがスーファミプレステ全盛の頃に無料公開していれば

Unity,UE4の二強時代は全く違かっただろうが

日本人の性格からし無料で公開するなんて絶対にありえない。

現代ではソースコードごと公開して全世界ボランティアに協力してもらうという方式が主流になっていて

この方式の開発速度に一企業努力では全く太刀打ちできない。

ゲームに限らずIT業界日本が巻き返せるビジョンが全く想像できない。

北朝鮮レベルまで堕ちていくのを指くわえてみているしかないんだろうな。

2019-05-31

死後にハードディスク自動的クリアする方法

1.

VeraCrypt(truecryptの後継)で、ハードディスク暗号化します。

パスワードは、国歌の2行目や、憲法前文の3行目、特定ソースコードの100行目などの文字列を利用しましょう。

これら文字列+1234等の特定文字とするともっと安全です。

パスワード記憶せずに忘れて、そのパスワードの書かれている場所だけを覚えるのが一番安全方法です。

2.

手動Mountして利用してください。

いちいち、手動でMountするのが面倒ならNASを作ってSambaから利用してください。

3.

もし、あなたが一人住まい場合あなた死ね電気料金不払いで自動的電気が消えます

電気が消えると、ログイン前に戻るため、パスワードがわからなければ、アンロック不可能です。

もし、家族暮らしいるか、膨大な預金残高を持っている場合は、もう少し工夫する必要があります

それでも、cronを利用して、ちょっとしたプログラムを作ればいいだけです。

.bash_historyやlogなどの日付を見て、古すぎれば、rebootコマンドを発行するだけです。簡単ですね。

cronを利用すれば、もっと任意の短い時間ロックできるので、便利ですね。

この方法メリット

データを削除するわけではないので、仮に間違って動作したとしても、再Mountするだけです。

データロックされるだけで消えていません。

よって、削除する手法と比べて、とても安全です。

VeraCryptを利用するため、現時点でいかなるバックドア存在しないため、たとえ国家権力であったとしても、解読できないでしょう。

よって、あなたプライバシーは、ほぼ確実に守られます

もし、心配ならもっとよいお好きなソフトウェアを利用してください。

基本的な考え方は同じです。

2019-05-16

ソースコードネタ仕込むのって

ハッカドールの終了告知のソースネタ要素があったけど、こういういつくらいから?

お寺で、管理者勝手AAしこんでたとか、そういうのじゃなくて企業公式にやってる感あるやつ。

ぱっと思いつくのは涼宮ハルヒあたりだけど、すでにインターネット一般化してから10年以上たってる時期だから、たぶんもっとからあるよね?

2019-05-15

自分よりデキるエンジニア仕事したい

よな?

でもまぁ、エンジニア採用が難しいという世の中らしい。

からと言って、「高卒で数年エンジニア経験あり」なやつを「ポテンシャルがありそう」とか言って採用するんか?

そいつ教育していく過程で、何かしら得るものがあるかもしれんが、俺は自分よりデキるエンジニア仕事がしたいネ。

気づいたら「ポテンシャルありそう笑」なやつらに囲まれ環境なんて嫌だ。

2019-05-09

乃木坂ニュース - 利用規約

利用規約には、Komori Rintaro(以下、「当社」といいます。)が提供するサービス乃木坂ニュース」(以下「本サービス」といいます。)の提供条件、及び当社と本サービス利用者との権利義務関係が定められています。本サービスの利用に際しては、本利用規約の全文をお読みいただいたうえで、本利用規約同意していただく必要があります

第1条(利用規約適用

1. 本利用約(以下、「本規約」といいます。)の内容は、利用者と当社との本サービスの利用に関する契約(以下、「本サービス利用契約」といいます。)に適用されます

2. 当社サイト上で定める利用条件(以下、「個別条件」といいます。)は、本規約の一部を構成します。

3. 利用者は、本規約の定めに従って本サービスを利用しなければなりません。

4. 当社は、当社の必要に応じて本規約を変更する場合があります。この場合、変更後の利用規約利用者と当社の間の本サービス利用契約適用されます

第2条(用語定義

規約において使用する用語の意義は、次の各号の定めるとおりとします。

1. 「本サービス」:当社が運営するサービスである乃木坂ニュースをいいます

2. 「利用者」:本サービスを利用する全ての方をいいます

3. 「会員」:利用者のうち、会員登録必要サービスを利用するための登録完了した方をいいます

4. 「コンテンツ」:データ文書ソフトウェア画像文字、音等その他一切の情報をいいます

5. 「利用者情報」:氏名、メールアドレス等、会員が本サービスの会員登録に際して又は本サービスの利用に際して当社に提供するすべての情報をいいます

第3条(本サービスの内容)

1. 本サービスは、飲食店に関する動画等の情報投稿・閲覧することができるものです。

2. 本サービスは、日本国内に限り、利用することができます

第4条(利用者義務

1. 利用者は、自らの費用責任において、本サービスを利用するために必要機器ソフトウェア通信手段等の利用環境を整備します。

2. 利用者は、本サービスにおいて、他の利用者、その他第三者提供する情報真実性、完全性、適法性有用性等について、自らの責任で利用します。

3. 利用者は、自己責任において、利用者投稿したコンテンツの保存、管理バックアップを行います

第5条(利用者情報等の取扱い)

当社は、本サービスに関する利用者情報を「乃木坂ニュース - プライバシーポリシー」に基づき、適切に取り扱います

第6条(コンテンツ知的財産権

1. 利用者が本サービスにおいて投稿したコンテンツに関する著作権その他の知的財産権(以下、「知的財産権」といいます。)は、当該利用者帰属します。

2. 利用者は、当社に対し、投稿コンテンツ投稿を行った時点で、投稿コンテンツ知的財産権が存続する限り、以下を許諾します。

(1)本サービスのため投稿コンテンツを利用すること

(2)投稿コンテンツ国内外において複製、公衆送信頒布翻訳翻案等すること

(3)第三者による投稿コンテンツの利用(複製、公衆送信頒布翻訳翻案等)を許諾すること

(4)投稿コンテンツを要約・抜粋サイズ変更・切り抜き・モザイク加工等の改変をして本サービス又は当社が許諾した第三者サービスに利用すること

(5)本サービス又は当社が許諾した第三者サービス投稿コンテンツを利用する際に、利用者ハンドルネーム公表すること

3. 利用者は、本サービスコンテンツ投稿する場合、当該コンテンツ投稿する権利を有していること及び当社又は当社が指定する第三者による当該コンテンツの一切の利用行為第三者知的財産権侵害しないことを保証します。

第7条(サービス利用料金)

1. 本サービス無料でご利用いただけますが、一部の機能は有料です。

2. 有料のサービスを利用される場合は、利用者は、当社が定める方法により、当社に対し、利用料金を支払わなければなりません。

3. 当社は、お支払いいただいた利用料金を返金しないものします。

第8条(利用者禁止行為

利用者は、以下の各号の行為、これらを助長する行為、又は各号に該当するおそれのある行為を行ってはなりません。

(1)本規約及び個別条件に違反する行為

(2)法令又は公序良俗違反する行為

(3)違法行為犯罪行為反社会的行為を暗示・誘発・助長・推奨等する行為

(4)当社、他の利用者その他第三者著作権商標権等の知的財産権侵害する行為

(5)当社、他の利用者その他第三者財産・信用・名誉プライバシー肖像権その他の権利利益侵害する行為

(6)本サービス上のコンテンツを当社に無断で転用する行為(ただし、投稿者本人は除く。)

(7)本サービス上のコンテンツを複製、公衆送信頒布翻訳翻案等する行為

(8)登録情報として虚偽・不正確な情報掲載する行為

(9)スパム行為

10)当社又は他の利用者その他の第三者になりすます行為

11)不真実又は不正確な情報送信提供する行為

12わいせつ暴力的差別的情報送信提供する行為

(13)当社、他の利用者その他の第三者迷惑を及ぼす行為

(14)当社、他者サーバー負担をかける行為、又は本サービス運営ネットワークシステムに支障を与える行為

(15)リバースエンジニアリング、逆アセンブル、逆コンパイル等本サービスソースコードを解析する行為

(16)コンピュータウィルス等の有害コンピュータプログラム等を送信又は掲載する行為

17)その他、本サービス目的に照らし、当社が不適切判断する行為

第9条(会員登録

1. 本サービスの一部の機能は、会員登録必要です。

2. 会員登録希望する者は、本規約の内容に同意した上で、当社が定める方法により、会員登録の申込を行うものします。

3. 当社は、登録の申込みを行った者が、以下の各号のいずれかの事由に該当すると判断する場合登録及び再登録拒否することができます。この場合、当社は、その理由について開示する義務を負いません。

(1)当社に提供した登録事項の全部又は一部につき虚偽、誤記又は記載漏れがあった場合

(2)過去に本規約違反したことがある場合

(3)本規約違反するおそれがある場合

(4)その他当社が適当ではないと判断した場合

4. 登録希望者は、自身情報として真実、正確かつ最新の情報入力しなければなりません。

10条(登録情報の変更)

会員は、登録した事項に変更がある場合、遅滞なく、当社所定の方法により登録情報追記修正しなければなりません。

11条(アカウント管理

1. 会員は、自己責任において、付与されるアカウント管理し、第三者による不正利用を防止しなければなりません。

2. 会員は、アカウント第三者譲渡し、貸与し、又はその他第三者使用させてはなりません。

3. 会員のアカウント第三者に利用されたことによって生じた損害等については、当社はいかなる責任も負いません。

12条(登録の取消し)

1. 当社は、会員が次の各号に該当すると判断した場合には、事前に通知することなく、会員登録を取消し、当該会員に関する一切の情報を抹消することができます

(1)本規約のいずれかの条項違反する場合

(2)登録された情報に虚偽の事実があることが判明した場合

(3)第4条2項各号(登録拒否事由)に該当することが判明した場合

(4)登録されたメールアドレス又はパスワード不正利用があった場合

(5)会員が死亡した場合

(6)その他、当社が不適切だと判断する事由があった場合

2. 前項の場合において、会員に何らかの損害が生じたとしても、当社は一切責任を負いません。

3. 本条のいかなる規定も、当社が会員に対して行う損害賠償請求を妨げません。

第13条(退会)

1. 会員は、当社所定の方法又は条件に従い、退会し、会員登録を抹消することができます

2. 当社は退会した会員の登録情報コンテンツについて保管する義務を負いません。

第14条(違反行為等への対応措置

1. 当社は、利用者が本規約違反し、又は違反しているおそれがある場合、予告なく、当該利用者に対し、以下の措置を講ずることができます

(1)利用者に対し、是正を求めること

(2)利用者により送信されたコンテンツの削除その他の方法により、当社が違反状態是正すること

(3)違反事実通報及び違反者の情報捜査機関に開示すること

(4)利用者による本サービスの利用の停止

(5)登録の抹消・本サービス利用契約の解除

2. 当社は、法令義務付けられる場合を除き、前項の措置を講ずる義務を負うものではありません。

3. 第1項の措置により利用者不利益・損害が発生した場合においても、当社は、その責任を負いません。

第15条(損害賠償

1. 利用者が本規約違反して当社に損害を与えた場合利用者は、当社の損害を賠償します。

2. 利用者が本規約違反して利益を得た場合、当該利益は当社の損害を構成するものとみなします。

第16条(保証否認・免責)

1. 当社は以下の事項について保証しません。

(1)本サービスが会員の特定目的に適合すること、期待する機能商品価値・正確性・有用性を有すること

(2)本サービスで公開される情報真実性、最新性、確実性、完全性、適法性を有すること

(3)本サービス不具合が生じないこと

(4)本サービスの利用が特定業界団体適用がある法令又は内部規則違反しないこと

2. 当社は、本サービスの利用の停止、中断、変更等により利用者に損害が生じた場合、何らの責任を負いません。

3. 当社は、利用者送信したコンテンツ消滅、棄損、改ざん等が生じた場合、何らの責任を負いません。

4. 当社は、第三者知的財産権及びその他の権利の非侵害性、商品性、完全性、有用性及び特定目的に対する適合性を含め、明示又は黙示を問わず一切保証しません。

5. 当社は、利用者と他の利用者その他の第三者との間で生じた一切の紛争その他の問題について、関与せず、何らの責任を負いません。当社が当該問題にやむを得ず対応した場合、会員は、当社に対し、当社が負担した費用合理的弁護士費用を含みます)その他の損害の一切を補償するものします。

6. 当社が損害賠償責任を負う場合であっても、当社は、当該利用者の通常損害に限り、損害賠償責任を負うものとし、損害賠償額の上限は、本サービスの有料サービスの1ヵ月分の利用料金相当額とします。

17条(本サービスの停止・変更・終了)

1. 当社は、営業上・技術上の理由から、本サービスの全部又は一部の提供を停止・終了する必要があると判断した場合利用者に事前に通知することなく、本サービスの全部又は一部の提供を停止することができるものします。

2. 当社は、当社の判断で、本サービスの内容を変更する場合があります

3. 当社は、本条に基づき当社が行った措置によって利用者に生じた損害その他の不利益について一切の責任を負いません。

第18条(権利義務等の譲渡

1. 利用者は、本規約上の地位に基づく一切の権利義務を、当社の事前の書面による承諾なく、第三者譲渡もしくは貸与し、又は担保に供してはならないものします。

2. 当社は、本サービスに関する事業事業譲渡合併その他の事由により第三者に承継させる場合には、当該事業の承継に伴い、本規約上の地位、本規約に基づく権利義務及び利用者登録情報その他の情報を当該事業の承継人に譲渡することができるものとし、利用者は、かかる譲渡について本項において予め同意したものします。

19条秘密保持

利用者は、本サービスに関連して当社が利用者に対して秘密に取り扱うことを求めて開示した非公知の情報について、当社の事前の書面による承諾がある場合を除き、秘密に取り扱うものとし、第三者に開示することはできないものします。

20条(本規約の変更)

1. 当社は、当社の必要に応じて本規約を変更することができます

2. 本規約を変更する場合、当社は、利用者に対し、規約を変更する旨、変更後の規約および変更の効力発生時期を、当社のウェブサイト上の掲示、本サービス上の通知又は電子メール送信によって公表又は通知します。変更後の規約は、公表又は通知により定められた効力発生時から適用されます

3. 前項にかかわらず、法令上、利用者から規約の変更に関する同意を得る必要がある場合、当社は、利用者から同意を得て、本規約を変更します。

第21条(連絡・通知)

1. 本サービスに関する問い合わせその他利用者から当社に対する連絡又は通知、及び本規約の変更に関する通知その他当社から利用者に対する連絡又は通知は、電子メール送信又は本サービス上での通知その他当社が適当判断する方法で行うものします。

2. 連絡又は通知の宛先は、利用者が当社に届出た宛先とします。

3. 当社が利用者から届出を受けた宛先に連絡又は通知した場合、連絡又は通知した時までに届出事項の変更手続きがされていない限り、当該連絡又は通知は、利用者に到達したものとみなします。

第22条(分離可能性)

規約規定の一部が法令に基づいて無効判断されても、本規約の残りの規定及び一部が無効又は執行不能判断された規定の残りの部分は、継続して完全に効力を有するものとし、無効とされる部分が必要最小限となるように読み替えて解釈するものします。

23条(反社会的勢力の排除

会員は、次の各号に掲げる事項を保証します。

(1)反社会的勢力等(暴力団暴力団員、反社

ブラインドタッチ天才プログラマ典型的な特徴みたいになってからもう何十年も経つけど

anond:20190508232603

この例えって

天才詩人ものすごく早口でしゃべれる」

っていうのと同じぐらいとんちんかんだよ。

プログラマ天才扱いされる時の例って、複雑怪奇論理構造業務を誰もがわかるぐらいシンプルにしたり、難しいバグを見つけだしたり、処理時間をウン万分の1に短縮したりする時とかなんだけど、

なんでそれができるかって言うと、

基本をちゃん勉強しているからですよ。

地道な勉強業務経験による試行錯誤の積み上げの集大成が、天才プログラマ的な振る舞いとなって、ほんの一瞬だけ非プログラマの目に触れるって感じです。

で、その過程では、ブラインドタッチってあんまり関係なくて(早く打てるに越したことはないけど)、以外とソースコードコピペとかマウスポチポチみたいな作業が多いです。

2019-05-03

スキルなんかどうでもいい

SOHO仕事してるが、客の殆ど管理がしやすい整ったソースコードになんか興味は無く、とりあえず動きゃいいって人が多すぎる。9割はそんなのばっか。

から口のうまい安さを提示した駄目制作会社に騙されて、結局高い金払う人多すぎ。

「途中まで出来てるんですが・・・」なんて案件、今年だけでもう7~8件は相談受けてる。

その「途中」がまだ序盤で作り直せる範疇なら請け負うけど、大抵は相手音信不通かになるので仕様も何がどうなってるのか分からんもの提示される。

そんなもん作り直しさせてくれないなら断るっつうの。

安さと相手の口車に乗せられず、ちゃんと考えてくれ。

あと、何を作りたいのか仕様を固めてくれ。「売り上げ伸ばしたい」は俺の仕事じゃない。プログラマ仕様に合わせて作るだけなんだから・・・

2019-04-29

コンビニATM平成元年バグ調査報告めっちゃ気になる

に変換する際の考慮が、とかざっくりした説明じゃなく詳細に聞きたい

なんならコード読みたい

と書いてみて職業病だなと思った

ソースコード公開したらゴールデンウイークですることがないプログラマー有志がデバッグしてくれそう

anond:20190429085550

総動員したところで昭和平成対応をした連中は軒並み退職してる頃合いだから

ソースコードもしかしてCOBOL?)を今の現役連中が解読するところから始めるのかな。

もう無理じゃないかな。いろいろと。

2019-04-23

ソースコード読むと、書いた人の頭の良さ分かるよね

文章でもいいけど、文章よりソースコードのほうが分かりやす

2019-04-19

USJ待ち時間 - 利用規約

利用規約

利用規約には、Kenta Takanawa(以下、「当社」といいます。)が提供するサービスUSJ待ち時間」(以下「本サービス」といいます。)の提供条件、及び当社と本サービス利用者との権利義務関係が定められています。本サービスの利用に際しては、本利用規約の全文をお読みいただいたうえで、本利用規約同意していただく必要があります

第1条(利用規約適用

1. 本利用約(以下、「本規約」といいます。)の内容は、利用者と当社との本サービスの利用に関する契約(以下、「本サービス利用契約」といいます。)に適用されます

2. 当社サイト上で定める利用条件(以下、「個別条件」といいます。)は、本規約の一部を構成します。

3. 利用者は、本規約の定めに従って本サービスを利用しなければなりません。

4. 当社は、当社の必要に応じて本規約を変更する場合があります。この場合、変更後の利用規約利用者と当社の間の本サービス利用契約適用されます

第2条(用語定義

規約において使用する用語の意義は、次の各号の定めるとおりとします。

1. 「本サービス」:当社が運営するサービスであるIyashiをいいます

2. 「利用者」:本サービスを利用する全ての方をいいます

3. 「会員」:利用者のうち、会員登録必要サービスを利用するための登録完了した方をいいます

4. 「コンテンツ」:データ文書ソフトウェア画像文字、音等その他一切の情報をいいます

5. 「利用者情報」:氏名、メールアドレス等、会員が本サービスの会員登録に際して又は本サービスの利用に際して当社に提供するすべての情報をいいます

第3条(本サービスの内容)

1. 本サービスは、飲食店に関する動画等の情報投稿・閲覧することができるものです。

2. 本サービスは、日本国内に限り、利用することができます

第4条(利用者義務

1. 利用者は、自らの費用責任において、本サービスを利用するために必要機器ソフトウェア通信手段等の利用環境を整備します。

2. 利用者は、本サービスにおいて、他の利用者、その他第三者提供する情報真実性、完全性、適法性有用性等について、自らの責任で利用します。

3. 利用者は、自己責任において、利用者投稿したコンテンツの保存、管理バックアップを行います

第5条(利用者情報等の取扱い)

当社は、本サービスに関する利用者情報を「Iyashi プライバシーポリシー 」に基づき、適切に取り扱います

第6条(コンテンツ知的財産権

1. 利用者が本サービスにおいて投稿したコンテンツに関する著作権その他の知的財産権(以下、「知的財産権」といいます。)は、当該利用者帰属します。

2. 利用者は、当社に対し、投稿コンテンツ投稿を行った時点で、投稿コンテンツ知的財産権が存続する限り、以下を許諾します。

(1)本サービスのため投稿コンテンツを利用すること

(2)投稿コンテンツ国内外において複製、公衆送信頒布翻訳翻案等すること

(3)第三者による投稿コンテンツの利用(複製、公衆送信頒布翻訳翻案等)を許諾すること

(4)投稿コンテンツを要約・抜粋サイズ変更・切り抜き・モザイク加工等の改変をして本サービス又は当社が許諾した第三者サービスに利用すること

(5)本サービス又は当社が許諾した第三者サービス投稿コンテンツを利用する際に、利用者ハンドルネーム公表すること

3. 利用者は、本サービスコンテンツ投稿する場合、当該コンテンツ投稿する権利を有していること及び当社又は当社が指定する第三者による当該コンテンツの一切の利用行為第三者知的財産権侵害しないことを保証します。

第7条(サービス利用料金)

1. 本サービス無料でご利用いただけますが、一部の機能は有料です。

2. 有料のサービスを利用される場合は、利用者は、当社が定める方法により、当社に対し、利用料金を支払わなければなりません。

3. 当社は、お支払いいただいた利用料金を返金しないものします。

第8条(利用者禁止行為

利用者は、以下の各号の行為、これらを助長する行為、又は各号に該当するおそれのある行為を行ってはなりません。

(1)本規約及び個別条件に違反する行為

(2)法令又は公序良俗違反する行為

(3)違法行為犯罪行為反社会的行為を暗示・誘発・助長・推奨等する行為

(4)当社、他の利用者その他第三者著作権商標権等の知的財産権侵害する行為

(5)当社、他の利用者その他第三者財産・信用・名誉プライバシー肖像権その他の権利利益侵害する行為

(6)本サービス上のコンテンツを当社に無断で転用する行為(ただし、投稿者本人は除く。)

(7)本サービス上のコンテンツを複製、公衆送信頒布翻訳翻案等する行為

(8)登録情報として虚偽・不正確な情報掲載する行為

(9)スパム行為

10)当社又は他の利用者その他の第三者になりすます行為

11)不真実又は不正確な情報送信提供する行為

12わいせつ暴力的差別的情報送信提供する行為

(13)当社、他の利用者その他の第三者迷惑を及ぼす行為

(14)当社、他者サーバー負担をかける行為、又は本サービス運営ネットワークシステムに支障を与える行為

(15)リバースエンジニアリング、逆アセンブル、逆コンパイル等本サービスソースコードを解析する行為

(16)コンピュータウィルス等の有害コンピュータプログラム等を送信又は掲載する行為

17)その他、本サービス目的に照らし、当社が不適切判断する行為

第9条(会員登録

1. 本サービスの一部の機能は、会員登録必要です。

2. 会員登録希望する者は、本規約の内容に同意した上で、当社が定める方法により、会員登録の申込を行うものします。

3. 当社は、登録の申込みを行った者が、以下の各号のいずれかの事由に該当すると判断する場合登録及び再登録拒否することができます。この場合、当社は、その理由について開示する義務を負いません。

(1)当社に提供した登録事項の全部又は一部につき虚偽、誤記又は記載漏れがあった場合

(2)過去に本規約違反したことがある場合

(3)本規約違反するおそれがある場合

(4)その他当社が適当ではないと判断した場合

4. 登録希望者は、自身情報として真実、正確かつ最新の情報入力しなければなりません。

10条(登録情報の変更)

会員は、登録した事項に変更がある場合、遅滞なく、当社所定の方法により登録情報追記修正しなければなりません。

11条(アカウント管理

1. 会員は、自己責任において、付与されるアカウント管理し、第三者による不正利用を防止しなければなりません。

2. 会員は、アカウント第三者譲渡し、貸与し、又はその他第三者使用させてはなりません。

3. 会員のアカウント第三者に利用されたことによって生じた損害等については、当社はいかなる責任も負いません。

12条(登録の取消し)

1. 当社は、会員が次の各号に該当すると判断した場合には、事前に通知することなく、会員登録を取消し、当該会員に関する一切の情報を抹消することができます

(1)本規約のいずれかの条項違反する場合

(2)登録された情報に虚偽の事実があることが判明した場合

(3)第4条2項各号(登録拒否事由)に該当することが判明した場合

(4)登録されたメールアドレス又はパスワード不正利用があった場合

(5)会員が死亡した場合

(6)その他、当社が不適切だと判断する事由があった場合

2. 前項の場合において、会員に何らかの損害が生じたとしても、当社は一切責任を負いません。

3. 本条のいかなる規定も、当社が会員に対して行う損害賠償請求を妨げません。

第13条(退会)

1. 会員は、当社所定の方法又は条件に従い、退会し、会員登録を抹消することができます

2. 当社は退会した会員の登録情報コンテンツについて保管する義務を負いません。

第14条(違反行為等への対応措置

1. 当社は、利用者が本規約違反し、又は違反しているおそれがある場合、予告なく、当該利用者に対し、以下の措置を講ずることができます

(1)利用者に対し、是正を求めること

(2)利用者により送信されたコンテンツの削除その他の方法により、当社が違反状態是正すること

(3)違反事実通報及び違反者の情報捜査機関に開示すること

(4)利用者による本サービスの利用の停止

(5)登録の抹消・本サービス利用契約の解除

2. 当社は、法令義務付けられる場合を除き、前項の措置を講ずる義務を負うものではありません。

3. 第1項の措置により利用者不利益・損害が発生した場合においても、当社は、その責任を負いません。

第15条(損害賠償

1. 利用者が本規約違反して当社に損害を与えた場合利用者は、当社の損害を賠償します。

2. 利用者が本規約違反して利益を得た場合、当該利益は当社の損害を構成するものとみなします。

第16条(保証否認・免責)

1. 当社は以下の事項について保証しません。

(1)本サービスが会員の特定目的に適合すること、期待する機能商品価値・正確性・有用性を有すること

(2)本サービスで公開される情報真実性、最新性、確実性、完全性、適法性を有すること

(3)本サービス不具合が生じないこと

(4)本サービスの利用が特定業界団体適用がある法令又は内部規則違反しないこと

2. 当社は、本サービスの利用の停止、中断、変更等により利用者に損害が生じた場合、何らの責任を負いません。

3. 当社は、利用者送信したコンテンツ消滅、棄損、改ざん等が生じた場合、何らの責任を負いません。

4. 当社は、第三者知的財産権及びその他の権利の非侵害性、商品性、完全性、有用性及び特定目的に対する適合性を含め、明示又は黙示を問わず一切保証しません。

5. 当社は、利用者と他の利用者その他の第三者との間で生じた一切の紛争その他の問題について、関与せず、何らの責任を負いません。当社が当該問題にやむを得ず対応した場合、会員は、当社に対し、当社が負担した費用合理的弁護士費用を含みます)その他の損害の一切を補償するものします。

6. 当社が損害賠償責任を負う場合であっても、当社は、当該利用者の通常損害に限り、損害賠償責任を負うものとし、損害賠償額の上限は、本サービスの有料サービスの1ヵ月分の利用料金相当額とします。

17条(本サービスの停止・変更・終了)

1. 当社は、営業上・技術上の理由から、本サービスの全部又は一部の提供を停止・終了する必要があると判断した場合利用者に事前に通知することなく、本サービスの全部又は一部の提供を停止することができるものします。

2. 当社は、当社の判断で、本サービスの内容を変更する場合があります

3. 当社は、本条に基づき当社が行った措置によって利用者に生じた損害その他の不利益について一切の責任を負いません。

第18条(権利義務等の譲渡

1. 利用者は、本規約上の地位に基づく一切の権利義務を、当社の事前の書面による承諾なく、第三者譲渡もしくは貸与し、又は担保に供してはならないものします。

2. 当社は、本サービスに関する事業事業譲渡合併その他の事由により第三者に承継させる場合には、当該事業の承継に伴い、本規約上の地位、本規約に基づく権利義務及び利用者登録情報その他の情報を当該事業の承継人に譲渡することができるものとし、利用者は、かかる譲渡について本項において予め同意したものします。

19条秘密保持

利用者は、本サービスに関連して当社が利用者に対して秘密に取り扱うことを求めて開示した非公知の情報について、当社の事前の書面による承諾がある場合を除き、秘密に取り扱うものとし、第三者に開示することはできないものします。

20条(本規約の変更)

1. 当社は、当社の必要に応じて本規約を変更することができます

2. 本規約を変更する場合、当社は、利用者に対し、規約を変更する旨、変更後の規約および変更の効力発生時期を、当社のウェブサイト上の掲示、本サービス上の通知又は電子メール送信によって公表又は通知します。変更後の規約は、公表又は通知により定められた効力発生時から適用されます

3. 前項にかかわらず、法令上、利用者から規約の変更に関する同意を得る必要がある場合、当社は、利用者から同意を得て、本規約を変更します。

第21条(連絡・通知)

1. 本サービスに関する問い合わせその他利用者から当社に対する連絡又は通知、及び本規約の変更に関する通知その他当社から利用者に対する連絡又は通知は、電子メール送信又は本サービス上での通知その他当社が適当判断する方法で行うものします。

2. 連絡又は通知の宛先は、利用者が当社に届出た宛先とします。

3. 当社が利用者から届出を受けた宛先に連絡又は通知した場合、連絡又は通知した時までに届出事項の変更手続きがされていない限り、当該連絡又は通知は、利用者に到達したものとみなします。

第22条(分離可能性)

規約規定の一部が法令に基づいて無効判断されても、本規約の残りの規定及び一部が無効又は執行不能判断された規定の残りの部分は、継続して完全に効力を有するものとし、無効とされる部分が必要最小限となるように読み替えて解釈するものします。

23条(反社会的勢力の排除

会員は、次の各号に掲げる事項を保証します。

(1)反社会的勢力等(暴力団暴力団員、反社会的勢力、その他これに準ずる者を意味します。以下同じ)に該当しないこ

2019-04-17

若者応援おじさんの思い出

https://twitter.com/MAEZIMAS/status/1113114798672113665

若者説教する老害は二流。

一流の老害は「君たちこそが真のニュータイプだ」とか言って、若者自分既得権益確保のための鉄砲玉にする。

…いやマジ本当に、若い人気をつけてね。若者説教おじさんは、せいぜいまだ極限の不愉快ですむけど、若者応援おじさんに乗せられると最悪人生詰むので…

というツイート流行っているので、私が遭遇した若者応援おじさんについて書こうと思う。

当時の私は親との折り合いがつかず、学力もそこそこあったし、勉強もしていたのにも関わらず大学に進学せずにフリーターをしていた。実家を出たかったし、大学にも進学したかたから金の工面が当面の目標だった。そんなとき出会ったのが若者応援おじさんのAさんである。Aさんはバブルの頃に就活をしていて、まだインターネットやパーソナル・コンピュータというのが流行る前から電子工作プログラミングをやっていた人だった。実際、経歴を聞いてみると10回以上転職を繰り返しているものの、有名企業(今にして思えば、カビ臭いSIerだが)で部長をしていたことがあって、年収が1700万ぐらい稼いでいたこともある人だった。

最初出会ったとき自分が如何にすごいかということを熱心に語っていた。80年台後半ぐらいのコンピュータ開発の大型プロジェクトに関わっていたとか、セキュリティ専門家とか、今までに触ったことのあるプログラミング言語が300個を超えるとか。でも、当時の技術的なトレンド(MongoDBRuby on Rails、AngularJSとか)についての知識が限りなく少なく、「フレームワークなんてその場で覚えればいい」みたいなタイプだった。中学生の頃にラジオ工作したとか、はんだごてで電子回路設計したとか、そういう話は熱心にするのに、Bram Moolenaarの名前を知らなかったりした。要は、最近プログラマがどういう関心やインセンティブプログラミングやってるかを知らずに、過去の栄光を語ってるようなタイプだったと思う。

まぁ、それでも、その人のコネで中規模程度のSIer入社して、そこそこいい感じの待遇だったように思う。当時の私の技術力は『わかりやすJava入門』『たのしRuby』を一通り終わらせて簡単言語仕様を把握したぐらいでろくにコードも書いたことのないような人間だったから、定時で帰れて手取り二十万もらえるのは甘い汁を吸えたとは思うんだ。

でも入社を決めた一番の理由が、そのAさんが私の関心に理解があると思っていたからだ。というのも、当時の私は「人工知能人工生命に興味があります。三年後に大学入学するまでにプログラミングスキルを磨きつつ生活費学費を稼ぎたい」ということを明言した上で、それを叶えてくれる会社を探していた。技術力はないものの、「自頭がいいか入社してからプログラミングを覚えればすぐに戦力になるよ」と複数人間から言われていて、それぞれ就職先を紹介してもらえるような状況になっていた。今から思えば、そんなコードを書けない人間を自頭なんて胡散臭いもので褒めるような人間は信用してはいけないと思うし、口車に乗せられたと思うのだけど。そこは自分にも甘いところがあったように思う。あ、あと、補足しておくと、当時はDeep Learningなんていうのは全く人口膾炙してなかった時期で、スチュアート・カウフマン金子邦彦に憧れてたような、周回遅れの複雑系に魅せられた若者が私だった。

駄文を書き連ねてしまったが、要は

①親との折り合いが悪く、大学に進学したいが、金が足りない

実家を出るために生活費を稼ぐ必要があったが、飲食バイトとかではスキルが身につかない状態で、価値の高い若い時間無駄にしてしま

③そんなところに現れたのが過去の栄光を話す若者応援おじさんのA

自分殆どコードを書いたことのない業務経験で、21世紀になっても複雑系の話に興味をそそられるような斜に構えたスノッブ

という状況設定理解してくれればいい。

では、入社後の話をしよう。私が配属されたプロジェクトは80万行程度のJavaコードで動いてるBtoB向けの製品保守開発してるプロジェクトだった。やってることはGoogleAmazonMicrosoftみたいな大手ならやってるようなサービスの完全下位互換みたいなソフトウェアを、情弱だけど社員数は多いみたいな企業に売りつけるような仕事だ。国産とか、セキュリティとか、そういうよくわからない言葉を並べ立てて、海外UIも洗練されていて、優秀なエンジニア管理してるものセキュリティ的に怪しいと不安煽り立てて売りつけるようなやつだ。そんなクソみたいな製品でも年間5億円ぐらいの売上になるのだからIT系って糞だなって思う。ネット上では優秀な人間ばかりがアウトプットしてるし、NDAの名の下に詐欺まがいのソフトウェア(今回の例なら無料UIも洗練されていて、使いやすサービス)が明るみにならないのだから、こんな国はさっさとスクラップ・アンド・ビルドすればいいのにって思うよ。IT化されてないのが時代錯誤で〜みたいな記事ネット上でもバズるけど、実際には10年前のスパゲッティコードを惰性と不安につけ込んで売りつけるようなSIerがたくさんある。そんで、そんな意味不明ソフトウェアを導入すれば、どこに何があるのか分からないUI操作に大切な業務時間を奪われて、日本全体の生産性が落ちてしまう。ユーザー時間生産性を奪い、開発者にとっても技術負債しかならないようなソフトウェアを売りつけてる悪性腫瘍みたいなSIerはさっさと滅んでしまえばいいと思うよ。

まぁ、私が配属されたプロジェクトはそんな感じだ。まるで意義を感じないが金にはなってるプロジェクトに配属された。そのプロジェクトの根幹部分は一人のエンジニア設計開発しており、そのエンジニアは既に退職して、どこに何が書いてあるのかわかってない人間が後任として保守を行っている。盲腸みたいに全く有難みのない機能を増やすことでより高く売りつけるようなプロジェクトだった。

そのプロジェクトの中にいる人について話そう。プロジェクトマネージャー仕事漬けで毎月350時間ぐらい働いている60連勤とか当たり前で、常に酔っ払ったような、眠そうな目をしてる人だった。にも関わらず、同じプロジェクト人間仕事がなさすぎて業務時間中に関係ない談笑をしたりしていた。プログラマテスター文書作成をするスタッフが40人ぐらいいるところで、閑散期(機能追加のサーバーリリース前以外)は暇そうにしてる人が多かった。プロジェクトマネージャーを除いて。要は、PM一生懸命働いているが、その一生懸命さは惰性で行われており、無能なのに業務時間が長いPMがいて、その人が全部仕事をやってしまう。他人に頼めない性格らしくて、存在意義が分からない業務他人に頼んでは「なぜこんなこともできないんだ?」って怒鳴るのが生きがいみたいな人だった。頑張ってることがアイデンティティになってて、その頑張りに意味があるのか、必要なのかという吟味ができず、タスク他人に振ることもできず、情報もそのPM一人だけが握っているから、周りの人も「私が仕事を請け負いましょうか」ということもできない。それで新入社員をイビるような存在意義のわからない仕事を振って、できなかったら人格否定をするような感じの。

私が受けた仕事ととしては、週に1回ベンダーのところに会議をしに行くんだけど、そのときの社内の資料を全部紙でプリントアウトして持っていくというのがあった。文書作成スタッフ製品仕様Wordでまとめて、600ページぐらいのpdfにしたものが1500万円ぐらいで売れるらしく、その増えた言語仕様プリントアウトしてベンダーのところまで持っていく。追加された仕様以外にも、今週やったテスト内容をExcelで纏めたものプリントアウトしたりしていた。紙の量で言うと、一回の会議で2500枚ぐらいで、それをキャリーケースに詰めて客先であるベンダーまで持っていくらしい。聞いた話では、その2500枚の会議資料殆どまれずに捨てられるのに、そのPMベンダーにその慣習を廃止しようとは提案しない。ベンダーとの週一の会議の他にも、進捗報告を主とする社内会議があって、PM以外の人はあのプリントアウトする悪習は廃止すべきという話が上がっているのにPMが首を縦に振らないから一向に改善されない。まぁ、そのプリントアウトするのをやるのが私の仕事だったわけですよ。毎週4時間ぐらい掛けてWordExcel文書サイズとか調整してさ。元の文書サイズや余白が狂ってるのに、客先に失礼だと言われて、手直しして、プリントアウされたコロコロコミック何冊分だよ? みたいな紙の束をホチキスで止めていくんだけど、ホチキスの止め方が汚いとやり直し。

じゃあ、なぜPMは頑なに意味のない業務をし続けて、それによって新入社員を使い潰そうとするのかと言えば、弊社の業績が悪くて倒産しそうだったときにそのベンダーが手を貸してくれたからそのときの恩義があるとかなんとか言っていた。だから、靴を舐めるようなことをするし、他人生産性を奪うようなクソ製品を世の中に出して何も感じないらしい。読みもしない産業廃棄物を作り出して、それを無碍にされて喜んでいるような業務が、今の日本の何割を占めているのだろう? そのPMの口癖は「俺はプログラミングは全くわからないが、こんなプリントアウト段取りもできないようなやつはプログラミングなんてできないと思うよ」だった。FizzBuzzどころか変数関数すら知らないような人間にこんなことを言われるのは屈辱だったし、これが高卒経験就職することなのだろうと思った。

他にも、私が受け持った仕事に、製品が動くかどうかを確認するテスターという仕事があった。RSpecSelenium自動化しようと言っても、そんな技術を持ってる人がいなかったから、一々自分でその製品を触って仕様通りになっているか確認しないといけなかった。画面遷移が600ページのpdfになっているから、それを見ながら正しい画面遷移ができているか確認する業務だったが、正直人間のやる仕事ではないと思う。画面遷移だから前のページから次のページに移行したときに前にどのページだったなんてスクショを撮ったぐらいじゃわからないのに、「このテストExcelにした内容じゃ、本当にテストしたのかわからないだろう?」と言われた。言われたとおりにExcelファイルスクショをひたすら貼り付けていたというのに。しかも、その他にも特定ファイルアップロードするときにどの条件だとアップロードができないか判別するテストをどうやって行うのか考えろというのがあった。今までにテスターをやっていた人に聞いても指針なんてないと言われ、「賢い人はそういうのを考えつくものだ。俺はパソコンに詳しくないが」とPMに言われ、嫌気が差した。

まぁ、ここまで書けば、如何にブラックと言うか、理不尽で不合理な職場かというのはわかったと思うけど、いい面もあったんだ。前にも書いたように、未経験高卒手取り20万貰えたのは嬉しかったし、研修のない会社だったから、最初の二ヶ月ぐらいは一人で勝手勉強しててと言われたから、実働換算で時給3000~4000円ぐらい貰える計算だったのかな。一番瞬間時給が高かった日はメールの返答に20分ぐらい使ったときだったから、日給1万、実働換算の時給が30000円ぐらいになった。それぐらい放任されていた。

最初社長が「君にはソースコードUMLを書いてもらおう」とか言って、クラス図を書く練習をしていたんだけど、現場の人は「今更UMLなんて必要ない」「ソースコードを読めばわかる」と言って、全く必要とされていなかった。だから業務とは関係ないTCP/IPRubyGit勉強をしていた。家のことで勉強に対してモチベーションが落ちていた私は、金を貰えるという環境では目の前の勉強に集中できるようになって、元の勉強するための生活リズムっていうのか、そういうのを取り戻せた。それは当時の私にとっては有難かったと思う。

ここまでをまとめると

無料で使えるサービス下位互換といえるような、他人生産性と金無駄にするような製品を開発してるプロジェクトに配属された

PMけが忙しく働いて、周りの人の割り振りができていない。

PM多忙なのはしなくていい仕事を引き受けているだけ。

社会悪のようなソフトウェアを売りつけて金を稼いでいるプロジェクトだった。

仕様書やテスト内容のプリントアウトという必要ない業務をしたり、指示内容と叱責内容が矛盾する理不尽を受けなければならなかった。

しかし、勉強してるだけで月20万貰える環境は有難く、当時の私にとっては願ったり叶ったりだった。

では、次に私がその会社入社から辞めるまでの経緯について書こう。最初のうちは、自分勉強時間を取れていたし、振られる仕事理不尽で意義を感じられないものであるものの、すぐに終わることが多かったか問題ないと感じた。それが徐々に仕事が増えていき、勉強時間が取れなくなっていった。

ここで若者応援おじさんAの登場である。Aさんは私と会ったときは有名企業に勤めていて、そこを辞めて私を紹介してくれた中小企業で働き始め、その数カ月後に私を紹介してくれた。元々、その会社社長とは懇意にしていたから、一緒に働こうという話が何十年も前からあって、今回ちょうどタイミングが合ったから、その友人の会社の重役として就職したらしい。私が就職したのはその数カ月後だった。

Aさんは「何か問題があったら、部下や上司という立場を気にせずに忌憚なく言ってほしい」「俺は人を見る目はある方だ。君は一本芯の通ったところがあるから、周りに流されずに新しいことをできるだろう」「君には将来性がある」「俺は新しい会社でも権力を持ってるからへんなことを言ったり、したりしてる人がいたら遠慮なく言ってほしい」とかそういうのを入社する前に言っていて、まぁ、色々とおかしいところ、FAKE野郎みたいな発言が多かったけど、そこだけは信じてたんだよね。本当に騙すんだったら、そんなすぐに辞められるようなリスクを上げるような発言はしないだろうってさ。ちなみにFAKE野郎って感じたのは、一方的自分の話だけをして、私が質問すると煙に巻いたり、私のことを買ってるという割には私の話をすぐに中断させて自分の話をし続けるとか。その人はFラン出身だったから、ちょっとインテリなことを言うと「君は変わってるね」って言ったり、きょとんとした顔で10秒ぐらい固まった後、すぐに自分の自慢話を再開したりと、決して自分の知らないことや分からないことを認めようとしなかった点だ。他にも、「私と働きたいと言ってくれていた会社はあったけど、そこは技術的に成長できそうだけど給料は月7万程度でバイト身分から、迷ってるんですよね。バイトから自由時間は多く取れるんですけど」みたいな発言をしたら、鳩が豆鉄砲を食ったような顔をして、私が感じていた不安を取り合ってはくれなかった。Aさんは「俺は社内で影響力を持っているから、君を正社員にすることもできる」みたいな話を延々としてたのに、いざ蓋を開けてみると、「君の面接での受け答えが駄目だから契約社員として雇用することになった」「あれから上層部に渋られてしまって、請負契約にすることになった」と話が二転三転していった。だったら、他にも選択肢があったのに、他のところに就職したのにと思ったが、自分能力や経歴で負い目を感じていたから強く言うことはできなかった。高卒就活するというのはそういうことだ。他にも選択肢があるのにも関わらず、どうせ労働に関する知識がないと足元を見られて、条件を徐々に下げられ、他に選択肢をなくした後で、悪い条件で働かざるを得ない状況になっていた。結局、勤務時間タイムカード管理されてるのにフリーランスとして請負契約を結ぶという偽装請負契約させられ、もっと技術力を磨ける選択肢は潰されてしまっていた。

私は会社問題点を丁寧に分析してpdfにまとめてAさんに送ったんだ。それが間違いだった。如何に会社がそのベンダーに良くしてもらったか、大変なのをわかった上で俺たちが会社を立て直してきたかということばかりを話していた。百歩譲ってそこはいいとしても、ベンダーとは関係なく職場環境を良くするための話までいい加減に聞かされてうんざりしていた。

「Aという問題があります。その背景にはBがあります。そのためにはCという解決策があります

という話をしたときに、「Bぐらいみんな当たり前にしている。君だけ特別扱いすることはできない」みたいな返し方をされて、問題が発生してる事自体はないものとされていった。結局、職場にはびこる不合理で理不尽業務ルール改善することはなく、私への人格攻撃で終わってしまった。

毎日どうでもいい作業で疲れ切って勉強時間が取れなくなってしまった私は、最初出会った頃のAさんの言葉を信じて、「私が本当にしたいことは、仕様書やテスト時のスクショプリントアウトしたり、よくわからないテスターをやったりすることではない。このままでは、プログラマとしてのキャリアを積むための勉強時間を作ることもできないし、業務内でコードを書くこともないか業務時間を短くしてほしい」と言った。少なくとも、最初Aさんと会ったときは、「君には人工知能Permalink | 記事への反応(1) | 23:52

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