「gui」を含む日記 RSS

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

2020-11-24

anond:20201124155603

Xcode自分も駄目だった

なんでだろう

これまで改良はされてきたし、最新のは知らんのだけど、

プロジェクトの設定とかとりあえず必要最低限だけ表示すればいいのにドバーッと全部表示してしまってて、

しかも結局はコマンドラインオプションGUIでチマチマ書くような感じになってしまってて、

これIDE意味あんの?みたいになるわけだけど、Xcodeを使わないと基本的MaciOSアプリを開発できない縛りもあるわけで、

あと、うろ覚えだけど昔たしかInteface Buildernibファイルとかバイナリだったんじゃなかったか

バージョン管理しづらい、差分が分からない、うっかりマウスを滑らせてどこか変更してしまっても分からない、

NeXTはそれでも良かったのかもしれないけど、なんだかなあと思って、できるだけ使いたくなくなる不思議IDE

Borland C++ BuilderとかDelphiは楽しかったのになあ

2020-11-06

コード共通化するな

プログラミングできる気になった自称中級者は、ソースコード共通パターンが現れると決まって、その処理を関数などに共通化したがる。

しかに、そうすることでソースコードは短くなるし、一見して保守性が上がったような気になるのだが、それは間違った作法から止めろ。

かいこと言っても伝わらない自称プログラマが読んでることを想定して、先に結論簡単に書いておく。

お前は絶対コード共通化するな。

共通化してはいけない理由

なぜコード共通化するのがいけないのか。理由簡単だ。要するに、コードが似ているのは単なる偶然であって、それらは別の処理だからだ。

別の処理だから共通化するのはおかしいし、もし共通化した処理の一方のみ仕様が変わった場合、その修正は他方にも影響してしまう。つまり保守性が下がっている。

たとえば、同じプロジェクトの中に、10%の消費税を加える処理と、10%の金利を加える処理があったとする。この2つの処理はともに元の金額を1.1倍する処理であり、全く同じ処理であるが、共通化してはいけない。

これらを共通化してしまうと、たとえば金利が8%に変更になったとき金利計算の処理だけではなく、消費税計算している箇所すべてを変更しなければならなくなる。

実際のアプリケーションでやりがちなのは複数の処理の「事前処理」「事後処理」などを1つの関数にして、呼び出し毎に細かい挙動引数制御するようなパターンだ。

これは結局、改修を重ねる度に「事前処理」「事後処理」の内容が使用箇所によって全く異なるものとなり、それに対応するために

といった悲惨設計に陥る。

他にも、GUIアプリユーザーの応答を待つDialogクラスなんてものを作って、使用箇所ごとにメッセージボタンに割り当てる処理などを切り替えることがある。

これも間違いなく、プログラムが成長するにつれて破綻する。たとえば、ある場所ダイアログは、表示するメッセージテキスト形式のみではなくなり、脇に画像を表示するかどうかのフラグコンストラクタに渡したり、Dialog継承させて表組みを表示するTableDialogサブクラスを作ったりすることになる。ボタンが「OK」と「キャンセル」の2種類の場合じゃなくなって、表示するボタンの数をコンストラクタに渡したり、ボタンに割り当てる処理をリスト形式で渡したりし出す。

こうして、最初は良い設計に見えたDialogクラスはどんどん複雑になる。こうなった原因は明らかで、本来は異なるもの共通化したからだ。おかしな色気を出さずに、素直に別々に実装しておけばよかったのである

処理に名前をつけろ

プログラミングをする上で「コード共通化する」なんてことは意識しなくていい。それよりもプログラマがすべきことは、処理に適切な名前をつけることだ。そのプログラムにおいて「単なる変数操作」を超えた意味のある処理には名前をつけろ。そして、同じ意味の処理なら同じ関数を使うし、違う処理なら違う関数を使う。それだけだ。コード共通化できるかどうかなんて全く関係ない。

変数関数クラス名前空間等が再利用のための機構だという先入観は一旦捨てろ。それらの真の意義は、「関心の分離」にある。つまり実装隠蔽し、その意図抽象するために存在する。たまに勘違いしてる奴がいるが、別に1回しか使われない関数とか、1行しかない関数はあってもいい。というか、この原則にしたがって設計すると、ほとんどの関数(or メソッド)は数行になる。

上の消費税の例で言えば、「消費税を加える」「金利を加える」処理は、明らかに単なる算術演算以上の意味のある操作から関数化する。そして、それぞれの実装は当初の仕様では奇しくも全く同じになる。消費税を加える箇所では前者の関数を呼ぶし、金利を加える箇所では後者関数を呼ぶ。

これはこう言い換えることもできる。消費税を加える関数を変更するのは、消費税計算処理が変わったときのみであり、金利を加える関数を変更するのは、金利計算処理が変わったときのみである。つまり、すべての関数は、それを変更する理由がただ1つになるように設計しろということだ。

こういうアプローチプログラムを書くと、ソースコードはあたかもそのアプリケーションドメイン特化言語で書かれたかのような見た目になる。

また、一つ一つの関数は小さく、理解やすく、テストデバッグも容易になる。そして、結果として再利用もしやすくなるし、プログラムの変更も容易になる。

2020-10-04

問題対処は1:1ではないからね

1000件の問題が上がってきたら1000個のパッチがあるわけではなく

1000件の問題をうまく処理して1件のちいさなパッチでまとめて治す技術のほうが大変

つの問題につき1つのパッチ

1000件の問題があれば 1000個のパッチのほうが簡単だけど

さらなる問題を生んで 終わらない問題処理 つまり デスマーチになりやすいから 意図的にやってない

 

場合によっては、全く関係ないところを修正して

結果として、処理に問題がなくなる

ということも起き得る

クライアントGUI問題が出た > サーバーの、ウイークリーバッチをなおす こともある。

 

Aという問題修正したら 問題Bが発生

Bという問題修正したら 問題Cが

Cという問題修正したら 問題Aが

よくあるのを単純化するとこうなる

2020-09-23

こんなGUIコンポーネントありましたっけ?

っていや

DirectXつかって、オリジナルで書くってのが、

まだあたりまえの時期だったからなぁ

GDIで書くといまいち遅いとおもってな

 

DirectX対応

というだんかいで、お察し

2020-09-02

anond:20200902110152

はてなしかなけりゃ、そうだな。

仕事がクソ忙しい時に、はてなに変わられるって思ってみ?

変更に強いって、僕暇な学生っていうようなもんだぞ。

まり、変更に弱いというのは、いま他のことを変更している

かいうもん。

はてなでいえば、Python2から3への書き換えとか

C++11から2Aへの書き換えとか

いま忙しい時期

その最中GUIかえるって、どんだけっていうはなし。

20年立つと3回ぐらい担当がかわる。

その3回で変わらないというのは、逆に引き継いだということ

2020-08-30

anond:20200830165358

GUI設計者として、こういう書類作られると

涙が出てくる

2020-08-23

プログラミング初心者macをわざわざすすめるバカについて

タイトル通りなんだが、

mac プログラミング 初心者」とかググると、

初心者にはmacおすすめ!」「世の中のプログラマはみんなmac使っている!」

というバカなことを言っているアホが仰山いて笑える。

しかも、最近OS事情が大きく変わっているのに、未だにwindowsunixコマンドガーとか言っているやつが居る。もうね、言葉を失うよね。

まず、最近のOS事情の移り変わりなんだけども、windows最近かなりLinuxに近い触感になるような機能が多く追加され続けている。

例えば、wsl(コマンド関係)やwinget(CUIインストール)が挙げられる。

他にそれらを取り巻くプログラミング事情としては、vscodeがある。vscodeは、powershellsshだけでなく、wslのコマンドも使えるようになっている。

そのため、従来はpythonやらjsはめんどくさ。とおもっていた点もある程度は改善されている。

ちなみにmac特に最近プログラミングに関する話を聞かない。

自分が、プログラミング環境の次に、大事な要点だと思っているのが、一般人使用含めたシェア率。

正直、作っても誰にも使ってもらえないという状況では、全く意味がないので、シェア率は非常に大事だと思っている。

最近データでは、88%ぐらいがwindowsであるという統計がある。web系やiosアプリならまだしも、パソコン一般人に使わせたいソフト(特にゲームとか)を作りたいなら、windowsしか選択肢ないと思う。

そんなわけで、元からmac使いなら、まだしもわざわざwindowsから乗り換える必要は全くない。

ただ、mac使いでも全くwindowsでないと非常に困るということは、ある程度は…無くなってきてはいるですよねー。

ほれ、クロスプラットフォーム開発が盛んで、ライブラリなどの環境から障害は、少なくなってきているので…ただし、ios開発お前だけは許さない。

本題から外れるが、2点ほど、釘差したいだけども。

1点目は、webからプログラミング始めたいとかいう奴に釘差したい、

web系はある程度セキュリティやらデータベース、コマンド知識やらないと爆死する。そんなわけで、GUIオンリーパソコンを楽しんできた奴には、マジでお勧めしない。

まずは、webからではなく、統合開発環境上で実行ファイル(メモ帳とか)を作れる方面から始めろ。そして、linuxとかネットワークとかセキュリティとかの本を片っ端から読め。webを始めるのは、それからだ。

webでも実行ファイルを作ることは、星の数ほどあるし、別に必要ない知識はないぞ。

2点目は、勉強とはいえ、いつも使っているOS上で、コマンドが使えるからと鯖建てるな。(windowsmacどちらも)

かならず、仮想OSでやれよ。ミスって、apacheインストールできないとか言われても、周りは困る。とりあえず、わけわかめになったら、スナップショットリセットしとけ。

2020-08-21

役所資料作りってコンピュータを使ってより効率化する方法あるの

FAXは論外として。

RPA導入も進んでいるけど、事例見てみると、それってRPA導入しなくてもVBA書いたら解決するよねって。

間によくわからないシステムGUIが入ったら結局できなかったり。

Python流行っているけど、Webサービスとは親和性高いけど、資料作りにあまり役に立たない。

2020-07-24

あのーNVIDIAさーん

 うちあわせには いらしてなかったみたいですけどー

 あの1枚のボードに 4つ GUIつめますよねー?

 

           ちっさいの 新発売!って あれ 4つ つめるんですよねー? こう ひーとーりーにひとつづつー たいせつな いのち

 

  

 GPUがひとりにひとつは 人権

 

 GPUはひとりにひとつほしい!! いろんなはなしはあるけれど

   GPUはひとりにひとつほしい!! 

2020-06-23

Active directory操作仕事でやることになったんだが

何で学習すればいいんだろうか。GUI操作しか触ったことないよ・・・

2020-06-21

副業としての コンピューターグラフィックス デザイン

まぁ、Windowsが主流になって業界が大きく変わり

CUIにかわってGUI時代になった。

それにともない、いわゆるプログラマーも、いわゆるデザイン系の知識というもの必要と言われるようになってきた。

いらないといわれれば、サーバ系を中心として、CUI時代知識でも十分

難しいところではあるが、色についても各色8Bitという時代から各色10Bit 40Bit color時代突入している。

所詮廉価版おもちゃの色という8Bit-color時代

そりゃそうだわな。誰が見ても、コンピューターの色

まぁ 廉価版

それがいつの間にか48Bit時代 そこそこ見られるようになっている。

リクエストも増えてくる

プログラマーも知らないといけないことが増えてしまう。

われわれにはCanonの色づくり Nikonの色づくり Sonyの色づくりというものがあるんだ。

ということまでで十分。それ以上はしらなくていいという世界

いわゆる3ナンバーアプリ時代

車で言うところの3ナンバーアプリが増えてきた

一般的にはワークスがやっていて、市販品ではない技術が コンパイラ技術の発展でデフォルトライブラリに含まれ始めた

金銭的には思うことはあるが、それはマネージャーが考えれば良い。技術屋は考慮こそするが、そこまで考えることではない。

C++11C++2Aということで10年の歴史を経て安定気に入り採用が増えてきたことが1つの少佐であろう.

実用に十分な性能があるから、これまで個別メーカアプリ機能だったものデフォルトライブラリ範疇と考えて良いと思う。

ま、車で言うところの3No.アプリが増えている。

2020-06-19

センスのない奴はプログラマになってはいけない

センスの無い奴の問題は、知識がないことではなく、頭がおかしことなんだ。

これは後天的に直せない。そして、センスのないプログラマ他人迷惑をかける。だからセンスのない奴はプログラマになってはいけない。

たとえば、BMI計算するプログラムを作るとしよう。

こんなのは誰でも書ける。身長(m)と体重(kg)を受け取って、(体重)÷(身長*身長)を計算して出力するだけだ。

GUI等をつけたとしても、総コード行数10数行で実装できるだろう。

ところが、センスのないやつは全く違うことを考える。

彼らの一部は、BMI計算するプログラムを作るのに、なぜかユーザー登録画面を作ろうとする。

そして、身長体重のほかに、年齢や性別などの様々なパラメータ管理できるようにし、それらのパラメータを日ごと、あるいは週ごと、あるいは月ごとに入力できるようにし、指定期間での推移をグラフで表示するシステムを作り出す。

ユーザーごとに管理するパラメータの種類は増減するため、BMI計算する場合、「身長体重はどのフィールドに格納されているか」というような間接的な情報必要になり、それを記載した設定ファイル等を読み取る別のプログラムを作り出す。

BMI以外の様々な指標計算させるために、設定ファイルに書ける独自DSLのようなものを作り、パラメータ同士の加減乗除や、指定した期間の移動平均などを計算できるようにする。

データ定義にもとことん拘る。単位を何にするかとか、グラフで表示したときに何色にするかとか、軸に単位を表示するかとか、スケールからはみ出したときにどう表示するか等のありとあらゆる情報を各パラメータに対して定義できるよう設計する。

こうして出来上がった巨大なシステムは、身長Hと体重Wを入力すると、W/H*Hの結果を表示するためだけに使われる。

既に述べたように、ここで問題なのは、彼がYAGNIYou Ain't Gonna Need It.)という原則を知らないことではない。

普通開発者ならあえてそんなことはしない」ということを自然に行ってしまうこと。これが本質的問題なのだ

ちなみに、センスのない奴の頭のおかしさというのは、本当に常軌を逸している。だから、読者がすっと腑に落ちるような例を挙げることは極めて難しい。

たとえば、「数学ができない生徒がいる」という現象説明するためには、「計算問題は解けるが、文章問題は解けない」というような類型を示すことができる。しかし、「センスのないプログラマ」は、常人世界観を超越しているので、そういうシンプルな例示や説明ができない。上に書いたたとえ話ですら、実在する彼らに比べれば、まだマシなのである

2020-06-07

不思議 とにかくGUIを使いにくくすることで たかいほう たかいほうをつかわせようとしているくせに なにいってんだろうっておもう

こちらのほうが 最適なプランですって そんなの最初から知ってる

かえかたがわからないし

あなたたかいほうをすすめたんだろ・・・

2020-06-05

anond:20200605160451

作りかけの状態企業大人数かつデザイナーがつくった見事なGUI)に敵うわけないので

作るのやめたの。。。負け犬です。

2020-06-01

はじめてmacを買ったので愚痴ったり褒めたりする

これまで使ってたパソコン(surfacelaptop)に不満がある訳ではなかったが、好奇心macも使ってみたい思いが募りついに買ってしまった。

2年くらい使って売ればそれなりに高く売れるやろの精神でかなりオーバースペックなやつを買ってしまった。

せっかくなので初体験直後に驚いた仕様・感じたことを記録しておく。(MBP16インチ)

ボタン押してもkillされない仕様

ビビった。昔から伝統なんだね。ウィンドウ無い癖にタスク切り替えには居座っててお前どういう状態やねんという感情が未だ拭えない

画面端にウィンドウもっていって整列する機能が無い

驚いた。GNOMEとかでも標準で使えるからmacにも当然標準搭載だと思ってた(課金するか迷ってる)

アプリをD&Dでインストールするやつ

これは事前に知ってたけどやっぱ謎。結局caskのお世話になってるからあんまり見ないけど

commandキー

ctrlのつもりでfnキー押す→いや押すべきはcommandだった、というパターン20回くらい繰り返した

でもcontrolとcommandが別なの良い。まあ慣れよね。

GUIで弄れない設定

マウス加速度無効くらいはチェックボックスで設定させてほしい

日本語入力はMSIMEより若干劣るかも

というか英字→日本語への切り替え直後にラグくなるのは仕様なんだろうか

タッチバー

位置コロコロ変わるキーボードって何だよ……

fnキー位置が左下角になってるのはこいつのせいなのか?!おおん??

バタフライじゃないキーボード

バタフライ使ったことないけどこのキーボードはかなりすき

メールプレビューアプリ結構すき

iPhoneのに慣れてたからかも

Finderきらい

大してディレクトリ構造重要じゃなさそうなファイル添付画面とかで急に4ペイン表示になったりするのは何か意味があるんだろうか

というか素直にパス表示して欲しい(表示できたらごめん)

ユーティリティ系のアプリが思ってたよりチープ

タスクマネージャーは偉大

ターミナル

デフォzshいいですね

USB-C

そんなに不自由しない。自分に合ったアダプタ勝手につけろの精神はきらいではない。

画面綺麗

ねだん高かったからね

金属の質感が良い

ねだん高かったからね

電池持ち良い

ねだん高かったからね

スピーカー良い

ねだん高かったからね、ってだけでは済まされないレベルで良い。謎技術


総評

ちゃごちゃ書いたけど言う程大きな差もなく快適なので、ふつうハイスペマシンとして便利に使っていきます

2020-05-30

anond:20200529164754

長いってことでしょ?

かつてプログラムを書くときには25行以上を一つの関数に書くなと言われたけれど、GUIが当たり前になったら上限はずっと伸びてるんだろうな。BSD styleで書いたCだと関数に使えるのは実質21行くらい?

当時の常識は長い変数をつけるなだったけれど、今は意味が分かる変数名をつけろだね。

2020-05-26

anond:20200526074043

GUI 使いたいなら Win とか Macかにどうぞってこと

なんのための Linux ?

2020-05-23

anond:20200521175300

10年超のプログラマやってるものだけど自分の成長過程を書いてみよう

  • この後にもいろいろあったが面倒になってきたから省略。しょぼいゲーム会社就職する。
    • JavaScript でなんか色々作る
    • Python でなんか色々作る
    • C# でなんか色々作る
    • はてなを始めたり

2020-05-19

Dockerの速習

Dockerインストールするだけなら数分で終わる。

その後、GUIツール操作しようとすると知識不足の壁が立ちはだかる。

インスタントに慣れてしまってマニュアルを読むのが面倒くさいけど、ここは焦らずにじっくり取り組もう。

分かりやすそうな記事だったので、とりあえず一通り目を通してみる。

anond:20200519143947

UNIXシステムに慣れ親しんでたらDockerGUI操作したいなんて寝言は間違っても出てこないだろ

Dockerの速習

7. Docker原則

Dockerには1 コンテナ1プロセスという原則があります

なるほど、そういうものなんですね。

 

Dockerは、「Dockerfile」という設定ファイルを作って運用するみたい。

手書きコマンドをまとめるのは、結構大変そうだから、こういう設定をGUIツールでチャチャッと済ませたい。

最初は、仕組みの理解のために手書きでやってみよう。

 

説明を最小限にして、操作の手順だけをまとめたら、これだけコンパクトな文量になるんだな。

 

なんとなく、インストール作業操作雰囲気がつかめてきた。

もう13時だし、ここらで試しにインストールしてみるか。

トラブルに遭遇したら、都度エラーメッセージなどで調べながら進んでみる)

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