2016年1月29日金曜日

スマホで写真を投稿したら・・・ひっくり返って表示された!

「スマホで写真を投稿したら・・・ひっくり返って表示された!」 なんてことに出会ったことはありますか? 写真のデータの中には、写真の情報はもちろんですが、 どういう風に写真を撮ったのか、というデータも持っています。 -スマホを縦にして写真を撮ったのか、横にして写真を撮ったのか。 といった情報です。 この情報を正しく扱ってあげないと、Web上で写真を表示するときに、 ひっくり返ったり、横向きになったりしてしまうのです。 デジカメ画像の規格として、Exif(イグジフ)というものがあります。 ※詳しくは、http://e-words.jp/w/Exif.html この規格を採用しているカメラ(スマホカメラ含む)の場合、 写真以外に様々なデータが、付加情報として記録されます。 この付加情報を持っている写真データの場合は、 その情報を考慮し、写真を保存してあげないと、ひっくり返ったり、横向きになったりしてしまうのです。 iPhoneのカメラで採用されていることもあり、開発する際に遭遇することもあると思うので、 付加情報の確認とその修正のサンプルを載せておきます。 もちろん、C#です。 private...

2016年1月28日木曜日

開発初心者がこれだけは知っておいた方が良いこと①

こんにちはSです! 前回、自己紹介でも書きましたが、わたしは7ヶ月前まで本当に何も知らず、 分からない事だらけでした。 (ブラウザって何?アマゾンって本屋さんじゃないの?!という状態でした。 本当にごめんなさい。。。) そこで今回は「最初にこれを知ってたらもっとラクだったかも」と思うことを思い出しながらまとめます。 基本中の基本なのでベテランの方々は読み飛ばすか、 もしくは次に新人さんが入ってきたときに、こういうところにつまづくんだな~という参考にしてみて下さい。 ◆勘違いポイント わたしがはまった勘違いポイントです。 きっと誰でも最初に一度ははまるのではないでしょうか。。。?わたしだけ?? ①JavaとJSは別物・・・  先輩たちがJSといっているものはJava Scriptという言語のことであり、Javaとつきますが  Javaとは完全に別物です。 ②JSとjQueryも別物・・・  「jQueryはJSで書くと何十行にもなるものを少ない行数で書けるようにまとめたライブラリだよ」  と教わったので、わたしは「jQueryはJSの短い版でほとんど一緒なんだ!」  という拡大解釈をしていましたが、書き方が違います。  なのでjQueryオブジェクトをJSの書き方で動かそうとしても全く動きません。。。 ◆最初のつまづきポイント ①{ }の中で定義した変数は{ }の外で使えない←当たり前 ②分からないことがあってもどんなワードで検索すれば良いのか良く分からない  →「やりたいこと C#」とかで調べてみるけどやりたいことの表現が適格でないと全然欲しい結果が返ってこない  →もういっそ先輩に「こういうことがやりたいんですけど、なんてググったら良いですか?」と聞いた方が早い ③もともと用意されているメソッドと自分(の会社の人)が作ったメソッドの違いが分からない  →オリジナルのメソッド名でググるけど何も出てこない。。。  →オリジナルのメソッドはそのページ内、もしくは継承しているページのどこかで定義しています ◆先に知っておいた方が良いVisual...

定数の新しい行です エラー

こんにちは山田です。 (ちなみに開発言語:C#の話) 本日もカタカタとプログラミングをしている中  文字の置き換え(String.Replace)を行おうと思ったら見慣れないエラーが   「定数の新しい行です。」 ちょっとわからなくグーグル先生に聞いてみました。 どうやら調べてみると¥の文字に原因があるようでした。  解決方法としては2パターン見つかりました↓ ■解決方法①  \を直接書かず System.IO.Path.DirectorySeparatorChar; を使う tempFileName1.Value.ToString().Replace("/",...

【Android】AppIndexingを実装してみた

こんにちは。エンジニアのKです。 アプリへの新しい導線口だけでなく、SEOにも効果があると言われているAppIndexingを 遅ればせながら実装してみました。 AppIndexingについて ざっくり言うと、Google検索結果にアプリコンテンツへのリンクが表示されるようになります。 Cookpadさんの場合、こんな感じで表示されます。 アプリがインストールされていれば、アプリ内のコンテンツ(この場合「大根」レシピの検索結果画面)が、まるでwebページへの遷移のようにシームレスに行われます。 アプリがインストールされていない場合、Google Playストアのダウンロードページヘ遷移します。便利ですね。 アプリリンクの表示条件は? 実装にあたって、どんな挙動になるか、先駆者様のアプリで見てみようと思ったのですが、 なかなか上手く行かずに苦労しました。 AndroidはGoogleアカウントでログインしていなくても表示されるらしいのですが、なかなか表示されず。。 とりあえず、対象アプリをインストールしたGoogleカウントでログインしたら、表示されるようになりました。 ※...

2016年1月27日水曜日

GoogleのAMP(Accelerated Mobile Pages)ってすごいの?

AMP(Accelerated Mobile Pages)とは・・・ Z-MENです。 どうも。 昨年夏頃?からモバイルやSEO界隈でAMPの話題がすごく盛り上がっていて、 モバイル担当としてもやはり気になるところなので一度情報を整理してみたいと思います。 自分の勉強がてらではありますが、どなたかの参考になれば幸いです。 AMPとは、からAMPの実装・確認までまとめてみます。 AMP(Accelerated Mobile Pages)とは? AMPはAccelerated Mobile Pagesの略称です。 GoogleとTwitterが共同で立ち上げたAMPプロジェクトのオープンソースらしいです。 簡単に言うとAMPに対応した記事コンテンツをGoogle側が勝手に読み取り、キャッシュして、 超高速に優先表示してくれます。モバイルの場合のみ出てくるようですが、カルーセル形式でずらっと並べてくれます。 去年末くらいからモバイルで検索した際に、一部記事がカルーセルで表示されるようになりましたが、あんな感じのイメージで、表示が超高速になる、という感じです。 【g.co/ampdemo】でAMPをデモ体験 Googleさん、ちゃんとデモも用意してくれていて、Googleの検索窓に『gco/ampdemo』といれると AMPのデモ表示モードに切り替わります。ほんと爆速です。...

アプリのプロトタイピングツールを使い倒してみる① -プロトタイピングとはー

こんばんは、おかだです。 昨年の話になってしまうのですが、Googleさん主催の「Google for Mobile」というイベントに参加してまいりました。 イベントでは、スマホに限らずさまざまなモバイル端末周辺にまつわる最近のお話を たくさんのスピーカーの方から聞けるセッションがたくさん設けられていて 中でもウェアラブル端末や仮想現実のお話が非常に興味深かったです。 個人的には購入したばかりだったChrome Castが、スタイリッシュにアップグレードして 発売されるというお話がショックでした。 うちのテレビ、HDMI端子を画面に垂直に差し込むタイプなので、以前のCastちゃんでは 壁方向に端末のお尻が突出してしまうので、接触とか壁との隙間とかが結構気になっていたんですよね。 しかたないので、気が向いたら新しいCastちゃんを購入しようかと思います。 Chrome Cast、持ってると本当に便利でたのしいので、オススメです! あたらしいアプリをつくることになりました Google...

2016年1月25日月曜日

MARSとは?

こんにちは山田です。 SQLのクエリを見ている時にわからない単語があったので調査しました。 その備忘録になります。 ■ちなみに私の開発環境 ASP.NET:2.0 SQL Server:2005 ■MARSとは? さて、さっそくMSDNに記述がありホットしました。 Multiple Active Result Sets(MARS) SQL Server 2005から搭載された機能で、 複数のアクティブな結果セットが得られる機能だそうです。 つまり、1回のコネクションで複数のデータベース・コマンドを同時に照会できるようにするものです。 MSDNのサンプルコード↓このようになっているみたいです。 string connectionString =   "Data Source=MSSQL1;" + "Initial Catalog=AdventureWorks;Integrated...

2016年1月21日木曜日

フロントエンド・タスクランナー(1: 入門編)

フロントエンドエンジニア ふみえです。 今回はフロントエンド・タスクランナーについて書いていきたいと思います。 そもそもタスクランナーって何? フロントエンド開発において必要になってくる処理といえば、下記のようなものが挙げられると思います。 コードの圧縮 Sass などのコンパイル ファイル変更して、見た目をブラウザがをリフレッシュして確認 フロントエンド開発におけるタスクランナーとは、上記のような処理を自動で行ってくれるツールです。 その代表的なものに、Grunt (http://gruntjs.com/) や Gulp (http://gulpjs.com/) があり今回は今業務で使用している Gulp...

2016年1月18日月曜日

初めまして、ふみえです!

この1月より、フロントエンドエンジニアとして入社しました、ふみえと申します! 経歴 新潟県新潟市生まれ。東京理科大学卒業後、オープンソース・ソフトウェア開発会社で勤務中に Web 業界で自身のやりたいことを見つけた後、Web 制作会社でコーダとして勤務、その後スタートアップ企業でフロントエンドエンジニアとして働き、現職に至ります。 趣味は音楽鑑賞です♪ 使用している言語は HTML、CSS、Javascript が主です。 よく参加しているイベント UX JAM 昨年は私にとって「UX とは何か」を考える年でした。「UX MILK」というキュレーション・メディアに出会い、もっと学びたい!と思うきっかけになりました。プロダクトの作り方・思考の過程などを、様々な方の実例も交えたライトニング・トークは、すぐに実務・実生活に活かせる情報の多い有意義なイベントです。今年も通い続けようと思います。 最近読んでいる本 Inspired:...

2016年1月15日金曜日

自己紹介 山田です。

こんにちは山田です。 自己紹介を書いて行こうと思います。 人となりが伝わればと思います。 ■職業 : システムエンジニア 細かくいうと、Webアプリケーションのシステム開発をしています。 ブラウザ上で、動的に動くサイトになります。 入社は2014年で、社会人2年目になります。 開発環境:ASP.NET .NET Framework 2.0 開発言語:C# DB:MS SQL Server ■出身 千葉県でも南部の割と田舎の出身です。(小学生の時の同級生はなんと11人) 家は、鉄工所メインの兼業農家でした。 その頃にコンピュータに興味を持ち始めたのを今でも覚えています。 当時小学2年生、流行もの好きの親がWindwos98を突然買ってきたのが始まりです。 とあるソフトウェアをインストールするために、フロッピーディスクを何枚も消費したり、 はやり始めたインターネットのダイアルアップ接続がよく切れたり、すごくかわいがった記憶があります。 ■学生時代 学生時代は電気工学を専攻していました。 コンピュータの原理が知りたいなぁと思っていたのがきっかけでした。 具体的には電気回路や電磁波を勉強していました。 フリップフロップ回路(記憶回路)...

はじめまして。Sです

こんにちは! 昨年の5月からC#で開発をしているSと申します。 気づけばもう社会人2年目です。 経歴 大学時代は工学部に所属しており微生物の体内で薬の原料をつくる研究をしていましたが、 あまり刺激的ではない毎日に飽き飽きして仕事ではもっと面白いことがやりたい!と思い今の会社に入社しました。 社会人1年目は営業職で主にレストランに営業に行っておりました。 おいしいものが沢山食べられて幸せでした...♡ プログラミングは昨年のゴールデンウィーク明けにゼロから始めたので 毎日新しい発見があり面白いです♪ 趣味 これといった趣味は特にないのですが、おいしいものを食べに行くのが...

2016年1月14日木曜日

ねこもちです。 前回の続きで、処理を短くする系です。 ※処理そのものは短くなりませんね、良く考えると。パッと見の記述が短くなっているだけです。   ですが、これが本当に大事なことだと思います。 ■「ifのネストが多く、ifとelse節の対比が難しい」 下記のような関数があったとします。 void foo() { var 結果A = 処理A(); if( 結果A == 成功 ) { var 結果B = 処理B(); if( 結果B != 成功 ) { var 結果C = 処理C(); if( 結果C == 成功 ) { 処理D(); } else ...

2016年1月13日水曜日

はじめまして、エンジニアのKです

こんにちは。エンジニアのKです。 既に何個か投稿済みですが、今回は簡単な自己紹介をしたいと思います。 経歴 学生時代は工学部に在籍し、無線通信の研究を行っていました。 ITSと呼ばれる自動車に搭載する無線通信技術や地上デジタル放送波の受信品質の改善などをテーマとして扱っていました。 今考えると怪しさ満点ですが、地デジの放送波を計測するためにアンテナを持ってビル陰などを徘徊していたような学生時代でした。 計測した電波の解析やシミュレーションを行うためにプログラミングを本格的に学び始めたのですが、 次第にアプリケーションを作って世の中の人に使ってもらいたいと思うようになり、webサービス系の会社に就職しました。 早いもので社会人6年目となりました。 扱ってきた言語としては、 Javascript PHP MySQL Java C、C++ あたりで、一番好き...

2016年1月12日火曜日

いのうえです。

改めまして、自己紹介をさせて頂きます。 ※私って、こんな人です。 ■職歴&技術歴 □2000年4月 新卒入社  不動産営業を希望し、就職をするも   「システムエンジニアという響きが格好いい」  という理由で、ネット系の関連会社への勤務を希望  Yahooジオシティーズで、見よう見まねでHPを作ってアピール ⇒ 希望が通り、ネット系の関連会社へ出向  もちろん、開発の「か」の字も知らない超初心者。  でも、「自分で作ったものが動く」という体験に心奪われ、楽しくてしょうがない状態に。  開発言語 : ASP(VBScript) データベース : SQLServer □2002年5月 新しい言語の習得へ①  Javaを覚えるべく、所属会社の好意もあり、1ヶ月間の詰め込み型研修へ参加させてもらう  なかなかハードな研修で、1週間毎にテストがあり、結果が悪いと、研修を打ち切られてしまう  さらには、卒業試験があり、こちらも結果が悪いと、卒業できない(=1ヶ月研修延長)という・・・。  私は、こういった追い込まれた状況が好きなので、楽しみながら研修を満了。  無事、JavaでのWeb開発のきっかけをつかむことができました。  以降、数年間は  開発言語 : Java(Struts) データベース : MySQL...

2016年1月7日木曜日

処理を短くする

ねこもちです。 古いプログラムを修正していると、そのプログラムが非常に「長大」であると気づくことがあります。 一つの関数(メソッド)が数百・数千行に及んでいることもあります。 こういうのは、大体 「どこにあるデータがいつ更新されるのか、追うのが難しい」 「ifのネストが多く、ifとelse節の対比が難しい」 「途中でreturnすればいいのに、制御フラグに値をセットした上で最後まで処理を続けるので、処理を追うのが難しい」 「途中でreturnしているが、どの条件でそこに入るのかを追うのが難しい」 「同じようなコードが何回も出てくる(が、100%同じと断言できないので、結局すべて追う必要がある)」 など、その他のいろいろな「難しいポイント」を含んでしまっていることも多いのです。 ■「どこにあるデータがいつ更新されるのか、追うのが難しい」 これについては、下記の方法を取ると、難しさが減ります。 「変数は使う直前で定義する」 「できるだけローカル変数にする」 「できるだけImmutableな設計にする」 たとえば、Webアプリケーション(ASP.NETなど)の例を挙げます。 public...

はじめまして、エンジニアです。

初めてのかた、はじめまして。 ご存知の方、こんにちは。 Zメンです。 今回は私の自己紹介がてら経歴などを書きたいと思います。 生い立ち~学生時代 生粋の北陸生まれ、北陸育ちです。 昨年からHOTなあの雅な県です。 余談ですが左手親指をサムアップし、ちょっと曲げた形が似ているます。 今はエンジニアとして働いていますが、実家が建築関係だったこともあり 高校の時も大学の時も、自分は建築業界にいくんだろうな~とぼんやり思っていました。 ちなみに大学時代は防災と都市デザインの2種を専攻してました。 防災のほうは全国ニュースで流れるような火災の原因分析・解説を教授がやっていたり、 某有名タワーの防災設計を見せてもらったりで意外と面白かったです。 都市デザインはイメージが難しいですが、都市に関わる制度・ソフト・ハード・デザイン等 なんでも研究対象となるような感じです。 どう伝えて良いものか難しいですが、こんなイメージです。...

2016年1月6日水曜日

改めまして、おかだです。

このブログが開設されてから約半年、、 これから記事を整理してみんなで分担して書いていこうという流れになっていますので、 そのトップバッターとして自己紹介をしたいと思います。はずかしい。 おかだと申します。 千葉県出身、辰年生まれのアラサー女です。2012年入社の社会人4年目になります。 社会人デビューからずっと今の会社で働いています。 初年度は自社サービスの営業を1年間担当し、そのあと今の部署に異動してきましたので、エンジニア歴は約3年になります。(自分で書いていて驚きですが、、時は残酷ですね、、) 昨年まではほとんど自社のWEBサービスの開発をしていましたが、昨年からは自社アプリのサーバーサイドの開発を担当しています。 好きなこと? せっかくアプリ開発チームにいるのでそれを踏まえつつ、私のお気に入りのアプリをいくつか紹介したいと思います♪ プライベート携帯はずっとandroidなので、androidよりになってしまいますがご容赦ください。 Scene Sceneは写真整理アプリです。 個人的に、出掛ける時に食べたものなど写真を撮ることも多いですし、画像を加工することもまぁまぁありますし、仕事柄キャプチャをとることも結構多いです。 Sceneのいいところは、画像一覧と日付表示が一体化しているところです。 サムネと日付が同列に並んでいることで、写真を見返すのも日記を読み返しているような感覚で楽しむことができます。 日付をタップするとカレンダー型の表示に切り替わるのですが、それもまたかっこよくて素敵なのです。 ギャラリーアプリに困っている方はぜひ使ってみてください^^ google...