「平成」を感じるもの

Linuxでの開発環境構築や開発設定が苦手というかググったりしても
やたら時間がかかったり、挫折したり。
Linuxは大学時代から触っており、稀ですがLinuxも仕事で開発経験があるエンジニアにもかかわらず
苦手意識があります。
最近はraspberry piでPCからつなぐためにネットワークの設定しようとして苦労し疲労感が。。。
基本的なことはわかってるつもりですし、最近はGUIやパッケージ管理ソフトが充実し、疑問が出ても質問サイトや先人の作業記録ページなど便利になっているのに、なぜこんなに時間を要するのかわかりません。
何か皆様が知っているコツ等ありましたらご教示ください。
よろしくお願いいたします。

Linuxのレベルとしては
基本コマンド、エディタは中級レベルぐらい
設定ファイルとかいつも調べてやっています
makeファイル、シエルスクリプトは少し書いたことある程度

A 回答 (4件)

> 最近はraspberry piでPCからつなぐためにネットワークの設定しようとして苦労



とかですよね。

> 基本的なことはわかってるつもりですし、

おそらく理解が表面的あるいは一面的というか、根本の構造まで理解できていないと言うことなのでしょう。

実は、若手(2-4年目)にワークショップ+ハンズオンの技術研修の講師からも同じような話を聞いています。「(最近の若者は)知識として知ってるのに全然進まない人が増えている」。
10年以上前はそうではなかった。知らないので出来ない人と、知ってて出来る人の2種類しかいなかった。
何なんだろうな?どうしたら良いんだろうな?と悩んでいます。

変化の原因としては、おそらく「ググって情報を得る」行為がマイナスに働いているのでは?というのが1つの仮説です。もちろん「ググって情報を得る」はプラス面も大きいので、駄目だと言うことでは無いのですが。

困る⇒ググル⇒見つける⇒そのとおりやって見る⇒うまく行く⇒出来た⇒終わり

が、駄目なのしょう。
成長するためには、
困る⇒ググル⇒見つける⇒そのとおりやって見る⇒うまく行く⇒出来た
の後で、
・それで何故うまく行くのかをドキュメントを調べて納得する
・最初は何故駄目だったのか考える
・何故自力でそれを考えつくことが出来なかったのか考える
・今後自力で考えつくためには自分に何が不足しているのか考える
・それを身につけるために何をすれば良いかを考える
というプロセスが必要です。

> 基本的なことはわかってるつもりですし、
に立ち戻ると、「基本的なこと」と「初歩的なこと」は違いますが、そのあたりは大丈夫でしょうか?
> ネットワークの設定しようとして苦労
苦労したのはraspberry pi固有の話だったのかも知れませんが、
例えば、IPネットワーク設定の話であれば、
・IPv4アドレスがネットワーク部とホスト部に別れてるのは何故か
・同じサブネット内のAとBがIP通信する場合、具体的にどういう手順で通信できるのか?
・別のサブネット上のCと通信する時は手順がどう違うのか
・その際にルーターはどういう役割をしているのか
・デフォルトゲートウェイとは何で、設定が間違っているとどうなるのか?
・サブネットマスク24を20や26と間違えて設定すると何が起こるのか
あたりが分かってないと「基本が分かっている」とは言えないと思います。
さらにその先、ルーティングの話がありますが。

仮想マシンとは何かとか、コンテナとは何か、あたりも基本の理解はすぐには難しい気はします。
    • good
    • 0

>>基本的なことはわかってるつもりですし、最近はGUIやパッケージ管理ソフトが充実し、疑問が出ても質問サイトや先人の作業記録ページなど便利になっているのに、なぜこんなに時間を要するのかわかりません。



まずは、No.2さんが書かれているように、まったく同じ環境ではないことが多いので、毎回、学ぶ必要があるから。
そして、「学ぶことに時間がかかるのが普通だから」ではないでしょうか。

私たちは、小学校で6年間、中学校で3年間、高校進学した方は高校で3年間と、割と長い時間をかけて学んでいます。
ある教科の教科書を読むだけであれば、数日で終わることを、その学年で1年間かけて学んでいたりしますよね?
例えば、数学の「オイラーの公式」はとても短いけど、それをなんとなくでも理解するには、何年もかかるかもしれません。
宗教の「幸福の科学」の教えでも、「私たちは永遠の生命を持っている」というたった1行の教えを、なんとなくでも、理解するには30年以上もかかりました。

また、本当のところ、「基本的なことがわかってない」ことが原因かもしれません。基本というか基礎が分かっていれば、問題が発生しても、その原因を見つけるのに、それほど時間がかからないと思うから。
自動車のメカが基礎から分かっている人なら、故障の原因を素早く特定できるけど、普通の人だと、なかなか分からないですから。

ちなみに、私の場合、Linuxでのプログラミングを始めるより前に、「UNIXの覇者」といわれたSun MicrosystemsのOS環境で学びました。
Sun OSには、膨大な紙のマニュアルが付属していましたが、当然、それを読み通すことはしなかったです。(マニュアルの入った箱は、クソ重かった!)
No.1さんが書かれているように、日本語がうまく使えないから、Cコンパイラーとかc-shellの修正などもやっていました。
また、Linux開発環境の作成には、フロッピーも使っていました。とても時間がかかったものでした。

書籍としては、坂本さんの「たのしいUNIX」「続・たのしいUNIX」とか今は亡きアスキーの月刊誌「UNIX MAGAZINE」のお世話になったものでした。
最近の若い方は、UNIX MAGAZINEに相当する雑誌が無いので、学び辛い面もありますが、ネット上には多くの情報があります。
それらをうまく活用すると同時に、やはり、お金を惜しまず、名著といわれる専門書を(沢山)購入されて勉強されるのが開発環境構築を効率化すると思います。
    • good
    • 0

まったく同じ環境のケースが無いからでしょ。


レクチャー通りにやってるのに3日経ったら更新入ってバージョン変わってたり、順番にやってるのに何か抜けてたり
地味に時間を浪費します。
やっぱ細かいとこで理解してないから応用効いてないのでは。

わたくしはとりあえず『なんでもいいからログみれ』と言われました。
何が原因でコケてるのかが一目で分かるようになりたいです。
    • good
    • 0

ん〜〜。


良く分からん(笑)。
焦ってる事だけは分かるけど(笑)。

いやさ、原則的な話?
そもそも、僕もLinuxでプログラミングを始めたクチなんだけど、当時の印象としては

「Linuxの開発環境はクソ」

だったんだよ(笑)。
ツールの選択肢がほぼない、って印象だったのね。
いや、フリーソフトウェアはたくさんあるよ?
ただ、「日本語を受け付けない」とか(笑)。
日本語受け付けないようなエディタとか、原則使い物にならんじゃない(笑)。当たり前の話でさ。
ちょっとでも評判がいいエディタを入手しても「日本語入らんじゃん!」って試してみては捨て試してみては捨て・・・・・・。
結局定番のEmacsに落ち着いた。「Emacsが素晴らしい!」じゃねぇんだよ(笑)。「マトモに日本語が入力出来、ターミナルと連携が取れるエディタはEmacsしかなかった」ってのがホントのトコだったのね。
viはヘンテコだし。
そんなカンジだったの。

んで、「開発環境」が具体的に何指してるのか分からんけど。
2024年現在だと、メジャー度って言う意味で言えばまずはVisual Studio Codeになるんじゃねぇのかなぁ。
マイクロソフト偉いよ。WindowsだけじゃなくってLinuxにも「輸出」してくれた(笑)。
10年以上前だと考えられなかったからなぁ。
まずはそれがプライマリチョイスになるんじゃないの?

Visual Studio Code on Linux:
https://code.visualstudio.com/docs/setup/linux

何のディストロ使ってるか知んないけど、今だとディストロのリポジトリからインストール可能じゃない?設定もWindowsとほぼ変わらんし。
WindowsでVisual Hogeに慣れてるならまずはこれかな。

あとは、Eclipseもあるし、NetBeansもある。これらもWindowsで有名だよね。Windowsと同じ環境でWindowsでのプログラミングと同様にやりたい、ってぇのならこの2つも候補となると思う。
Eclipseは恐らく「日本語化」せんとアカンけど、それはWindowsでも同じなんじゃないかしらん。

Pleiades プラグイン・ダウンロード:
https://willbrains.jp

どのプログラミング言語を想定してるか知らないけど、Java辺りでやってて得意でした、ってぇのならこの辺がプライマリチョイスなんじゃないかな。
僕は「重いなぁ」ってぇんですぐ辞めちまったけど。

あるいはテキストエディタ派、って人もいる。「さぁviで・・・」って僕はよう言わんわ(笑)。
Windowsでvi使ってた人ならいざ知らず、Linuxで「使わなアカンmustなエディタ」って時代でもねぇだろ、と。

テキストエディタはいくつか候補があります。

gedit:
https://gedit-technology.github.io/apps/gedit/

まずこれ。GNOMEがデスクトップ環境なら、デフォルトで搭載されてない?言わば「Linuxのメモ帳」だ。
でも実は色々とプラグインがあるんだよね。そいつを探してインストールしていけば強力な「開発環境」に変化する筈だ。

13 Gedit Plugins to Make It a More Useful Text Editor:
https://www.makeuseof.com/tag/top-plugins-to-ext …

ただし、昨今の「イケた環境」と違ってプラグインがまだ「一元管理化」されてねぇんだよな。場合によっては目的に従って、ネット中駆け回らんとならんかもしれない。

意外とオススメなのがSciTE。日本じゃイマイチマイナーなんだけど、諸外国ではそこそこ人気がある「リアルタイム構文解析機能付きの」テキストエディタだ。
と言うか、生まれを鑑みると「テキストエディタ付き構文解析器」っつった方がいい。

SciTE:
https://scintilla.org/SciTE.html

軽いし、「構文解析機能」っつーこたぁ、「選べる言語が多種に渡る」って事だ。
最低でも30種はあるでしょ。僕も、「Emacsでやるにはちとアレ」って場合は大体SciTEに頼ってる。これもWindows版があるから共通の環境は作りやすいよね。
日本語化も両者とも同じだ。

SciTE 日本語翻訳 & 1.62+ パックの使い方:
https://h12u.com/scixx/about162plusjpn.html

多分これくらい?
これらで妥協出来ない、となったら、伝家の宝刀、GNU Emacsに頼るしかなくなる・・・・・・。

GNU Emacs:
https://www.gnu.org/software/emacs/

変態キーバインドの権化。「Emacsを使う」よか、そっちのキーバインドを覚える方が大変だ。
ただし、今だとネットで「チートシート」で検索すると、主だったキーバインドを記述しているPDFなり写真なりが見つかる筈だ。
そういうのを印刷しといて、まずは手元に置いておく、ってのがEmacsでは必要になるだろう。

ちなみに、昔だと「Emacs Lispを記述して自分なりの.emacs設定ファイルを・・・」とか初心者に能書き垂れるカンジだったんだけど、今はそんなモン必要ないです。
まぁ、個人的にはSpacemacsってのを使ってるんで、githubからそっちを入手して、「他人が設定してくれた設定ファイルを使いまわし」してるね。もはや「実家の秘伝のタレ」みたいなのは要らなくなっちゃった。ネット経由でパッケージを取ってきて、そいつをインストールしときゃ基本、設定要らずでEmacsを使える、ってのが今のEmacsだ。
そういう風に「昔より進化は」してるよね。すんげぇラクになりました(笑)。

まぁ、こんなトコかな?

写真: Spacemacs。Emacsのアドオンだけど、表示とか全部作り変える程のアドオンだ。
原則、Emacsの「変態キーバインド」を解決する為のツールで、スペースキーを叩いたあと、メニューから「目的の機能を選んで実行」と言うモダンなアプローチになっている。
ただし、僕はSpacemacsユーザーだけど、宗教家ではないんで(笑)、

「貴方もEmacs教へ改心しなさい。」

とは絶対言わない(笑)。
と言うのも、フツーに考えると、メジャー言語、例えばC/C++/Java辺りなら明らかに「Windowsで使われているIDEのLinux版」を選ぶ方が絶対良い筈だ。
ぶっちゃけ、Emacsがその真価を発揮するのは「メジャーなIDEが取りこぼしてる」マイナー言語でのプログラミング、なんだ(笑)。Emacsは「どんなマイナー言語でもほぼ対応してる」辺りで、要はその真価は「マイナー言語ユーザー向けのモノ」なんだな。
よって、メジャーなプログラミング言語を使ってる、って人にはEmacsはむしろ邪魔な存在だと思っている。
「Linuxでの開発環境構築や設定のコツ」の回答画像1
    • good
    • 3

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報