Git Product home page Git Product logo

equip's Introduction

30歳のときに「CSS設計が世界中で議論されていること」に興味を持ち、「自分もこのような仕事をしたい」とウェブ業界に転職。 上場企業を含む36社(2023年時点)のお客さま(ANAさま、京セラさま、Panasonicさまなど)とお仕事をさせていただいています。 案件実績はForkwellに記載しています。

CSS設計、スタイルガイド制作、アクセシブルなコーディングが得意です。多言語サイトやJamstackサイト、React(TypeScript)を使用したウェブアプリも担当してきました。 TAMのグループ会社であるTAMSANのエンジニアチーム(本人を含めて5人)のリーダーを担当しており、メンバーとの1on1やキャリアMTG、採用活動、会社全体のマネジメントにも参画しています。

モノゴトを深く知り、整理していくプロセスが好きです。 最新技術を追うというよりも、「問う技術」「プロセス設計」「ナレッジマネジメント」「ファシリテーション」「コーチング」のようなソフトスキルを意識しているタイプでもあります。 エンジニアの3分類だと、技術:プロダクト:組織=2:3:5のイメージです。 エンジニアを分類する、3つのタイプ|山本 正喜 / Chatwork CEO

iPhoneやMacを中心にしたブログを過去に書いていて、月間10万PVを達成したこともあります。 テキストベースのアウトプットは日常的にしているので、書くことは苦にならないタイプです。

SNSやブログなどはbento.meにまとめています。ぜひクリックしてください!

Reactなどを使ったウェブアプリケーションの経験値を増やしたいです。 コードを書く仕事は大変なこともありますが、カタチのあるものに収束させていくプロセスに面白みを感じるからです。 メンタルヘルステックにも興味があり、バックエンドやインフラを含めた包括的な知識や技術を身につけることで、サービス開発をチームでするための役割を果たせるようになることが中期的な目標と考えています(現在はフロントエンド領域のみ)。

本当の意味で相手の役に立てる人でありたいです。 コーチング的な支援は得意なほうだと思っていますが、背中を押したり、手を引っ張れるような積極的な支援で、その人の強みや良さを引き出せる仕事をしたいです。

Find out more!

equip's People

Contributors

manabuyasuda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

equip's Issues

個別ページ用のCSSを作れるようにする

基本は1つのCSSファイルにまとめたい。でも、ページ独自のデザインが多い場合は専用のCSSファイルにしたほうが運用しやすくなる。

  • ディレクトリを維持しながらdest
  • 各index.ejsに出力するかのオプションを追加する

パスは相対パスかルートパスか

グローバルナビとかはルートパスで書いて、カレントは引数でキーワードを渡したりする。

EJSの場合、インクルードするパスは相対パスでないといけない。

Hologramをインストールする環境を作る

gulp-hologram単体では動作しないみたい。npm runでもgulp hologramでもエラーになる。

  • Gemfileを作ってバージョンを管理する。
  • npmかgulpか、どちらかに統一する(gulpで全部するようにしたほうが分かりやすい?)

CSSの見直し

first-childをより限定的なfirst-of-typeに変更。mediaオブジェクトをdisplay:table;からdisplay:blockに変更。などなど

リリースディレクトリの階層を変更

  • assetsなしからassetsありに変更。出力するディレクトリを指定しないことで処理を簡潔にする。
  • 読み込むCSSファイルをミニファイなしとありを一括で変更できるようにする。

IEの互換モードに切り替えさせないようにする

IEはすべてのバージョン(IE11まで)メニューバーのアイコンから互換性モードを変更することができる。
互換性モードにしてしまうとIE7相当のレンダリングになるので、機能が大幅に削られ、レイアウトが崩れる可能性が大きくなる。

<meta http-equiv="X-UA-Compatible" content="IE=edge">

をhead要素に追加して、常に最新バージョンのレンダリングになるように指定する。

ページ専用のCSSファイルを一旦削除

index.ejsにaddClassという変数を定義して任意のCSSファイルを作成できるようにしていた。
ただし、Sassのコンパイルはassetsディレクトリを指定していたので、コンパイルされていなかった。

gulpfile.jsでどのように設定すればできるのか分からないので一旦削除しておく。
developディレクトリとreleaseディレクトリの構造を変えている(developにはassetsがある)が、同じにしておいて方が指定しやすくなる?

[update] gulpタスクの説明を追加

gulp --tasksで設定しているgulpタスクの一覧が出せる。

下記のdescriptionプロパティを設定すると説明を加えることができる。

タスク名.description = '';

不要なCSSの見直し

component/iconなど案件で使用しなかったCSSを削除・整理する。

  • component/iconを削除
  • project/iconを追加して、アイコンフォント用にする
  • @mixinの見直し

JavaScriptファイルの連結に対応する

jsファイルを各ページに追加できるようにしている。
これを依存関係を保った状態で連結する。ファイル数の候補は2つ。

  • jQueryはCDN、jQueryプラグインを連結、自作のjsやプラグインのトリガーを連結
  • jQueryはCDN、jQueryプラグインと自作のjsとプラグインのトリガーを連結

連結にはgulp-userefをお勧めしてもらったので試してみる。
基準はなるべく学習コストがかからず、効果のあるもの。パッケージのダウンロード数とアップデート頻度。

Sassの更新

Sassの見直し。別のリポジトリで作成したものをコピペ。

ファイルのパスを取得する

ルートから見たパスは

var url = filename.split(site.developDir)[filename.split(site.developDir).length -1].replace('.ejs','.html');

のように取得できる。develop/はルートディレクトリで変数化する必要がある。

そのファイルから見た相対パスの取得は

var path = '../'.repeat([url.split('/').length -1]);

で取得できる。site.developDirはsite.jsonで開発用のディレクトリ名を定義しておく。

SassをITCSSからFLOCSSに変更

基本的に考え方は変わらないと思うけど、FLOCSSの方が現場で使いやすい構成だと思う。例えばProjectレイヤーはITCSSのComponentレイヤーより馴染みやすいし、LayoutレイヤーはITCSSにはない。

現状ではコンポーネント指向なCSSは難しいし、ほとんどの場合にはうまく適応できないと思う。このテンプレートは現場で使いやすいものにしたい。

定義している変数や関数、スタイルはそのまま残す。

CSSのミニファイに対応させる

テンプレートファイルを触らなくても、通常のCSSファイルとミニファイを変更できるようにする。

  1. gulpfile.jsにミニファイとリネームのパッケージ追加
  2. gulpfile.jsにミニファイの処理追加
  3. _index.ejsにCSSファイル名を指定する変数追加
  4. _head.ejsに追加した変数と紐付ける処理するを追加

mediaオブジェクトの見直し

directionプロパティで反転させた要素で、テキスト・画像を画像・テキストにした場合に画像の右側にマージンが入ってしまう。テキストにwidth:100%;を指定すると解消した。

  • .c-media__itemc-media__image.c-media__bodyに変更
  • 反転された.c-media__bodywidth:100%;が指定されるように変更

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.