「IDE」を含む日記 RSS

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

2023-09-18

anond:20230918155216

仕事が選べるなら、面倒な仕事は引き受けないよね。

自分過去に作ったプログラムメンテでも面倒に感じるのだから他人が作ったクソコードメンテならなおさら

とりあえず力技で解決しないといけないレガシーなら、IDEとかツール恩恵享受するしかない。

AIのcopilotがもっと高性能になって、プログラマー不要になるぐらいになれば、リファクタリングも楽になるかもね?(雑魚コーダーは首)

2023-09-17

ITエンジニアなら転職時のコーディングテストで生成系AIを使うな

https://qiita.com/app_js/items/a78e0605af702b155efc

この記事読んだ。

Paizaの対応の良し悪しやこの人の考えや不満については今回は触れない。

一人のITエンジニア採用担当者、また同時に一人のITエンジニアとして生成系AIに対してどう触れるべきか書いておく。

採用面接(コーディングテスト)時

まず、業務で生成系AIを利用するのは会社ルール範囲で好きにやれば良いと思う。

問題転職フェーズであり、ここでは能力をチェックされているわけだから、生成系AIの回答でコーディングテスト通過です、となるわけがない。

ソフトウェア開発は複雑であり、AIは間違った回答や遠回りな回答もするわけだから、生成系AIを使うにしても結局真偽を確かめられる能力必要だよね。

コーディングテストで生成系AIを使うというのは「私はそのような最低限の考える力も有りません」と言っているようなものなので、企業側がほしい人材とは言えない。

最近コーディングテストサービスでは入力内容を記録しているのでコピペたかどうかは分かる。

なので生成系AIで回答しているような場合企業側はある程度検知できる。

もちろん誤検知もありえる。サービス(Web)上ではなくIDEなどで回答を作って貼り付けることもあるだろう。

そのため、企業コーディングテスト通過後の面接で回答に対して深掘りすることが多い。

生成系AI回答で何も考えていない人はここで脱落する。

企業によってはコーディングテストサービスではなくホワイトボードなどでライブコーディングさせる場合もあり、そもそも生成系AIが使えないこともある。

どうすればいいのか

AIに頼らず考える力、最低限の能力を日頃から高めてほしい。

本当にこれにつきる。頼むからスキル高めてくれ。

俺はもうFizzBuzz程度の問題も解けない人や生成系AIに逃げる人の採用活動をしたくないんだ。頼む、スキル上げて。

2023-09-14

anond:20160902031012

なんというか、ネタしか見えないんだけど。本当はできる奴がバカのフリして書いているみたいな感じしかしない。

しろ大学から情報系の勉強を開始して、中学ぐらいかコードを書いていましたみたいな人たちをスパッと抜き去っていく人が世の中にいるのは知っている。

どこの大学か知らんけど、大学でも大抵は実習の授業があるはずで、そこでプログラムを書くものだと思う。

10年以上前TAしていた時にすでに学生IDE使わせていたが、今時IDE無しでプログラミング学習させるなんて冗談だろと思う。

海外大学などがYouTube講義を公開していたり、コーディングを教えるようなYouTubeチャンネルもあるから別に本で勉強する必要はないと思う。

元増田がそういうことを知らないとも思えないので、正直ネタしか見えないなと思う。

プログラミング勉強は全部の意味が分からなくてもとりあえず写経して、そのうちに全部の意味が分かるみたいなところがあるから、わからないことはしたくない!という人には向いてないかもな。

趣味で書いていたコードは何か調べて勉強したいからとか、勉強したことを使ってみたいみたいなものも多いと思う。

あとは自分用便利ユーティリティを書く感じだったな。

バイト先で、情報系の検索術みたいなもの背中で学ばせてもらったこともあったな。

2023-09-10

m◯◯◯みたいな老害が俺の職場にも居る

IDEや型付けに頼らなくても優秀なチームメンバーが居れば問題ない!」と言いながら、formatterやGithub Copilotを使わずVimでカタカタしてる。

そしてその人が書いたコードは、俺のVSCodeでは大量のエラーが表示されている。

2023-08-23

anond:20230823161136

静的型付け言語流行ってIDE機能が充実してきてからは補完に合わせてタブキーを押すだけだったし大して変わってないと思う。

まだHDDIDE接続だった時代自作PCリスキーだけど楽しかった。

やれこのメーカーマザボチップはこのメーカーグラボサウンドボードと相性が悪いから避けようとか、

同じ型番でも前期型後期型で相性が変わるとかあって、パソコン雑誌やら自作板でワイワイ調べた事共有したなぁ。

0時販売に凸った住人に

「おいお前人柱になるつもりか」

あい・・・いい奴だった・・・

みたいな流れとかあったのも良かった。

2023-08-11

anond:20230811224103

ひょっとしてテスト手動だったり古のIDEだったりするだろ?

2023-08-01

anond:20230731233604

他でも書いたけどそもそもフレームワークとかライブラリー言語勉強のうちに入れてないし業務時間にやってる

この2年で新しくやったのがReact, Node, SpringBoot, .NETC#も初めて), classic ASP, Thymeleaf, その他LiquibaseだのSequelizeだのExpressだの

IDEeclipseNetBeansjDeveloperからintellijに移行

過去10年このペースなので何十もあるけど一つでアップアップの人が多くいるからこれらが勉強ならまあ死ぬほど勉強ではある

2023-07-24

これからはじめるPython入門講座

これからはじめる Python入門講座 —— 文法から機械学習までの基本を理解 2022/12/23 鶴長 鎮一 (著)

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

https://gihyo.jp/book/2023/978-4-297-13200-2

 

目次

Chapter 1 Python概要と開発環境の導入

  1-1 Pythonの基本

  1-2 主なPython実行環境IDE

  1-3 Anacondaの導入と利用方法

Chpater 2 Pythonプログラミングの基礎

  2-1 基本変数(数値/四則演算

  2-2 コレクションリスト/タプル/セット/ディクショナリ)

  2-3 条件判断処理(if文)

  2-4 繰り返し処理(for文/while文)

Chapter 3 オブジェクトクラス文字列操作

  3-1 Pythonスクリプトの実行方

  3-2 オブジェクトクラスマルチバイト文字列ファイル入出力)

  3-3 文字列操作オブジェクトイテレータ/ジェネレーター)

  3-4 正規表現

Chpater 4 関数モジュール

  4-1 関数の基本

  4-2 関数定義

  4-3 モジュールの基本

  4-4 モジュールの探し方/インストール方法

Chpater 5 DjangoによるWebアプリケーション開発

  5-1 Webアプリケーションの仕組み

  5-2 Djangoインストール

  5-3 DjangoによるWebアプリケーション作成

  5-4 データベース操作

  5-5 Templateの利用

  5-6 Modelの利用

Chpater 6 データサイエンス(解析/分析)の基礎

  6-1 データサイエンスとは

  6-2 データサイエンスPython

  6-3 NumPyの利用

  6-4 Pandasの利用

Chpater 7 機械学習ディープラーニングの基礎

  7-1 AI機械学習ディープラーニングとは

  7-2 scikit-learnとTensorFlow

  7-3 scikit-learnの利用

  7-4 TensorFlowの利用

2023-07-04

anond:20230704175340

今なら、高機能IDEを使えば、力技でハードコーディングを書き換えることも可能

そんなIDEないんじゃね。できたとしても、なんか無茶苦茶なことになりそう

11. 演習

Python勉強メモ

ゼロからPython入門講座

11. 演習

https://www.python.jp/train/exercise/index.html

 

以下、気になったところ。

 

スイカ割りゲームを作ってみよう

プログラムで実際に実行する手順や処理のことを、よく「手続き」といいます

 

手続き

cf. プロシージャ - Wikipedia

https://w.wiki/6ZsJ

プロシージャ (procedure)とは、プログラミングにおいて複数の処理を一つにまとめたものをいう。

手続きとするのが定訳である

一連の処理を意味を持った一まとまりにすることで、再利用性が高まりプログラム中に繰り返して現れる処理を1ヶ所で記述でき、プログラム保守管理を容易にする。

 

繰り返し利用されることからルーチンとも言う。

呼び出し関係は通常階層構造をなし、その最上位にある、プログラム全体のエントリーポイントを含むルーチンをメインルーチン、呼び出されるものサブルーチンと言う。

また、関数と呼ばれることもある(通常、数学における関数とは違ったものであるので、注意が必要である)。

 

乱数

乱数を生成する

Pythonでは、乱数を生成するときには random モジュールインポート します。

インポートしたモジュール関数は、モジュール名.関数名() の形式で呼び出します。

randrange() は、

 

random.randrange(開始値, 終了値)

 

形式指定すると、開始値以上かつ終了値未満(開始値乱数 < 終了値) となる乱数を生成します。

 

リファクタリング - マジックナンバーを避ける

プログラム機能そのままで、書き方を改善することを リファクタリング といいます

 

cf. リファクタリング (プログラミング) - Wikipedia

https://w.wiki/4iYa

リファクタリング (refactoring) とは、コンピュータプログラミングにおいて、プログラムの外部から見た動作を変えずにソースコードの内部構造を整理することである

また、いくつかのリファクタリング手法総称としても使われる。

ただし、十分に確立された技術とはいえず、また「リファクタリング」という言葉に厳密な定義があるわけではない。

 

主なリファクタリング

 

マジックナンバー

Pythonの慣例で、定数値の変数名は小文字のboard_size ではなく、BOARD_SIZE のようにすべて大文字します。

 

プログラム中にいきなり出てくる意味のわからない数字は、一般マジックナンバー といいます

基本的には、マジックナンバーは、値を直接書くのではなく、その値の意味がわかるように、常に 変数に代入してから利用するようにします。

 

マジックナンバー変数に代入せず、あっちこっちで使ってしまうと、あとでその値の意味がわからなくなってしまったり、値を変更するとき修正漏れが発生したりします。

 

cf. マジックナンバー (プログラム) - Wikipedia

https://w.wiki/6xRp

プログラムにおけるマジックナンバー(英: magic number魔法数字)とは、何らかの識別子もしくは定数として用いられる、プログラムソースコード中に書かれた具体的な数値である

そのプログラムを書いた時点では製作者は数値の意図を把握しているが、他のプログラマーまたは製作者本人がマジックナンバー意図を忘れたときに閲覧すると「この数字意味はわからないが、とにかくプログラムは正しく動く。まるで魔法数字だ」という皮肉を含む。

 

次のような理由で、マジックナンバープログラム中に含まれないことが好ましいとされる。

  • その数値の持つ意味がわかりづらい。
  • 数値を変更する場合に、複数の箇所を変更しなければならない可能性がある。

 

マジックナンバーを避けるため、マジックナンバーが書いてある箇所を定数や列挙型に置き換えるといった処置がとられる。

定数は意味のわかりやすいような名前を付けることができるため、一読して数値の意味理解できるからである

ここで、定数の初期化の際に右辺値に書かれる数値までマジックナンバーハードコーディングとは呼ばない。

 

ハードコーディング

cf. ハードコーディング - Wikipedia

https://w.wiki/4kSM

ハードコーディング英語: hard coding)とは、本来プログラム中に記述すべきでないリソースエラーメッセージなど)を、直接ソースコード中に埋め込むことである

これらは本来、外部ソースから取得するか、実行時に生成するべきものであり、これをソフトコーディング英語: soft coding)という。

 

具体例としては、固定された付加価値税が設定された電卓地球重力加速度が設定された体重計がある。

それらは付加価値税率が異なる共同体地球以外の重力場所では正常な値が取得できない。

 

今なら、高機能IDEを使えば、力技でハードコーディングを書き換えることも可能

 

適切なデータ型を使う

元のソースコードでは、スイカプレイヤー位置を、x座標とy座標それぞれ別々の変数として保持しています

しかし、スイカプレイヤーの座標は本来つの情報ですので、x座標とy座標で2つの変数に分ける意味はありません。

こういった場合

(x座標, y座標)

という形式の、2つの整数からなる タプル にするように、リファクタリング するのが良いでしょう。

 

関数活用する

主となる関数(ここでは suika_wari() ) と、

主となる関数が利用する補助的な関数 (ここではgenerate_position()、calc_distance()、 move_position())

を組み合わせて全体を構成する手法は、プログラムの開発でもっとも基礎的で重要テクニックです。

 

プログラムを開発するときには、

ということを考え、それぞれの機能関数として定義するようにしてみましょう。

 

主となる関数とは?

cf. エントリーポイント - Wikipedia

https://w.wiki/6xSV

エントリーポイントとは、プログラムを実行するうえで、プログラムサブルーチンの実行を開始する場所のこと。

プログラム全体のエントリーポイントとなる場所を含むルーチンがメインルーチンである

 

例えば、C言語の標準では、mainという名前関数(の先頭)がエントリーポイントであり、各関数エントリーポイントは、それぞれの関数の先頭である

 

まとめ

 

感想

以上で、Pythonの入門が終わった。

この教材のボリュームなら、数日で学習できる。土日とかに集中してやればサッと通過できるはず?

Python動作は、コード片をColabにコピペして実行すれば確認できるので楽だった。(あまり手を動かさなくても学べる)

次は、実用的なプログラムを書くためのノウハウTipsを学ぶ段階へ進もう!(中級編へ続く)

2023-06-15

anond:20230615114021

なんか規格が古いとかでSATAすら挿せないみたいっすw

IDE?とかいう。あとホコリがすごい。

救済(たす)けて。

2023-05-11

たまに使うかと思ったIDE更新

何か書こうと思ったVSCODE更新

2023-04-22

anond:20230422001528

あー、うん、まああれはだいたいは正しい

そのかわり実行時には何も決まってなくて本質的にぐちゃぐちゃしてるし、「普通」の言語なら当たり前のようにできる静的なIDEサポート提供も弱くなる(実行しないとわかんないんだから仕方ない)

Rubyはなんでもできる!という万能感はプログラミング人生においてなかなか楽しいのであなたが35歳以下ならRubyの履修を強くお勧めする

36歳以上の人に無理には勧めない

あと、3年くらいドはまりしたあとに「いや規模が大きくなるとRuby不便だな…Kotlinとかよくねえ…?」みたいに覚醒して浮気してそれっきりになったりするので進路については心配しなくてもいい

2023-04-03

anond:20230403121022

0か100かで話すなら全くその通りで、コーダーりある種のコンサルの方が先に0になる気はする。

ただ、AIの影響でコンサルが80ぐらいになったタイミングではコーダー20ぐらいになってるんじゃないかなー。そして元々の絶対数コーダーの方が圧倒的に多いので影響を受ける人数も絶大になるのでは

 

ChatGPT的なやつが本格的にIDEに組み込まれたらコーダー仕事量減る→人減らすになるでしょきっと

 

ちなみに今のコンサル業界レイオフAIの影響じゃないぞ。例えばおまえのプロジェクトがうまく行かないときにChatGPTに相談して解決する(=PMOやるコンサルがいらない)か試してみたらいい。

あいAIがめちゃくちゃ発達した時に今の形態コンサル必要かと言われれば怪しいと言わざるを得ないが

2023-03-17

ChatGPTとプログラマーの今後

ChatGPT が脚光を浴びて AI の台頭が本格的になってきている。

これからプログラマー仕事はどうなっていくだろうか。

1年というスパンでは変わらないが5年後の世界は様変わりしてそうだ。

ChatGPT は素晴らしい。Google Home っぽい LP を作らせてみたらものの5分程度のやり取りでできてしまった。

これからプロダクトマネージャープロダクトオーナーPO)がこれを活用していくのは間違いない。

自分POならこれを使って自分でできることがないかを探ってみるだろう。


とはいえ Railsアプリで作る複雑なものは大変なはずだ。

できなくはないが、時間はかかる。

頑張るPOならもちろんできるが、ちょっと考えにくい。


TwitterクローンRails で作りたいです。手順を1から教えてください。OSMacです。」


試しに質問してみたところ、rbenv のインストールから devise の導入から本当に1から手順を書いてくれている。

この手順通りにやれば確かにできてしまいそうだ。


これで作ってしまうのはスマホだけで動画作成するティーンネージャーYoutuberのようだ。

プロのデザイナがなくならないけど、プロのデザイナがいなくても動画は作れる。

これはプロのデザイナへの要求レベルが上がる、と言う意味でもある。


プログラマーに対しても要求レベルが上がることはありそうだ。

デザイナならより魅力的で説得力のあるデザイン

プログラマーなら、より複雑で堅牢プログラムが組めること。

さらに直接対話して要求を伝えることで、細かく自分で調整しなくてもいいようにやってくれること。


ソースコード全体を知識にしたIDEができたら、コードの変更の難易度も間違いなく下がる。

プロンプトを作る能力、と言うのはあるかもしれないが、いずれ誰にでもできる仕事になるかもしれない。


ChatGPTの進化を経てその先に残るプログラマー仕事とは何だろうか。

プロンプト作業動作確認しかないのでは?



こうして全ての知的労働がなくなっていったら、最終的には社会的課題しか残らないのではないか

ここまで書いて、ふとプログラミング自体社会的課題解決仕事ではなかったのだと気が付く。


これから社会的課題解決を目指す人たちが増えていくのだろうか。

2023-02-13

anond:20230213084019

それだとどうせ「部屋が寒いのでプログラミングできない。コントローラーガチャガチャやってIDE使いたい」とか言い始めるので素直に暖房の設定温度上げろ

2023-01-24

anond:20230124045812

リストはありきたりだけど説明がありきたりじゃなくて凄いと思う

この増田本業は一体なんなんだ、ゲームIDEとかDBとか挙げてるところを見るとプログラミングから絵や音楽まで自己完結できるゲームクリエイターとかディレクターかな?

ニコニコ動画って言ってるしZUN氏みたいなマルチクリエイターオープンソース側の人か?

ありきたりなシェアウェア代替オープンソースソフトウェアリスト

MS OfficeがどうのこうのAdobeがどうのこうの

いやわかる、MS OfficeとかAdobe業界標準だしファイル互換インポートとかも楽だ。
ただまぁその万人へ必須か?と言われたら圧倒的にそれが必須じゃない仕事をしている人のほうが多い。
何なら仕事じゃなくて趣味レベルであるならばなおさらMS OfficeとかAdobeとか業界標準ソフトウェアじゃなくても良くなっちゃう。

ということで、ありきたりなシェアウェア代替オープンソースソフトウェアリスト作ってみた

Libreoffice

定番中のド定番オープンソースオフィススイートだ。
MS Officeじゃなくて良い人はLibreofficeGoogleクラウドのヤツを使ってる。
やはり主に使われるのはワープロソフトWriter表計算ソフトCalcプレゼンテーションソフトImpressだが、MS Access代替として挙げられるBaseは厳密な意味代替とはならないためMS Access代替無料でゲットしてやろうと考える人が陥りがちの罠だ。
まぁただデータベースフロントエンドソフトとしてBaseはそこそこ使えるので、MS Access代替として捉えるのではなく別種のデータベースフロントエンドソフトとして割り切れば想定されることの大半ができる。
MS Visio代替としてDrawも挙げられがちだがMS Access場合と同様にDrawVisioの厳密な代替とはならないので注意が必要だ。

Inkscape

Adobe Illastratorの代替として挙げられがちなオープンソースベクターグラフィックスソフトウェア
機能なのだがIllastratorと比較すると恐ろしいほど使いにくいUIを持っており、折角の高機能アクセスするにはどうしたら良いのかわからないと挫折する人が多く出る。いやなんでホントこんなUIなんだ。
ただ、諦めずクソUIに付き合っていると不思議もの人間は慣れてしま結構自由度高くベクターグラフィックスを生成できるようになる。
Adobe Illastratorには無い長所としてSVG規格へ厳密に従うという方針で開発されているため、Illastratorで生成したSVGWebでそのまま使うとWebブラウザで謎の描画バグWeb屋は悩まされるがInkscapeではそれが無い。描画バグが起きるとき製作者が間違った設定を行っているかWebブラウザ側が使っている設定に未対応場合ほとんど。
将来的にサポートする気はあるらしいが現状はアニメーションSVGに弱いのも残念でならない。どうしてもアニメーションSVGをやりたいのであればInkscapeで生成された静止画SVGアニメーションSVG化することを想定しているaniGenというWebベースエディタがあるので調べてみると良い。

GIMP

Adobe Photoshop代替として挙げられがちだが、元来Web用の画像製作するためのラスタグラフィックスソフトウェアなのでRAW現像写真を加工するためのソフトじゃないが、本家すらその辺のことを忘れたふりをしている。
画像編集や加工で求められる基本的機能はほぼ網羅されているが、RAW現像に関しては標準状態のままではできず、最近Adobeが搭載している人工知能を用いた機能もないのでクラシカルラスタグラフィックスソフトウェア表現することもできる。
GIMPInkscapeが使えると大半の画像製作は何とかなってしまうため一部の情報技術者寄りのギークPhotoshopやIllastratorは触ったこともなく使えないがGIMPInkscapeは困らない程度には扱えるというデザイナーツッコミ入れそうなおかしスキルセットになっていることがある。

Raw Therapee

Adobe Lightroom代替として挙げられがちなオープンソースRAW現像ソフトウェア
実はdcrawというRAW現像のためのオープンソースライブラリフロントエンドであり、GIMPRAW現像するために活用されるUFrawも同様にdcrawフロントエンドであるため中身は同じだったりする。オープンソースRAW現像ソフトウェアはdcraw使いがち。
オープンソースソフトウェアRAW現像を賄っている人はGIMPでUFraw活用してRAW現像するよりもUI的に使いやすいのでRaw TherapeeでRAW現像TIFFを出力しGIMPで微調整するような使い方をしている人が多い。

LibreCAD

オープンソース2D CADで以前はQcadと呼ばれていた。
一部の読者はJw_cadJWWファイルを扱うことが可能という特徴を持っているというだけで興味を惹かれてしまうのではないか
Jw_cadとは違ってWindowsmacOS、各種Linuxディストリビューションで動くので2D CADデータネット上の友人知人などとやり取りしたいときに向くんじゃなかろうか?ニコニコ技術部的な遊びとか、最近流行りのルール無用JCJCタイムアタックとかで。

FreeCAD

オープンソース3D CADで、近年は3Dプリンターあたりの需要でよく目にするようになった。
Autodesk AutoCADFusion 360、Dassault Systèmes SolidWorksよりも草の根では広まっており日本語でのハウツー記事オープンソースソフトウェアとしては比較的多い印象。
シミュレーション機能シェアウェア比較すると弱い傾向があるもの草の根でそこまで必要か?と言われたら悩む。無料シミュレーションやりたいならOpenFOAMにでも流し込め。

Krita

オープンソースお絵描きに特化したラスタグラフィックスソフトウェア
歴史的経緯ではLinux界隈でのGUIツールキットの2大巨塔にGTKQtがあり、GTKGIMPを作り上げるために生まれたこともありGTK側には高度なラスタグラフィックスソフトウェア存在していたがQt側には存在していなかった。そこでGIMPの対抗としてQtを用いたKritaの開発が進められたが次第にGIMP的な画像編集ソフトウェアよりもお絵描きに特化していき現在のような性格を帯びるようになった。
SYSTEMAX ペイントツールSAIセルシス CLIP STUDIO PAINTからの影響が強く現れており、オープンソース界隈のSAIクリスタなどと呼ばれることがある。クリスタがそうであるようにスマートデバイスへの対応も計られAndorid OS版やChrome OS版が存在する。
ただ日本需要を敏感に拾えるクリスタなどと比較して漫画作成機能に関してKritaは弱いと言われることがあるものの、GIMPと同様に無料とは思えない機能が充実しているのもまた事実である

Blender

オープンソース3DCGアニメーションソフトウェアで、非常に多機能のため何故かAdobe After Effects代替として挙げられることもある。
YoutubeBlenderYoutubeチャンネル広告を載せろと迫ってBlender公式がそれを拒否してYoutubeから撤退したり、庵野秀明が率いる株式会社カラー出資したことなどオープンソース界隈でも異彩な存在感を放っており日本国内でも非常に注目されているプロジェクトだ。
ただ、初期状態では独特なUIによる使い勝手が非常に悪くユーザー自分で使いやすい配置を模索する必要があったりタイムラインが使いにくかったりと何故オープンソースソフトウェアUIがクソになりがちなのか?という問題にぶち当たる。

Godot

オープンソース2DG/3DCG兼用プログラミングIDE。つまりUnityとかみたいなやつ。
MIT Licenseロイヤリティフリー、開発言語はC#もしくはC++、そしてPythonライクなGDScriptで、Unityみたいにマウスポチポチしてオブジェクトへ色んな設定を決められるので「Unityみたいのでゲーム作りたいけど運良くヒットしたときライセンス料がなぁ」と懸念している人に役立つ。
ちなみにWiiニンテンドーDS用向けにリリースされたSEGAゲームタイトルソニックカラーズSwitchPS4などのマルチプラットフォーム移植ソニックカラーズ アルティメットはGodotを用いて移植されているので商用でも耐えうることはSEGA証明している。あのSEGAソニックでだ。

Shotcut

オープンソース動画編集ソフトウェア
様々な部分で動画ライブラリFFmpeg依存しているためFFmepgのフロントエンドソフトとしての性格も持つ。
この手の無料動画編集ソフト国内だとAviUtlや近年ではBlackmagic Design DaVinci Resolveが人気だけれど、海外オープンソース界隈ではShotcutは比較知名度が高い。
カラーグレーディングに関して不足のない機能を有しているので高度なトランジションを用いるというよりも色を追い込むような使い方が合っているだろう。
ていうかFFmpegのフロントエンドなのでFFmpegができることは理論上なんでもできる(理論上なので追加でコマンドを叩く必要があったりするけどね)。

Tenacity

オープンソースレコーディングソフトウェア旧名称はAudacityと言われるとご存じの方も多いハズ。プライバシー問題Audacityからプロジェクト分岐されTenacityとして再出発することとなった。
Audacityは開発の主な拠点ロシアを中心に行われていたという経緯があり、現在ウクライナ-ロシア戦争へ至る前の影響から個人情報収集ロシア企業が行うと発表され、それに反発したユーザーらによってプロジェクト分岐しTenacityプロジェクトが立ち上がった。
Audacity自体VSTプラグイン動作するなど非常に高機能レコーディングソフトウェアであったがウクライナ-ロシア騒動に巻き込まれたと言った感じだ。
Audacityから分岐したTenacityもそのまま高機能レコーディングソフトウェアなのでこれからはTenacityを使ったほうが色々面倒が少ないだろう。

Ardour

ProTools代替として挙げられがちなオープンソースDAW。非常に高機能DAWとして求められることの大半ができるものの、これもまた通例通り最近流行りの人工知能を用いた云々かんぬんは標準状態だとできない。
Ardourプロジェクトの立ち上げをし主要開発者であるポールデービス氏はJACK Audio Connection Kitのプロジェクトの立ち上げをし主要開発者であるという事実を伝えると驚く人がいるかも知れない。LinuxGitリーナス・トーバルズ的な文脈だ。

LMMS

オープンソース界のFL Studioと呼ばれることもあるDAWステップシーケンサーを中心に作曲するタイプDAW電子音楽が得意。LMMSという名称Linux Multi Media Studioの略でLinuxに端を発してマルチプラットフォーム展開をしたDAW
オープンソースDAWにしては珍しく初期状態から多数のソフトウェアシンセサイザープラグインが用意されておりインストールした時点で遊び始めることができるものの、オープンソースの例に漏れずクソUIを持っており使いにくい。GIMPBlenderもそうだが1990年代後半〜2000年代前半あたりに流行したMDI(Multiple Document Interface)を未だに引きずっているためクソUIになりがちなのだ
ググる日本国内にも意外とユーザーは居て、DTMやりたいけど初期投資は低く抑えたいみたいなユーザーが選んでいる模様。そういう需要ならLMMSの他に基本無料で全機能が使えて一部のプリセットが有料のVitalっていうソフトウェアシンセサイザーも導入しておくと延々遊べるよ。

Mozilla Firefox

オープンソースWebブラウザとして非常に有名な存在
Google率いるChromiumWebブラウザに近年物凄く押されているもの独禁法回避するためGoogleMozilla出資しているという歪な構造を持つ。
Mozilla運営が下手すぎて資金をドブに捨てることを繰り返しているためGekkoレンダリングエンジン未来があるのかと一部の識者から不安がられている。
Firefoxは使いやすいのか?と言われたら、それはもう好みの問題しか返せないのだがカスタマイズ性は非常に高い。


というわけで書いていて飽きたからこの辺でやめておく。気が向いたら何か追記するかもしれない。

2023-01-13

増田削除アプリを作った

動機

趣味増田の削除です。

増田を全削除するのであればPower Automation DesktopSelenium IDEあたりでも使えば可能ですが、中にはブクマを集めた珠玉増田ブクマは付かなくても割と気に入ってる増田もあるので全削除はしたくありませんでした。

なので選択的に増田を削除するためのアプリ作りました

アプリ概要

Masuda Deleter

https://github.com/oribeolive/masuda-deleter/

Masuda DeleterはDockerコンテナ環境を作って動くのでDocker必要です。

M1 Mac動作していますWindows検証できるマシンが手元にないので動作未確認です。

インストールGitHubのREADMEに書かれたコマンドを実行すればできると思います

Masuda Deleterははてラボログインして指定されたページ分の自分増田投稿スクレイピングしてローカルDBに保存します。

取得された投稿リストブラウザで見られるので、そこで削除するものを選んで実行すると、またログインして投稿を削除しにいきます

ページのアクセスごとに読み込みと遠慮のために1秒から数秒sleepするので少し時間がかかります

一旦投稿ローカルに保存するという過程があるため副作用として自分投稿検索できます

これにより

が容易になります

増田にはAPIがないので、IDパスワードを使ってログインして、表示されている文章スクレイピングしてくるという原始的なやり方になります

(2回目からcookieがある場合cookie復元してログイン状態になります。)

ユーザーが知らない外部サイトにクレデンシャルを渡すのは危険であり、サービス運営側としてもパスワードを平文で持ちたくないので、Webサービスとして実装せずセルフサービスとしております

ユーザーによってローカルの.envファイルに書かれたIDパスワード使用する形です。

ソースオープンしておりますので怪しいことをしていないか確認ができるかと思います

機能

取込

ページ数を入れて取込ボタンを押すと投稿の取得が始まります

一応下にプログレスバーが出ますが、ページ遷移すると見られなくなります。進捗は進捗管理でも確認できます

取得された投稿リアルタイムで画面に反映されないのでブラウザリロードしてください。

検索

自分増田キーワードブクマ数やトラバ数で検索できます

キーワードは濁点を区別していません。

一覧

増田IDタイトル、本文の省略、投稿日時、ブクマ数、トラバ数が表示されます

ブクマ数やトラバ数でソートできます

あとで消す(選択削除)

「あとで消す」投稿をチェックし、「あとで消す」記事をついに消すボタンで削除を実行します。

チェックは別のページに遷移しても有効です。

「あとで消す」選択全解除ボタンで解除できます

削除を実行すると下にプログレスバーが出ます

こちらは実行した時点で表示されているページのみリアルタイムに画面に反映されます

リロードすれば現時点でのデータが見られます

詳細

投稿の全文を見られますタグ等は取得しないのでテキストのみになります

再読込

投稿個別に取得してローカル文章ブクマ数とトラバ数を更新します。

削除

投稿個別に削除しにいきます

Space Masuda

隠し機能デフォルトではOFF。

対象投稿タイトルを空に、本文をスペース1文字にしにいきます

進捗管理(Progresses)

処理の進捗(何件中何件処理済みか)を見ることと、処理を停止させることができます

排他処理(取込と取込、特定IDの削除と同じIDの削除等)にしているので動いていなそうな処理を停止して再度処理を実行するときに使います

停止する場合は停止ボタンを押すか、それでも停止しそうにない場合強制停止ボタンを押してください。

進捗一覧ではプログレスバーアニメーションはありません。

「停止」は今行っている最中の処理ではなく次以降の処理を停止するという形になります

停止ボタンを押したときに4ページ目を取得している場合は、5ページ目の取得を始める前に処理を終了することになります

そのためプロセスのものが止まっている場合は停止されません。

強制停止」はプロセスをkillします。スクリプト名とプロセスIDプロセス検索して子プロセスも含めてkillします。

グラフ

おまけとして、投稿日とブクマ数、投稿日と3ブクマ以上の投稿件数投稿時間(hour)ごとの1ブクマ以上の投稿件数グラフが見られます

ブクマが付いた瞬間ではなく投稿日時なので、いつの時期に投稿した、何時に投稿した増田が活きが良いのかを見られる程度です。

集計データ別に持っていないので増田を削除するとグラフ使用されるデータも消えます

その他

私はこれで多いときには4000件程度あった増田を3000件程度に減らしました。

これを開発する前からも増え続ける増田の削除に日々勤しんでいたので総数はもっと多いはず。

まだまだ削除したいです。

たまに

Message: unknown error: net::ERR_CONNECTION_CLOSED

というSeleniumエラーが出て処理が実行されないことがあります。再度実行してください。

今後

フロントエンドレガシーなのでMasuda Deleterの開発に飽きていなければもう少しモダンリプレースしようと思っています

使用していないDjango REST frameworkがrequirements.txtに入っているのはその名残です。

2022-12-23

anond:20221223174600

な、なに〜

こいつ、チートシートを見ず、検索コピペもせずにソースを書いているだと!

行数がみるみる増えていく…

1,000、1,500 …

ば、ばかな!文系出身プログラマはもう限界のはず!

ご、5,000行だと…

くそ、このIDE故障してやがる!(バキッ)

理系学部ストレートのオレを舐めやがって、信じないぞ…

2022-12-02

最近オープンソースソフトウェア傲慢

githubとか見てて思うけど最近オープンソースコードって余計なものがあまりに多い

ビルド自動化ツールとか仮想化コンテナとかIDE設定ファイルとかあってもあんまり嬉しくない

結局そのせいでプロジェクト肥大化してコードも見づらくなるんだからつらいよ

2022-11-03

anond:20221103172419

ほとんどの開発現場はもう全員IDEVSCode使ってるからvimとかemacsとか言い出すのはガイしかいない

2022-10-18

anond:20221018230151

ワイはOSやらIDEやら初期設定のまま使うやでという話

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