タグ

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

  • Goのgoroutine, channelをちょっと攻略! - Qiita

    Gogoroutine, channelがわからない マルチスレッドってなんやねん! go ステートメントってなんやねん! <- なんやねんこれ!意味不明 これをやりましょう → Go by Example やっていれば、なんとなくわかってくる。かも 以下は Go by Exampleを少し変更を加えて実行した例です。 Goroutineとは Tour of go によると goroutine (ゴルーチン)は、Goのランタイムに管理される軽量なスレッドです。 まず、スレッドがちゃんと理解してない スレッド:一連のプログラムの流れ シングルスレッド:1つのスレッドだけからなるプログラム マルチスレッド:1つのプログラムで複数のスレッドを同時に実行する マルチスレッド最強やんけ!ずっとこれ使えば小早川セナじゃん! → 実際には、しっかり理解して使わないとパフォーマンスが低下したり、デッドロ

    Goのgoroutine, channelをちょっと攻略! - Qiita
    mfham
    mfham 2020/12/16
  • 【Goのやさしい記事】goroutineと排他制御を10分で入門しよう! - Qiita

    はじめに この記事ではgoroutineおよび関連性の高いsyncパッケージの基知識や使い方をまとめます。 Goの基的な文法はざっと触れたが、「goroutine」、「WaitGroup」、「channel」、「Mutex」などの言葉を聞いて全く心配ないとは言い切れない人向けの記事です。 残念ながら、メモリやCPU、プロセスなどのOSに近いところまでは踏み入れません。 goroutineは簡単だとよく聞きますが、そもそも並行処理そのものが難しいので1つずつ理解してきましょう! 記事での動作確認環境は以下です。 Goでの並行処理 ネットワーク通信などで待ち時間の大きい処理を非同期に行いたい、直列で動作させる必要がない処理群を高速に終わらせたいなどを理由に並行処理を使うことが多いと思います。 Goではgoroutineと呼ばれる軽量スレッドを簡単に動かせます。 なぜ「軽量」か メモリ消費

    【Goのやさしい記事】goroutineと排他制御を10分で入門しよう! - Qiita
    mfham
    mfham 2020/12/15
  • Goの初心者が見ると幸せになれる場所 #golang - Qiita

    公式サイト A Tour of Go Web上で実行しながら学ぶことができる公式のチュートリアルです。 チュートリアル 公式のチュートリアルです。初学者向けからジェネリクスのチュートリアルなども用意されています。 A Tour of Goが終わった後に取り組むと良いでしょう。 Go Wiki Go Code Review Commentsなどが掲載されているGitHub上のWikiです。 パッケージドキュメント 標準パッケージやサードパーティ製のパッケージのドキュメントが見れるサイトです。検索もできます。 入門 プログラミング言語Go完全入門 筆者が作っている巨大なGoの入門資料です。なぜGoが作られたのか、から最新のジェネリクスの情報、静的解析まで扱っています。 Gopher道場 Goを体系的に学べる場です。10時間くらいある動画教材(自習室から入手可)もあります。 Go の最初の手順

    Goの初心者が見ると幸せになれる場所 #golang - Qiita
    mfham
    mfham 2020/12/15
  • [ffmpeg] 音声形式の変換方法まとめ - Qiita

    条件 入力ファイル CD形式の音声 44.1kHz Stereo 16bit ffmpeg ffmpeg version 2.4.git (Linuxでソースコードからコンパイルしたもの) 必要に応じてコーデックのライブラリもインストールしていること WAVからFLACへ変換

    [ffmpeg] 音声形式の変換方法まとめ - Qiita
    mfham
    mfham 2020/12/13
  • これからGolang開発を行うRubyistたちへ - Qiita

    背景 APIサーバー開発などを今までRuby(主にRails)で開発していたRubyistがサーバーサイド全部をフルGolangで実装している会社に転職して、2週間が経ち今までのGolang開発で学んだことをまとめました。 これからGolang開発をするRubyistたちが、「自分と同じようにつまずくかもしれない」または「Golang格的に書き始める前に知っておきたかったなあ」と思うところがまとめてあります。 最近、Ruby on RailsRuby開発を進めている会社でも、必要な箇所でGoLang開発を行なっていると聞いたので、Golang開発に興味があるRubyistが大勢いるじゃないかと思い、転職をきっかけに記事を書かせていただきました。 「Golang開発やってみたい!」「会社で導入することになった」というRubyistたちの最初のステップになれば幸いです。 Rubyはこうだ

    これからGolang開発を行うRubyistたちへ - Qiita
    mfham
    mfham 2020/12/11
  • 他言語プログラマがgolangの基本を押さえる為のまとめ - Qiita

    概要 普段はgolang以外を書いている人が、 golangを始めたい時にとりあえず押さえておきたい言語仕様のまとめ。 golang の特徴 Google 開発 コンパイル型の言語 シンプルな言語仕様 コンパイル・実行が高速 並行プログラミングに強い 基知識 .go の拡張子 golang のプログラムは何らかの package に属している必要があり、そのうちの 1 つは必ず main でなければならない。 main パッケージの中で main 関数があれば、それを実行する決まりになっている タブ区切り推奨 セミコロンなし ビルドと実行

    他言語プログラマがgolangの基本を押さえる為のまとめ - Qiita
    mfham
    mfham 2020/12/11
  • 単一責任原則で無責任な多目的クラスを爆殺する - Qiita

    この記事は クラウドワークスアドベントカレンダー2020 8日目の記事です。 概要 こんにちは、クソコードを爆殺リファクタリングするのが大好きなミノ駆動です。 今回は単一責任原則の話です。 単一責任原則はSOLID原則のひとつとして有名で、2020年のオブジェクト指向カンファレンスのアンケートでも、SOLID原則の中で最も人気がありました。 皆さんは単一責任原則を遵守した設計をしていますか。 どんな構造が単一責任設計で、一方どんな構造が単一責任でない設計か、明確に意識していますか。説明できますでしょうか。 ところで「単一責任原則とはなんぞや」について、少なくとも私の観測範囲では、概念的な話にとどまっているものが多く、コードレベルで具体的に説明しているものは少ないように感じます。 そうした状況からか、単一責任原則の解釈が人によって違っていたりしているように感じます。 記事は、今一度単一責任

    単一責任原則で無責任な多目的クラスを爆殺する - Qiita
    mfham
    mfham 2020/12/09
  • エンジニア未経験の営業職の僕が、AWS認定ソリューションアーキテクトに3ヶ月で一発合格するまでの勉強法。 - Qiita

    エンジニア未経験の営業職の僕が、AWS認定ソリューションアーキテクトに3ヶ月で一発合格するまでの勉強法AWSAWS認定ソリューションアーキテクト未経験エンジニアUdemyAWS認定試験 現在、社会人5年目 27歳 建設業界の営業職でエンジニア未経験の僕が、どのように3ヶ月でSAA-C02版のAWS認定ソリューションアーキテクトに2020年10月10日に一発合格しました! 日々営業活動をしながら、全くの別業界の資格に合格するまでの勉強内容を体験記として投稿させていただきます 「この投稿者質より量だな」「もっと効率のいい方法あるだろ」と思われるかもしれませんが、AWS認定ソリューションアーキテクトに関する費用としては試験費を除くと約3000円での学習となります。転職を考えていて資格は取りたいけどお金が、、、などと思われている方のお助けになればと思います。 最後まで、読んでいただけると幸いです

    エンジニア未経験の営業職の僕が、AWS認定ソリューションアーキテクトに3ヶ月で一発合格するまでの勉強法。 - Qiita
    mfham
    mfham 2020/11/27
  • Shift_JISサイトをNokogiriでパースするときにはエンコード指定(CP932指定推奨) - Qiita

    require 'nokogiri' require 'open-uri' doc = Nokogiri::HTML.parse(open(url, "r:Shift_JIS").read) doc = Nokogiri::HTML.parse(open(url).read, nil, "Shift_JIS") #別解1 doc = Nokogiri::HTML.parse(open(url), nil, "Shift_JIS") #別解2 結論2 (2014/11/4追加) サイト中のテキストに Windows の機種依存文字が含まれている場合は Shift_JIS 指定だと Nokogiri が (正確には Ruby が)解釈に失敗してパースし損ない、 Nokogiri オブジェクトが途中で切れてしまいます。ので CP932 を指定する必要があります。 よって、Shift_JIS エン

    Shift_JISサイトをNokogiriでパースするときにはエンコード指定(CP932指定推奨) - Qiita
    mfham
    mfham 2020/11/16
  • ドキュメント作成スキル向上を目指す人向けおすすめ記事まとめ - Qiita

    システム開発にドキュメントは欠かせません。ドキュメントが得意になれば活躍の幅が大いに広がりますよね。 この記事では、まず冒頭でドキュメントの作成に求められると思うことを整理した上で、そのスキル獲得に役立つと思われる記事や書籍を集めてみました。もちろん他にもあると思うので、もしお薦めのものがあれば是非コメントで教えて下さい 更新履歴 ・2021/04/16:文章術系にリンクを追加しました。 ・2020/11/28:文章術系にリンクを追加しました。 ・2020/07/24:文章術系にリンクを追加しました。 ・2020/05/24:文章術系にリンクを追加しました。 ・2020/05/14:スライドデザイン系にリンクを追加しました。 ・2020/04/29:スライドデザイン系にリンクを追加しました。 ・2020/04/17:文章術系にリンクを追加しました。 ・2020/04/12:関連するTwit

    ドキュメント作成スキル向上を目指す人向けおすすめ記事まとめ - Qiita
  • history コマンドに日時を付与する - Qiita

    上記のリストにない値は無視される。 HISTCONTROL が設定されていない、または有効な値が含まれていない場合、シェルパーサーが読み取ったすべての行は HISTIGNORE の値に従って履歴に保存される。 複数行の複合コマンドの2行目以降の行は検査されず、HISTCONTROL の値に関係なく履歴に追加される。 1 HISTFILE コマンド履歴が保存されるファイル名。デフォルト値は ~/.bash_history になる。 HISTFILESIZE 履歴ファイルに含まれる行の最大数。この変数に値が割り当てられると、必要に応じて履歴ファイルが切り捨てられ、最も古いエントリを削除してその行数を超えないようにする。履歴ファイルはシェル終了時に書き込んだ後にこのサイズに切り捨てられる。 値が 0 の場合、履歴ファイルは 0 サイズに切り捨てられる。数値以外の値と 0 より小さい数値は切り捨て

    history コマンドに日時を付与する - Qiita
    mfham
    mfham 2020/09/18
  • 音感を鍛えるツールをNuxt.js × Netlifyで作った - Qiita

    はじめに フロントエンドのエコシステムのトレンドって日々移り変わってきますよね。儚い。 最近は、サーバレスアーキテクチャやホスティングサービスが充実してきて、インフラに手間をかけることなくアプリケーションの開発ができるようになってきました。 今回はその中でも業務でいずれ触るかもしれないと思ったものを使いつつ、この記事を読んでくれている音楽好きな方に向けてツールを作ってみました。 作ったもの 「otohaba(オトハバ)」 2つの音の度数関係をクイズで出題するツール https://serene-austin-c74890.netlify.com/ github:https://github.com/takahirotanaka0920/otohaba 音程について詳しくなりたい方はこちら https://ja.wikipedia.org/wiki/%E9%9F%B3%E7%A8%8B 使っ

    音感を鍛えるツールをNuxt.js × Netlifyで作った - Qiita
    mfham
    mfham 2020/08/11
  • Laravelとオブジェクト指向とクリーンアーキテクチャについて理解を深めてみた。 - Qiita

    【追記(2020/06/08)】 投稿に頂いたコメントを基に加筆しました。以下に挙げた項目に対して加筆し、加筆した部分は【追記】と記載しています。 View Presenter / View Model 【追記(2020/05/31)】 同期の子から貰ったコメントを基に加筆しました。以下に挙げた項目に対して加筆し、加筆した部分は【追記】と記載しています。 SOLID原則 Form Request 新卒研修で「Laravelを使ってアプリケーションを自分で作ってみよう。」という趣旨のコーナーがあり、同期がやっていることを真似てClean Architectureを導入してみるも、無事、爆死することに成功しました。この投稿は、爆死するまでに得た知見についてまとめたものです。 この記事を読むことで得られる知見 投稿の要旨を載せておきます。 MVCアーキテクチャに愚直に沿うと、Fat Contr

    Laravelとオブジェクト指向とクリーンアーキテクチャについて理解を深めてみた。 - Qiita
  • Amazon Linux 2 で SSH を保護する - Qiita

    概要 Amazon Linux 2 で (比較的) 安全に SSH を利用するための方法例です。 以下の 3 パターンについて記述します。 SSH 利用者が固定 IP アドレスを持っている。 → A. セキュリティグループに SSH 利用者の IP アドレスを設定しておく。 SSH 利用者が固定 IP アドレスを持っていない。 → B. SSH を利用するときだけセキュリティグループを更新する。 → C. iptables+fail2ban で SSH への接続を制限する。 安全性は A >> B >> C >> (何もしない) です。 出来る限り固定 IP アドレスを利用しましょう。 前提 1. SSH の基設定 SSH は プロトコルは SSH-2 のみ (そもそも、もう SSH-1 は設定できなくなりました) root ではログインできないようにしておく (Amazon Linux

    Amazon Linux 2 で SSH を保護する - Qiita
  • 踏み台の向こうにあるMySQLサーバに一発アクセスする - Qiita

    動機 株式会社iRidgeサーバーサイドエンジニアをやっています。lighttger2505です。 Vim以外の内容を書くのは久しぶりです。 さて弊社ではメインのDBとしてMySQLを使用しています。私は入社してから幾度なくDBにアクセスしてきましたが、 少し前の私には大きな不満がありました。 DBがローカルであればmysqlコマンド一発でアクセスできるのですが、 AWS RDS上に立っているDBサーバにアクセスするには踏み台サーバにssh後、mysqlコマンドを実行したり.. 踏み台サーバーにssh後、更にwebアプリケーションサーバにssh後、mysqlコマンドを実行したり... めんどくさいですね。 以下のように様々なめんどくささがあります DBサーバが遠くなればなるほどに、手間がかかる mysqldumpコマンド等でダンプ取るとかdumpファイルでリストアしたりとか、いちいちscp

    踏み台の向こうにあるMySQLサーバに一発アクセスする - Qiita
  • Apache の MaxClients の適正値 - Qiita

    MaxClients / MaxRequestWorkers に関する言及 Apache の MaxClients / MaxRequestWorkers の適正値に関する言及を時系列にまとめた。敬称略。 他に重要な言及をしているWebページがあればお知らせください。 2002/07/23 一志達也(TIS株式会社) ApacheによるWebサーバ構築(16):Apacheパフォーマンス・チューニングの実践 (2/2) - @IT プロセス数を制限するためのディレクティブが「MaxClients」である。このディレクティブには、同時に接続できるクライアント(厳密にはセッション)の数を指定する。 ...略... abで同時接続数を上げながら、CPUやメモリの状態、abが示すパフォーマンスの推移を調査する。それに伴ってMaxClientsの値も上げながら、飽和点を探る作業を行うのだ。 リファレ

    Apache の MaxClients の適正値 - Qiita
    mfham
    mfham 2020/08/03
  • ApacheのMaxRequestWorkersエラーについて - Qiita

    [root@WEB ~]# cat /var/log/httpd/error_log [Sun Dec 02 02:02:12.975916 2018] [mpm_prefork:notice] [pid 27352] AH00170: caught SIGWINCH, shutting down gracefully [Sun Dec 02 02:02:14.048264 2018] [mpm_prefork:notice] [pid 27461] AH00163: Apache/2.4.6 (CentOS) configured -- resuming normal operations [Sun Dec 02 02:02:14.048289 2018] [core:notice] [pid 27461] AH00094: Command line: '/usr/sbin/httpd

    ApacheのMaxRequestWorkersエラーについて - Qiita
    mfham
    mfham 2020/08/03
  • Tomcat の初期設定まとめ - Qiita

    はじめに 最近は Jetty に押されている感もありますが、Apache Tomcat は今でも各ディストリビューションに rpm が用意されていたりと、よく使われる Java AP サーバです。しかし、そのわりには初期設定がイマイチなことが多く、インストール後いろいろと設定を変更しなければならなくなります。にも関わらず、ドキュメントを読むだけでは、どう設定すれば適切と言えるのかわかりずらいところがあります。 この文書は、いつも行う手順を自分なりにまとめたものです。こうした方が良いなどあれば追記しますのでコメントでご指摘頂けると幸いです。なお、稿を書いている時点でのバージョンは、Tomcat 8.5 です1。 2017/01/31 追記:フロントエンドサーバから HTTP で接続する場合の設定を追記しました。 不要な webapp の削除 tomcat.apache.org の配布物を展

    Tomcat の初期設定まとめ - Qiita
  • log4j2の設定ファイル(XML) - Qiita

    目的 自分が使いそうな設定のまとめ。 jar ファイル 最低限、以下のファイルが必要。 log4j-api-2.3.jar log4j-core-2.3.jar (2.3 はこれを書いている時点の最新バージョン) 全体 こんな感じで。 ファイル名はlog4j2.xmlとして、クラスパス上に配置。 <?xml version="1.0" encoding="UTF-8"?> <Configuration status="off"> <!-- AppenterやLoggerで使用するプロパティを定義する --> <Properties> <Property name="...">hoge</Property> <Property name="..." value="..." /> </Properties> <!-- ログの出力先と出力フォーマットを設定する --> <Appenders> <

    log4j2の設定ファイル(XML) - Qiita
    mfham
    mfham 2020/07/15
  • �【Flutter】もう怖くない!アプリ内課金・定期購入機能を実装する方法を丁寧に説明してみた。 - Qiita

    7月にFlutter開発を始めてから2作目、アイデアを発想するためのメモアプリ「アイデアメモ iX」をリリースしました。 走り書きをする感覚でサッとメモができ、さらにそのメモを組み合わせてシャッフルして表示したり、ランダムで過去のメモをピックアップしたり、アイデアのヒントになるようなワードを表示したり、アプリのアイデア出しにぴったりなアプリです。 ■AppStore https://apps.apple.com/jp/app/id1517535550 ■Google Play https://play.google.com/store/apps/details?id=com.IdeaShuffleMemoApp&hl=ja ■アプリの詳細記事 https://yukio.site/idea_shuffle_memo/ さて、このアプリを作成するにあたり、3つの機能を実装しようと取り組みまし

    �【Flutter】もう怖くない!アプリ内課金・定期購入機能を実装する方法を丁寧に説明してみた。 - Qiita