ブックマーク / qiita.com (113)

  • ほんとうに怖い。さくらのレンタルサーバー - Qiita

    Help us understand the problem. What is going on with this article? さくらで専用サーバーを10年ほど利用しています。 単体のハードを利用するもので、外部からの操作はsshでログインすることしかできないものです。 作業時間を必死に捻出して、こつこつと長期間システムを開発して何とか動作するものを作り上げていました。 さくらのレンタルサーバーを利用することは、ほんとうに危険で怖いことだとおもいます。 自分が体験したトラブルをレンタルサーバーの利用を検討している方々に共有させていただきたく初めて記事を書いてみました。 二年ほど前、さくらさんが専有サーバーの場所を移動したいという申し出があり快く許可しました。その時のご説明では、場所を移動するだけでハードの変更は一切行いませんというもので、今まで通りの動作が保証される作業内容というこ

    ほんとうに怖い。さくらのレンタルサーバー - Qiita
    iguchi1124
    iguchi1124 2019/12/25
    何が何に対する業務妨害なんだろ
  • Goを始めて1年間で最高にお世話になったGo関連ブックマークを晒します。 - Qiita

    自分は普段はChromeのブックマークを使ってよく見返す記事を保存しています。Goを一年間書いてきてブックマークを整理したのですが、せっかくなのでお世話になったブックマーク記事を晒します。 Blog & Serial The Go Blog Goの公式ブログ。深いところまでしっかり書かれているので、調べたいトピックはまずはここで調べたい。 https://blog.golang.org/ Practical Go GoのcontributorであるDave Cheneyさんのブログです。Goで開発&運用する上でのアドバイスが書かれており、入門記事だけでは得られないノウハウがふんだんにまとめられています。 https://dave.cheney.net/practical-go Goならわかるシステムプログラミング @shibukawaさんの連載です。Go低レイヤーを学んでいきます。根底の

    Goを始めて1年間で最高にお世話になったGo関連ブックマークを晒します。 - Qiita
  • Goの新しいerrors パッケージ xerrors - Qiita

    先日 xerrors パッケージがリリースされました。 このパッケージは、Proposal: Go 2 Error Inspection で提案されているものをGo1向けに外部ライブラリとして試験的に実装したものです。 Goの標準ライブラリではありませんが、Go公式がメンテナンスをしています。 このパッケージができた背景は、今まで多くのGoエンジニアは下位層のエラーの情報を伝播させるために pkg/errors パッケージ などの外部ライブラリを利用していました。この手法が開発者の間で普及したため標準ライブラリで正式に検討を始めることとなりました。 2019/9/4更新 Go 1.13では %w でのラップや Is メソッド、 As メソッドは正式に導入されました。 しかし%+w や %+v によるスタックトレースの表示の採用は見送られました。 スタックトレースの表示が必要な場合はxerr

    Goの新しいerrors パッケージ xerrors - Qiita
  • VS CodeによるPython開発環境のテンプレ - Qiita

    0. はじめに sublime使いだった僕が(使い込んではいなかったけど)社内のPython開発環境を統一するためにVS Codeの色々を調べたので,そのまとめです. 以下ができるような開発環境の構築を目的としています. 複数人がローカルで開発する時に,環境を揃えたい. ローカルからリモートサーバーにアクセスして開発したい. プロジェクトごとに依存関係を整理したい. コーディングスタイルや型などのチェックを入れたい. Pythonの環境周りはPipenvで管理し,ローカルでdockerを立ち上げてその中で開発するためのテンプレです. 1. install Setting up Visual Studio Code 2. Extension 2.1. 必須 以下は必須. python Remote Development Remote SSH git lens 2.2. オプショナル その他

    VS CodeによるPython開発環境のテンプレ - Qiita
  • 第一引数版パイプライン演算子 - Qiita

    You can read this article in English. Ruby の trunk にパイプライン演算子が入ったと話題になっていますね。 現在は意見募集中みたいな期間らしいので、思うところがある人は意見を上げると良いのではないでしょうか。 (※ Matz は「余計な混乱を生むから、名前は『チェーン演算子』とかにして記号も変更するよ( >>> とか?)」って言ってますね。 参照) ところでこの「パイプライン演算子」そのものについて、これを期に色々と語られているようですね。 @mame さんの記事がよくまとまっていてとてもわかりやすく読みやすいです。 雑に今回お話する内容に関係ある要点を抽出します。 Isabelle/ML が発祥で F# が広めた 来は「演算子の前の式の結果を、後ろの式の結果に関数適用するもの」 なのだけど Elixir はこれを「前の式の結果を後ろの関数

    第一引数版パイプライン演算子 - Qiita
  • 自宅サーバーでTwitter連携サービスを運営してたら家宅捜索された件 - Qiita

    概要 ある朝自宅に神奈川県警が乗り込んできた。 (なお自宅は神奈川県ではない) どうやら俺はTwitterにモロ画像を投稿していたらしい。 「間違いなくこの家から投稿されていた。プロバイダにも確認済みだ。」 「(ハンドルネーム)というアカウント使ってるでしょ」 「心当たりあるでしょ?」 「(ブランド名)のTシャツ持ってるでしょ?」 おやっ、何かがおかしいです。 想定される経緯 自宅サーバーではTwiGaTen( https://twigaten.204504byse.info/ )というWebサイトが稼動している。 そしてこいつはTwitterアカウントでログインしたアカウントのタイムラインを24時間365日収集し続けている。Twitterの仕様上、これは時々ログイン履歴として記録される。 そして警察はモロ画像をうpしたアカウントのログイン履歴を見て… 「固定回線からうpか。バカめ。」 「

    自宅サーバーでTwitter連携サービスを運営してたら家宅捜索された件 - Qiita
    iguchi1124
    iguchi1124 2019/06/11
    あるのかよ
  • 【Swift】weakやunownedなどの参照についてまとめてみた - Qiita

    これは? タイトルの通りです。 公式のSwiftガイドブックのAutomatic Reference Countingの資料をもとに書き下しています。 はじめに SwiftのメモリはガベージコレクションではなくARC(Automatic Reference Counting)によって管理されています。 まずはこのARCについてサクッと説明した後、それに関連する強参照,弱参照(weak)そして非所有参照(unowned)について説明します。 ARCとは 新しいインスタンスを初期化する際に、ARCはそのインスタンスの型や保有するプロパティに応じたメモリを確保します。 そして、そのインスタンスが必要なくなったらARCは確保しているメモリを解放します。 しかし、まだ必要なインスタンスにもかかわらずメモリを解放してしまった場合、その後インスタンスにアクセスしようとすれば当然クラッシュしてしまいます。

    【Swift】weakやunownedなどの参照についてまとめてみた - Qiita
    iguchi1124
    iguchi1124 2019/04/23
    弱参照と非所有参照良さそう
  • Goのjson.Decoderの使い方 - Qiita

    この記事は Go Advent Calendar 2015 の8日目の記事です。 はじめに GoでJSONを使用したい時、json.Unmarshalを使用すると簡単に変換ができます。 しかし、ユーザデータのインポート処理などで、例えば配列の要素が100万個あるような大きめのデータの場合、そのまま全体をjson.Unmarshalするのではなく、ストリームとして扱いたいです。 そんな時に使えるのが、json.Decoderになります。 基的な使い方 データ構造が、JSONオブジェクトの羅列の場合にはシンプルに使えます。 DecoderのExampleを引用しますが、 func main() { const jsonStream = ` {"Name": "Ed", "Text": "Knock knock."} {"Name": "Sam", "Text": "Who's there?"

    Goのjson.Decoderの使い方 - Qiita
  • なぜ、組織のつくりとソフトウェアアーキテクチャは似てしまうのか - Qiita

    このエントリーは、Engineering Manager Advent Calendarの25日目、最終日の記事です。 はじめに 拙著「エンジニアリング組織論への招待」では、ソフトウェア自体の構造とソフトウェアを作り上げる組織の構造が似てしまうという「コンウェイの法則」についてたびたび引用しました。 この「コンウェイの法則」は、ある一定規模の組織で働いたことのあるエンジニアであれば、実感を持って捉えることができるのでしょう。 しかし、何故、どのような力が働いて、「組織構造」と「ソフトウェアの構造」が似通ってきてしまうのかと問われると説明の難しいものです。 拙著においては、ロナルド・コースの取引コスト理論をベースに、社内取引においても取引コストが存在し、その取引コストがソフトウェアの構造をも変えていくという説明を行いました。 記事は、さらに踏み込んで、組織やビジネスに働く力学と、システムで

    なぜ、組織のつくりとソフトウェアアーキテクチャは似てしまうのか - Qiita
    iguchi1124
    iguchi1124 2018/12/27
    めっちゃ勉強になった。とりあえず冬休みはエンジニアリング組織論への招待を読んでみるか
  • RubyでCPUコアをフル活用してみた - Qiita

    2008年からべログでプログラマをしているし今でもプログラマをしているおおいしつかさです。 なんで名前がひらがななのかというと、ネットで活動していることが珍しかった時代に会社の人に活動がばれないようにするためでした。ぼくは1995年に「つかさの部屋」というホームページを持っていた黒歴史を持っています。すごくないですか?会社の人にばれたら超まずいでしょう?意味もなく絵文字を入れてみました。ちょっとふざけてみました。だんだん読む気がなくなってきたのでは? RubyCPUコアをフルに活用する Rubyでスレッドプログラミングをしても、CPUのコアを生かすことはできません。 RubyはGiant VM lock(GVL)によって、同時に実行されるスレッドはいつもひとつだけにされているからです。 I/O待ちの場合はGVLは解放されるので複数のスレッドが同時に動くことが可能になります。複数のU

    RubyでCPUコアをフル活用してみた - Qiita
    iguchi1124
    iguchi1124 2018/12/18
    すき “意味もなく猫の絵文字を入れてみました。ちょっとふざけてみました。だんだん読む気がなくなってきたのでは?”
  • BASIC以来、35年間プログラミングしてないIT企業社長が、ElixirでWebアプリを作った - Qiita

    fukuoka.ex代表のpiacereです 今回もご覧いただいて、ありがとうございます いつもと趣向違いですが、ウチのCEOが開発合宿中に行ったElixirチャレンジをお送りします そうそう、CEOと私は、地味に、35年くらい前にプログラミングをスタートしたという共通点を持っています その後、CEOはビジネスとマーケティングに進み、私はプログラミングとマーケティングに進みましたが、そんな2人が福岡で出会い、今は共に会社経営をしている訳です それでは、CEOが開発合宿中でElixirに触れていくログをお楽しみくださいー 内容が、面白かったり、役に立ったら、「いいね」よろしくお願いします CTOからの提案は、正直、気が重かった…しかし… カラビナテクノロジー株式会社 でCEOをやっている福田です 私は普段、事業会社向けのITシステム導入・運用をお手伝いしつつ、エンジニアにとって最高の組織を作

    BASIC以来、35年間プログラミングしてないIT企業社長が、ElixirでWebアプリを作った - Qiita
    iguchi1124
    iguchi1124 2018/12/03
    すごく良い
  • JavaScriptの { } を理解する - Qiita

    結果はどうなったでしょうか。 自分が今使っているGoogle Chromeだとこうなりました。 結果は{a: 10}というオブジェクトです。まあ、これは当然ですね。3 + 5と入力すれば実行されて8が返ってくるのですから、{a: 10}というオブジェクトリテラルを書けば{a: 10}というオブジェクトが作られるのは当然です。 ……。 ここで、一部の人は「おいふざけんなよ」と思っているかもしれません。というのも、この例は環境によっては違う結果になるのです。具体的には、Chrome以外2のブラウザのREPL(FirefoxやEdgeなど)が該当します。あと、ts-nodeのREPLも該当するらしいです。これらの環境では、結果は{a: 10}ではなく次のようになります。 オブジェクトを作ったはずなのに結果が10とか意味不明ですね。そもそも、こんな簡単なプログラムで結果が全然違うとか、JavaSc

    JavaScriptの { } を理解する - Qiita
    iguchi1124
    iguchi1124 2018/11/09
    めちゃめちゃ丁寧だ
  • お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考える - Qiita

    お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考えるmodelDDD設計 みなさんは、Modelと言われたときに何をイメージしますか? こんなアレを思い浮かべた方も多いかと思います。 マサカらせてください。やはりお前らのModelは間違っている。 アレをModelと呼ぶと何が不味いのか すみません、早速言い過ぎました。半分は正しいです。MVCの発明者、Trygve Reenskaug氏による1979年の説明によると、 Models represent knowledge. A model could be a single object (rather uninteresting), or it could be some structure of objects. 1 このように「Modelは単体のオブジェクトであっても

    お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考える - Qiita
  • 新人エンジニアの私が圧倒的成長するためにやっていること

    はじめに 私はエンジニアになってまだ4ヶ月のいわゆる新人枠。それでもこの4ヶ月、どのようなマインドや仕組みを用意して進めていけば圧倒的成長に繋がるのかを自分なりに試行錯誤し、実行してきました。 そこで、私の失敗談やそこから得た経験が、新人エンジニア同志の方の参考になればという思いで今回の記事を書きました。 周りのエンジニアとのレベルの違いを感じすぎて「自分なんて...」「こんなことを言ったら」と引っ込みがちだった私が圧倒的成長を目指してやったことが、エンジニアになりたての誰かのところに届けられたらうれしいです。一緒に圧倒的成長しましょう! できなくて当たり前。どんどんさらけ出そう 先輩エンジニアに言われてハッとした言葉があります。「初めたばかりなんだからできなくて当たり前」 できないことは恥ずかしいという考えは捨てて、積極的にできない自分をさらけ出すことが大事だと学びました。 それまでの私

    新人エンジニアの私が圧倒的成長するためにやっていること
    iguchi1124
    iguchi1124 2018/10/30
    眩しい
  • HTTP/2における双方向通信とgRPCとこれから - Qiita

    この記事は 第2のドワンゴ Advent Calendar 2017 最終日の記事です。 はじめに ウェブ技術を語る上で欠かすことのできない要素として、HTTPがある。 従来のHTTP/1を無くして、ここまでのウェブの発展はなかったといえるだろう。言うまでもなく、HTTP/1が我々人類に齎した功績は大きい。 しかしその一方で、その規格のシンプルな原理原則に縛られた結果、要件を達成するために非効率なネットワーク使用を前提とするシステムが量産されるなど、HTTP/1がもたらした技術的負債も存在する。 その中の一分野として、双方向通信に着目したときに、HTTP/1からHTTP/2へのアップグレードによってどのような変化がもたらされたか。 稿ではHTTP/2という規格と、それが持つ可能性の一端としてgRPCについての仕組みを紹介し、従来とこれからのWeb開発における双方向通信について述懐する。

    HTTP/2における双方向通信とgRPCとこれから - Qiita
    iguchi1124
    iguchi1124 2018/10/28
    何回も読み返してる
  • Storybookがなぜ必要か?(Vue.js編) - Qiita

    まさあき(@masaaakikunsan)です。 最近よく、「Storybookを導入しよう」「Storybookがいい」と言う話は聞きますが、意外となぜ必要なのか、どう使うのか、という記事がみつからなかったので、基的な使い方をサンプルと共に紹介します。 TL;DR StorybookUIコンポーネントのカタログを作ることができる カタログのおかげでデザイナーと認識の齟齬が生まれなくなる アドオンを追加するとStorybookがかなり便利アイテムになる Storybookとは ざっくり言うとコンポーネントのカタログです。 コンポーネントライブラリの参照ができ、各コンポーネントの様々な状態の表示などができるものとなります。 また、アプリ外で実行されるため、UIコンポーネントを単独で開発でき、コンポネの再利用、テストの容易性、開発スピードを向上させることができるのが魅力です。

    Storybookがなぜ必要か?(Vue.js編) - Qiita
  • Envoyでサービスメッシュを作ろう - Qiita

    tl; dr Envoygo-control-planeを利用すれば、そこそこ手軽にサービスメッシュを作ることができます。 ソースコードとサンプルはこちらにあります。 meshem: https://github.com/rerorero/meshem サービスメッシュとは サービスメッシュは、マイクロサービスが抱える問題を解決するためのアーキテクチャのひとつです。2017年にLinkerdを開発しているBuoyant社のCTOが使うようになり、広まったとされています。 What's a service mesh? And why do I need one? Pattern: Service Mesh 2つ目の記事にあるように、言葉自体は新しいものの、その考え方は突然登場したというわけではなく、以前より各社が試行錯誤してきてたどり着いた一つのアプローチであり、実践や知見に基づいた問題解

    Envoyでサービスメッシュを作ろう - Qiita
  • ぼくたちのかんがえたさいきょうのi18n国家

    記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一瞬で滅びそう — Masaki Hara (@qnighy) 2018年8月6日 長い前置き ソフトウェアのi18nは難しい。自文化では当たり前と思っていてハードコードしてしまった仮定が崩れて、大幅な再設計を余儀なくされるからだ。気づいて再設計できればまだ良

    ぼくたちのかんがえたさいきょうのi18n国家
  • Chromeの開発者ツールを使って特定のDOM要素だけスクリーンショットする方法 - Qiita

    特定のDOM要素のみスクショする機能がChromeにあるってことをさっき知りました。 大変便利だったので書き留めます。 元ネタ: Chrome DevTools: Capture the screenshot of a specific element /dev tips 特定DOM要素をスクショする方法 例えばQiitaのあるコードブロックだけ撮影したいとします。 Command + Shift + i で開発者ツールを起動して自力で選択 または 右クリック → 検証 として開発者ツールのElementsタグを開き、DOMが選択されている状態にします。 この状態で Command + Shift + p を押すと文字入力欄が開くので、 node screenshotと打ち込むと、打ってる途中で Mobile Capture node screenshot という選択肢が絞りこめます。 ク

    Chromeの開発者ツールを使って特定のDOM要素だけスクリーンショットする方法 - Qiita
    iguchi1124
    iguchi1124 2018/08/02
    便利
  • プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話 - Qiita

    プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話ShellScriptBash 普通のプログラミング言語での開発に慣れた人ほどシェルスクリプト、特にBashで戸惑う部分の一つに、i = 0のように空白を開ければエラーになるし、かといってif[$i!=0]のように詰めてもやっぱりエラーになる、という点が挙げられます。書きたい物を思うように書けなくて「なんだよこのクソ言語は!!!」とブチギレる人は少なくないのではないでしょうか。この記事では、そのイライラを解消するポイントをお伝えしようと思います。 以下、特に断り無く「シェルスクリプト」と書いている場合はすべて「Bashのスクリプト」という意味になります。zsh等他のシェルではまた事情が異なりますので、ご注意ください。 (※以前プログラマーの君! 騙されるな! シェルスクリプトはそう書いち

    プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話 - Qiita
    iguchi1124
    iguchi1124 2018/07/17
    思い・・・出した!綴る!