タグ

2017年1月18日のブックマーク (11件)

  • Webエンジニアが組み込みプログラミングをすることになったときに知っておきたかったC言語の知識 - Qiita

    IoTエンジニアになって半年が過ぎたkazuphです。 (IoTって言葉はいつごろまで使えるんですかね(・∀・)?) PerlRubyでWebアプリケーションを書いていたエンジニアが、C言語でゴリゴリ組み込みプログラミングをすることになったときに、どんなことを知っていたかったかなと思い出しながら書いてみたいと思います。 その辺にある普通のC言語の入門書には載ってない知識が中心です。 ちなみにArduinoの例が多いですが、実際にはほとんどの期間を某チップの某SDKを使って開発しました。 わかる方はそれを想像しながらだと面白いかもしれません(・∀・) 半年の半分はiOSアプリ作っていたので、実質3ヶ月くらいの知識だと思ってください。 間違いの指摘など是非々々お待ちしておりますm(_ _)m こんな記事も書いてます。 IoTやるならまず知っておきたいパーツ屋・オンラインショップ IoTアプリ

    Webエンジニアが組み込みプログラミングをすることになったときに知っておきたかったC言語の知識 - Qiita
  • C#でのnull参照問題への取り組み ― null参照問題(後編)

    最近のC#ではnullの存在が大きな問題となっている。前回(前編)で説明したnullの事情を踏まえ、今回(後編)は、将来のC#がnullをどう取り扱っていくのかを見ていく。 ← 前回 連載 INDEX 次回 → 前編では、nullが存在する理由や、nullがあることで起こっている問題などについて説明してきた。 後編では、C#が具体的にどう課題に取り組んでいくかについて見ていこう。C# 7よりも先の話でまだ仕様は固まっていないが、現状での仮実装や、検討として挙がっている項目について説明していく。 無効な値の表現 ただし、「具体的にどう取り組んでいくか」の話の前に、「型を使ったnullの許容/拒否の区別」とは別軸で「無効な値を表現するのにnull(0初期化)が適切かどうか」という問題もある。まずはこちらについて話しておこう。 型情報の紛失 nullは、どんな型だろうが一律に0埋めすることで、最

  • [Java] EC2を朝起動して夜間と土日祝日は自動的に停止状態にするLambdaファンクション | DevelopersIO

    はじめに 開発環境のサーバを業務時間内だけ起動状態してくれるLambdaファンクションです。Node.jsで書かれたものは以前このブログで紹介しているのですが、私はNode.jsが苦手なのでJavaで書いてみました。ついでに祝日やお盆休みなど会社の休みも環境を使わないと思いますので起動しないようになっています。IAMロールの作成やスケジュールイベントの登録方法はNode.jsと変わらないので以下の記事をご覧ください。 LambdaのScheduleイベントでEC2を自動起動&自動停止してみた#reinvent 実装する 1つのファンクションで起動・停止を行うようになっています。実行した時間が午前の場合は起動、午後の場合は停止になっています。 起動停止する時間はLambdaのスケジュールイベントを設定した時間になります。 起動したい時間(午前)と停止したい時間(午後)でスケジュールイベントを

    [Java] EC2を朝起動して夜間と土日祝日は自動的に停止状態にするLambdaファンクション | DevelopersIO
  • プログラミング問題を作るエンジニアが、数学的な面白いアルゴリズムを紹介してみた - paiza times

    Photo by Alex Graves 秋山です。 paizaでは主にプログラミングスキルチェック問題の作成を担当しているので、アルゴリズムについて調べることもよくあります。 というわけで今回はみんな大好き?な、数学的なアルゴリズムについて書いてみたいと思います。 プログラミングの勉強を始めたばかりの人から「アルゴリズムってどうやって考える&勉強するといいんですか?」と聞かれることもあるので、参考になればと思います。 ■数列のアルゴリズム(フィボナッチ数、黄金比) 数字が 1,2,3,4,5,6....100 というように、最初の1から順に1ずつ増えていくというのも、ある意味アルゴリズムにのっとった数列であると言えます。 もう少し複雑な数列になると、paizaラーニングのアルゴリズム入門編でも出てくる「フィボナッチ数列」という数列があります。数学が苦手な人でも聞いたことある言葉ではないで

    プログラミング問題を作るエンジニアが、数学的な面白いアルゴリズムを紹介してみた - paiza times
  • レスポンシブ対応で無料!ウェブ制作を高速化できるHTMLテンプレート24選 2017年1月度

    ウェブサイトの閲覧方法は、モバイルやタブレットの普及によって大きく変わってきており、あらゆる端末へ対応することがウェブデザイン制作では必須となってきています。このややこしい問題を解決する、もっとも一般的な方法のひとつが、レスポンシブWebデザインです。 レスポンシブWebデザインとは、デスクトップやタブレット、スマートフォンなどさまざまな画面サイズごとにデザインを調整でき、あらゆるデバイスに最適化したWebサイトを、1つのHTMLで実現できる制作手法を指します。 今回はレスポンシブWebデザインに対応した、無料ダウンロードできるHTMLテンプレート素材をまとめてご紹介します。どれも文字テキストや画像イメージを編集するだけで、すぐに高品質なウェブサイトを作成できます。またBoostrapなど人気フレームワークを利用した素材も多く、柔軟にカスタマイズできる点もポイントです。 サイト設計の手間を

    レスポンシブ対応で無料!ウェブ制作を高速化できるHTMLテンプレート24選 2017年1月度
  • これから始める人の為のディープラーニング基礎講座

    このスライドは 2017 年 1 月 17 日 (火)、ベルサール高田馬場で開催された「NVIDIA Deep Learning Institute 2017」の最初のセッション、「これから始める人の為のディープラーニング基礎講座」にて、エヌビディア合同会社 ディープラーニング部 村上 真奈が講演しました。 このセッションでは、ディープラーニングをこれから始める方を対象に、必要な基知識について説明します。ディープラーニングではニューラル ネットワークに大量のデータを学習させる事で画像認識や物体検出など様々な認識を行う事が可能です。セッション前半は、画像認識問題で使われる畳み込みニューラル ネットワーク (CNN) を理解する為の基礎概念について説明します。ニューラル ネットワークの基となる多層パーセプトロン、誤差逆伝播法、確率的勾配降下法やミニバッチ学習などディープラーニングの学習過程

    これから始める人の為のディープラーニング基礎講座
  • Ansible実践入門 | DevelopersIO

    渡辺です。 最近、Ansibleに関する書籍が増えてきていますね。 とはいえ、ほとんどは入門的な位置付けで、それはそれで需要があるんですが、実践レベルで使いこなすノウハウは少ないというのが現実かと思います。 この辺り、まだ試行錯誤を繰り返しているところも多いでしょう。 そこで、ノウハウをガンガン流出させるクラスメソッドなので、ベストプラクティスみたいなものをまとめちゃいました。 Ansibleとは? 雑な言い方をすれば、SSH接続したリモートホストでミドルウェアのインストールや設定ファイルの更新を行うツールです。 カテゴリとしては構成管理ツールに分類されます。 SSH接続が可能であれば、リモートホスト側にエージェントのインストールが不要である点は大きな特徴です。 Playbookにサーバの状態を定義する AnsibleのPlaybookは、リモートホストの状態を定義したファイルです。 構成

    Ansible実践入門 | DevelopersIO
  • Scala で実装した社内ナレッジ共有ツールを OSS にして公開しました

    社内の事業部・プロジェクトを跨いで、社員間で技術やノウハウの共有をもっともっと盛んにしたいーそんな社員の声から生まれ、社内で運用中のツールをこの度 OSS にして公開しました。 公開先 GitHub 上に公開しています。 atware/sharedocs README にデモサイトや Heroku ボタンを記載していますので、すぐに試すこともできます。 Sharedocs Markdown で記事が投稿でき、コメントや Like やストックができる、言ってしまうとどこかで聞いたことがある某有名サービスのような情報共有ツールです。 投稿画面 絵文字も入力できますし、さらにはシーケンス図やフローチャートも Markdown で描けます。 レスポンシブにしてあるのでスマホやタブレットでも使えます。 つくるに至った背景など 背景 弊社には以前から、 他のプロジェクトでどんな技術が使われているのかよ

    Scala で実装した社内ナレッジ共有ツールを OSS にして公開しました
  • bashの組込みコマンド自作によるスクリプトの高速化 - Qiita

    はじめに bashには次の2つの理由によって、組み込みコマンド(builtin command)というものが存在します。 スクリプトの高速化のため。組み込みコマンドであれば通常のコマンドを実行する場合に比べてプロセスの生成コスト(fork()/exec())が削減できる bash自身の状態を変更させるため。例えばcdコマンドを/bin/cdとして用意してbashから当該コマンドを実行しても、当該コマンドのpwdが変更されるだけで、bashのそれは変更されないため、意味がない 今回は前者に焦点を合わせて、その効果と、組み込みコマンドの自作方法について述べます。 予備知識: 組込みコマンドによるスクリプト高速化の効果 組込みコマンドそのものの存在、及びその存在意義について既にご存知のかたは、この節を飛ばしてもらって構いません。 例えば皆さんがbashスクリプトからechoコマンドを実行した場合

    bashの組込みコマンド自作によるスクリプトの高速化 - Qiita
  • なぜGo言語 (golang) はよい言語なのか・Goでプログラムを書くべき理由 | yunabe.jp

    結論としてはGo言語には以下のようないくつかの長所があり、現実路線で非常にバランスがとれた言語だと思います。 これらの長所のために失われたメリットも当然いくつもありますが、一定程度以上の規模のプロジェクトで利用する言語の選択肢としては現存するプログラミング言語の中では一番か二番目によいのではないかと思います。 コンパイルが速い (vs. C++) GCとメモリ安全性 (vs. C++) 妥当で現実的なレベルの型安全性 (vs. Python/Ruby) 実行時パフォーマンスが良さ (vs. Python/Ruby) 現実問題、ある程度の規模と期間のプロジェクトになると型検証があるとリファクタリングなどがだいぶ楽になるのでありがたい。 型があるので自然と実行時パフォーマンスも良い 標準ライブラリが整備されている (vs. C++) むしろ標準ライブラリにjsonのparserすら存在しないC

  • GEとAdobe、人事評価制度やめたってよ。目的のためには手段はどんどん変えていく

    事業会社、コンサルティングファームの両面から人事に20年たずさわった経験を活かして独立。人事領域全般のコンサルティングを主な事業としているアルドーニ株式会社の代表。 企業の人事制度において、評価制度は多くの会社で導入しているでしょう。いわゆる、目標管理制度(Management By Objective and self control)によって、年初に上司と業務上の達成目標を設定し、その達成度合いが年度末に評価されます。その結果に基づき評定(4段階~5段階のところが多い)が決定し、賞与金額や昇給率に影響が出てくる(場合によっては昇格・降格もある)という、アレです。 私が昨年8月末まで在籍していた会社でも、全世界で導入されておりました。また、これに必要な「評価者研修」も共通プログラムとして存在しており、そのローカライズおよび展開といったことも担当業務でした。 最近になって、最終評点を廃止す

    GEとAdobe、人事評価制度やめたってよ。目的のためには手段はどんどん変えていく