Linuxでの開発環境構築や開発設定が苦手というかググったりしても
やたら時間がかかったり、挫折したり。
Linuxは大学時代から触っており、稀ですがLinuxも仕事で開発経験があるエンジニアにもかかわらず
苦手意識があります。
最近はraspberry piでPCからつなぐためにネットワークの設定しようとして苦労し疲労感が。。。
基本的なことはわかってるつもりですし、最近はGUIやパッケージ管理ソフトが充実し、疑問が出ても質問サイトや先人の作業記録ページなど便利になっているのに、なぜこんなに時間を要するのかわかりません。
何か皆様が知っているコツ等ありましたらご教示ください。
よろしくお願いいたします。
Linuxのレベルとしては
基本コマンド、エディタは中級レベルぐらい
設定ファイルとかいつも調べてやっています
makeファイル、シエルスクリプトは少し書いたことある程度
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
> 最近はraspberry piでPCからつなぐためにネットワークの設定しようとして苦労
とかですよね。
> 基本的なことはわかってるつもりですし、
おそらく理解が表面的あるいは一面的というか、根本の構造まで理解できていないと言うことなのでしょう。
実は、若手(2-4年目)にワークショップ+ハンズオンの技術研修の講師からも同じような話を聞いています。「(最近の若者は)知識として知ってるのに全然進まない人が増えている」。
10年以上前はそうではなかった。知らないので出来ない人と、知ってて出来る人の2種類しかいなかった。
何なんだろうな?どうしたら良いんだろうな?と悩んでいます。
変化の原因としては、おそらく「ググって情報を得る」行為がマイナスに働いているのでは?というのが1つの仮説です。もちろん「ググって情報を得る」はプラス面も大きいので、駄目だと言うことでは無いのですが。
困る⇒ググル⇒見つける⇒そのとおりやって見る⇒うまく行く⇒出来た⇒終わり
が、駄目なのしょう。
成長するためには、
困る⇒ググル⇒見つける⇒そのとおりやって見る⇒うまく行く⇒出来た
の後で、
・それで何故うまく行くのかをドキュメントを調べて納得する
・最初は何故駄目だったのか考える
・何故自力でそれを考えつくことが出来なかったのか考える
・今後自力で考えつくためには自分に何が不足しているのか考える
・それを身につけるために何をすれば良いかを考える
というプロセスが必要です。
> 基本的なことはわかってるつもりですし、
に立ち戻ると、「基本的なこと」と「初歩的なこと」は違いますが、そのあたりは大丈夫でしょうか?
> ネットワークの設定しようとして苦労
苦労したのはraspberry pi固有の話だったのかも知れませんが、
例えば、IPネットワーク設定の話であれば、
・IPv4アドレスがネットワーク部とホスト部に別れてるのは何故か
・同じサブネット内のAとBがIP通信する場合、具体的にどういう手順で通信できるのか?
・別のサブネット上のCと通信する時は手順がどう違うのか
・その際にルーターはどういう役割をしているのか
・デフォルトゲートウェイとは何で、設定が間違っているとどうなるのか?
・サブネットマスク24を20や26と間違えて設定すると何が起こるのか
あたりが分かってないと「基本が分かっている」とは言えないと思います。
さらにその先、ルーティングの話がありますが。
仮想マシンとは何かとか、コンテナとは何か、あたりも基本の理解はすぐには難しい気はします。
No.3
- 回答日時:
>>基本的なことはわかってるつもりですし、最近は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に相当する雑誌が無いので、学び辛い面もありますが、ネット上には多くの情報があります。
それらをうまく活用すると同時に、やはり、お金を惜しまず、名著といわれる専門書を(沢山)購入されて勉強されるのが開発環境構築を効率化すると思います。
No.2
- 回答日時:
まったく同じ環境のケースが無いからでしょ。
レクチャー通りにやってるのに3日経ったら更新入ってバージョン変わってたり、順番にやってるのに何か抜けてたり
地味に時間を浪費します。
やっぱ細かいとこで理解してないから応用効いてないのでは。
わたくしはとりあえず『なんでもいいからログみれ』と言われました。
何が原因でコケてるのかが一目で分かるようになりたいです。
No.1
- 回答日時:
ん〜〜。
良く分からん(笑)。
焦ってる事だけは分かるけど(笑)。
いやさ、原則的な話?
そもそも、僕も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はむしろ邪魔な存在だと思っている。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(OS) CloudreadyでLinuxのセットアップが出来無い 1 2022/04/06 12:36
- UNIX・Linux プログラミングPC、LinuxのOSパソコンを選択すると問題というかやりにくい事ありますか? 4 2023/09/12 22:25
- Java 助けでください!!!!!!!!!!!! 4月から働き始めた新人SEです。 皆さんの体験談等を教えてい 7 2022/07/28 23:50
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(パソコン・スマホ・電化製品) LINUXPCに詳しい人に気楽に答えてほしい質問です。 2 2022/10/25 08:07
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
- 会社設立・起業・開業 空気環境測定業について 1 2023/09/06 15:56
- UNIX・Linux VirtualBox ゲストOSにPC内蔵HDDのパーティションをマウントする方法は? 2 2023/05/06 22:52
- Windows 10 「Vmmem」のメモリ使用量が高い時の対処法 1 2023/12/10 20:04
- 据え置き型ゲーム機 PS5向けに開発されているゲームって、PCユーザーを意識した物が多すぎませんか? タイトルは伏せます 5 2023/05/15 13:14
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あってる
-
C言語でファクト関数を使わずに...
-
ペーパーマリオみたいにドット...
-
DNCL(共テ用プログラミング言語...
-
DNCL(共テ用プログラミング言語...
-
C言語のことです。写真(見にく...
-
c言語
-
C# で 数式文字列処理を処理す...
-
gccを行ってもexeファイルが生...
-
VisualStudio2022でC言語プログ...
-
VisualStudioでのプログラミン...
-
スタックフレームの消滅
-
Windows Formアプリからコンソ...
-
Cのプログラムからアクセスでき...
-
プログラミング言語でアプリや...
-
c++の勉強方法を教えてくださ...
-
パソコン
-
今ってプログラミング言語は何...
-
2つほどお聞きしたいことがあり...
-
どうして+3
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで、システムのレジスト...
-
ASP.NETで参考URL等がありまし...
-
CGIとSSIとPHP
-
asp.netについての参考本
-
日本に、Microsoftのような会社...
-
Android環境でAndroidアプリ開発
-
iPhoneアプリについて質問です。
-
iPhone SDKはWindowsでは利用で...
-
oppo reno 7A
-
フォルダーに緑のレ点と赤の✖が...
-
特定ユーザに対してのみアプリ...
-
windows10のアプリと機能にyout...
-
レイノルズ数が4000より大きい...
-
Android studio 初心者 Hello A...
-
Beckyのアドレス帳を上下に移動...
-
keygen.exeが実行されない
-
お気に入りの登録サイトが削除...
-
回復ドライブに保存されるもの
-
VB40032.DLLについて
-
パソコンに表示されるAOSBOXfor...
おすすめ情報