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

  • Pythonを書き始める前に見るべきTips - Qiita

    Pythonを使ってこの方さまざまな点につまずいたが、ここではそんなトラップを回避して快適なPython Lifeを送っていただくべく、書き始める前に知っておけばよかったというTipsをまとめておく。 Python2系と3系について Pythonには2系と3系があり、3系では後方互換性に影響のある変更が入れられている。つまり、Python3のコードはPython2では動かないことがある(逆もしかり)。 Python3ではPython2における様々な点が改善されており、今から使うなら最新版のPython3で行うのが基だ(下記でも、Python3で改善されるものは明記するようにした)。何より、Python2は2020年1月1日をもってサポートが終了した。よって今からPython2を使う理由はない。未だにPython2を使う者は、小学生にもディスられる。 しかし、世の中にはまだPython3に

    Pythonを書き始める前に見るべきTips - Qiita
    keepkeptkept
    keepkeptkept 2017/08/30
    素晴らしい記事。
  • cloud-init を None データソースで動作確認する - Qiita

    AWS の CentOS 6 に cloud-init をインストールしていろいろ試してみようと思ったのですが、動きを確認するためにいちいちインスタンスを起動していたのではたまらんわーっと思いました。 そこで、None データソースを使ってローカルの環境で簡単に確認できるようにしてみました。 http://cloudinit.readthedocs.org/en/latest/topics/datasources.html#fallback-none インストール yum でインストールします。 cloud.cfg datasource_list で None データソースだけを指定し、datasource でメタデータとユーザーデータを指定します。 ユーザーデータは #include で /etc/cloud/user-data を読み込むようにします。 cloud_***_module

    cloud-init を None データソースで動作確認する - Qiita
  • GitHub English Challenge Cheat Sheet - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    GitHub English Challenge Cheat Sheet - Qiita
  • Golangのデバッガdelveの使い方 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Golangのデバッガdelveの使い方 - Qiita
  • go言語のデバッガ(delveとgdb)とcore dump - Qiita

    この記事は、Fujitsu Advent Calenderの3日目の記事です。 はじめに Fujitsu Advent Calenderを作った@YasunoriGoto1です。なんか、予想以上にすごい反響があってびっくりしています。温かい言葉をくれた方には厚く御礼申し上げます。また、厳しい言葉をかけてくださった方にも今後ともよろしくお願いします。 設立に至った経緯は2日目の記事で@tnaotoが書いてくれた内容のとおりです。「社外で実施するのは手続きとか色々ハードル高いよなー」って思っていたところに、@tnaotoや「かっこいい人」を始め、色々な人から背中を押してもらった感じです。 「かっこいい人」が出た時には、__「今この瞬間を逃してはならない」__とばかりにかなり急いで作ったので、Advent Calendarの趣旨とかQiitaがどういう場所なのかとか、正直色々広報不足で至らなかっ

    go言語のデバッガ(delveとgdb)とcore dump - Qiita
  • GitHub APIから学ぶ次世代のAPI実装方式GraphQL - Qiita

    最近公開されたGitHubAPIは、GraphQLという形式に対応しました。今後はこちらが主流になっていくようで、既存のREST APIからGraphQLへのマイグレーションガイドも提供されています。 今回は、このGraphQLについて、実際にGitHubAPIを叩きながらその仕組みを解説していきたいと思います。 GraphQLとは 歴史 GraphQLは、Facebookの中で2012年ごろから使われ始めたそうです。その後2015年のReact.js Confで紹介されたところ話題となり、同年"technical preview"のステータスでオープンソースとして公開されました。その後仕様が詰められ、2016年9月に晴れて"preview"を脱し公式実装として公開されました。これと同じタイミングで、GitHubからGraphQLバージョンのAPIが公開されています。 このあたりの経緯

    GitHub APIから学ぶ次世代のAPI実装方式GraphQL - Qiita
  • プロジェクト管理のエモいはなし - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 前置き 私のキャリアは少し変わっています。 この業界に新卒で入ってから十数年は、大手ゼネコン的SIerにて、ほぼ一貫してプロジェクトマネジメントをやってきました。最終的には100人月程度の案件を回していたので、中堅クラスではあったと思います。それなりに経験も積んだとは思いますが、あれ、そもそも私って人の管理をやるためにIT業界に入ったんだっけ。。というレーゾンテートル的な理由で、プログラマーに転身しました。 そんなわけで、おそらく日IT業界におけるプログラマーから管理職に至るという一般的なキャリアパスを逆行している形になります。 そ

    プロジェクト管理のエモいはなし - Qiita
  • kubeadmが何をやっているのかみてみた - Qiita

    この記事はKubernetes Advent Calendar 2016 8日目の記事です。 サクッとクラスタを組みたい! マルチノードでのKubernetesクラスタを構築する方法はいろいろありますが、王道的な方法がなく、いろんな方法で皆さん構築されてるかと思います。 Version 1.4からkubeadmという大抵の環境で簡単にクラスタ構築できる仕組みが入りました。詳しい方法は、こちらの記事が参考になります。 まだalphaなので、番投入するには怖い感じなのですが、何をしてくれているのかコードを読んでみました。 (とくにCSR周りが怪しいので、間違いがあれば、ご指摘お願いします) マスターの設定 (kubeadm init) ノードの状態確認 ノード自身のIPアドレスが自動検出されます。 また、必要なサービスがインストール済みか、ポートが空いているか事前に確認します。このあたりのコ

    kubeadmが何をやっているのかみてみた - Qiita
  • OAuth 2.0 全フローの図解と動画 - Qiita

    RFC 6749 (The OAuth 2.0 Authorization Framework) で定義されている 4 つの認可フロー、および、リフレッシュトークンを用いてアクセストークンの再発行を受けるフローの図解及び動画です。動画は YouTube へのリンクとなっています。 English version: Diagrams And Movies Of All The OAuth 2.0 Flows 追記 (2019-07-02) 認可決定エンドポイントからクライアントに認可コードやアクセストークンを渡す方法については、別記事『OAuth 2.0 の認可レスポンスとリダイレクトに関する説明』で解説していますので、ご参照ください。 追記(2020-03-20) この記事の内容を含む、筆者人による『OAuth & OIDC 入門編』解説動画を公開しました! 1. 認可コードフロー RF

    OAuth 2.0 全フローの図解と動画 - Qiita
  • Linuxでのdiffの「改行文字の違いを無視する」は改行文字の違いを無視しないという勘違い 【--strip-trailing-cr】 - Qiita

    Linuxでのdiffの「改行文字の違いを無視する」は改行文字の違いを無視しないという勘違い 【--strip-trailing-cr】Linuxdiff改行コードLinuxコマンド 結論 Linuxでは改行はLFであり、CRは改行として扱わない(当然) diffコマンドでは違いを行ごとに判定するが、 --strip-trailing-crオプションで改行の違いを無視できる(という解説を目にする)。 しかし、依然としてCRは改行扱いされず、 CRで改行されたファイルは、diffでうまく差分を取れない。 なので、nkfコマンドなどで、改行文字を置換しなければ、行単位での比較ができない。 ほんのすこし気合を入れて、--strip-trailing-crという三単語を読み解けば、このオプションの正しい動作が読み取れる。 --strip-trailing-crは決して、「LinuxでもCRを改行と

    Linuxでのdiffの「改行文字の違いを無視する」は改行文字の違いを無視しないという勘違い 【--strip-trailing-cr】 - Qiita
  • Go言語のFunctional Option Pattern - Qiita

    オプション パッケージを作る際、柔軟性を持たせるためにオプションを持たせたい時がしばしばあります。 しかしオプションは知っての通り設定しないことが少なくありません。 単にコンストラクタに並べるようでは無用な複雑さをはらむことになります。 JavaなどではOptional Parameterなどのように、デフォルト値が指定できる機能があります。 機能の厳選されたgo言語ではそのような機能はありませんが、 "Self Referential Functions Design"というテクニックがあり、 それについての記事がRob Pike氏の記事を筆頭にいくつか説明されています。 オプションと相性が非常に良いため、合わせて"Functional Option Pattern"とも呼ばれています。 Dave Cheney氏の記事を参考におおまかに説明したいと思います。 様々な解決策 あるServe

    Go言語のFunctional Option Pattern - Qiita
    keepkeptkept
    keepkeptkept 2017/04/02
    Functional Option Patternっていう名前があったのか!
  • http.client.Doでretryをするとき - Qiita

    client := &http.Client{} req, _ := http.NewRequest("POST", "http://localhost", bytes.NewBuffer([]byte(`test`))) resp, err := client.Do(req) if err != nil { resp, err = client.Do(req) } client := &http.Client{} req, _ := http.NewRequest("POST", "http://localhost", bytes.NewBuffer([]byte(`test`))) resp, err := client.Do(req) if err != nil { req, _ := http.NewRequest("POST", "http://localhost", bytes

    http.client.Doでretryをするとき - Qiita
  • Ubuntu 16.04 LTS ServerでSSHのホストキーが自動生成されない - Qiita

    $ sudo systemctl status sshd * ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2016-04-27 16:41:35 JST; 5min ago Process: 1326 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS) Main PID: 1701 (sshd) Tasks: 1 (limit: 512) Memory: 1.5M CPU: 154ms CGroup: /system.slice/ssh.s

    Ubuntu 16.04 LTS ServerでSSHのホストキーが自動生成されない - Qiita
    keepkeptkept
    keepkeptkept 2017/02/09
    “シーリング”
  • 日本人が間違いやすいコーディング上の英語 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    日本人が間違いやすいコーディング上の英語 - Qiita
  • LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita

    大人気TBSドラマ、「逃げるは恥だが役に立つ」でも話題になったインフラエンジニアという言葉ですが、今ではインターネットインフラを知らないまま開発をするのも難しい状況になっています。クラウドが一般化されたからといって単にリソースの調達が簡単になっただけで、つまりハードウェアの知識が無くても何とかやっていけるようになっただけであり、インフラの知識が要らなくなったなどということは全くなく、むしろdevopsの掛け声とともに、ソフトウェア開発者にインフラを見なければならない新たな責務が課せられたという、なかなか痺れる状況なのだろうと思います。 そういった中で、先日のさくらインターネットのAdvent Calendar最終日に「いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方」という記事を書かせて頂きましたが、今回はLinuxサーバの「負荷」と、ロードアベレージに関して、掘り下げ

    LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita
  • https://qiita.com/yukihiro_matz/items/13e96561df42d0105dd4

    keepkeptkept
    keepkeptkept 2016/12/25
    地方出身者としてすごく憧れる暮らし。
  • ほころびていくコミュニティとなかなかできない世代交代、そしてさよならアドベントカレンダー - Qiita

    追記: 以下の文章に対して佐藤広生先生が自らの体験に即した意見を述べておられます。ぜひ一読をお勧めします。 昨年2015年にjp.freebsd.orgドメインの終焉に伴い地域技術コミュニティの役割というポエムを書いた。今年のはその続編である。こんなポエムを書くのも今年で最後にしたい。 51歳を越えたオッサンがPort maintainerをやる状況 今年2016年は初めてFreeBSDのPort maintainerになった。devel/git-lfsとjapanese/dbskkd-cdbの2つについてである。どちらも自分の仕事に必要だったが、前のmaintainerが作業をしないままか、あるいは他の事情でmaintainer不在の状態になったか、という事情からである1。 Port maintainerをやること自身には異存はない。日にもTeXLiveのPortsを仕切っておられる佐

    ほころびていくコミュニティとなかなかできない世代交代、そしてさよならアドベントカレンダー - Qiita
  • NATSについて調べて動作を試してみた - Qiita

    NATSとは? NATSは軽量でハイパフォーマンスなメッセージングシステムを提供するミドルウェア。 比較されるミドルウェアとして、ActiveMQ、Kafka、Kestreal、NSQ、RabbitMQ等がある。 2016年7月現在のリリースバージョンは0.8.1。 NATSとNATS Streaming NATSには大きく2つの仕組みがある。 いわゆるNATSと呼ばれるものとNATS Streamingと呼ばれるものの2つ。 NATSの特徴 シンプルなテキストベースのプロトコル At-most-once-deliveryなメッセージング(TCP/IP上でメッセージのやりとりを行うため、TCPレベルでの保証) 様々なメッセージングモデルを実現 クラスタリング 遅いクライアントを自動で切断(Auto Pruning of Client) Ping-Pongタイムアウトまたはペンディングメッセ

    NATSについて調べて動作を試してみた - Qiita
  • 質問は恥ではないし役に立つ - Qiita

    一年半SEとして働いてきた中で、私自身が苦手だと思っており、他人からもそのように評価されていたのが「質問の仕方」でした。 それが先日、他人から「質問の仕方がうまいね」と褒められることがあり、ようやく一人前の質問の仕方ができるようになってきたので、どのようにして克服できたのか紹介したいと思います。 質問の基形 私が入社したばかりの頃は、わからないことがあればすぐに先輩に質問していました。 そのときにしていた質問の内容はだいたいこんな感じです。 「環境構築を手順書通りにやったんですけど、○○のコマンドでエラーがでてしまいます!なんとかなりませんか?」 このような質問を受け取ったら、先輩は暇ならばエラーメッセージを見てくれ、エラーメッセージに書かれていることに対して調査してくれるかもしれませんが、忙しいときにはそんなことはしてもらえません。 こんな質問を繰り返しているうちに先輩からは「技術系メ

    質問は恥ではないし役に立つ - Qiita
  • 仕事の役には立たない、Linuxにおけるジョークプログラムの話 - Qiita

    イカれたメンバーを紹介するぜ! 格言を出力する:fortune これは何? 英語の格言、明言をランダムに出力する。 ユーザ独自に格言を追加することも可能。 導入方法 $ /usr/bin/fortune I understand why you're confused. You're thinking too much. -- Carole Wallach. $ fortune -f 100.00% /usr/share/games/fortune 2.94% art 1.75% perl 0.06% ascii-art 0.33% pets 2.88% bofh-excuses 1.67% literature 6.56% computers 3.20% platitudes 7.28% cookie 4.48% politics 7.59% definitions 1.33% drug

    仕事の役には立たない、Linuxにおけるジョークプログラムの話 - Qiita