「シェル」を含む日記 RSS

はてなキーワード: シェルとは

2019-05-05

anond:20190505131622

https://anond.hatelabo.jp/20190505131826

シェルの標準を定めたPOSIX によると、マッチしたワイルドカードは"sorted according to the collating sequence in effect in the current locale." とある英語がよくわからないが辞書順みたいな意味じゃないかしら。この文章最初期の1998と最新の2018で同じだった。

anond:20190505131622

たぶん何らかのソートはされてるはずだけどシェル依存だし、心配なら明示的にsortしてxargsで受けるかブレース展開で順番を指定するかしたほうがいい鴨。

unixコマンドラインでのファイル名展開について

ふと疑問に思ったんだけど、ディレクトリ dir に 001 002 003 ていう3つのファイルがあるとして、

(そしてその他にはファイルは無いとして)、

cat dir/* > all.txt

ていうコマンドを打ったら、3つのファイルがつながったファイルができるけど、これって、

001 002 003 ていう順番で連結してもらえると期待していいんだろうか。

ええと、これってコマンド問題じゃなく、使ってるシェル問題かな。

Vim81 をインストールしようとして、大量のパッチをあててる時にちょっと疑問に思って。

順番狂ったらおかしくなるかも良くわかってないんだけどさ。

2019-04-27

トイレットペーパーの先をシェルピンスキーギャスケットみたいにして出てく人

すき

2019-04-04

こうすればプログラミング覚えられるよ【随時追記

プログラマじゃないけどプログラミング完全に理解した()おばさんが理解してる基礎知識書くよ。

追記 この文章プログラミング勉強をしたいけどその周辺にある基礎知識になかなか触れる機会がない人向けに書きました。これらの基礎知識があると、困ったときに調べ方すら分からないという状況は回避やすくなるはず)

まずLinuxUnix系OSの使い方。

ターミナル、いわゆる黒い窓からCUIコマンドユーザーインターフェース)でコンピュータを使う方法を覚えよう。これは大学コンピュータリテラシーで習った。MacOSXで復習すると捗った。(追記 すごく間が抜けてたけどMacOSXUnix系OSです)

まずはファイル操作Macターミナルを使って、cd Desktopって打ってからecho ohayou > aisatsu.txtって打ってみて、cat aisatsu.txtってやる。そうすると何が表示されるのか?とりあえずやってみよう。ここで>は増田の都合上大文字全角にしてるけど、ちゃんと半角にしてね。なんで増田の都合上半角がダメなのか、そのうち想像できるようになろう。(追記 ブコメ指摘感謝

そして、実際にデスクトップを見に行ってみると、aisatsu.txtってファイルがあるはずなんで、開いてみよう。これで何が起こったのか7割くらいはわかるはず。

こういうファイル操作の基本をまず覚えよう。これこそ空気みたいなものから

追記 ここも間が抜けてたけど確かにhogeって何かわからいね。直しました)

次に文字コードバックスラッシュの話。

最近は何も考えなければ文字コードはとりあえずUTF-8でなんとでもなるようになってるけど、バックスラッシュとかは環境設定で出てくるように設定しないと出てこないし、その意味合い、つまりエスケープとしての使い方を頭に入れておくと後々困らないと思う。あとEOF(エンドオブファイル)とか改行コードとかもそういうものがあるよ程度には覚えておこう。これ頭の片隅にはいってないと分からん殺し的な罠にはまることがある。

次にプログラミング環境の構築の仕方。

これは使いたいプログラミング言語公式サイトに行くと大抵書いてある。

でもMacだとだいぶ楽。とりあえずターミナルからgccって打ってみるとなんかCUIツールとか書いてあるものインストールしろって言われるのでインストールする。これだけでCとかC++とかRubyとかPythonとか一通り使えるようになる。もしかしたら最近はこのインストールすらいらないかもしれないけど。

あと、シェルコマンドとかプログラミング言語を実際に使うときはいろんなライブラリインストールする必要があるけど、そのライブラリ管理がすごく面倒なので管理をまとめてくれるコマンドがあったりする。aptとかhomebrewとかがそういうのだから、そんなものの使い方も覚えておこう。

追記 言語文法を追うだけなら環境構築なんてしなくてCloud9とか使ってもいいかもだけど、プロダクトを作ろうとした時にはまだまだ手元で環境作って必要ライブラリを入れてとやった方が後々応用がきくと思うのですよ。それにそうしていくとDockerの有り難みなんかも理解できるようになっていくのではと思います

最初勉強するプログラミング言語は、Javaだけはやめておけ。

なんでかっていうと、Javaオブジェクト指向言語ってやつなんだけどオブジェクト指向的にしか書けないから。古い人間だと言われそうだけど、最初手続き型言語から始めるべきだと思ってる。少なくとも、手続き型的に書ける言語から始めるべき。

なぜそう思うのかも含めて、とりあえずおばさんが理解しているプログラミング言語の発展の経緯を軽く解説する。

最初の頃のプログラミング言語は、手続き型と呼ばれるものが多かった。

この〇〇型ってのはプログラミングをするときの考え方によって名前がついているんだけど、手続き型はまず0を作って、0に1を100回足して、最後にその結果を表示してください、みたいな、上から書いた順番通りに動くのが基本のルールである考え方。プログラムは基本的にはこうやってデータアルゴリズムを使って変化させていって望む結果を得ている。でもこのやり方は問題も多かった。プログラム全体がひとかたまりになってしまっているので、数千行とかになるともう普通の人では手がつけられないし、人間ミスデータを間違って扱ってしまうことがバグの温床になった。

なので、この手続き型の考えに構造化という考えが加わって、関数というものが生まれた。関数っていうのは料理レシピに例えるとわかりやすいかも。

関数が無い状態だと、

1:玉ねぎをくし状に切ります

2:キャベツをざく切りにします。

3:豚こまに塩胡椒で味付けをします。

4:フライパンを火にかけ、油を入れて熱します。

5:豚こまを入れて色が変わるまで炒めます

6:玉ねぎを入れます

7:キャベツを入れます

8:野菜がしんなりするまで炒めます

9:火を消して8をお皿に盛り、野菜炒めの出来上がりです。

と書いていたものが、関数がある状態だと、

A:野菜を切ります

Aのやり方1:玉ねぎをくし状に切ります

Aのやり方2:キャベツをざく切りにします。

B:肉に味付けをします。

Bのやり方1:豚こまに塩胡椒を振ります

1:フライパンを火にかけ、油を入れて熱します。

2:Bを入れて色が変わるまで炒めます

3:Aを入れてしんなりするまで炒めます

4:火を消して3をお皿に盛り、野菜炒めの出来上がりです。

って書ける。ここではAとBが関数

この程度だとあまり意味を感じないかもしれないけど、これがもっと複雑なもの想像してみると、なんとなくありがたみが分かって来ないだろうか?こうすると、多人数でプログラミングをするときに、Aを書く人、Bを書く人、1〜4にまとめる人って感じで作業分担ができる。それに、バグが起きた時もAの領域バグったのか、Bの領域バグったのかとか、全体にまとめると上手くいかないのかとか、原因の切り分けがやすい。

でも、プログラムがとっても複雑化すると、これでも手に負えなくなる。料理の例えを拡大すると、料理店を運営することを考えるといいかも。

料理店でたくさんの料理をさばくときに、レシピを完全に1から作ることってないと思う。Aさんが野菜の仕込み担当、Bさんがスープの仕込み担当、というように各人に仕事が割り振られているはず。AさんもBさんもそれぞれの仕込みのレシピを持っていて、最終的に出てくる仕込みがちゃんとしてればAさんBさんの仕事の詳細までいちいちシェフが細かくチェックしない体制になっていると思う。大雑把にいうとそういう考え方をプログラムで再現したのがオブジェクト指向言語

なので、本気で料理初心者がいきなり厨房の仕切りを任されて上手くいくのは難しいように、構造プログラミングのありがたみすらわからない段階でオブジェクト指向プログラミングに手をつけても意味わからんだろうと思うのがおばさんの立場です。

追記 おばさんはRubyを勧めておきますオブジェクト指向言語ですが、手続き型的に書き下すことも出来るからです。一つの言語手続き構造オブジェクト指向、全部勉強できますメソッドも便利なのが一通りあるし、日本語を扱うのにも問題が少ないです)

次に問題を分解できるようになろう。

例えば、クイズゲームを作りたいと考えたときクイズゲームを作りたいです、って問題は大きすぎる。

クイズゲーム必要な要素は、問題文を表示する、回答を入力してもらう、正誤判定をする、正誤判定の結果を表示する、ということだなぐらいにまず分解する。

これを実際にプログラミングしようとすると、もっと分解できてさら問題が見えてくると思う。

コンピュータってのは創造的なことはできない代わりに、とても簡単なことをとても階層的に重ね合わせて大きな問題を解けるように作られてる。それを心するといいと思う。

からないことは調べられるようになろう。最後はこれ。

これ超大事プログラミングって本当に自分で1からものを考えなきゃいけないことってあまりない。大きな問題あなただけの問題かもしれないけれど、それを構成する小さな問題は大抵他の誰かが解いている問題なので、調べてみれば答えが見つかると思う。

エラーメッセージが出てきたらまずググってみる。翻訳しても初心者には意味がわからないし、ググったら誰かが解説付きで紹介してくれているのでその解説を読んだりしながらエラーメッセージとの付き合い方を覚えていけばいい。

メソッドの使い方がわからなかったら言語公式サイトに行ってみる。メソッドの使い方で大事なのは呼び出し方、返ってくる値の型とかそういうのだから、こういうところはググるよりも公式サイトに書いてあることをしっかり読んで理解する。

あと、アルゴリズム勉強もしてみるといいと思う。アルゴリズムデータ構造計算量の勉強大学学部レベル教科書ちゃんと読んでみると、例えばデータベースを操作するSQLというものを書くことになった時とかに効いてくる。あとは作ったプログラムが遅すぎてどうしようとかいうのを解決する時とか。

なんか深夜までいろいろ書いてしまったけど、あくまでもプログラマじゃないおばさんが書いたものなので、みんなでツッコミとか入れてくれると大変助かります

増田怖いよツッコミ怖いよ、もちろんおまんじゅうも怖い。

2019-03-15

シェルサンプルコードプロンプトをつけるか問題

GitHubのREADME.mdとかでシェルから実行するコマンドサンプルを書くとき、見た目のわかりやすさを重視して、サンプルにプロンプトをつける。

こんな感じ:

$ echo hello

でも、これだとコピペするときいちいち修正必要だよなーとよく思う。

あと、ビミョーにシンタックスハイライト無視する形になるのが気になる。

たぶん世の中には「プロンプトつけない派」もいると思うんだけど、なかなかまわりに聞く機会がない。

(どうでもいいけど、スーパーpre記法をひさびさに使った)

2019-02-28

DARIUS

初代無印世代なのだけど、

あのころカップル同時プレイして全クリしてたのは少数派だったと思うんだ。

バブルボブルクリアできなかったけどダライアスはなんとか。

それほど上手ってわけじゃなかったから、

レーザー/ウェーブにはしないでミサイル最強でストロングシェル正面から2秒で突破、で満足。

コズミックコレクション本日発売ということで。

初代にしか興味ないから買うのを迷ってしまった。

ロゴマーキーとかコンパネ説明板とかは欲しかたかな。

というか30年ぶりに逢いたいな。

お互いものすごく劣化してると思うけど。

2019-02-27

https://anond.hatelabo.jp/20190227164840

性に関する分類は

セックス解剖学的性/男性女性、間性)

ジェンダーアイデンティティ社会的性、性自認、性同一性/シスジェンダートランスジェンダー

セクシャルアイデンティティ性的指向/ヘテロセクシャルホモセクシェルバイセクシャル

の組み合わせ分あるってことがまだ認知されてないっていうかLGBTが広まってしまった罪?

元増田もそのあたりを混同しているという指摘でしょうか。難しい。

2019-02-18

anond:20190218105929

シェルが作れるwww そこから作るんだwww すごいねwww

「お、シェルスクリプト書けるの?いいねぇ」

だったら、後者の人と働きたいよねぇ。

インフラが専門ですが、シェルは作れます

シェルが作れるwww そこから作るんだwww すごいねwww

2019-01-25

https://github.com/yarnpkg/yarn/issues/6953

使う側としては大した内容はないな

monoreposが流行ってるから対応していくよという感じか

scriptの実行に軽量シェル(portable posix-like light shell)を使うようになるというのはwindowsで便利そうな反面, 怖さもある

2019-01-04

anond:20190104004632

逆だよ

プログラマとして働く場合、多くの場合Linux上でJAVA程度の知識がありゃイケるのに、メインフレームCOBOLとかWindowsパワーシェルプログラムとか、ぜ~んぶ覚えないとプログラマになれない、とかそっちの方が厳しくて死ぬ

更に言えば「次の案件は◯◯の●●ですよ」と言われたら、その仕事が始まる前までにそれらの基本を一通りマスターしとくのがプログラマであって、逆に仕事もなしで全部覚えるなんてプロセス踏んでいられない、というかそんなのしたら死ぬ

2018-12-26

anond:20181226174725

すし職人を呼びつけできるのだから

ほかの業種も執事やコンシェルジェに銘じたら連れてくることができるのでは

2018-12-02

[] Webプログラミング面白いほどわかる本

みんなで一緒に勉強してみよう!

 

Webプログラミング面白いほどわかる本 環境構築からWebサービスの作成まで、はじめからいねいに (N高校プログラミング教育) 単行本 - 2018/6/22

吉村 総一郎 (著)

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

https://www.kadokawa.co.jp/product/321712000860/

 

サーバーサイドの入門に最適な、Webプログラミングテキストが登場!

Linuxでの環境構築からGitGitHubによるコード管理Node.jsによるサーバーサイドのプログラミングが学べる!

インターネットで学ぶ話題通信制学校「N高校」が展開する、プログラミング教育メソッド大公開第2弾!

約1000人の高校生にWebプログラミングを教えてきた名物講師が、入門者がつまずきやすポイントを、ていねいに解説!

 

【本書の対象読者】

環境構築で挫折した方

サーバーサイドに挑戦したいと思っている方

SIerからWeb系への転職を考えている方

 

【本書の内容】

■Chapter1 Linuxの基本を身に付けよう

LinuxというOS

コンピューター構成要素

コマンドファイル操作する

標準出力

viの使い方を学ぼう

 

■Chapter2 シェルプログラミングをやってみよう

シェルプログラミング

通信ネットワークサーバークライアント

HTTP通信

通信をするボットの開発

 

■Chapter3 GitHubで始めるソーシャルコーディング

GitHubでWebサイトを公開する

イシュー管理Wikiによるドキュメント作成

GitGitHub

GitHubへのpush

Gitブランチ

ソーシャルコーディング

 

■Chapter4 Node.jsプログラミングをやってみよう

Node.js

集計処理を行うプログラム

アルゴリズム改善

ライブラリ

 

■Chapter5 Slackボットを作ろう

Slackボット開発

HubotとSlackアダプター

モジュール化された処理

ボットインタフェースとの連携

 

■Chapter6 HTTPサーバーを作ってみよう

同期I/Oと非同期I/O

例外処理

HTTPサーバー

 

Webプログラミング面白いほどわかる本」を出版させてもらいました

https://note.mu/sifue/n/n69fdeadc4612

この本の利用の想定としては、Webプログラミングサーバーサイドにチャレンジしていきたい方や、システムインテグレーターとしてWebプログラミングを知らずに仕事をしてきたシステムエンジニアの方が、Webプログラミングを学んで行くための下準備の知識を蓄えるために利用することを想定しています

 

実際、N予備校プログラミング入門コースは、Web業界Web活用する企業の社内エンジニア研修テキストとして利用して頂いている事例も増えており、本書の内容の学習必要とされている場所は増えて来ていると感じています

 

2018-11-14

Appleさんは昔、iBookってのを出してて、めっちゃ可愛かったんですよ。クラムシェル型。

おもちゃみたいなの。カラフルで。

あったかみあったなぁ。あの頃。

2018-11-07

anond:20181107124300

普通にやってるけどな。

MBPに開発環境入れてて会社と自宅はクラムシェル(閉じて外部ディスプレイ接続して使うこと。ノートを閉じるからキーボードトラックパッドも外付けを使うことになる)。

打ち合わせやカフェとかでコード書くとき普通にノートとして使う。便利というよりも至極当たり前のことだと思ってた。

うちの会社だけじゃなくて周囲の技術者みんなそうだし。

しろデスクトップが要らん。

最近ノートはずいぶん早くなったしゲームでもしない限りはMBP1台で事足りる。

2018-10-06

anond:20181006223327

thank you 理解した。

シェルとしても使えるREPLで、windows Programmingで便利だと。

GUIテストコードってのは自動でWindow上のリボンとかボタンクリックさせるとかそういうこと?

あんまりよく分かってなくてすまん。

IT系じゃなくても普通に仕事シェル叩いたりするだろうに、IT系のやつってIT系常識を恥ずかしげもなく振りかざして得意顔だからほんまウザいわ

日本インターネット界隈にある「エンジニアソフトウェアエンジニアしかWeb系の」みたいな風潮もクソだしいい加減どうにかならんのか

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん