並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 10968件

新着順 人気順

シェルスクリプトの検索結果121 - 160 件 / 10968件

  • コンテナはなぜ安全(または安全でない)なのか - sometimes I laugh

    CVE-2019-5736を覚えていますか?今年の2月に見つかったrunc(Dockerがデフォルトで利用しているコンテナのランタイム)の脆弱性で、ホストのruncバイナリを好き勝手にコンテナ内部から書き換えることができるというものです。 脆弱性の仕組みに興味があったので調べたところ、コンテナを攻撃する方法というのは他にもいろいろあって、runcは頑張ってそれを塞いでいるようです。これまとめると面白いかも、と思ったので以下のようなおもちゃを作りました。 Drofuneは簡単なコンテナランタイムです。drofune runとかdrofune execなどでコンテナを起動したり、入ったりすることができます、といえば想像がつくでしょうか。 これだけでは何も面白くないので、Drofuneはわざと安全でない実装になっています。なので、今回発見されたCVE-2019-5736を利用した攻撃も成立します

      コンテナはなぜ安全(または安全でない)なのか - sometimes I laugh
    • AWSを学び直した際の備忘録 - コンユウメモ @kon_yu

      Udemyのセールで購入した下記の講座が大変良かったので、紹介するとともに学び直した内容の備忘録を残しておくことにした。なのでこの記事で特定のAWSの機能の設定の仕方などは書いてはいない。Linuxの基本的なことはわかっている人がAWSを体系的にどうやって学んだのか、どういう理解の仕方をしたのかを知ることができるという内容だ。 手を動かしながら2週間で学ぶ AWS 基本から応用まで 作者の方の紹介ページ www.ketancho.net こちらの副読本とした。 比較的新しい本であり上記の作者の方も作者に名を連ねているところから、用語の説明の仕方などにUdemyの講座とブレが少なく理解しやすそうなのでこちらを選んだ Amazon Web Services パターン別構築・運用ガイド 改訂第2版 (Informatics&IDEA) 作者: NRIネットコム株式会社,佐々木拓郎,林晋一郎,小西

        AWSを学び直した際の備忘録 - コンユウメモ @kon_yu
      • Bashのよくある間違い | Yakst

        原文は2015年8月22日時点のものを利用しており、それ以降に追記、更新されている可能性があります。 本翻訳は原作者の許可を得て公開されています。 Thanks for GreyCat! このページはBashプログラマーが陥りがちなよくあるエラーについてまとめました。以下の例は全てなんらかの欠陥があります。 クオートをいつも使い、どんな理由があっても単語分割を使わなければ、多くの落とし穴からあなた自身を守ることができます!単語分割はクオート表現をしない場合にはデフォルトでオンになっている、Bourneシェルから継承された壊れたレガシーな設計ミスです。落とし穴の大半はクオートされていない展開になんらか関連し、単語分割しその結果をグロブします。 1. for i in $(ls *.mp3) BASHプログラマーたちがループを書く際にもっとも犯しがちなよくあるミスは以下のような感じです。: f

          Bashのよくある間違い | Yakst
        • 個人開発ならHerokuよりDokkuを使おう - Qiita

          皆さん個人開発してますか? 個人開発の時にせっかく作ったならリリースして誰かに見てもらいたい・使ってもらいたいですよね。でもあまりお金はかけられない。 静的サイトならgithub.ioやfirebase hostingがありますが、Webアプリケーションだと使えません。 ちょっと前まではHerokuがデファクトな選択肢でしたが、スリープしたりで不便だったりします。 そんな方にDokkuがオススメです。 DokkuはOSSのPaaSで、シェルスクリプトを実行するだけでインストールができるHerokuライクなアプリケーションです。 自分はVultrという激安VPSにインストールしています。 実際どうなのか? インストール方法や基本操作等は以下が参考になるので割愛します。 Getting Started with Dokku DockerでミニHeroku!「Dokku」をさくらのクラウドで試す

            個人開発ならHerokuよりDokkuを使おう - Qiita
          • bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する - 双六工場日誌

            @hirose31 さんが「シェルスクリプトでハマった件→【募】ステキな回避方法」でお題を出されていて、それに回答してみました。 その内容はリンク先を見てもらうとして、回答の中で使ったbashのプロセス置換について書かれた記事をあまり見ないので、回答で使ったプロセス置換のことをエントリにしてみたいと思います。 最初に注意点ですが、プロセス置換の機能は、bashやzsh*1の機能でPOSIX互換の機能ではありません。そのため、使用時には、対応していないシェルでは使えませんし、bashで使う場合も /bin/sh ではなく /bin/bash を明示的に指定する必要があります。たとえば、プロセス置換を使ったスクリプト「script.sh」に対して"$ bash script.sh" というコマンドは成功しますが、"$ sh script.sh" というコマンドは失敗します。この辺りの違いは「/

              bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する - 双六工場日誌
            • waifu2xでアニメをアップコンバートする - unsuitanの日記

              2015-05-27 waifu2xでアニメをアップコンバートする もう世の中で話題すぎて仕方が無いwaifu2xです(説明はしないので各自ぐぐれ)。 二次元画像を拡大したいと思ったことはありませんか? - デーultraist.hatenablog.com ところでwaifu2xを見て、皆さん思いませんでしたか? waifu2xでSD画質のアニメのアップコンバートしてえ! でもWebアプリだしアニメのアップコンバートなんて…と思ったらGithubでコード公開されてるし、AWSのPublic AMIもあります(北カリフォルニア ami-75f01931)。 自宅でwaifu2xサーバを立てるのもいいですが(その話はまた後日にでも書きますけど)、もうサクッとAWSにg2.2xlargeのスポットインスタンスを立ててしまいましょう。1時間7円くらい、1日170円くらいですよ。 というわけでこの

                waifu2xでアニメをアップコンバートする - unsuitanの日記
              • レガシープロジェクトを引き継いだ時、最初にするべき7つのこと - Qiita

                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 営業一課で使っている PHPアプリを保守してくれないかな? ○○さんが1人で作ってメンテしてたやつなんだけど 皆さんは上司からこんな仕事を振られたことはないでしょうか?私は過去に何度か経験した1のですが、こういった仕事はなぜか: 正確な仕様を知っている人はいない(知ってた人は辞めた) テスト計画書・デプロイ手順書・仕様書といったドキュメントは無い ソースコードはもちろんスパゲッティ でも、業務ではガッツリ使われているので廃止できない というレガシープロジェクトばかりでした。この記事では、レガシープロジェクトを引き継いでしまった時に、最初

                  レガシープロジェクトを引き継いだ時、最初にするべき7つのこと - Qiita
                • 1台のPCで複数のDropboxアカウントを使う方法 | ライフハッカー・ジャパン

                  Dropboxのアカウントをビジネス用とプライベート用で使い分けたい人もいるはずです。ところが残念なことに、Dropboxは複数アカウントの同時利用をサポートしていません。 そんな中、ブロガーのDaniel Mann氏がMacの「automator」アプリを使って2つのDropboxインスタンスを同時に実行する方法を教えてくれました。また、Windowsで複数アカウントを使う方法も紹介します。■Windowsで複数アカウントを使う Windowsで複数のDropboxインスタンスを実行する方法は2つあります。 Dropboxenを使う:複数のWindowsユーザーアカウントを使う方法です。それぞれのユーザーアカウントにDropboxと『Dropboxen』をインストールして実行するだけです。 DropboxPortableAHKを使う:『DropboxPortableAHK』をインストール

                  • ssコマンドはバグと地雷の塊なのでnetstatの代わりにならない - ろば電子が詰まつてゐる

                    既に有名な話ですが、CentOS 7およびRed Hat Enterprise Linux 7からはifconfigコマンドやnetstatコマンドが非推奨となり、デフォルトインストールすらされなくなりました。代替として、ifconfigコマンドはipコマンド、netstatコマンドはssコマンドが用意されています。 というわけでさっそくssコマンドを試していたのですが、明らかに動きがおかしなところがあり、少し調べてみました。 そして、「netstatコマンドの代替と思って安易にssコマンドを使うと、これは痛い目に遭うな……」ということが分かったので、不幸になる人を少なくするためにこのエントリを書きました。 概要 結論から先に言うと、CentOS 7/ RHEL 7のssコマンドには「UDPの開放ポートがTCPと報告される」というひどいバグがあり、使うべきではありません。 また、ssコマン

                      ssコマンドはバグと地雷の塊なのでnetstatの代わりにならない - ろば電子が詰まつてゐる
                    • 【学習メモ】LinuxCUI初心者が早く知りたかったコマンド(操作も) - Qiita

                      はじめに Linuxを学ぶ上で 先に教えて欲しかったことを書きます。 つまりは、教える機会があれば先に伝えておきたいことです。 便利なキー操作や誤りがあればぜひ教えてください。 また、この記事に対してmorimorihogeさんの分かりやすい補完がありますので、ぜひそちらと合わせてお読みください 流れ 1.キーボード操作編 知ってると便利なショートカット。 2.用語・概念編 知ってるとひらめくかも。 3.コマンド編 知っておくべき重要なコマンド、時短になるコマンド。 キーボード操作編 補完機能 Tab連打。 連打すると勝手にlsしてフォルダ内のファイル一覧を教えてくれる。 候補が絞られると勝手に名前を補完してくれる。 入力間違いでもBackspaceやDeleteできない ^H^H^Hや^[[3~、^[[Dが表示されて涙目。 Ctrl + U で入力したものがきれいに消える。 パスワードを

                        【学習メモ】LinuxCUI初心者が早く知りたかったコマンド(操作も) - Qiita
                      • Markdownからスライド資料を作る

                        B! 460 0 1 0 何か人に見せる時には資料としてPower Pointとかでスライドを作るわけですが、 普段メモもMarkdown形式で書いてく事が多くて、 簡単なもの、特に文字だけの物の場合はそのままコピペするだけみたいな ことも多いので、 直接Markdownからスライドを作る物を試してみることに。 Markdownからスライドを作れるツール Pandoc 対応フォーマット インストール PDF作成(beamerテンプレートを使う) beamerのテーマについて 日本語について Pandocまとめ Slide Show (S9) インストール スライド用HTML作成 PDFにコンバート その他のツール Marp mkd2pdf markdown-pdf markdown2impress mdslide slidedeck remark Markdown2pdf Swipe Sl

                          Markdownからスライド資料を作る
                        • 何もしない組み込みコマンド ":" (コロン)の使い道

                          Bash でシェルスクリプトを勉強していくと出会うのが : (コロン)という名前の組み込みコマンド。このコマンドは何もしないコマンドです。 こんなコマンドの存在は不思議だなと思う反面、C言語にも void という型があったり(関数のような形で存在するのは JavaScript とかですね)、LaTeX にも \relax があったり、何もしない命令というものは機械語の NOP からある普通のものです。 この Bash の : の使い道についてまとめてみました。 何か書かなければならないところに仮置きする 例えば「ここに制御構造を置くんだけど、この節に入るものは後で書くんだけどな〜」といった場合、制御構造の節の中に何も書かないと Bash は構文エラーとなります。

                            何もしない組み込みコマンド ":" (コロン)の使い道
                          • 【作業効率化】優秀すぎて課金してでも個人的に使ってるmacOSソフトウェアまとめ【5選】 - Qiita

                            はじめに 全部で5つのソフトウェアを紹介します。基本はmacOS対応のみです。Windowsのみなさん、ごめんなさい! 正直あまりにも便利なので、僕が代わりに身銭を切ってでも、皆さんに使ってもらいたいものだらけです。 本記事は、特に駆け出しエンジニアの方に読んでいただきたいです。僕がこの業界に入ったときは、とにかく知らないものばかりで、便利なサービスとかも全然使ってなかった(というか、知らなかった)ので、そんな昔の自分のような方のお役に立てたら幸いです。 作業効率化、めっちゃ楽しいし気持ちいいですよ! 優秀すぎて課金してでも個人的に使ってるソフトウェアまとめ alfred 最強のランチャーアプリです。もはやAlfredなしではパソコンがいじれません。すべての操作はAlfredに通じます。 僕は最初、Alfredの無料ユーザーだったのですが、下記記事を見て有料版に移行しました。 Alfred

                              【作業効率化】優秀すぎて課金してでも個人的に使ってるmacOSソフトウェアまとめ【5選】 - Qiita
                            • さくらVPSでLXCを使って安価に複数台構成を実現する - orangain flavor

                              2013年6月7日 22:04更新: Upstartのデフォルトの設定ファイルを書き換えない方法に変更しました。hitoさんありがとうございます。 lxcなどのバージョンを記載しました。 はじめに Chefを使っていると、役割やサービスごとに環境を分離したくなります。 しかし、個人レベルで大してトラフィックがない段階で、サービスごとに仮想サーバーを借りていてはお金が足りません。 そこで、安価なVPS上でLinux Container (LXC) を使うことで、複数のサーバーを作ります。 スケールしたくなったときは、コンテナを潰して、新しく仮想サーバーを借りてChefで同様の設定をすれば手軽にスケールできると考えています。 Heroku使えば?と言われるかもしれませんが、色々なミドルウェアを利用したり、バックグラウンドで処理をしようとすると、たちまちお金がかかるので、VPSをやりくりして遊び

                                さくらVPSでLXCを使って安価に複数台構成を実現する - orangain flavor
                              • bashで始めるシェルスクリプト基礎の基礎(1/2)

                                GUIに対するCUIの優位性の1つとして、作業の自動化が挙げられる。普段行う作業を1つのコマンドにまとめたり、複数のファイルに対して同じ処理を繰り返し行ったりといったことが比較的簡単なのだ。WindowsにもWSH(Windows Script Host)が用意されている。しかし、Linuxのbashスクリプトの方が簡単なのだ。 シェルスクリプトの基本はコマンドを並べること コマンドによる作業を自動化するには、その内容を記述したテキストファイルを用意すればいいのです。このテキストファイルを「シェルスクリプト」といいます。 最も簡単な自動化 最も簡単なシェルスクリプトは、コマンドをそのまま並べることです。例えば、tarコマンドでファイルのバックアップを取るとしましょう。単純にルートディレクトリから下を全部バックアップするにしても、/devや/tmpは必要ないですね。すると、

                                  bashで始めるシェルスクリプト基礎の基礎(1/2)
                                • シェルスクリプトはエレガントでなければならない

                                  /bin/shの実体としてはash(dash)、bash、kshの採用例が多い。どのシェルもBourne shellの機能に加えて、拡張機能を提供する。 FreeBSDなどの*BSD系のOSは、ashを/bin/shとして使っている。ashはPOSIX.1(POSIX:2008)にいくらかのBSD拡張機能を取り込んだシェルだ。メモリをあまり消費せず、高速に動作し、ほかのライブラリに依存することが少ない。従って、rootやレスキューシステムのインタラクティブシェル、システムのシェルスクリプトといった場面で採用されている。 Mac OS Xはbashを/bin/shに採用している。FedoraやopenSUSEなどのLinuxディストリビューションもbashを/bin/shに採用している。LinuxディストリビューションでもUbuntuやDebian、Linux Mintなどは、高速に動作する

                                    シェルスクリプトはエレガントでなければならない
                                  • 独力でWebサービスを開発・構築できるフルスタックエンジニアへのロードマップ─幅広いスキルを「Udemy夏のビッグセール」で学ぶ! - はてなニュース

                                    Webで新規サービスを立ち上げる際に、UIからインフラ周りまで一人で面倒を見られるエンジニアは、少人数のスタートアップでなくとも非常に頼れる存在です。どんな課題に直面しても技術力で乗り越える、そんなスキルフルなエンジニアに憧れる方も多いでしょう。 この記事では、フロントエンドのプログラミング(JavaScript周辺)からサーバーサイド、インフラ、さらに開発手法まで、Web開発で必要になるさまざまなレイヤーのフルスタックなスキルの現在地と、関連するUdemyの講座を紹介します。 株式会社ヘンリーでVPoEを務める松木雅幸(@songmu)さんの執筆です。 フルスタックエンジニアに必要なスキル さまざまな講座でまとめて学習してみよう Udemyでは夏のビッグセールを開催中! ※この記事は、株式会社ベネッセコーポレーションによるタイアップ広告です。記事末に、はてなブックマークした方にAmazo

                                      独力でWebサービスを開発・構築できるフルスタックエンジニアへのロードマップ─幅広いスキルを「Udemy夏のビッグセール」で学ぶ! - はてなニュース
                                    • Vagrant + Chef Solo + serverspec + Jenkins でサーバー構築を CI - naoyaのはてなダイアリー

                                      Jenkins おじさんと戯れること半日、うまくいったので備忘録を残しておく。 やりたかったのは Chef で構築したサーバーを Jenkins で CI する、というもの。このときサーバーはテストが終わる度に破棄して、テスト開始時に再度真っ新な状態から立ち上げたい。(こういうサーバーを壊して作ってというテストはなんという名前で呼ばれるのだろう?) 仮想サーバーを破棄/作成をプログラマブルにやるのはもちろん Vagrant プロビジョニングは Chef Chef の環境を整えるのに knife-solo 0.3.0.pre3 テストは serverspec コードは Github に上げる (https://github.com/naoya/jenkins-vagrant-test) CI は Jenkins という構成になっている。ひとまず Jenkins や Vagrant はローカル

                                        Vagrant + Chef Solo + serverspec + Jenkins でサーバー構築を CI - naoyaのはてなダイアリー
                                      • シェルスクリプトの罠を避ける三つの tips

                                        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? シェルスクリプトは、Unix 系環境で仕事をするエンジニアなら誰もが一度は書くであろうにもかかわらず、書き方や特性を熟知している人が少ない言語です。この記事は、シェルスクリプトを書くときに罠を踏まないようにするために最低限あなたが気を付けるべき tips 集です。「たかがシェルスクリプト」とは思わないでください。生半可に書かれたシェルスクリプトはあなたの (チームの) 生産性をかえって低下させます。 Shebang に bash を明示しろ Bash でしか使えない機能のことを俗に Bashism と言います。Bashism はもちろん

                                          シェルスクリプトの罠を避ける三つの tips
                                        • バベル案内

                                          Steve Yegge / 青木靖 訳 2004年9月 これは駆け足の言語案内だ — Amazon Developers Journalのために今月書いていたのだが、どうもこれを見苦しくないようにする方法を見つけられなかった・・・。 ひとつには、私はどうも粗野で口汚くなりがちで、オフィシャルな趣のあるAmazonの出版物に載せるのは不適切に思えた。それでかわりに誰も読まない自分のブログに押し込めてしまうことにした。読んでるのはあなたくらいのものだよ。どうも! もうひとつ言うと、これは本当に書きかけのものであり、そこかしこの断片を集めたものでしかない。全然磨き上げられていない。これもブログエントリにする理由になっている。ブログなら別に良質である必要も完全である必要もない。単に私が今日考えたことというだけのものだ。ではお楽しみを! この駆け足の案内では、C、C++、Lisp、Java、Perl

                                          • 転職します。IT未経験からSESを経て事業会社へ……転職活動で感じたこと - 周回遅れでIT業界デビューしたプロジェクトマネージャーのブログ

                                            こんにちは。もうそろそろ春ですね。 2月末日付で前の会社を退職し、3月1日付で新しい会社に移ります。 旧)プログラマー兼QAエンジニア 新)データサイエンティスト兼開発エンジニア となります。 IT業界に入ってから1年での転進となります。 会社に貢献し、技術者としても一層成長したいと思いますので、引き続きご指導ご鞭撻のほど、よろしくお願い申し上げます。 日記の内容 今回の日記では、どんな感じで転職活動をしたのかを書いていきたいと思います。何かの参考になりましたらうれしいです。 ※ 主な対象は「IT業界内の転職活動に興味のある方」「未経験だけどIT業界で仕事がしたい方」「現在SESで働いているけれど脱出したい方」「異業種からIT業界を目指したい方」です。レベルの高い内容は出てこないと思いますので、ご寛恕いただけましたら幸いです。 ※ あくまで本人の実体験に基づく記事であり、本記事を利用するま

                                              転職します。IT未経験からSESを経て事業会社へ……転職活動で感じたこと - 周回遅れでIT業界デビューしたプロジェクトマネージャーのブログ
                                            • テックリードとして入社してからやったことをまとめてみた。 - Qiita

                                              現在の会社にテックリード(1人目の正社員エンジニア)として入社して、2年間やってきたことを書いています。 エンジニア二年目でテックリードとして試行錯誤してきて、自分の振り返りもしたいという思いから記事を書きました。 (前提として、シード期のスタートアップで実行してきたことです。) 入社時のチーム課題 入社当時は、2週間単位のスプリントでスクラムを回してましたが、全員が業務委託だったこともあり、完全な内製化を進める必要があり、主な課題は以下でした。 継続的リリースが困難な状態になっており、それを解消することが急務 社内にエンジニアがいなかったので、開発組織体制づくりが必要だった。 ウォーターフォール寄りのリリースが多く、継続的にリリースする文化がなかった。 リファクタリングやテストコードが不十分だった。 改善したこと Zenhubを導入 それまでは、GitHub Projectで進捗管理をし

                                                テックリードとして入社してからやったことをまとめてみた。 - Qiita
                                              • Unixデーモンの仕組み

                                                Home Subscribe Unixデーモンの仕組み 12 March 2015 おはこんばんちは!! 尾藤 a.k.a. BTO です。 みなさん、Unixデーモンよく使ってますよね。 Webエンジニアなら、Webサーバ、メールサーバ、DBサーバ、cronなどがよく使われるのではないでしょうか。 24時間365日黙々と働き続けるUnixデーモン達。 身近な存在だと思いますが、実はどういう仕組みで動いているのかご存じない方も多いのではないでしょうか。 先日、オトバンクでUnixデーモンの仕組みについて勉強会をやったので、その内容をまとめます。 デーモンとは では、デーモンとはいったい何なのでしょうか。 Unixライクシステムにおいて、バックグランドで動作して様々な処理を実行してくれるプロセスがデーモンです。 デーモンには明確な定義はありませんが、だいたい次のような条件を満たすプロセスが

                                                  Unixデーモンの仕組み
                                                • 今日からすぐに使えるデプロイ・システム管理ツール Fabric 入門 - 科学と非科学の迷宮

                                                  Fabric は、Python 製のデプロイ・システム管理ツールです。 最近、構築や運用を自動化するための様々なツールが出てきています。 構成管理ツールの Puppet や Chef が有名ですが、使うまでに覚えることが多いのが欠点です。 しかし、Fabric は非常にシンプルなツールで、今からすぐに使うことができます。 Fabric はデプロイ・システム管理ツールで、類似のツールとして Ruby 製の Capistrano があります。 Fabric の最大の特長は、シェルスクリプトを書き慣れた人がいきなり利用できるところです。 シェルスクリプトとしてまとめていたコマンドをそのまま run() メソッドや sudo() メソッドで囲むだけで、使うことができます。 シェルスクリプトを使っていていると、いくつもの問題に遭遇します。 名前空間の管理 変数の扱い 複雑なデータ構造がない(せいぜい

                                                    今日からすぐに使えるデプロイ・システム管理ツール Fabric 入門 - 科学と非科学の迷宮
                                                  • ウノウラボ Unoh Labs: サーバのネットワーク速度の調査/測定方法

                                                    こんにちは。kyagi です。先日データセンタ内のサーバ群のうち、なぜか特定の1台だけネットワークの速度が極端に遅いという問題がありました。今回はサーバマシンのネットワーク速度の測定方法と原因についてお話しします。同様のトラブルが発生している方のお役に立てば幸いです。問題解決までの手順としては以下になります。 1. 現在の状態を調べる 2. ハード/ソフト含めて考えられる原因をいくつか挙げる 3. 原因について改善されるまでひとつひとつ検証していく まず現在の NIC の HW 情報とドライバを lspci で調査します。ここでは Broadcom の NetXtreme BCM5722 という NIC を使用していることがわかります。 # lspci -vvv | grep Ether 01:00.0 Ethernet controller: Broadcom Corporation

                                                    • Goを学ぶときにつまずきやすいポイントFAQ | フューチャー技術ブログ

                                                      他の言語になれた人が、初めてGoを書いた時にわかりにくいな、と思った部分はどのようなところがあるのか、難しいポイントはどこか、という情報を自分の経験や、会社の内外の人に聞いたりしてまとめてみました。まだまだたくさんあるのですが、多すぎるのでまずはこんなところで。コンテナで開発することがこれからますます増えていくと思われますし、その時にコンテナとの相性が抜群なGoをこれから使い始める人もどんどん増えていくと思います。 Goは特に言語のコアをシンプルに、何かを実現するときはそのシンプルな機能を組み合わせて実現しよう、というコンセプトです。つまり、他の言語で実現したいこと・できていることに比べて、Goは組み合わせ(イディオム)でカバーする領域が広くなります。そのあたりのとっかかりになる情報を提供することが、これからGoを触る人にとってつまずきを減らすことになると思います。 Go Conferen

                                                        Goを学ぶときにつまずきやすいポイントFAQ | フューチャー技術ブログ
                                                      • bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog

                                                        こんにちは。 マネーフォワードでアグリゲーション開発を担当しています中川です。 今回のブログは、私が bash スクリプトを書く際に心がけている事のおさらいをします。 知ってて当たり前のことかも知れませんが、意外と理解されていないアレです。 では、私が bash スクリプトを書く際によく使う記述を一つずつ紹介します。 2種類の shebang シェルスクリプトの一行目に必ず記述する #! で始まる行を shebang と言います。 bash スクリプトの shebang は、bash を絶対パスで指定する方法と、env を使って指定する方法の二種類あります。 bash を絶対パスを指定する方法 #!/bin/bash env を使ってを指定する方法 #!/usr/bin/env bash 前者は /bin/bash が使われます。 (/bin/bash が存在しなければスクリプトの起動時に

                                                          bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog
                                                        • 2019年に向けてPythonのモダンな開発環境について考える - 朝日ネット 技術者ブログ

                                                          はじめに 開発部の tasaki です。 6 月の記事(「Pythonのパッケージングのベストプラクティスについて考える2018」)では setuptools, pip, venv を使ったパッケージングのフローについて考えました。 techblog.asahi-net.co.jp 今回はモダンな開発用ツールチェーンを持つ他の言語(具体的には JavaScript (Node.js), Go, Rust あたりを意識)と似たような開発フローを Python において構築するにはどうすればよいかということを考えていきます。 はじめに 対象バージョン 備考 TL;DR (結論) pip と virtualenv の統合 (Pipenv) 概要 使い方 インストール Pipenv プロジェクトの新規作成 setup.py との併用 静的な型の検査 (mypy) 概要 設定例 使い方 Lintin

                                                            2019年に向けてPythonのモダンな開発環境について考える - 朝日ネット 技術者ブログ
                                                          • Makefileを自己文書化する | POSTD

                                                            私たちのプロジェクトではいつも、非常に長い Makefile を使用して、インストールやビルド、テスト、デプロイメントの処理を自動化しています。ターゲット名はほとんど標準化されていますが( make install 、 make deploy )、中には説明が必要なものもあります( make run-dev 、 make restart-api )。そして、詳細なmakeターゲットを追加するほど、それらの処理内容をテキスト形式で大量に記載しなければなりません。私たちのプロジェクトでは通常、このような文書を README ファイルに書いています。 しかしCLI(コマンドラインインタフェース)を用いる場合は、主に自己文書化ツールを使っています。 make と打つだけで、利用可能なコマンドとその説明が一覧表示されたら便利だと思いませんか? それを実現するのは、実はとても簡単です。まずは各ターゲッ

                                                              Makefileを自己文書化する | POSTD
                                                            • Systemd入門(1) - Unitの概念を理解する - めもめも

                                                              Linuxの起動処理は、これまでinit/upstartと呼ばれる仕組みで行われていました。Red Hat Enterprise Linux 7 (RHEL7)では、これが、systemdと呼ばれるまったく新しい仕組みに置き換わります。Fedoraでは、すでに先行してsystemdが採用されていますが、この連載(?)では、Fedora 17での実装をベースとして、systemdの考え方や仕組み、利用方法を説明していきます。今回は、systemdの動作の基礎となる「Unit」の概念を理解します。 systemdを採用したFedoraでLinuxの基礎を学びなそう!という方には、「「独習Linux専科」サーバ構築/運用/管理――あなたに伝えたい技と知恵と鉄則」がお勧めです。(^^/ systemdの考え方 参考資料 ・Rethinking PID 1:systemdの開発者であるLennart

                                                                Systemd入門(1) - Unitの概念を理解する - めもめも
                                                              • 「一つのことをうまくやる」に忠実たれ。Serverspec開発者mizzyが語る成功するOSSの設計|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                                                「一つのことをうまくやる」に忠実たれ。Serverspec開発者mizzyが語る成功するOSSの設計 過去、手動と目視による作業が常だったサーバーのテストを圧倒的に簡易化するServerspec。国内外で高い評価を得るこのOSSの開発舞台裏を、作者の宮下剛輔(mizzy)さんが語ります。 2014年1月、世界中の優れたオープンソースプロジェクトを表彰するアワード「Open Source Rookies of the Year 2013」で、日本発のあるツールが選定されました。Dockerなど名だたるソフトウェアと並んで入賞したそのツールの名は「Serverspec」。 Serverspecとは、一言で表現すれば、サーバーのテストを自動化してくれるオープンソースソフトウェア(以下、OSS)のツールです。過去、手動と目視による作業が常だったサーバーのテストを圧倒的に簡易化するServerspe

                                                                  「一つのことをうまくやる」に忠実たれ。Serverspec開発者mizzyが語る成功するOSSの設計|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                                • インフラストラクチャ自動化フレームワーク「Chef」の基本

                                                                  DevOpsというキーワードに関連して、「Chef」というツールの名前を聞いたことのある人も多いのではないでしょうか。この記事では、インフラにおける構成管理、展開作業を自動化するChefの構造および基本的な使い方について解説します。 インフラストラクチャ自動化フレームワーク「Chef」 Chefは、物理、仮想、クラウドといったさまざまな大きさのインフラに対して、サーバやアプリケーションの展開を容易にするための自動化フレームワークです。 Chefの重要な要素の1つに「Infrastructure as Code」という概念があります。インフラをどのように構築し、維持するべきかという定義はRubyの文法で記述され、ソースコードのように扱うことができます。つまり、あたかもRubyでプログラミングをするように、インフラの構成管理をコードによって行えることがChefの利点の1つです。 自然言語による

                                                                    インフラストラクチャ自動化フレームワーク「Chef」の基本
                                                                  • 霞ヶ関に東大生を洗脳させて年収2000万で雇わせることで日本を先進国にしろ

                                                                    あらすじ 本邦が終わっていることは周知の事実で、どこに行っても、開口一番「日本って終わってますよね」と言えば、その場におけるインテリの地位を確立できる。一方で、その言葉の裏には、長年の羨望――つまり、いつになったら日本は『一等国』になれるのか――があるのも事実だ。 この記事では、本邦がいかに終わっているかを概観し、その後、霞ヶ関が東京大学の新入生を洗脳して年収2000万の俸給で雇うことによって、日本がOECDの一員として恥ずかしくないレベルの先進国へと発展するだろうと論ずる。 本文 問題たち 四つの階層に四つの問題がある。 1 一つには、本邦の貧困化だ。総体として語れば、20年度の実質成長率はマイナス5.2%という悲惨な実情がある。もちろん、これはコロナ禍における経済成長なので、本邦の真の成長率とはあまり関係がない。信じた人は反省して欲しい。もっとちゃんとしろ。 ただ、Googleで少し検

                                                                      霞ヶ関に東大生を洗脳させて年収2000万で雇わせることで日本を先進国にしろ
                                                                    • エンジニアは全員おうちKubernetesをやるべし【Part 1:なぜやるのか】 - Qiita

                                                                      こんにちは。おうちKubernetesを勧めるためにやってきました。 このシリーズでは、Part 1で「なぜやるのか」、Part 2で「どうやるのか」について話します。 この記事は自宅サーバー上のKubernetesで不特定多数向けのサービスを展開することを勧めるものではなく、自分用・身内用のアプリを自宅サーバー上のKubernetesで運用することを勧めるものです。 エンジニアは全員おうちKubernetesをやるべき絶対的な理由 自己研鑽のために (鑽←この字「研鑽」と「大鑽井盆地」でしか見ない) 企業がKubernetesを採用する場合、ほとんどがEKSやGKEといったクラウド上で動作するマネージドKubernetesサービスを使用すると思います。ただ、Kubernetesであればコマンドやマニフェストファイルの書き方は共通なので、おうちKubernetesで学んだことがそのまま業務

                                                                        エンジニアは全員おうちKubernetesをやるべし【Part 1:なぜやるのか】 - Qiita
                                                                      • いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita

                                                                        いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう!ShellScriptBashLinuxUNIXmacOS はじめに [ $? -eq 0 ] や [ $? -ne 0 ] は冗長でデメリットしかありません。非常に多く見かける書き方ですが、1979 年に Bourne シェルが広く公開された時からこのようなコードは必要ありませんでした。実際に当時はこのような書き方は使われておらず、このような書き方をしなければならなかった歴史的な経緯などはありません。これはなぜか広まってしまった良くない書き方です。 優れたコードとは無駄がないシンプルなコードです。丁寧なコードとは無駄な処理を書くことではありません。[ $? -eq 0 ] や [ $? -ne 0 ] は書かないほうが、簡単で読みやすくわかりやすくなります。優れた文法

                                                                          いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita
                                                                        • 名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita

                                                                          はじめに そりゃまあ 30 年も経てば古くなりますよ。「入門UNIXシェルプログラミング」は今もシェルスクリプトに関するオススメの本として名前が挙がる名著です。しかしこの本は古い本です。POSIX でシェルが標準化される以前の本で、内容から判断するとおそらく 1990 年ぐらいの常識に基づいて書かれています。 古いから参考にならないと言うつもりはありません。しかしどれだけ優れた本でも時間の流れには勝てません。良書であると思っているからこそ、古くなってしまった内容は訂正する必要があると考えています。なおシェルスクリプトに関する古い本はこれだけではありません。オライリーから出版されている本も古い本ばかりです。いつ頃に(原書が)書かれた本なのかを確認した方が良いでしょう。 ということでレビューというていで、古くなってしまった内容の訂正を行いたいと思います。新しく「入門UNIXシェルプログラミング

                                                                            名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita
                                                                          • Bash Scriptの作法 - Qiita

                                                                            はじめに チーム開発でシェルスクリプト(特にBash Script)を書く際に守るべきルールをまとめます。 シェルスクリプトのコードレビューをする際等にお役立てください。 スクリプト名 -区切りの小文字英数字(いわゆるkebab-case)をつける。拡張子は.sh. これは特に理由があるわけではないので_区切りでもよいし、チーム内にzshやfish等の他Shell愛好家がいる場合は拡張子は.bashでも良い。どちらにせよチーム内では統一しておかないと混乱の元となる。 改行コード LFを使用する。CRLFだと動作しないので書く際に間違うことはないが、Windows上のgitのautocrlf設定によってはご丁寧にCRLFでチェックアウトされてしまう。 避けるためにはgit config --global core.autocrlf inputとするか、.gitattributesをレポジトリ

                                                                              Bash Scriptの作法 - Qiita
                                                                            • UNIX & Linux コマンド・シェルスクリプト リファレンス

                                                                              サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

                                                                              • 第1回Webスクレイピング勉強会@東京 (全3回) - Qiita

                                                                                official connpass 「Webスクレイピングの基礎知識」(@nezuq) SlideShare 3つの壁を突破する 倫理 情報解析目的なら合法と解析と解釈(文化庁のQAに肯定的記述) 常識的な範囲でのアクセス障害なら過失と言える。(国立国会図書館の場合、1秒以上あけてスクレイピングなら可能) 技術 最低限でもHTMLの知識 事例(どう使うか) データジャーナリズム(データからストーリーを見つけ提供する。NHKでやってる) Data Journalism Handbook(大義がある) 「オープンデータのためのスクレイピング 〜抽出・共有・分析まで〜」(@ito_nao) SlideShare プログラミング不要でスクレイピング出来るwebサービスのご紹介 Tabula PDFからデータを抽出するツール kimono paginationが得意。 構造化されたクローリングは苦手

                                                                                  第1回Webスクレイピング勉強会@東京 (全3回) - Qiita
                                                                                • 大きなGitリポジトリをクローンするときの工夫を図解します - DeNA Testing Blog

                                                                                  こんにちは、SWETでCI/CDチームの前田( @mad_p )です。 SWETではCI/CDチームの一員として、Jenkins運用のサポートや、CI/CD回りのノウハウ蓄積・研究をしています。 はじめに Gitリポジトリをクローンすると、ローカルフォルダにはそのリポジトリの全体がダウンロードされ .git というフォルダに格納されます。ブランチをチェックアウトすると、ブランチ内のファイルがワーキングツリーとして展開されます。この様子を図にするとこのようになります。 この .git とワーキングツリーの使うディスク容量を節約しようというのが今回のお話です。特にJenkinsにおいて、大きめのGitリポジトリをクローンしてくる場合に課題があり、いろいろ工夫してみたので、その結果を紹介します。同じCI/CDチームの加瀬による記事「大規模リポジトリで高速にgit cloneするテクニック」と内容

                                                                                    大きなGitリポジトリをクローンするときの工夫を図解します - DeNA Testing Blog