タグ

ブックマーク / qiita.com (1,255)

  • AWS IoT Greengrass 2.0が出たので早速試してみた - Qiita

    re:InventでGreengassのバージョンアップが発表されました〜!!! AWS IoT Greengrass 2.0 を発表 — オープンソースエッジランタイムと新しい開発者向け機能 ちょっと試してみたのですが、1.0とは別物です(笑) 環境 ハード:Raspberry Pi 4 OS:Raspberry Pi OS(32bit) OSは新規インストール、SSH接続ができる状態でスタートしました。 インストール Cgroupsを有効化 いつものcgroup_enable=memory cgroup_memory=1を末尾に足します。 ※いつもの過ぎて公式ドキュメントに載ってなさそう - console=serial0,115200 console=tty1 root=PARTUUID=a1849cf9-02 rootfstype=ext4 elevator=deadline fs

    AWS IoT Greengrass 2.0が出たので早速試してみた - Qiita
    syuu256
    syuu256 2021/03/12
  • モダンプログラマになれない組込みプログラマの苦悩 - Qiita

    はじめに 10年以上組込みエンジニアをしている@yagisawaです。 Qiitaのトップ記事では新しいフレームワークの使い方とかモダン言語の新しい言語仕様の解説とかが流れてきて、いつも羨ましいなーと思いながら読んでいます。 記事は組込みシステム開発をしていて経験したこと・感じたことを自虐ネタとして書き連ねていこうと思います。他ITエンジニアの人に「うわっ、可愛そう」って思ってもらうのが目標です(ぇ 各業界それぞれに悩みはあると思うので、自分たちが一番不幸とかは思っていません。おそらく隣の芝が青く見えているだけです。それよりあまり組込みの記事は見かけないので、「組込みエンジニア仕事ってこんな感じ」というのを知ってもらう意図があったりします。 内容によっては「それはあなたの設計が悪いからです」と言われてしまうようなところもあるとは思いますが、建設的なご意見は大歓迎ですが基は温かい目で見

    モダンプログラマになれない組込みプログラマの苦悩 - Qiita
    syuu256
    syuu256 2021/03/10
  • EMR+Prestoこまごま - Qiita

    EMR+presto関連の細かい設定に関して。 Emr5.1.0で検証しています。 Emrと関係ない話も多分に含まれます。 サクっと とりあえずちゃっちゃかやりたい人は http://qiita.com/mix/items/887c545daf5491eed552 ここをどうぞ! ソフトウェア設定の編集 ・hiveのmetastoreを外部のmysqlへ(例はRDS) ・presto-configの一部の設定 ・mysql.propertiesの追加 [ { "Classification": "hive-site", "Properties": { "javax.jdo.option.ConnectionUserName": "Mysqlユーザ", "javax.jdo.option.ConnectionPassword": "パスワード", "javax.jdo.option.Conn

    EMR+Prestoこまごま - Qiita
    syuu256
    syuu256 2021/03/09
  • 一銭も払わずにクラウド上でWebサービスを公開する(2021/02時点) - Qiita

    これはなに? Webサービスを開発する際に使えるサービスのうち、無料枠があるものをまとめました。 自分でちょっとしたWebサービスを作ろうと思ったときに一銭も払いたくないなという気持ちがあるが、そもそもどの程度までちゃんとした構成が取れるんだっけというのをこれまでに100万回調べている気がするので自分用にまとめたメモです。 前提として、基的にはAWSGCPを対象に調べて、一部はそれ以外のサービスも追加で調べている、という感じです 最初に結論 「無料でWebサービスを提供する」というところだけに集中するならAWSよりはGCPのほうが良さそう(ハードルが低そう + できることが多そう) 無料枠だけで完結させるならherokuSQLも使えるし視野に入れて良さそう ドメイン周りだけはどうにもならないので諦めてお金を払うか各クラウドサービスのドメインのまま使いましょう 無料の範囲内で最低限のW

    一銭も払わずにクラウド上でWebサービスを公開する(2021/02時点) - Qiita
    syuu256
    syuu256 2021/03/04
  • 10年間使ってみて見えたHaskellの闇と光 - Qiita

    はじめに わたしがHaskellを使い始めてもうそろそろ10年目になります。(タイトルは多少サバを読んでいますね) これまで使ってきた感想をまとめます。 Haskellのつらいところ まずは愚痴らせてください。 コンパイルが遅い 依存モジュールはすべてソースコードからビルドする必要があります。(バイナリ形式のモジュールはありません) 最初のビルドに20分くらい待つのはザラです。 複雑な型システムをつかうと型推論や型レベル計算に時間がかかります。 高速なHaskellプログラムを書くためには多くの関数をインライン化する必要があります。最適化ビルドではインライン展開によってコードサイズが大きくなるので時間がかかります。 デバッグが難しい 公式のGHCiデバッガはありますが、今のところIDEから簡単に利用できるわけではないですし、コンパイル済みのライブラリはデバッグできないです。 近年スタックト

    10年間使ってみて見えたHaskellの闇と光 - Qiita
    syuu256
    syuu256 2021/03/02
  • POSIX準拠シェルスクリプトでマルチコアの能力を活用する並列処理の実装(最大並列数あり、GNU Parallel, xargsなし) - Qiita

    実は最大並列数の制限がなければジョブ(標準入力からの一行単位のデータ)の数だけバックグラウンドプロセスを起動すればいいのでかなり簡単に実装できます。ですが普通は嫌ですよね?ということで最大並列数を制限する処理を入れています。また通常の利用で必要になりそうな CTRL-C と TERM シグナルへの対応もしています。 #!/bin/sh set -eu [ "${ZSH_VERSION:-}" ] && setopt shwordsplit MAX_PROC=4 # 最大並列数 # INT(CTRL-C)、TERM による終了処理 terminate() { trap '' TERM kill -TERM 0 exit "$1" } trap "terminate 130" INT trap "terminate 143" TERM # trap : CONT # 並列で実行される処理 fu

    POSIX準拠シェルスクリプトでマルチコアの能力を活用する並列処理の実装(最大並列数あり、GNU Parallel, xargsなし) - Qiita
    syuu256
    syuu256 2021/03/02
  • こんなコードは嫌だ、古い書き方のコード駆逐したい(とりあえず9つ) - Qiita

    時代は令和ぞ、何を書いとるんや 転職してきた若いプログラマが変なコード書いている。 どうやら前社の社内研修で教わったとのこと。 さて、何を教わったのだろうか。 ※一応TypeScriptで書きましたが別にC#でも言えることです。 ※CやC++やアセンブラのことは全く知らないので、そのあたり詳しい人は今どんな書き方か記事書いていただけると勉強になります。 1.変数名が雑 クラス、関数、変数、どれも命名は難しいものです。1 大体が英語で大変です。けど頑張ってわかりやすい名前つけるようにしています。 読んで勉強してください。Google翻訳使ってください。 10行程度の短い関数ならretでもdataとか適当な名前でもいいけど 長くなるようならちゃんと名前つけてるようにしたほうがいいです。 わかりやすい変数名をつけることでひと目で、その変数の役割が理解出来ます。 // Goodってなんやねん!な

    こんなコードは嫌だ、古い書き方のコード駆逐したい(とりあえず9つ) - Qiita
    syuu256
    syuu256 2021/02/21
  • digdagでプラグイン作成時の注意点 - Qiita

    はじめに digdagプラグイン作成時に期待しない挙動となり困った点がいくつかありました。 その中から2点ほど注意すべき点を紹介したいと思います。 digdagのバージョンはv0.9.37です。 注意する点 (1)CommandExecutorを使用する (2)runTaskで投げる例外による挙動の違い (1)CommandExecutorを使用する Dockerコンテナ上での使用を想定するオペレータの場合、コマンドの実行はCommandExecutorを介して行いましょう。 CommandExecutorを使用しない場合コンテナ上で動かすことは出来ません。 CommandExecutorの実装はDockerCommandExecutorで、workflowdockerが設定されているかどうかによってコンテナ実行するかの分岐処理が行われています。 public Process start

    digdagでプラグイン作成時の注意点 - Qiita
    syuu256
    syuu256 2021/02/17
  • AWS S3で指定prefixのファイルをすべて削除するコード(Java) - Qiita

    業務でそんな感じの要件が出たので実装してみました。 1,2行で書けると思ったら案外面倒だった・・・ ライブラリはGuavaとlombokを使ってます。(残念ながら職場はJava7なのです) もっといい方法がありそうな気がするけどとりあえず動いたのでメモ @RequiredArgsConstructor public class S3ObjectDelete { private AmazonS3Client client = new AmazonS3Client(); private final String bucket; public static void main(String[] args) { val hoge = new S3ObjectDelete("バケット名"); hoge.delete("プレフィックス"); } public void delete(String pr

    AWS S3で指定prefixのファイルをすべて削除するコード(Java) - Qiita
    syuu256
    syuu256 2021/02/15
  • アンサー: なぜTypeScriptの型定義に凝るのか - Qiita

    この記事は、昨日公開された以下の記事に対するアンサー記事です。TypeScriptで型定義に凝る派筆頭(自称)として、このお題に対して別の視点から光を当ててあげるためにこの記事を用意しました。 TypeScript の型定義に凝りすぎじゃね? まず最初に、この記事(以下では元記事と呼びます)の著者を攻撃したり、元記事の内容を否定する意図はないことをご理解ください。結局のところ、考え方が異なり、前提が異なるから異なる結論になっているだけなのです。TypeScriptを使う皆さんがいろいろな観点から見た情報を取得し、自分の状況に応じた適切な考え方・判断をできるようにすることがこの記事の目的です。 要約 大きなコードを小さく分解しても質的な難しさが消えるわけではないよ? 型はドキュメントなんだから正確に書こうぜ! 外界との接続も妥協せずに型システムで解決しようぜ! 機械にできる仕事を人間がする

    アンサー: なぜTypeScriptの型定義に凝るのか - Qiita
    syuu256
    syuu256 2021/02/10
  • Java7からJava16までの変遷。 - Qiita

    まえがき ずっとJava11を使っていました。そのためすっかりラムダ式やStreamAPIでの書き方に慣れていたのですが、最近Java7を使って稼働しているプロジェクトに異動したので、何ができて何ができないのか、ちょっと調べてみました。 Javaの変遷 私見ですが主要だと思う仕様変更を並べてみました。アプリ実装に関係する部分のみピックアップしています。 このバージョンのこれは入れておいたほうが良いよ!との意見がありましたらコメントにぜひお願いします。 Java8 2014/03/18 正式リリース(GA) https://openjdk.java.net/projects/jdk8/ ラムダ式 https://openjdk.java.net/projects/lambda/ https://qiita.com/sano1202/items/64593e8e981e8d6439d3 pub

    Java7からJava16までの変遷。 - Qiita
    syuu256
    syuu256 2021/02/09
  • Hadoop利用者ならきっと知ってる、Hive/Prestoクエリ関数の挙動の違い - Qiita

    HiveQLではスピードに難を感じていたため、私もPrestoを使い始めました。 MySQLやHiveで使っていたクエリを置き換える時にハマったTipsをまとめていきます。 AWS AthenaでPrestoを使っている方も増えてると思うので、Presto標準関数での記述例も拡充していきます。 Prestoとは Prestoはオンメモリで動く分散SQLエンジンで、その進化は目を見張る物です。 発表された当時は色々な成約があり使うことを躊躇していましたが、2015年頃からはもう使わない理由はなくなりました。 アドホックに使えるとても高速なSQLエンジンですので、バッチ向けのHiveのように実行結果を待つ時間はほとんどありません。 Hiveですと1つ1つの実行に時間が掛かるので、クエリに慣れていない新参者には辛い物がありました。 しかしPrestoではインタラクティブに実行できますので、トライ

    Hadoop利用者ならきっと知ってる、Hive/Prestoクエリ関数の挙動の違い - Qiita
    syuu256
    syuu256 2021/02/08
  • Windows Terminal (v0.7 ~ v1.0) メモ - Qiita

    概要 Microsoftが開発しているWindows 10用のターミナルアプリケーションです。2019年12月現在プレビュー版version 0.7がリリースされています。 開発のマイルストーンはMilestones - microsoft/terminalで確認できます。 2020/05/20追記 2020/05/19にVersion 1.0がリリースされました。🎉 このリリースにより、GA版とPreview版という2種類のインストールタイプが出来ました。 ※この記事のタイトルはもともとWindows Terminal (Preview) メモだったのですが、GA版とPreview版ができたことにより、このままだと紛らわしくなるのでWindows Terminal (v0.7 ~ v1.0) メモと変更します。 環境 Windows 10 Professional 1909 Windo

    Windows Terminal (v0.7 ~ v1.0) メモ - Qiita
    syuu256
    syuu256 2021/02/08
  • 海外「なぜ日本はハードウェアの時代と同じようにソフトウェアに秀でることができない?」 - Qiita

    Why doesn’t Japan excel in software as they did in hardware? (なぜ日はハードウェアの時代と同じようにソフトウェアに秀でることができない?) という英語Quoraのやり取り、分析が興味深かったので、まとめ。 仮説1: 日は完璧を求める 10人のエンジニアのソフトウェア開発会社を経営しているフランス人の友人が、ルイ・ヴィトン日支社のコンピュータシステムのマネージャーと同意した話:ソフトウェアはハードウェアではなく、産業用でもない。50年間同じトヨタカローラのように構築され、洗練され、完成されたものではありません。ゼロバグでそれを「完璧」にすることは不可能であり、したがって、「ゼロデフォルト」という、総合的な品質、継続的な改善を求める日人の精神に反するものです。 日は職人の国であり、漢字を書いたり、折り紙を折ったりする技術

    海外「なぜ日本はハードウェアの時代と同じようにソフトウェアに秀でることができない?」 - Qiita
    syuu256
    syuu256 2021/02/01
    任天堂はトップじゃ無いの?。あと301条とか色々と・・・
  • Amazon Monitronがすごいので紹介してみる - Qiita

    またお得なAmazon Monitronスターターキットもご用意されています。 (取り付けキット、5 個のセンサー、ゲートウェイのセット) 運用費用 Amazon Monitronはセンサー1つあたり年間50USDのランニングコストがかかります。 費用例 ■要件 5つのモーターを監視する必要がある。 上記を実現するためにAmazon Monitronスターターキットを購入し、 モーターごとに1つのセンサーを取り付け3年間使用した。 ■試算結果 スターターキット購入費用(715USD)+ センサー年間利用費用×5(250USD)×3年分 = 1465USD(3年間利用費用) 注意事項 ■ Amazon Monitron 利用可能な地域について 米国、英国、およびEUのみで利用可能です。(2021/04/16時点) ■必要なモバイル端末について Android8.0以降のスマートフォンが必要で

    Amazon Monitronがすごいので紹介してみる - Qiita
    syuu256
    syuu256 2021/01/13
  • ワークフローエンジンDigdagのまとめ - Qiita

    2016/06/15に、トレジャーデータがオープンソースとして公開したワークフローエンジンDigdagのリンク集です。内容は随時更新します。またトレジャーデータではDigdagを自社でTreasure Workflowとして提供しています。こちらの情報も収集しています。 変更内容が気になる方は変更履歴をご覧ください。 1. 開催されるイベント 2. オフィシャルページ オフィシャルページ ソースリポジトリ 3. チュートリアル Getting started (英語) Treasure Data社のOSSワークフローエンジン『Digdag』を試してみた #digdag (日語) Digdag 入門 Digdagのアーキテクチャとコンセプトを理解する Treasure Workflow for ビギナー 環境構築編 digファイル書き方編 Digdag公式ドキュメントからDigdagを学ぶ

    ワークフローエンジンDigdagのまとめ - Qiita
    syuu256
    syuu256 2021/01/13
  • Hadoop関連の用語をざっくりまとめる【Hive, Presto, Spark】 - Qiita

    はじめに この記事はビッグデータで用いる分散処理関連の用語について初学者向けにまとめたものです。 ある程度詳しい人にとっては退屈な内容かもしれないです。 Hadoop、Hive、Spark、Presto、Mapreduce...ビッグデータ周りはこういった用語が多いです。 自分は初めてこれらに触れたときに訳がわからなくて泣きそうになったのでざっくりとまとめました。 各々の説明はそんなに詳しくはしないので、イメージを掴むくらいを目的としています。 ビッグデータと分散処理 最近ビッグデータって言葉よく聞きますね。 対になる用語としてスモールデータってものあります。 文字通りビッグデータとは容量がクソでかいデータのことなのですが、明確な定義はなく、だいたい数百万レコードまでならスモールデータって呼ばれるみたいです。(数GBくらい) そもそもなぜビッグデータ処理なるものを考えなければいけないのだろ

    Hadoop関連の用語をざっくりまとめる【Hive, Presto, Spark】 - Qiita
    syuu256
    syuu256 2021/01/12
  • B-treeインデックス入門 - Qiita

    B-treeがMySQLで使用されている背景から、B-treeインデックスの構造、そしてそれに基づいたインデックスの使用方法の入門編です。以下の流れに沿ってまとめていきます。 インデックスってなに? B-treeってなんでインデックスに使われているの? B-treeインデックスの構造 インデックスの使用方法 ※ 勉強をかねてまとめていることもあり、間違っている箇所がございましたら教えていただけると嬉しいです。 インデックスってなに? 全体の内容の中から特定部分を探すために使用する、の索引のような概念のことです。これを用いることで、検索を高速化することができます。 特定の項目がのどこに載っているかを確認するために索引を調べることで、全ページを順に調べなくても、その項目が登場するページ番号がわかる MySQLのストレージエンジンでも、インデックスが同様の方法で利用されており、インデックスの

    B-treeインデックス入門 - Qiita
    syuu256
    syuu256 2021/01/12
  • 「分析SQLスタイルガイド」をかなり真面目に考えた - Qiita

    目次 なぜSQLのスタイルガイドが重要なのか この記事の目的 この記事の対象者 分析SQLスタイルガイドの指針 基ルール 命名規則 インデントルール 別名ルール joinルール クエリ分割ルール ⭐ コメント欄で「いや私はこう思う!」という意見をたくさんいただきました!ぜひそちらも御覧ください!(決して揶揄ではないです) なぜSQLのスタイルガイドが重要なのか SQLはプログラミング未経験者でもとっつきやすい言語と言われ、エンジニアや分析を業としていない人でもSQLを使う機会が増えてきていると思います。 そんなSQLですが、こちらのブログでも指摘されている通り、一般的なスタイルガイドが定まっていません。スタイルガイドとはコードの書き方マナーようなもので、どこで改行するか、空白はいくつ入れるか、大文字を使うかなどの諸々を指します。 もしスタイルガイドが無いとこんな事が起こります コードに

    「分析SQLスタイルガイド」をかなり真面目に考えた - Qiita
    syuu256
    syuu256 2021/01/12
  • Qiitaでたぶんもっとも参考にしてはいけないPythonの導入方法 - Qiita

    はじめに Pythonは今最も習得希望人口の多い言語である。 それはヘビーなデベロッパーからライトなオフィスコンピューティングまで多岐にわたる。 おそらく「Pythonを使えば○○ができる」と喧伝されているのを見聞きしているからだろう。 この記事ではそんなPythonを一から導入し開発できるようにすることを主にする。 OSのセンテイ Pythonの開発でもっとも優れたOSはWindowsである。 単純にPython.orgの公式から対象のバージョンをいくつか選んでダウンロードして適当にインストールすればそれですべてを始められるので、MacLinuxのようにシステムデフォルトと別verとのインストール共存やパッケージ管理ツールを意識する必要はない。 パスは通るし、複数のバージョンを同時に入れてもビルドバージョンですら分けて共存できるので簡単。 処理系 Pythonはインタプリタ界の変態言語

    Qiitaでたぶんもっとも参考にしてはいけないPythonの導入方法 - Qiita
    syuu256
    syuu256 2020/12/28