C-limber's highへようこそ。
C-limber's highは山登りのサイトではなく、福岡システム開発WEB制作会社 C-limber(クライマー)株式会社の技術メモブログです。
福岡システム開発ホームページ制作をお探しの方はお気軽にご相談下さい。

2019年3月7日木曜日

はじめまして!デザイナーの山口です

12:08 Posted by 山口 No comments

1月からクライマーに入社させていただきましたデザイナーの山口です。


今後デザインのことや、得意分野のことなどブログにしてお届け致します!

入社して2ヶ月ほどになりますが、みなさん本当に優しくて面白いので毎日楽しくお仕事させていただいてます😇💖


挨拶だけではちょっと寂しいので、趣味のことでも…😌

先々週は娘の誕生日だったのでお休みの日に沖縄に行ってきました。
美ら海水族館や琉球村や首里城など、メジャー所は人が多くて大変ですよね。
そこで特に需要もなさそうですが私おすすめの、そんなに混んでない隠れたり隠れてなかったりの良スポット、珍スポットをご紹介したいと思います。

まず那覇市内から行きます!
役所は名護と那覇が特徴的ですが、今回は那覇市役所に行ってきました。

f:id:erinakosakana:20171021110005j:image
植物と融合している建物大好きです。
市役所のメインフロアは吹抜けになっていますが、そこからだと建物も植物もよく見えません。

そこで建物の絶景ポイントを探しました。

6階に中庭があります。
個人的には6階が一番オススメのポイントです。
ただ、写真を撮る場合は8階がオススメです。
f:id:erinakosakana:20171021110437j:image
全体の形も最高です。

【那覇市役所】
〒900-8585 沖縄県那覇市泉崎1丁目1−1−1
098-867-0111
city.naha.okinawa.jp
駐車場は有料化されたようで最初の60分が100円、以降30分ごとに300円と書いてありました。


次はメジャー所なんですが、観光客があまり行かない通りを紹介します。

国際通りを1つ裏手に入ると『まちぐゎー』と呼ばれる迷宮のようなアーケード街が張り巡られています。
その世界観はアジアの古い市場の様でした。

f:id:erinakosakana:20171019134241j:image
ちとせ商店街ビル

f:id:erinakosakana:20171019134147j:image

f:id:erinakosakana:20171019202526j:image

f:id:erinakosakana:20171019202607j:image
パラソル通り

f:id:erinakosakana:20171019150029j:image
かりゆし通り
などがあり、幅もバラバラで本当に迷宮のようですが


小道に入ると思わぬ近道を見つけたり、ここに繋がってるのかと楽しくなるアーケード街です。
ついでに第一牧志公設市場にも立ち寄りました。
f:id:erinakosakana:20171019190839j:image
一階の市場で買ったお魚やお肉は、二階で調理してくれるようです。

一階でも隅の方にちょっとしたイートインスペースがあるお店があり、お刺身盛りが500円でした。
東京だと安めのお店でも1500円くらいのボリュームです。

二階は飲食店が並び、なんとその辺に設置してあるベンチでは隔離もなくタバコが吸えます。

まさに昭和。今時、公共の場で堂々とタバコが吸える空間を見たのは住之江競艇場以来です。
そういうところ好きです。
ただ、残念なことに今の公設市場の営業は2019年の6月16日までなんですよね…。
新しい市場は場所も変わってすごくキレイになるみたいなので、とても残念です😢
今のうちに観光してみてください!

【紹介した通りの大体の】
〒900-0014 沖縄県那覇市松尾2丁目10−20 ちとせ商店街ビル



最後にアメリカ兵用歓楽街だった金武町新開地を紹介して終わります。

那覇から約1時間ほどの距離にある金武町の米軍基地『キャンプハンセン』に隣接して新開地という地帯があります。
ベトナム戦争時代に、アメリカ兵用歓楽街として栄えたようです。
f:id:erinakosakana:20171020103429j:image

f:id:erinakosakana:20171020103434j:image
元々ゴールドホールに行こうということで、こちらまで赴いたのですが、こんなに素敵な所にあるとは知りませんでした。
ちなみにゴールドホールは現在では金、土、日しか営業しておらず私が行った木曜日は閉店していました。
残念です。
f:id:erinakosakana:20171020101210j:image
開いていれば、鍾乳洞や盆栽庭園が拡がる超雄大なカフェなのですが、また次回チャレンジします。

【ゴールドホール】
沖縄県国頭郡金武町字金武4272-1
098-968-3546


人も少なく街並みもいい感じです。


f:id:erinakosakana:20171020103443j:image

f:id:erinakosakana:20171020103402j:image
SKE48?のPVにも使われたらしいですね。

タコライス発祥の町なので
タコライスのお店には学生らしき男の子もたくさん来てました。



車で来た方はアクティブパーク駐車場に車を停めると便利です。無料です。

【アクティブパーク駐車場】
〒904-1201 沖縄県国頭郡金武町金武


この辺りの子供たちはストリート感があって、
小4くらいの日本人の男の子たちはスケボーを片手に歩いていました。
かっこいい!
また行きたい場所です。

長くなってしまったので終わりますが、
実はまだまだあるのでいつかご紹介できたらなと思います。


-------------------------------------------------------------------------------------------------------------------------------------------

弊社ではシステム開発、Web制作, Iot案件など幅広く対応しております。
ビジネスプランをお持ちの方、WEBアプリを使って何か新しいビジネスを始めたい方、
僕達が力になれるかもしれません
是非お問い合わせ下さい
-----------------------------------------------
同時に、デザイナー、システムエンジニア、HTMLコーダーの方を求人しております。
サーバ周りからデザイン、システムまでワンストップでの開発を経験できますので、
WEB開発の事を学びたい方にぴったりな職場だと思っております。
またそういった向上心あふれる方と一緒に成長してきたいと思っておりますので、
興味を持たれた方はとりあえずご連絡下さい(^^)
-----------------------------------------------
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社

2017年6月2日金曜日

[Mac][AirMac]AirMacに接続された外付けHDDをTimeMachineに利用する

16:03 Posted by 井口達也 No comments

もう6月ですね。早いですね

最近、海外ドラマの「シリコンバレー」にはまっています。
エンジニアの井口です。

皆さん、マシンのバックアップはどうされていますか?

僕はDropboxを使っていたのですが、
時々CPUを凄く使うことがあったり、マシンに差分ファイルを勝手に作ったりしたりするので、
Dropboxでbackupを取ることは止めました。

今ではMacのバックアップにAirMacを利用しています。
それで外付けHDDをAirMacに挿して
Macのバックアップにしようとした時のメモを共有します。


外付けHDDを「Mac OS 拡張ジャーナリング」でフォーマット

これは他のサイトも色々書いてるので参考にされて下さい
Mac 外付けディスクをフォーマットする方法|EzXNetwork


AirMacユーティリティで外付けHDDを認識してるか確認


普通に認識されていますね。
今回追加したのはI-O DATAのHDDです。


Time Machineの環境設定で、増やしたHDDを選択

したいんですが・・・

TimeMachineの環境設定からは、増やした外付けHDDを認識していませんでした。


色々やってみた結果・・



とりあえずFinderの共有から、外付けHDDにアクセスする

ことで解決しました。

アクセスすると、外付けHDD内に
.com.apple.timemachine.supported
というファイルが自動で生成されます。

このファイルの生成によって、
TimeMachineのHDD選択で、外付けHDDが選択できるようになるようです。


外付けHDDを指してみたけど、認識しないと困っている方がいらしたら
試してみて下さい(^^)


以上です



↓↓引き続き募集中です(^^)

弊社ではシステム開発、Web制作, Iot案件など幅広く対応しております。
ビジネスプランをお持ちの方、WEBアプリを使って何か新しいビジネスを始めたい方、
僕達が力になれるかもしれません
是非お問い合わせ下さい
-----------------------------------------------
同時に、デザイナー、システムエンジニア、HTMLコーダーの方を求人しております。
サーバ周りからデザイン、システムまでワンストップでの開発を経験できますので、
WEB開発の事を学びたい方にぴったりな職場だと思っております。
またそういった向上心あふれる方と一緒に成長してきたいと思っておりますので、
興味を持たれた方はとりあえずご連絡下さい(^^)
-----------------------------------------------
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社


2017年5月30日火曜日

[Yii2]便利なDBからの呼び出しと社内緑化

20:06 Posted by 井口達也 , , No comments

こんばんわ!

日本代表U20がベスト16で負けましたね。残念・・
エンジニアの井口です。

最近、社内に潤いが欲しいということで、植物たちを設置しました。
やっぱりオフィスに緑が増えると落ち着きますねぇ
心に余裕って大事ですね!


では、今日もYii2の便利な機能について共有します。

カラムを別名で呼び出す

モデルに設定していないプロパティ名でも、
・別名をつける
・配列化
して取り出せば、容易に参照できます。
$managers = Manager::find()
             ->select(['id', 'CONCAT_WS(\' \', name_sei, name_mei) AS name'])
             ->andWhere(['del_flg' => 0])
             ->andWhere(['shop_id' => $shop_id])
             ->orderBy(['view_order' => SORT_ASC])
             ->asArray()
             ->all();
ここでのポイントは
・selectメソッドで別名として読み出し設定(concat_wsで連結してます)
・asArrayメソッドで配列化
です。

あとはお好みで

加工しちゃいましょう。
Yii2で超便利がいい、ArrayHelperを使って、dropdownListの項目にしちゃいます
$options = \yii\helpers\ArrayHelper::map($managers, 'id', 'name');

かなり使い勝手がいいですね(^^)

そんな感じで、Yii2の便利機能の紹介でした



↓↓引き続き募集中です(^^)

弊社ではシステム開発、Web制作, Iot案件など幅広く対応しております。
ビジネスプランをお持ちの方、WEBアプリを使って何か新しいビジネスを始めたい方、
僕達が力になれるかもしれません
是非お問い合わせ下さい
-----------------------------------------------
同時に、デザイナー、システムエンジニア、HTMLコーダーの方を求人しております。
サーバ周りからデザイン、システムまでワンストップでの開発を経験できますので、
WEB開発の事を学びたい方にぴったりな職場だと思っております。
またそういった向上心あふれる方と一緒に成長してきたいと思っておりますので、
興味を持たれた方はとりあえずご連絡下さい(^^)
-----------------------------------------------
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社


2017年5月23日火曜日

[Yii2]AutoCompleteの使い方とGWの事

16:08 Posted by 井口達也 , No comments

もうゴールデンウィーク終わっちゃいましたね!

ほんとあっという間に終わっちゃいました。

GWに2回キャンプに行きました(^^)
エンジニアの井口です。

みなさんどうですか?案件に追われてますか?
弊社はありがたいことに、日々案件に追われております。
いつもありがとうございます。

今日はみなさんが大好きであろう、
Yii Framework2の便利な機能である、Autocomplete生成について紹介します。

Yii2でAutoCompleteを実装する

Yii2には、便利なウィジェットである、jui が実装されています。
ウィジェットというのは、Htmlの共通部分を切り出した、便利部品みたいなものですね
jui は jQuery ui の略です
読み方がわからないので、社内では「ジュイ」と読んでいます。(^_^);

参考:AutoComplete, yii\jui\AutoComplete - Yii Framework 2.0 API Documentation

Yii2の公式ドキュメントは完結に、しかもしっかりと内容が記載してあり、
かなり充実していると思うのですが、
autocompleteに関しては、公式ドキュメントに書かれていない、
ちょっと便利な使い方が見つけたので、共有します。

AutoCompleteに値を渡す

値を渡すことそのものに関しては、ドキュメントにあるように、
echo AutoComplete::widget([
    'name' => 'country',
    'clientOptions' => [
        'source' => ['USA', 'RUS'],
    ],
]);
と渡せます。
この場合、値は'USA', 'RUS'ですね。

今回はちょっとこだわって、
  • 値を生成
  • 値を別名をつけて生成
  • 選択したあとにinput[type=hidden]のdomに値を受渡し
とやってみます。

多分この部分まで読んでくれているプログラマの人たちだけだと思うので、
(しかもYii好きな)
そのコードを見てもらうのが早いですね!

AutoCompleteの便利な使い方のコード

<?php
    // autocomplete用に配列生成      
    $title_data = \common\models\CmsContent::find()
         ->select(['id as id', 'title as value']) // jsに渡すようにidとvalueを作成する idを受け渡す
         ->asArray()
         ->all();
      $page_id_datas = \common\models\CmsContent::find()
         ->select(['id as id', 'page_id as value'])
         ->andWhere(['!=', 'page_id', ''])
         ->asArray()
         ->all();
      $data = array_merge($title_data, $page_id_datas);

?>
<?= AutoComplete::widget([
     'model' => $model,
     'attribute' => 'cms_content_search',
     'options' => [
        'class' => 'form-control'
      ],
     'clientOptions' => [
        'source' => $data,
        'select' => new JsExpression("function( event, ui ) {               
    $('.ajax_cms_content_id').val(ui.item.id);               
    $('.ajax_cms_content_id_selected').show();            
}")
     ],
  ]);
?>
ポイントは
値を生成する際に、
->select(['id as id', 'title as value’]) // jsに渡すようにidとvalueを作成する idを受け渡す
このように別名でカラムを読み出している点と、

'select' => new JsExpression("function( event, ui ) {               
    $('.ajax_cms_content_id').val(ui.item.id);               
    $('.ajax_cms_content_id_selected').show();            
}")
selectされたときに実行されるjsで、
ui.item.id
で値を取り出している点です。

Yii2は本当に気が利きますね。


すごく気が利くのに、素直なところがYii Frameworkのいいところだと思います(^_^)

ちょっと便利なYii2の機能の紹介でした


↓↓引き続き募集中です(^^)

弊社ではシステム開発、Web制作, Iot案件など幅広く対応しております。
ビジネスプランをお持ちの方、WEBアプリを使って何か新しいビジネスを始めたい方、
僕達が力になれるかもしれません
是非お問い合わせ下さい
-----------------------------------------------
同時に、デザイナー、システムエンジニア、HTMLコーダーの方を求人しております。
サーバ周りからデザイン、システムまでワンストップでの開発を経験できますので、
WEB開発の事を学びたい方にぴったりな職場だと思っております。
またそういった向上心あふれる方と一緒に成長してきたいと思っておりますので、
興味を持たれた方はとりあえずご連絡下さい(^^)
-----------------------------------------------
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社


2017年1月11日水曜日

[sendmail][ubuntu]メール送信でX-Authentication-Warningがでたら・・

23:46 Posted by 井口達也 , , , No comments

新年あけましておめでとうございます

今年もどうぞよろしくお願いいたします。

エンジニアの井口です。

またご無沙汰してしまいました。

今日は、みなさんが大好きであろう、
sendmailの事について書こうと思います。 笑


SPFレコードを設定しても消えないエラーがある

AWSからメールを送信する場合、迷惑メールフィルタに引っかからないように
awsの管理画面からSPFレコードを設定したりしますが・・
それでもまだ残るエラーがあります。
参考:SPF レコードについて - G Suite 管理者 ヘルプ

webサービスなどからメールを送信すると、
ubuntuの場合、www-data というユーザでphpのプログラムをうごかし、
その www-data というユーザが sendmailを動かし メールを送信することになります。
www-data というユーザは信用できるの? という部分で、エラーが出るようです。

rootじゃないやつが送ってきたから、スパムかもよ

ってことみたいです。
www-data でなくても、サーバ側でも正式にsendmailに認められてないユーザから
メールを送信するとこのエラーがでます
X-Authentication-Warning: ip-xxxxxxxxx.ap-northeast-1.compute.internal: www-data set sender to info@xxxxxx.com using -f

このエラーが出ていると、
SPFレコードを設定していても受け取ってくれないメールサーバがあります。

あいかわらずメール送信って・・
めんどくさいですね(> <)


www-data を 許可ユーザリストに追加する

www-dataにメール送信許可を与えます。
参考:configuration - sendmail: how to configure sendmail on ubuntu? - Stack Overflow



まずsendmailがmtaとして動いている確認
$ ps aux|grep sendmail
root     31485  0.0  0.2 100700  2744 ?        Ss   23:05   0:00 sendmail: MTA: accepting connections
ubuntu   31601  0.0  0.0  10460   948 pts/0    S+   23:33   0:00 grep --color=auto sendmail

その次は/etc/mail/submit.cfを編集

【重要】sendmail.cfをいじっても何も意味がないです! submit.cfを編集しましょう

submit.cf:phpなどでメール送信する場合はこちらを使うようです
sendmail.cf:こっちはデーモンモードでの起動となるようです (rootでの起動)

/etc/mail/trusted-usersファイルでの許可ユーザ制御がコメントアウトされているので
コメントを外します
$ sudo vi /etc/mail/submit.cf
- #Ft/etc/mail/trusted-users %[^\#]
+ Ft/etc/mail/trusted-users %[^\#]

/etc/mail/trusted-users に www-dataを追加
$ sudo vi /etc/mail/trusted-users
+ www-data

sendmailを再起動
$ sudo service sendmail restart
 * Restarting Mail Transport Agent (MTA) sendmail       [ OK ]

メール送信テストして、メールソースから
X-Authentication-Warning: ip-xxxxxxxxx.ap-northeast-1.compute.internal: www-data set sender to info@xxxxxx.com using -f
↑これが消えてればOK。

メールってめんどくさい

メールの送信って・・・
いろいろめんどくさいですね(> <)


↓↓引き続き募集中です(^^)

弊社ではシステム開発、Web制作, Iot案件など幅広く対応しております。
ビジネスプランをお持ちの方、WEBアプリを使って何か新しいビジネスを始めたい方、
僕達が力になれるかもしれません
是非お問い合わせ下さい
-----------------------------------------------
同時に、デザイナー、システムエンジニア、HTMLコーダーの方を求人しております。
サーバ周りからデザイン、システムまでワンストップでの開発を経験できますので、
WEB開発の事を学びたい方にぴったりな職場だと思っております。
またそういった向上心あふれる方と一緒に成長してきたいと思っておりますので、
興味を持たれた方はとりあえずご連絡下さい(^^)
-----------------------------------------------
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社


2016年12月8日木曜日

[Ansible] Ansible2でのwith_itemsの使い方

16:18 Posted by 井口達也 No comments
お久しぶりです。エンジニアの井口です。

Ansible2からwith_itemsの使い方が
ちょっと変わったみたいです。

公式サイトでちょこっと説明されてます
Loops — Ansible Documentation

- name: Install System Packages
  sudo: yes
  apt: pkg={{ item }} state=latest
  with_items:
    - curl
    - wget
    - python-software-properties
これは使えますが、

- name: Install System Packages
  sudo: yes
  apt: pkg={{ item }} state=latest
  with_items: server.packages
これは使えません。
1系は使えてました。

2からは
- name: Install System Packages
  sudo: yes
  apt: pkg={{ item }} state=latest
  with_items: "{{ server.packages }}"
こんな風に

"{{ _______ }}"
でくくりましょう。


以上です(^^)


↓↓引き続き募集中です(^^)

弊社ではシステム開発、Web制作, Iot案件など幅広く対応しております。
ビジネスプランをお持ちの方、WEBアプリを使って何か新しいビジネスを始めたい方、
僕達が力になれるかもしれません
是非お問い合わせ下さい
-----------------------------------------------
同時に、デザイナ、エンジニア、コーダの方募集中です。
サーバ周りからデザイン、システムまでワンストップでの開発を経験できますので、
WEB開発の事を学びたい方にぴったりな職場だと思っております。
またそういった向上心あふれる方と一緒に成長してきたいと思っておりますので、
興味を持たれた方はとりあえずご連絡下さい(^^)
-----------------------------------------------
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社


2016年4月25日月曜日

[Lambda][Elactic Transcoder]動画サービスの構築

17:59 Posted by 井口達也 , No comments
こんにちは!

エンジニアの井口です。

動画のニーズが高まってきている昨今です。
動画を動画ホスティングサービスではなく、自身のサービスとして保持したいというご要望も増えてきています。

動画のホスティングにyoutubeを利用するにしても、
ユーザに動画をアップしてもらうタイプのwebサービスにはその方法も使えません。

動画サービスを自社で管理する多大なコスト

動画を自社サービスとして保持する場合、必要になることが
・デスクトップ、モバイルデバイス、タブレット、およびテレビでの再生に最適化された、出力フォーマットにエンコード
・そのためにそれぞれのエンコード用のインフラ群構築
などになるのですが、
サービスを徐々に軌道に乗せながら、それらを維持、構築していくには、大きな予算が必要となります。

Elastic Transcoderの活用で開発・運用コストを削減

そんなときにコストを押さえつつ、非常に有効な手段となるのが、
AWSのElastic Transcoderです。


Amazon Elastic Transcoderのサービス概要
Elastic Transcoderは他のAWSサービスのように必要なときに必要なときだけ、
各動画エンコードへの変換などを
使った分だけ利用可能なサービスです。

このサービスは他のAwsのサービスである、Lambda(ラムダ)と非常に相性がよく、
今までの方法とはまったく別次元のハンドリングの良い開発が可能となりました。


AWSのストレージ機能である、S3にアップされた動画を自動的にLambdaが検知。
Lambdaが勝手にTranscoderを起動し、Transcoderのパイプラインに乗って
指定したデバイス用に変換された動画を、自動で指定されたS3に自動保存という芸当を
やってのけてくれます。

いままでは動画のアップロード、複数のエンコード、保存と、
複雑なシステム・インフラを構築せざるをえなかったものが、
クラウド側で自動でイベントが立ち、そのイベントが他のサービスに伝播し、それトリガーとして
やってくれるという画期的なサービスです。

プログラマーは各サービスを繋ぎ、
トリガー毎に発行されるにイベントに仕掛けを仕込むだけでよくなりました。


エンジニアにとって、プログラミングのスキルも当然大事ですが、
このようなクラウドのサービスの特性を理解し、
サービス同士の連携や、設定をこなせることもより重要になってきていると感じています。


動画サービスをご検討の方、ご相談下さい

動画を自社で管理されたい方や、
動画サービスを構築・運用されたい方など、
ご相談ありましたら、お気軽にお問い合わせ下さい。



↓↓引き続き募集中です(^^)

弊社ではシステム開発、Web制作, Iot案件など幅広く対応しております。
ビジネスプランをお持ちの方、WEBアプリを使って何か新しいビジネスを始めたい方、
僕達が力になれるかもしれません
是非お問い合わせ下さい
-----------------------------------------------
同時に、デザイナ、エンジニア、コーダの方募集中です。
サーバ周りからデザイン、システムまでワンストップでの開発を経験できますので、
WEB開発の事を学びたい方にぴったりな職場だと思っております。
またそういった向上心あふれる方と一緒に成長してきたいと思っておりますので、
興味を持たれた方はとりあえずご連絡下さい(^^)
-----------------------------------------------
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社