20200918のHTMLに関する記事は6件です。

【初心者におすすめ】WEB開発で重宝しているWEBサービス&拡張機能たち5選

どうも7noteです。フロントエンジニアなら知っておきたいツールまとめ

私的に利用しているツールを紹介。全部無料で使えます!

1. 「検証ツール(F12)」

開発に必須です。ブラウザに標準装備されていることがほとんどですが、特にオススメはgoogleChromeの検証ツールをよく使います。

img1.png

できること

  • HTMLやCSSのソースを確認&お試し調整が可能
  • javascriptのデバッグ等にコンソールが見れる
  • サーバーとの通信情報が見れる
  • ローカルストレージなどの情報を閲覧
  • なんか他にもいろいろできることたくさん

特に駆け出しの方はHTMLやCSSを確認することで、誤字だったり、CSSの優先順位の影響で効かないCSSを確認したりするのに重宝します。
使い方などは検索すればいろいろ出てくるのでここでは省略。

2. 「User-Agent Switcher for Chrome」

ユーザーエージェントを切り換えられるchromeの拡張機能

User-Agent Switcher for Chrome

img2.png

PCでもユーザーエージェントを変更することができます。
これにより、javascriptなどでスマートフォンにだけ対応させているスクリプトの挙動をPCでも確認できるので楽にデバッグが行なえます。
ただ、実機でやってみるとやっぱり動かないという事もあり得るので注意が必要です。

3. 「PerfectPixel by WellDoneCode (pixel perfect)」

1pxのズレも許されないあなたに。パーフェクトピクセル。

PerfectPixel by WellDoneCode (pixel perfect)

img3.png

こんなの欲しかった!というツールです。

できること

  • ブラウザ上に画像(デザインデータ)を重ねられる
  • 画像データの透明度や表示位置を自由に変えられる
  • 設定をロックできるので、ページスクロールしながら上から下まで全部チェックできる
  • 開発者ツールで微調整しながらズレを直すことができる

過去に記事を書きましたので、こちらの記事も参考ご覧ください

4. 「パンダ(通称)」

画像を圧縮して容量を軽くしてくれるWEBサービスです。

https://tinypng.com/

img4.png

動作も早く使いやすいのが特徴。
WEBサイトは少しでも容量を軽くする事が重要視されているので、画像の圧縮などは必須です!!

5. 「I love♥ PDF」

こちらは画像ではなく、pdfの変換や圧縮などが行なえるWEBサービス

https://www.ilovepdf.com/ja

img5.png

pdfの場合はよくこのページを利用します。

おまけ. 「OneClickCSS」

OneClickCSS

img6.png

こちらはHTMLのソースから1クリックでCSSを自動生成してくれるもの。
便利なのですが、どうしてもクラス名だけ、とかセレクタだけ、とかしかできないので吐き出した後調整が必要!
中~大規模であればないよりはあった方が嬉しいツールですね。

まとめ

他にもいくつかありますが、ひとまずよく使う5個+1個を紹介しました。
また気が向いたら他のツールも紹介できればと。

おそまつ!

~ Qiitaで毎日投稿中!! ~
【初心者向け】HTML・CSSのちょいテク詰め合わせ

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[html,js]ヒストリーバック リンク書き方

1つ前に戻る

<a href="javascript:history.back();>1つ前に戻る</a>

2つ前に戻る

<a href="javascript:history.go(-2);><2つ前に戻る</a>

windowオブジェクトが持っているメソッド臭い。いろんな書き方があるようだ。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

検索条件(get)を複数ページ持ち越す方法

開発中に以下のような遷移時にgetパラメターを持ち越せず苦戦。
①ページ内で検索(get)
②検索結果表示
③検索結果を並び替え(get)
調べてみるとページネーションの際などでも結構はまっている人がいるっぽい。
自分なりに解決した方法が以下。

③の処理の際にurlのパラメターをhideで投げる。

<input type="hidden" name="condition" :value="setGetParams()">

 setGetParams() {
      return window.location.search
    },

urldecodeでパラメータと並び替えの条件を合体させurl作成⇒リダイレクト

public function action_result()
  {
    $get = \Input::get();

//urlのパラメターが投げられていたら以下処理
    if(!empty($get['condition'])):
      $url = urldecode(\Uri::current().$get['condition']);
      $url = $url.'&order='.$get['order'];
      \Response::redirect($url);
    endif;

//パラメータが投げられていなければ通常の検索処理
    $data = Model_Data::search($get);
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

多少強引ですが以下で検索条件をページを跨いでも引き継げます。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Google Maps API キーをHTMLから隠す方法

Maps JavaScript API を使うとき、APIキーが心配

Google は、公式サイトで API キーをコードに直接埋め込まないでくださいと言っている割には、[公式サンプル]のコーディングが以下の様になっていて、堂々とHTMLの中にYOUR_API_KEYが登場している。
これでwebページ作ったら世界中にAPI キーを公開してしまうことになる。まるで、堂々とフリチンで公道を歩いている様な状態。公式サンプルは裸の王様か?

<script defer
  src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>

一応 Google のドキュメント[API キーの制限を適用する]には「HTTP リファラー(ウェブサイト)」による制限が必須だと書いてはあるが、これだけでは非常に心許ない。
皆さんご存じの通り、ウエブページの名前なんてローカルにwebサーバー建てて hosts をいじれば簡単に詐称できるし・・・(私はそんなことやってませんよ。念のため)
もちろん、知らない間に課金されないように、[API 使用の上限設定]は実施しているが、どこかの誰かにAPIキーを勝手に使われて100万回とかアクセスされたらどうしよう?と思うと夜も眠れない・・・

APIキーは見えないところに隠そう

やっぱりAPIキーは、HTMLで公開したくない!!
ということで CGI を使って API キーをサーバーの中に隠しておくことにしました。

1.環境変数にセット

CGI にはAPIキーを環境変数にセットした状態で渡します。私の環境は nginx + fcgiwrap で CGI を動かしているので、/etc/nginx/fcgiwrap.conf の一番下に以下の様にセット。

fcgiwrap.conf
location /cgi-bin/ {
    ・・・・・・
    fastcgi_param GOOGLE_MAPS_API_KEY  YOUR_API_KEY; <=YOUR_API_KEYを自分のキーに置き換えてください
}

ここは、皆さんの環境(apacheなど)毎に設定方法が異なるので、ご自分の環境に合わせて設定してください。

2.CGI を用意

方針としては、公式サンプルの src="https://maps.googleapis.com/maps/api/js の部分を CGI で置き換える。
私の環境では python を使っているので、こんな感じになります。

getapijs.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import os
url = 'https://maps.googleapis.com/maps/api/js' # 公式サンプルの HTML が src= で読んでたurl
key = os.environ['GOOGLE_MAPS_API_KEY'] # 環境変数に入っている APIキーを取り出す
mysrc = url + "?key=" + key # url に APIキーを連結する
response = requests.get(mysrc) # google マップのサイトにアクセスして src を持ってくる
print("'Content-Type': 'text/javascript; charset=UTF-8'") # HTML に返してあげるためのヘッダー
print("")
print(response.text)

この部分も皆さんの環境毎に異なる部分なので、ご自分の使える言語で記述してください。
要は、サーバーの環境変数からAPIキーを持ってきて、url 指定して google のサイトから javascript を頂戴するということです。ヘッダーの部分は、'Content-Type': 'text/javascript; charset=UTF-8' にしましょう。

3.javascript の window.onload で CGI を呼ぶ

main.js
function initMap() {
    // 公式サンプルの内容と同じ
    // Initialize and add the map
    // The location of Uluru
    var uluru = {lat: -25.344, lng: 131.036};
    // The map, centered at Uluru
    var map = new google.maps.Map(document.getElementById('map'), {zoom: 4, center: uluru});
    // The marker, positioned at Uluru
    var marker = new google.maps.Marker({position: uluru, map: map});
}
window.onload = function() {
    // ページを表示した後に、実行したい処理を書く。ここからが今回のポイント!
    fetch("/cgi-bin/getapijs.py").then(res=>{
        // CGI 実行して、結果の TEXT だけを次にパスする
        return res.text();
    }).then(mytext => {
        // 受け取った javascript を EVAL で実行する。
        eval(mytext);
    }).then(() => {
        // 実行後の処理。公式サンプル HTML が &callback= でコールしていた部分
        initMap();
    }).catch(() =>{
        // お好きなエラー処理をどうぞ
    });
}

HTML には、ヘッダー部分に <script src="main.js"></script> を記載してます。この辺の流儀は人によって違うところなので、お好きなスタイルで良いと思います。
要は、HTML の要素を読み込んだ後(サンプルHTMLの defer の部分。私の例では window.onload)に、CGIを実行して javascript をTEXTで受け取りEVAL で実行する、という手順です。

これで安心して眠れるか?

APIキー は環境変数の中にしかないので、ソースをGITHUBで公開しても問題ないし、WEBサイトのユーザーが Chrome のデベロッパーツールで HTML や JS を見ても、APIキーは見つからない。
公式サンプルが堂々とフリチンで公道を歩いているのに比べれば、奥ゆかしい出来上がりになっています。
唯一、気持ち悪いところがあるとすると「邪悪な EVAL」を使っていることです。邪悪なwebページだと思われてしまうかもしれない・・・
EVAL が禁じ手として封じられている方は今回の手法は使えませんが、APIキーを公開の場に晒すのはEVAL使うよりも危険だと思います。止めましょう。会社でEVAL禁止されている人は諦めて JAVA で重いアプリ作ってください。私は軽くHTML + javascript + python で行きます。

ご参考

index.html
<!DOCTYPE html>
<html>
  <head>
    <style>
      /* Set the size of the div element that contains the map */
      #map {
        height: 400px;  /* The height is 400 pixels */
        width: 100%;  /* The width is the width of the web page */
      }
    </style>
    <title>Hello World</title>
    <script src="main.js"></script>
  </head>
  <body>
    <h3>My Google Maps Demo</h3>
    <!--The div element for the map -->
    <div id="map"></div>
  </body>
</html>

なお、こちらの記事を参考にさせて頂いています。
[私がよく使うJSからの外部JSの読み込み方法]

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Vue.js】 IF文・For文 条件分岐、繰り返し処理

【ゴール】

VueJSでの IF文・For文 条件分岐、繰り返し処理

【環境】

mac catarina 10.156
Vue.js v2.6.12

【実装】

①適当にワークスペース作成
Vue.jsインストール or 埋め込み(重要)

If文 

■「v-if」 / 「v-else」 を使用

index.html
<div id="app">
  <p v-if="ok">OK</p>
  <p v-else>Not OK</p>
</div>
.
.
.
.
<script>
 new Vue ( {
   el: '#app',
   data: {
     ok: true  //ここが、true:OK表示、false: NotOKが表示される
   }
 })
</script>

For文

■「v-for」使用

index.html
<div id="app">
  <ul>
    <li v-for="name in names">{{name}}</li>
  </ul>
</div>
.
.
.
.
<script>
 new Vue ( {
   el: '#app',
   data: {
     names: ['tarou', 'hanako', 'misaki']
   }
 })
</script>

結果

スクリーンショット 2020-09-18 16.39.09.png

【まとめ】

■基本天気な挙動を理解している方だとすぐに理解できる

■If文は「true」「false」を上手く使い分ける

■for文は記述の省略につながるので覚えていて損なし

【オススメ記事】

■ 【node.js】ルーティング設定ホーム画面表示させる。
https://qiita.com/tanaka-yu3/items/1c8859e16070e67d73c0

■ 【Node.js mysql】mysql接続 データを取り出す
https://qiita.com/tanaka-yu3/items/6b007dd96618bb6c844e

■ 【javascript】 テンプレートリテラル とは 一言で。
https://qiita.com/tanaka-yu3/items/9b07bd9fc4126291be28

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

完全未経験からのIT業界への転職

初めまして。

以前は親の仕事(施工建築関係)を手伝っていましたが、幼いころからパソコンをいじることが好きで(いじると言っても内部の物やサーバーなどではない)次働くならなんとなくIT業界が良いなあという感覚で生きていました。

そんなときひょんなことから上京することが決まり、去年の7月くらいから東京で生活しています。

こっちに来た時に、知り合いの紹介でSES事業と言われ入った企業では、週5日フルタイムで仕事、週に1度の研修があるといったものでした。

ちなみに仕事内容は、携帯販売会社の中で回線の営業をすることでした。その頃は、ITと言えばプログラミング!みたいな感覚でしたので研修では皆でHTMLとCSSを講師の人と学んでいましたが、Twitterなどで調べていくと、詳細は省きますが、このままじゃあんまり意味ないぞ・・・ってなってきまして、半年ほどでやめて、そこからまずは土台が必要だと思いコロナ禍による緊急事態宣言もあり家でひたすらITパスポートの勉強し1発取得、今現在はLpic level1を目標に毎日最低3時間の勉強を取り入れてます。

これから、学習記録や思ったことをたまに記事にしようと思いますので、よろしくお願いします。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む