「テキストエディタ」を含む日記 RSS

はてなキーワード: テキストエディタとは

2021-07-10

ゲーム開発者になりたい学生さん

ゲーム業界プログラマーとしてやっている身から考えを書いてみる。

「私のフォロワーの方にはクリエイターゲーム関係の方がたくさんいらっしゃると思います。皆様の意見を聞かせていただきたいです。」

https://twitter.com/gamemakerdiary/status/1413185724849954817

最初に考えるべきは、ゲーム作りの何をやりたいのか、だ。

ゲーム会社経理や人事でも、好きなゲームに関わっているということで満足する人もいる。

小規模なゲームをひとりで全部作りたいのか、中規模以上のゲームのどこかを担当したいのかくらいは考えておくべき。

次は専門職シナリオグラフィック作曲といった専門の教育を受けてないと手も足も出ない分野。

これも解像度を上げると、コンセプトアートキャラデザインムービーモデリングライティングUIデザイン、録音、効果音などなど無数に分類される。

でもまあ、プログラマーひとつ花形なので憧れる人も多い。

ゲーム会社特にコンシューマゲームプログラマーとしてやっていくなら、学生時代に身につけている言語環境よりも、「大規模なものや複雑なものを怖れず学ぶ」資質大事だと個人的には思っている。

ゲーム開発は、ゲームエンジンやフレームワークライブラリAPIを多用する。それもネット検索してもまったく情報がない独自のものだったりする。

そもそもゲーム機はOS自体普通と違うし。ビルド使用するツールチェーンもかなり複雑になっていることが多い。

簡単な例でいうと、Visual Studioよりもテキストエディタの方がシンプルで使いやすいと思うタイプは要注意だ。

複雑でも多くの人に支持されているツールは何か良いことがあるはず、と思ってVisual Studioを使いこなす気持ちを持とう。

学生時代作品ProcessingなどではなくC++で書くべきとか言われるのもこの辺に通ずる。

あとプログラミングに自信がある人で、既存ライブラリは複雑で使いにくいからとオレオレライブラリを作ってしまう人も要注意。

実は俺もそういうタイプなので苦労した。

ゲーム開発は複雑なものをそのまま使わなくてはならない日がいつか必ず来る。

既存の複雑なものを使う能力と言うのは、つまり大量の(英語を含む)ドキュメントを読む能力、大量のソースコードを読む能力でもある。

大量のコードを書ける能力はもちろん歓迎される。

シンプルで洗練されたコードも素晴らしいが、洗練されたコードをめちゃくちゃ時間かけて書く人よりも

多少いまいちでも手が止まらず書き続けられる能力がある人の方がまわりには多い。

そういう人は、いまいちコードに何度も手を加えて最終的にはまともなコードにしてしまったりする。

ゲーム全般ゲーム開発に関する知識量は、プログラマーとしても最大の武器だ。

有名なタイトルがどういう特徴を持ったゲームなのか広く知るのには膨大な時間がかかる。ゲーム好きでそのあたりに詳しいだけでも強い。

Unityなどのゲームエンジンに触ったことがある、というのもスキルというより知識武器という意味合いが強い。

入門書レベルではなく、UniRxとかのプログラムの書き方の根本からくつがえるようなライブラリ経験とか、Unreal Engineソースコードをいじったことがあるとかレベルなら超強い。

大学ゲームサークルインディゲーム開発のグループ経験がある人はここが強いように思う。グローバルゲームジャム参加経験者とかも。

それから、ここが一番言いたかった点なのだが、前述の専門職とまたがる知識のあるプログラマーはめちゃくちゃ重宝される。

グラフィックならシェーダーがめちゃくちゃ書けるとか、3DデータやIKを扱った経験があるとか、3Dベクトル行列演算数学が得意だとか。MayaBlenderを使った経験があるだけでも強い。

サウンドならDAWや波形編集ソフト普段から触っているとか、信号処理に詳しい人。

まりデザイナーモデラー音楽家気持ちがわかって、その人たちと専門用語で話ができるプログラマーはどこでも食っていける。

あと最近AIに強い学生ゲーム会社積極的採用している。

ひとつの専門知識プログラミング能力を身につけるのはわりとおすすめ戦略だ。ゲーム開発の全部に詳しい必要は必ずしもない。

CEDECなどのカンファレンスに参加して、どういう知識体系があるのか知って、自分の強みを考えよう。

ゲーム開発用の自社ツール制作や、プロモーションWebサイト制作など、ゲーム本体以外のプログラミングも多いので、

ゲーム会社プログラマーならこうあるべきという正解はひとつではない。自分特性に合った道をめざしていこう。

2021-07-07

anond:20210707105538

しかブラウザで表示できないならその他のツールテキストエディタとか)でも表示できないのは当たり前では

元のデータが書き換えられてるってのはどうやって確認したの?

バイナリエディタとか?

2021-06-17

CTOだけど、一ヶ月Web就職レビューしてみた。

https://anond.hatelabo.jp/20210617075257

0. 温度感

基本的現在では、バックエンドフロントエンド運用保守全てができないエンジニア価値は無い。

経験者でも、これらができない/わからないのは、相当恥ずかしいことだと思った方がいい。

典型的はてなー意識の高さ。

上がってるような基本(元増田に上がってるやつの倍ぐらい)が全部立ち上げからできて

2〜3個プロジェクト経験したらテックリード素養が既に身についてそう。

まり、ただのエンジニアにはそこまで要求されない。

プロジェクト的にもどっちかが弱いと

Rails/DjangojQuery+Bootstrapみたいな構成

Amplify/FirebaseにVue/Reactみたいな構成全然あるので

フロントバックエンドも一旦はどっちかでいい。

面接はなんとか抜けてもらうとして、

チーム開発での最低限の目標としては、

成果物から指導学習コストレビューコスト技術負債マネジメントコストを引いた分が正になっていれば

ひとまず「チームに居ていい人」と見なされそう。

チーム的に良くても、経営層にそれで許されるかはわからんのでその辺の立ち回りも上手いことやるとして、

一旦は、正の生産性を目指してほしい。

以後、ブコメで誰一人一ヶ月でできるって言ってなくて笑うので、

一ヶ月というのは無視して、三〜六ヶ月程度をイメージしつつ書いていく。

1. 言語: PythonJavascript

これだけで一ヶ月経つ気がするが正気か。

似たような言語なのでどっちからやってもいいし、両方同時にやってもいい。

どっちかしかやらないならJavascriptおすすめ。後ででてくる、Flaskは適当Expressかに置き換える

現場だとほぼTypescriptなので、Javascriptはある程度慣れたらTypescriptに移行したほうがいい。

どちらも、Python2とES2015以前の記法というレガシーネット上に転がってるので参考にしないように注意。

パッケージ管理単体テストタスクランナー

この辺は6のフロントフレームワークと同時にやる。

コードは断片的なサンプルではなく

一貫性があって

・正しい書き方がされた

お手本プロジェクトをなにか(github書籍など)で手に入れて読むべき。

おそらくフレームワークに乗っかっているので並行して進めることになる。

6. フロントエンドフレームワーク: Vue.js

話の流れで先にこっち

現在コーディングのグッドプラクティスデザインパターンフレームワークの形をしている。

なので、ReactとVueをその思想から理解しきれれば、プログラミング言語の潮流の最先端に追いつけるはずだ。

とはいえ最低限としては使い方が分かるところまで。

TypescriptVue.jsも書き方をどこまで取り入れるかが使用者裁量に任されてるし、

開発でVueとReactのどっちを使うかはチーム次第なので、

一旦React+Typescriptガチガチに書かれたコードプロジェクトを拾ってきて、必死で解読するのがいいと思うなー。

2割ぐらいわかった気になればチーム入ってから(React, Vueどちらだったとしても)動けそう。

パッケージとかテストタスクデプロイ辺りもこのタイミングで拾ってきたプロジェクトを使って学ぶ。

2, 4. ツール: gitDocker

バージョン管理コンテナ思想が優れているのは自明なので、これらはツールと見ていい。

そして、後からプロジェクトに入った人がプロジェクト流儀に沿って使う分には難しいことはなさそう。

採用に来た人がgitとかわかってるとチーム開発経験者だなーって思うし、知らないと未経験者なんだなーって思うし、

そういう意味ではチーム開発の経験があるかどうかの試金石にはされてそう。

構築できる、ではなく、触れる程度で良さそう。

gitプロジェクト流儀によると書いたが、git-flowイメージ図を理解して運用できるのがよい。

https://qiita.com/KosukeSone/items/514dd24828b485c69a05

3. OS: Linux

これは「パソコンの使い方わかってますか」ぐらいの温度感

ファイルパーミッションユーザープロセスのような基本概念理解する

一冊読めば済むだろうし、概念系はさらっておいてほしい。

grepやfindやxargsなどのコマンドを組み合わせて簡単な処理を自動化する

こういうのができるんだなーって言うのを知っておいて、調べつつ書ければ十分。

sedとか正規表現も。

あとはシェルスクリプトとかって思ったけど同様のことはPythonでもできそう。

IPアドレスを調べたり、SSHリモートマシンログインする

地味にSSHログインした先の環境だと、vimが主要なテキストエディタになるので

vimを最低限触ることだけ要りそう。もういらないかもって思ってたんだけどなー。

ファイル開いて入力モードに切り替えて書き込んで保存して終了

チュートリアルする。拡張とかはいらない。

細かく書いたが、LPIC-1の範囲がほどよくまとまっているのでそっちを参照するとよい。

5. サーバーフレームワーク: Flask

フレームワークを覚えること自体重要なのではなく、Web開発の基本を習得することが重要

これが意図なら

HTTPルーティングデータベースSQL認証セッション管理などは当然すべて覚える。

この辺の機能を持った小規模Webアプリを作ってHerokuデプロイすれば一旦完成とみなしてよさそう。

コード書き写しただけにならないようには注意しつつだけど、長く見て5人日ぐらい?

慣れると1日あればいけると思う。

フレームワークもなんでもいい。

軽量である必要もなくて、

Djangoとかでも各コンポーネントがどんな働き方してるか程度はわかるだろうしそれで十分。

余力があれば複数個触ってみたり、人から勧められたらそっちでも。

最近サーバーレス&NoSQL流行ってるのでFirebaseとかもやればいいと思う。

7. アルゴリズム

コメントリーが荒れててウケる

実務プログラミングで最低限必要アルゴリズム力は

「書いてるコード計算量オーダーを把握していること」

に尽きる。

計算量を気にしなかったせいで線形検索メソッドとfor文を組み合わせて

O(n^2)やO(n^3)のロジックを書いてしまって

データ量が万〜十万の本番データで遅延するとか

それらに対して分散や非同期処理で解消しようとするとか、

ちょっとでもアルゴリズムを触った人ならアホらしいなって思うような行為

アルゴリズム不要勢は平気でやるぐらい、両者は溝が深い。

計算量を意識するだけなら、AtCoderABCのC〜D問題辺りが解ければ十分。

8. セキュリティ

有名な脆弱性攻撃手法は、ほとんどフレームワーク等で解決手段が用意されている

(XSS対策自動エスケープなど)

のでアドリブをせずに正しい書き方でやれば良い。

開発現場でもセキュリティリスクがある箇所を1から自前で実装することを経験が浅い者にはやらせないので、

ただただ、フレームワークが正しいとしているやり方をなぞるのが良い。

最後

開発の勉強のやり方としては、

・正しいコード見本を手に入れること

公式リファレンスを読むこと

エラーメッセージを読むこと(そしてググること)

この辺りの習慣があればやってけんのかな、

その他、チーム開発って面では

アジャイルサムライプロジェクト管理)とか

TeamGeek(人間性)とかインプットしておくと共通言語が増えて嬉しい。

この方向で進めてけば、その途中で正の生産性≒足引っ張らないぐらいになれるので、

そしたらやってけるんちゃうーって感じ。

2021-05-22

anond:20210522112942

単なるテキストエディタで書いた時はタブインデントで、Jupyter notebookで書いたやつはスペースインデントになってるスクリプト納品したら

客に「どっちかに合わせて」って怒られた

えーん

2021-05-11

anond:20210511112722

俺はVSCodeがそんなに重くなったとは思わんが、テキストエディタ+αくらいで軽快に動いてほしいのに、IDEに寄せることで重くなることはちょっとなぁ、ってことじゃじゃないの?

anond:20210511112018

そもそも構文解析までしちゃってる時点で、VSCodeテキストエディタの域を超えてIDE一種になってると思うので

別に重くても構わんのでは。

あとVSCode日本語の扱いが馬鹿すぎるので、日本で開発されたタフな状況でもマルチバイトをうまく

処理してくれるテキストエディタは手放せないわ。

2021-05-04

vscodeの弱点

巨大なファイルを開くと固まる。

100MBくらいのテキストファイルを開いたら固まった。

emacsとかatomも固まる。

やっぱりテキストエディタは軽いのが一番。

2021-04-23

さて、新卒入社したSIer企業で約1ヶ月が経ったわけだが

結論

転職してえ...

はじめに

匿名ということで、忌憚なき意見が得られたらと思ってここに書いきました。たぶん、新卒がまた甘いこと言ってるよと思う人もたくさんいると思いますが、それはそれで受け止めます

ただ、どこにも迷惑をかけたくないので、本質を違えない程度にはフェイクを挟んで書いてます。なんか辻褄合わなくね?みたいなところあるかもしれませんが、そういうものだと思ってください。

背景

まず、私がどんな状況のやつかわからないと話にならないので、ちょっとバックグラウンドを紹介

情報工学修士持ち、メーカー系のグループ会社SIをやる会社に在籍。

グループ会社とはいえ、2000人規模で同期が100人近くいるので、そこそこ規模の大きい会社だと思ってくれて構わない。

本文

研修周り

「某S社に入社したけどミスだったかもしれない」というはてな匿名ダイアリー一年前だったか二年前だったか少しバズったが、今の僕はこれに近い気分である。(該当記事は社名まで出しているが、前述の通り迷惑かけたいわけではないのでぼかしておく)

まず不満点として、研修があまりに虚無すぎるというのがある。

文系出身の人もいるので内容がしょうもないのは、仕方ないとは思う。

それでも情報工学修士を出ておきながら、再び学部1年の授業を水で薄めたような講義を受けるのは非常に苦痛である。一人でやれば数時間で終わるものに1日かけてみんなで足並み揃えてやっているのは、運動会手をつなぎながらゴールする様を想起させる。

そもそもIT系研修はいまだに一週間やったか?程度でしかやっていない。ずっとやってるのはコンプラビジネスマナー技術文書の書き方である

今時中学生でもできますよ。それ。

とあるごとに偉そうに、賃金を貰いながら学ばせてもらってる身なんだからうんぬんと説教垂れてくるのも腹立つ。研修で新しく学んだことなんかひとつもねーよボケ

PC周り

PC周りの環境がひどすぎる。

もっさりしたパソコンを重たい仮想環境に一斉に接続し、さらテザリングオンライン会議につなぐことでまるで水の中で動いているかのようなもったり具合である。非常にストレスが溜まる。

あとこれは、仕方ないとは思うけれど、セキュリティ上の理由自由アプリケーションを入れることができない。もっと効率的作業をこなせるのに、使いにくいアプリや社内製のゴミシステムを使わされるのは合理的信条とするITを志すものとしてかなりストレスになる。(どうでもいいけどOutlook使いにくすぎませんか?)

まぁ、でもこれは仕方ないと思いますよ。セキュリティ上の理由と言われたら反論できませんもん。

ただ、一つだけあまりにも我慢できないことがあります

...SEなのにテキストエディタMS Wordメモ帳しか入ってないんですよ???!!!!???!!!?????

これでどうやってコーディングさせる気なんですか???

...ちなみにアルゴリズム研修フローチャートパワポで書きました。これからやるデータベースSQL研修は紙上でコーディングすることがわかりました。泣きそうです。

......ITってなんなんですかね......?

周囲の技術に対するモチベーションが低すぎる

技術力が現時点で低いのは全然構わない。私も当然まだまだだし、上を見れば見るほどキリがない世界だ。

これはただ単に知るのが早いかいかの違いでしかない。

ただし、IT系に関わることをこれから仕事にしていこうという人が「私、プログラム苦手でーw」というのは本当に許せない。

バス運転手が「いやー私、運転苦手なんですよねーw」と言っているようなもんだぞ?誰がそんなやつに仕事を任せるんだ?自分がこれから何をしていくのかについて、あまりにも自覚というか覚悟がなさすぎる。(あんまり自覚とか覚悟とか人に押し付けたくはないんだけど、他にいい言葉が思いつかない)

キレても仕方ないので、愛想笑いして誤魔化してる自分にも腹が立つ。マスクのおかげで口元が笑ってなくてもいいのは非常にありがたい。

成果主義と言いながら、結局年功序列

年次で仕事が割り振られるので、成果主義といいながら結局は年功序列である。少なくとも入社3年は足並みを揃えた昇給

ちなみに、働く前は年功序列もいい点あるよなーとか呑気に思っていましたが今は違います

会社ルールを決める連中が全部親会社天下り老人。上がり幅が小さすぎる給与レンジ。若手はやっすい給料で働かせられる。

こんなのを見てしまうと若手のやる気を削いでるのは、お前ら老害じゃないかと思わずはいられませんでした。

ついでに、年寄りどもが定期的に言う(大学上がり) = (遊んでばかりの怠け者)な価値観は明らかに古いものです。

今の若者あなたが思っているよりかなり優秀だと思います

自身の安定感について考え方が変わった

当初は安定感があるのもいい点だと考えて、現在いる会社に決めましたが、しばらく生きて安定感に対する考え方が変わりました。

ことIT業界に限って言えば、安定感は会社に与えられるものではないです。自身技術力が担保するものです。端的に言うと、いつクビになっても他に行けるような技術力を持つことが安定感だと考えるようになりました。

そういったことを考えると、他に行った時にほぼ役に立たない社内政治力や、社独特の書類作成能力、使いにくい内製フレームワーク勉強をしていくことに全く興味を持てなくなりました。

技術力が全く身に付かない今の現状を考えると、若いうちの安い給料としょっぱい昇給幅で我慢して働くことに対するモチベーションは無くなりました。

フェアじゃないのでいい点も
その他

おわりに

データ菜園機械学習系、ソフトウェア開発系で職を探しているので紹介してください。

ちなみに真面目に質問なんですけど、転職しようと思う場合やはり少なくとも半年くらいは在籍した上でなければ厳しいんでしょうか?

もういつ辞めるかの違いでしかないので、決めたならできるだけ早く動くべきだと考えて動いてきたけど、結構風当たりが厳しく、今転職活動するのは流石に悪手なのかなと思ってきてます、少し忌憚なき意見が欲しいなーと思ったり...

おまけ

せめて現職で少しでもコードが書けたらだいぶ気持ち的に楽になるのになー...

追記

5ch感覚レス飛ばしてましたが追記の方がいいらしいので追記します。

あと、思ったより注目を集めてしまった感あるので、これで基本最後にしようと思います

たくさんのアドバイスありがとうございました。

VSCodeは最強のテキストエディタって言うけどさ

マルチバイト文字が交じると、タブ幅が狂うとかありえなくない?

あと検索履歴を一覧で確認できんとかアホすぎない?

2021-04-15

和製テキストエディタには

全角空白が視認できる機能があるけど、外国製にはそういう機能いね

2021-03-29

anond:20210328195105

設定編

システム環境設定を開く

  1. AirDropとかで本名が出ることがあるので、
    共有 → コンピュータ名 を変更する(半角英数字が良い)
  2. Dockとメニューバーウインドウしまときエフェクトスケールエフェクト
  3. キーボードキーリピート および リピート入力認識までの時間
    ともに "速い" と "短い" にするとタイピングが速く打てるようになる
  4. トラックパッドポイントクリック
    タップクリック有効
    ・軌跡の速さ:やや速い
    サイレントクリック有効
    ・強めのクリックと触覚フィードバック無効
    このあたりは個人の好み
  5. アクセシビリティディスプレイカーソルカーソルサイズ
    マウスカーソルが小さく感じたら、この設定で視認性を良くすることが出来る
    TIPSカーソルを左右に振り続けると一時的に大きくなる
  6. アクセシビリティオーディオ → 通知音が鳴るときに画面を点滅させる と、
    静かな環境作業していても警告音や通知音に気付けるようになる

アプリ

ゆくゆくは Adobe Creative Cloud契約する
定価で買うのはバカらしいので Amazon20% OFF などのセールの時に買う

https://www.amazon.co.jp/dp/B00FOHQZPI/

購入後、発行されたシリアル番号(コード) を https://account.adobe.com/products入力して登録


2021-03-10

MSTODOを使ってて、こんなこともできるのかな、と思ってやってみたらできてしまってちょっと感動してる

ドッグフーディングなんだろうか

テキストエディタメモしておいた空行が適当に混じったのをそのままステップの追加にコピペすると、ちゃんと箇条書きになってくれる

多分、TODOタスク自体もそうなんだろう

とりあえず、手元のマシン適当テキストエディタメモ書きする癖があるから助かる

Webブラウザアプリを立ち上げるより早く書かないと忘れてしまうことがあるので

短期記憶全然駄目なんだよなあ

仕事電話対応全然駄目だし

あと、電話だとなぜか相手の声が聞き取れないんだよなあ

聴覚に異常はないみたいに病院でも言われたのだけど

生きづらい世の中だなあ

2021-02-21

高校生までに覚えておきたい情報技術あれこれ100(未満)

  1. Windowsの起動とシャットダウン
  2. スタックウィンドウマネージャー操作
  3. アプリケーションインストールアンインストール
  4. テキストエディタ操作基本的活用
  5. ワープロソフト表計算ソフトプレゼンテーションソフトの違いと得意不得意
  6. オフィススイート操作基本的活用
  7. オフィススイートバッドノウハウ学習とその回避
  8. スケジューラの操作基本的活用
  9. メールの送受信
  10. Webブラウザ操作基本的活用
  11. インターネット情報セキュリティ個人情報保護
  12. インターネットコミュニティとその心構え、関わり方
  13. ディレクトリ構造役割
  14. 効率的ディレクトリ運用
  15. マークアップという概念オフィススイート関係
  16. 指向性ある情報指向性がない情報
  17. 表計算ソフト上の情報指向性
  18. プレゼンテーションソフトによる伝える情報指向性
  19. テキストエディタワープロソフト文書オーサリング
  20. ワープロソフトマークアップ情報指向性
  21. ワープロソフトの書式機能による一括書式変更
  22. 美しいオフィススイートファイルの構築
  23. クラウドオフィススイート活用
  24. マークアップ言語HTML概要
  25. ワープロソフトHTML、書式とCSS
  26. ScratchGUIブロックプログラミング概要
  27. プログラミング情報指向性
  28. Google BlocklyとJavascript
  29. テキストエディタJavascriptプログラミング
  30. JavascriptシンプルテニスゲームPONGを作る
  31. PONGを派手に賑やかにする、見た目と快適さ、ユーザビリティデザイン
  32. ラスタグラフィックスベクタグラフィックスの違い、各画像形式レンダリング負荷
  33. Debian GNU/Linuxインストールパーティション
  34. Debian GNU/LinuxJavascriptプログラミング
  35. Debian GNU/Linuxアプリケーションインストールアンインストール
  36. コマンドライン概要
  37. IDEプログラミングのための統合開発環境
  38. Raspberry Pi 4にRaspbianをインストール
  39. Raspberry Pi 4でLチカ、C言語プログラミング
  40. スクリプト言語コンパイル言語
  41. Raspberry Pi 4のGPIO
  42. Raspberry Pi 4向けC言語ライブラリ活用
  43. Raspberry Pi 4でプログラミングGUI生成
  44. Raspberry Pi 4でプログラミングGUIから操作でLチカさせる
  45. 複数Raspberry Pi 4でネットワーク対戦型PONGを作る
  46. Raspberry Pi 4で各種センサ操作および情報取得
  47. Raspberry Pi 4で各種センサ文字列検索および整形、条件に応じて通知させる
  48. 各種センサデータ表計算ソフトへ記録
  49. データベースとその考え方
  50. データベース種類および形式

足りなかったねん(´・ω・`)

2021-02-05

anond:20210205210424

俺がやったのはわりと力技だよ。

たとえばAとBというブコメについたスター比較したいと思ったら

Aのブコメページの

https://b.hatena.ne.jp/entry/4698059693843232994/comment/nunune

〇〇さん がスターを付けました。

〇〇さん がスターを付けました。

〇〇さん がスターを付けました。

……

……

のところをテキストエディタコピペして

「さん がスターを付けました」部分を置換で消してidを入手する。

そのidGoogleスプレッドシートかに貼り付けてアルファベット順に並び替える。

すると「Aのアルファベットidリスト」が手に入る。

追記・ここで「重複を削除」も必要だな)

同様の手順で「Bのアルファベットidリスト」も入手したら、

その二つをdiffツールなんかで比較すると

A・B両方に存在するidがわかりやすく表示される。

https://difff.jp/

あるいはAとBのidを混ぜ合わせて一列に並べて

Googleスプレッドシートの「データメニューの「重複を削除」を使うと

「何件重複があった」っていうのを教えてくれる。

重複したidの数を知りたいだけならこれで事足りる。

もっとプログラミング技術があればスマート比較できるのかもしれんけどね。

2021-01-17

anond:20210117111955

俺が実装してやるとかいってるやつがテキストエディタも使ってないとかありえなすぎてちょっと笑えた

2020-12-27

筆王なんて二度と買うか

この時期にだけ開くソフト筆王

1年ぶりに開いたらWin10では使えなくなりました、と。

それは構わないんだけど住所録どうすんの?筆王には用はないんだよ。オレが入力した住所録が今すぐ必要なんだよ。返せよ。

テキストエディタ表計算ソフトで試したけど、fzdファイルなんてまともに開けない。体験版はご丁寧に消してある。

筆王を起動しようとすると飛ばされるページにはしれーっと「有効OS拡張サービス」は終了しました。と。

お前が10何年かけて入力してきた住所録はオレ様に金を払わないと使うことはできないぜ?でもお前にだけ特別価格提供してやるよ、と選択肢が並んでます

おかしくね?なんか通知来た?オレ、ソースネクストメール登録してるけど有効OS拡張サービス(そんなサービス初めて聞いたけど)が終了するなんてメールたことないぞ。

必要もないソフト広告メールしか覚えがない。

もし、こういうやり方をするならせめてfzdといっしょにcsvなりPDFなりを保存してくれないか

1,980円くらいどうでもいいけど、こんなやり方をする会社には100円でも払いたくない。

筆王なんて二度と買うか。

2020-12-05

BOMって何ですか?

本番環境サービスインの事前作業を僕と新人さんとで行った。

お互い在宅でリモート作業

新人さん――2〜3年目くらいの子――が作った手順を元に僕が作業画面を共有する形で作業を進めた。ペアプログラミングならぬペアオペレーションってやつだ。

作業内容はテスト環境で作ったデータを本番用にコンバートしつつ入れ込むもの

ある作業の中で入れ込んだデータ確認するためにcsvファイルエクスポートして中身を確認する事を行うのに、何気なく`Alt-h`,`pe`,`↓`,`Enter`(WindowsエクスプローラHomeリボンを開いて、ファイルを開くセレクトボックスを展開、↓矢印で一つ下のSakura Editorを選択して開く)で、関連付けされているExcelではなくテキストエディタで開いた。

その時、「今のどうやったんですか?」と質問された。

手慣れたキー操作だったため素早かった事、オンラインミーティングでの画面共有はラグが発生する事もよくあるので、何をやったかからなかったのだろう。

一度閉じて、最初から解説しながらゆっくり作業し直して見せて納得してもらえた。

「私、いつもExcelを開いてcsvインポートを選んでやってました。ダブルクリック普通に開くと文字化けするし…、面倒だったんですよねー。今度からこの方法を使わせていただきます!」

うむ、正道だ。UTF-8エンコーディングされたcsvファイルを開くには一手間掛かる。

「因みに――」とSakuraEditorなら「ファイル名を付けて保存」からBOMのところにチェックを付けて上書き保存しておくとExcelからでも文字化けせずに開けるようになることを教えてあげた。

BOMって何ですか?」

これは少し困った。

BOMの話をして…するとUTF-8BOMを付ける意義とは?って聞かれるよね…ExcelというかMS製品全般でそういう仕様なんだよって話もしないとダメか?

あー、クソ面倒だな。

ちょっとしたおまじないだよ。」――実際間違っていないだろう。`#include <stdoi.h>` だって"おまじない"なのだから

本番作業中に脱線したことを戒めつつ、一方で多少の後ろめたさを感じながら実作業に戻った。

その後、特にトラブルもなく作業は予定より30分ほど早く終わり、お互い「お疲れ様でしたー」と労いつつオンラインミーティングを閉会した。

あ、BOMの話してない。と直後に気付いたものの時すでにおすし

まっ、気になったらググってくれるだろう。

2020-12-02

最近コンピュータ環境は複雑なので初学者には理解しづらい可能性がある

例えば、黒い画面に白い1ドットの点を打つとする

ここでハードウェアのVRAMと画面が直結していれば分かりやす

VRAMのメモリ領域の中で1ビット立てればいい

Cで言うなら、メモリを確保するとポインタが取得できる

ポインタには確保したメモリ領域の先頭のアドレス番地が入っている

ちょっと語弊があるけど、そのアドレス番地に1を入れれば画面に白い点が表示される、みたいな感じである

自分子供の頃のMSXとかZX Spectrumだったらそうだった

あと、PC-9801文字のためのVRAMと画像のためのVRAMがあったんだったか

98も同じようにメモリに何か直接書けば画面に表示されたはず

あと、その画像のVRAMの上に文字のVRAMを表示させることで、

例えば背景を輝度を下げて表示させ、その上でテキストエディタ作業するとかできたはず

ファミコンとかのカートリッジも挿入すればあれは何らかのメモリ空間に格納されるのだと思われる

カートリッジが挿入されていれば、そのメモリ空間最初からCPUに実行させればいい

そうすればカートリッジの中のROMに書かれているゲームが動くはずだ

しかし、近年のOSで例えば生のVRAMを直接いじるなんてことはあり得ない

生のVRAMはグラフィクスカードの中などに入っており、それは近年のグラフィクスカード上のGPUOSによって複雑に管理されている

からWindowsなどでゲームを作るときは、まずOSにお願いして、仮想的なVRAMのような領域をもらわなければならない

何をするにもまずはOSのお伺いを立てて、OSメモリなどのリソースを切り出して与えてくれる

返すとき図書館のように返すのが礼儀であるが、ぶち切りしてもOSは尻拭いをしてくれる

が、尻拭いをしてくれない可能性もあるため、ぶち切りした後に挙動おかしくなることもあるかもしれない

そう、なんかよく分からん調子悪いなあ、みたいなことが起こりやすくなった気がする

マシンが重いなあと思ったら、別のプロセスWindowsで言うタスクマネージャーをチェックする

そして、CPU使用率やメモリを食っているプロセスを見つけ、殺していい場合はkillしてみる

成功すればマシンは軽くなる

こんなことは子供の頃のMSXファミコンではなかった

マルチプロセス動作することで重くなることもあるし、何か共通リソースファイルなどを奪い合う、デッドロックとかそういうことも起こり得る

からってMSXに戻りたいとも思わない

できることは現在コンピュータとは段違いだから

しかし、プログラムから直接ハードウェアを動かしている、と実感することは減っている気がする

それはそれで良いことなのだけど、その実感がないことが初学者を混乱させていないだろうかと思った

ハード寄りと言っても、Arduinoでもラズパイでも自分にはあまりそういう実感がない

特にラズパイLinuxが動いている時点でLinuxが良きにはからってくれるためことさら実感がない

しかし、Z80制御ボードを使っていた頃はかなり実感があった

OSも何も入っていなかったし、基本アセンブラ(とC)だったからだろう

2020-11-19

anond:20201119091649

逆になんでいまだに有料版が使われてるんだろうっていうのもあるな。

アンチウイルスソフトWindows10で標準で入ってるけど、職場はいまだにサードパーティーの有料版をインストールさせられるし、OfficeもLibreなりオンライン版のMS OfficeやらGoogleDocsで十分だと思うけど、いまだに有料で購入されてるな。

テキストエディタ無料のいい奴がいくつもあるのに、いまだに秀丸が買われてるし。

2020-10-15

プログラミングの壁

私にも経験がある。

参考書を買ってひたすらコードを打ち込むのだがまるで頭に入ってこない。

参考書が悪いのではないか自分に向いてないのではないかと思い、別の参考書を買い、気づいたら家の本棚参考書だらけになっているのだが、結局プログラムは書けないままなのである

今になってみると上記の行動はある一定意味があったとは思うが、本質的意味理解せずに写経をしているのと変わらない行為だったと思う。

では、どうしたらプログラミング技術が身につくのだろうか?

一番最初に学ぶ言語は何が良いのか?

どんな環境が良いのか?

私はJavaScriptを奨めたいと思う。

理由ブラウザテキストエディタがあれば開発環境が揃うからだ。良くわからない複雑な環境設定で消耗する必要はない。

またブラウザリロードすれば実行結果がすぐわかるのも手軽で良い。

尚、外部のライブラリ使用オススメしない。車輪の再発明上等である

目的の設定:

ブラウザ上で動くブロック崩しを作ることを一旦の目的としよう。別にぷよぷよでも良いしテトリスでも良い。

作り方:

ここから重要だ。ステップバイステップで進めよう。

・画面にブロックを表示する

ボールを表示する

・自機を表示する

この段階では動かなくて良い。HTMLでそれっぽく表示されていれば良い。

次に自機を動かすことを考えよう。

キーボードのWを押したら左に、Dを押したら右に動くようにしよう。キー入力を受け付けて描画している自機を何ピクセルか横に移動させる。同様にボールを動かす、壁に当たったボールが跳ね返る、ブロックと衝突を判定する、ブロック消滅させるなどなど一つずつ解決しよう。結果はブラウザにすぐに表示されるから逐一チェックできる筈だ。

おそらく上記実装する時に上手くいかない事が沢山出てくる筈だ。なぜ上手くいかいかを考えて調べてみよう。もしかすると考え方が間違っているかもしれない。可能な限り実装したい動作を分解して考える事がポイントだと思う。そして解決策は必ずあるということも忘れないでほしい。

さて、それっぽく動く物はできただろうか。

ある程度動くものが出来たとしたらとても苦労したことだと思う。そして飛躍的にプログラミングが出来るようになったという実感がある筈だ。

重要なのは、以下の3点だ。

実装したい動きを分解して考える癖をつける事

目的に対し実装する手段を調べる事

進歩が分かりやすい形で表示される事(モチベーションに繋がる)

プログラミングの話となると言語選択作法の話になりがちだが、最初は全くそんな事を気にする必要ない。コードは汚くて良いし、動けば正義だ。動作が速ければ尚良い。自分がやりたいことをコード表現出来て楽しめる事が何より重要だ。

今回書いたエントリが楽しんでプログラミング出来る事への一助になればと思う。

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