こなさんち

しがないフリーランスエンジニアの備忘録。

エンジニアにも英語は準必須。

必須とは言わなくても、成長するためには必須になりつつある英語。

ほぼ必須ですよね。

ということで、昨日今日と調べていたら、

「ウェブエンジニアのための英語勉強ガイド」なるものを見つけました。

大変便利になりそうです。お金が入ったら是非自己投資していきます。

ウェブエンジニアのための英語勉強ガイド - DESIGNMAP

システム制作での文章の用例集サイト

こんにちは。お昼です。

私の名前がお昼というわけではありません。

今日は午前中面談でした。 感触は良かったです。

さて、本題ですが、 今作っているシステムでは、仮登録をメールにてお知らせする機能を実装しています。

皆さんは 「あれ、仮登録のメールを届けるときの文章ってどういうのが良いんだろう?」 って思ったことありませんか?

私が今そんな感じになったので、 探してみると、こういった疑問を持った人ように用例集がありました。

it-bunrei.blogspot.jp

便利ですね!

深層Web

私はyoutubeが好きですので結構見るのですが 私が好きなyouteberでも深層Webについてやってる人が多いんですよね。

でもなんか、 あからさまに適当なこと言ったりさ、 ちゃんと調べもせずに怖い怖いと撮影してるのが気に入らないのです。

それを言い始めたらエンターテインメントとか成り立たないのかとも思いますが‥

深層Webとはなんぞや↓ http://it-hack.net/2016/06/25/post-1913/#WEB

定数ってどこで使うんや(Laravel バージョン)

お疲れ様です。

今回も備忘録です。

Cake3で記事にした記憶がありますが、それのLaravel5版!

概要としては、 config/const.phpを作成し、配列を返すように記載します。

そうすると

Config::get('const.site_title')

のように使用することができるのです。

ということでリンク。

http://comtopia.jp/laravel5-const

2017/03/13

離職に伴い、不要な支出を減らすべく、行動中。

まずは、生命保険の減額。とりあえず、今だけでも。

今日は、携帯料金の見直しを主な目的に動きました。

午前中の活動

AUショップ

月によって通話料のばらつきがある模様。
また、普段wifiを使うので、データ通信量は 3G/7G しか使ってないとのこと。

プランを変えてもらって、少し安心。

文具屋 KOHAMA

試しに「家から注文できるような通販ってやってます?」って聞いたら紹介してもらえた。これは、相当お得。

ちなみに、ここ↓

lohaco.jp

所感

2時間ぐらいのサイクリング。運動になったなあ。

人生初の美容院

髪が伸びてきた 24にもなって、本当におしゃれというのはわからなかい。

それはまずい。

ということで、私は本日、地元の美容院を探していってきました。

行ったお店

beauty.hotpepper.jp

所感

私が美容室に行くのが最初だということもありますが。。

  • ドリンクサービス
    あることに驚き。担当の方に聞いてみたら「普通ですよ」とのこと。まじで?

  • マッサージ
    カット後のマッサージ。これもデフォルト

  • 雑談
    今までの理容室なんて、何もなかったんだよね。
    仕事何されてるんですか、なんて聞かれたことなかったので、楽しかった。

  • 費用対効果
    当然、理容室より高いですが、その分のおもてなしはされたと思う。他の美容院よりは安いし。

楽しかったー。

カスタム関数追加してみたよ@Laravel5

お疲れ様です。

FuelやCakeとは異なって、既存でのHTMLヘルパーがないLaravel5では、 laravelcollective を使用しますね。 ただ、それを使用しても cssやjsのタグは自分でタグを書かなければなりません。 ※もしあったら教えてください

ということで、自分で作りました。

1. /custome_helplers/form_builder.php

ファイル名は適当で良いです。

<?php

if(!function_exists('asset_css')) {
  /**
   * Create link tag element for css
   * 
   * @param   string  $file_name
   * @param   bool    $secure = false
   * @return  string  link_tag
   */
  function asset_css($file_name, $secure = false)
  {
    if (is_array($file_name)) {
      
      $tag = '';
      for ($i = 0; $i < count($file_name); $i++) {
        $relative_file_path = '/assets/css/' . $file_name[$i] . '.css';
        $tag .= make_tag($secure, 'link', $relative_file_path, ['rel' => 'stylesheet']) . '\n';
      }
      
    } else {
      
      $relative_file_path = '/assets/css/' . $file_name . '.css';
      $tag = make_tag($secure, 'link', $relative_file_path, ['rel' => 'stylesheet']);
    }
    return $tag;
  }
}

if(!function_exists('asset_js')) {
  /**
   * Create link tag element for javascript
   * 
   * @param   string  $file_name
   * @param   bool    $secure = false
   * @return  string  script_tag
   */
  function asset_js($file_name, $secure = false)
  {
    if (is_array($file_name)) {
      $tag = '';
      for ($i = 0; $i < count($file_name); $i++) {
        $relative_file_path = '/assets/js/' . $file_name[$i] . '.js';
        $tag .= make_tag($secure, 'script', $relative_file_path, ['type' => 'text/javascript']) . '\n';
      }
      
    } else {
      $relative_file_path = '/assets/js/' . $file_name . '.js';
      $tag = make_tag($secure, 'script', $relative_file_path, ['type' => 'text/javascript']);
    }
    
    return $tag;
       
  }
}


if(!function_exists('make_tag')) {
  /**
   * Create link tag
   * 
   * @param   string  $tag_header
   * @param   string  $relative_file_path
   * @param   string  $attr = ''(array)
   * @return  string  script_tag
   */
  function make_tag($secure, $tag_header, $relative_file_path, $attr = '')
  {
    $file_full_name = asset($relative_file_path, $secure);
    $abs_file_path = public_path($relative_file_path);
    $timestamp = filemtime($abs_file_path);
    
    $tag_attr = ' ';
    if(is_array($attr)){
      foreach ($attr as $key => $value) {
        $tag_attr .= $key . '="' . $value . '" ';
      }
    } else {
      $tag_attr .= $attr;
    }
    
    switch ($tag_header) {
      case 'link':
        $tag_file_name = ' href="' . $relative_file_path . '" ';
        $tag_end = '';
        break;
      
      case 'script':
        $tag_file_name = ' src="' . $relative_file_path . '?' . $timestamp . '" ';
        $tag_end = '</' . $tag_header . '>';
        break;
        
      default:
        $tag_file_name = '';
        $tag_end = '';
        break;
    }
    
    $tag_begin = '<' . $tag_header . $tag_file_name . trim($tag_attr) . '>';
    
    $tag = $tag_begin . $tag_end;
    
    return $tag;
  }
}

2. public/index.php

追記するよ

require __DIR__.'/../custome_helplers/form_builder.php';

こんな感じで使うよ

 <head>
   <meta charset="utf-8">
   <title>@yield('title')</title>
   <link rel="stylesheet" href="/assets/css/style.css">
   {!! asset_css('style') !!}
   {!! asset_js('vue.min') !!}
 </head>