Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
CSS 設計でいう保守性とは、新しいルールの追加・更新のしやすさ をあらわす。保守性を高めるためには、変更の局所化、他のルールへの副作用を最小にするアーキテクチャ を採用します。 CSS 設計 設計思想は FLOCSS ベースの ECSS + rscss + Tailwind CSS のいいとこ取り 命名規則は MindBEMding (以降、BEM) 開発言語は Sass + PostCSS コンポーネント粒度 FLOCSS ではプロジェクトにおいて繰り返されるビジュアルパターンをすべて Object として定義します。Object には、Component と Project のレイヤーがあり、この 2 つの判別において Atomic Design のコンポーネント粒度の考えを拝借します。具体的には、 Component:Atoms Project:Molecules に分類します。
import * as React from 'react'; import { View } from './view'; // Propsの型定義 interface IProps { name: string; } interface IState { count: number; } export class Profile extends React.Component<IProps, IState> { constructor(props) { super(props); this.state = { count: 0, }; } handleClick() { const text_element = document.getElementsByClassName("modal")[0]; if (text_element.className === "modal on")
{ "compileOnSave": false, "compilerOptions": { "target": "es5", "module": "es2015", "jsx": "react", "moduleResolution": "node", "allowSyntheticDefaultImports": true, "noUnusedLocals": true, "noUnusedParameters": true, "removeComments": false, "preserveConstEnums": true, "sourceMap": true, "skipLibCheck": true, "baseUrl": ".", "lib": ["dom", "es2018"] } } { "compilerOptions": { "module": "commonjs"
input HTMLInputElement = <HTMLInputElement> inputに const samplae: NodeListOf<Element> = app!.querySelectorAll(""); listに interface HTMLElementEvent<T extends HTMLElement> extends Event { path: T;//ジェネリック } addEventListener('click', (e: HTMLElementEvent<HTMLInputElement>) => {}); addEventListener時にも const target = items_arr.filter((item) => { return item; }); 便利 mapでも利用はもちろんできる
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? function view_img() { const more_view = document.getElementsByClassName("js-more--view_target")[0]; const more_number = more_view.querySelectorAll(".js-more_number"); const more_target = more_view.getElementsByTagName("li"); const more_target__arr = Array.prototype.slice
概要 Vue.js+TypeScriptで開発する際によく参考にしている記事をまとめています。 自分用なので、自分記事が若干多めです。随時更新 この記事良かったよーとか、教えていただけると助かります。 環境構築 Vue CLIのプロジェクト管理UIがいい感じだった https://qiita.com/kai_kou/items/8fcabc7a8445c1be8a30 DockerでVue.js+TypeScript開発環境を構築する https://qiita.com/kai_kou/items/d581a9f8f3ee8605aed1 Vue.js + SCSS + Bootstrap + MaterialDesign + TypeScript開発環境をつくってみた https://qiita.com/kai_kou/items/a404c73c8bb23f25c510 Vuexによる
Angularのテストランナーをkarma→cypressに乗り換えたときに デフォルトのspec探索パスが'/cypress/integration/**.spec.ts'になっているのを変更したい TL;DR package.jsonのscriptsを変更する cypress.jsonの設定を追加する 対象読者 cypressを使う人です デフォルト設定 cypressをインストールしてすぐだと、cypressフォルダが生成され、 cypress/integration/配下にあるspecファイルだけがテストの実行対象になっているはずです。 cypress ├── fixtures │ └── example.json ├── integration │ └── test.spec.ts ├── plugins │ ├── cy-ts-preprocessor.js │
Reactで一人TDD修行したので紹介 TDDとは TDD(Test Driven Development:テスト駆動開発)は、実装を進めるより先にテストコードを書くことです。はじめにテストを書き、そのテストを実行し失敗させます。その後、目的部分のコードを書き、テストを成功する形にします。次にテストが通るままでリファクタリングを行っていきます。 TDDでは、この失敗(Red) -> 成功(Greed) -> リファクタリング(Refactor)を繰り返して、少しずつ作っていきます(一気に複数の機能は実装しない)。 Red TDDのスタート地点の状態。テストが、失敗に終わる・コンパイルエラー(プロダクトコードが無い初期状態に限る)になる状態。書いたテストに対して、想定通りにエラーになることを確認。このとき、プロダクトコードがなくてもテストのみに注力。 Greed Redで失敗しているテストを
やりたいこと 0.0~1.0の間で小数の乱数をセキュアに生成したいです 以下のMDNによるとMath.random()はセキュアじゃないです。 Math.random() の提供する乱数は、暗号に使用可能な安全性を備えていません。セキュリティに関連する目的では使用しないで下さい。代わりにWeb Crypto API(より正確にはwindow.crypto.getRandomValues()メソッド)を使用して下さい。 なので、Math.random()のセキュア版を作りたいです。 セキュアな乱数生成 以下のsecureRandom()がセキュアなMath.random()のつもりです。 // cryptoをインポート const crypto = require('crypto'); // crypto.randomBytes()で生成するときのバイト数 const nBytes = 4;
何を作った? 小説家になろうでの小説検索が不便なので、 1日ちょっとでGitHub Pagesを使って「小説家になろう」の年間ランキングを無限スクロール表示するサイトを作りました。(雑なのでバグがあったら教えてください) ×ボタンで一度見た小説を非表示にすることで効率的に検索できます! https://o-posting.github.io/syosetu-infinite-yearly-ranking/ データは事前にスクレイピングしてsyosetu_data.jsに入れてあり、htmlを開くたびにデータを送受信するわけではありません。ランキングに載るのはほぼすべての15万字以上の小説です。文字数が少ないほど小説数が爆発的に増えるため、比較的大きな小説のみを集めました。 スクレイピングは(一応)サーバへの影響を考慮して、5秒に検索1回のペースで行いました。 細かい使い方 Google C
注意点 tj/n などのnodeバージョン管理ツールと一緒に使う場合、 このような問題にぶち当たる可能性があります。その点だけ留意しておいてください。 npmのバージョン npm installとかした時に新しいnpmのバージョンあるで!ってコマンドラインに出た経験がある方も少なくないのではないでしょうか。今回はnpmのバージョンを管理する話です。 結論 $ npm info npm versions --json: インストールできるnpmのバージョン一覧をjson形式で $ npm install --global npm@<version>: 任意ののnpmをインストール ex. $ npm install --global npm@3.10.8 npmって そういえば、npmってパッケージ管理ツールですよね… そういえば、npmってバージョン指定でライブラリインストールできますよね
Ruby on Rails自分用備忘録 Ruby on Railsの既存プロジェクトを引き継いだ。そもそもRubyもRailsも触ったことがなかったけど、フルスタックフレームワークって何ぞやってことは、概ねDjangoで理解してたし、Rubyみたいなモダン言語は別に勉強しなくても、まあなんとなく雰囲気でいけるんじゃん。言語よりフレームワークの使用を覚えるのが面倒臭かった。ほら、フルスタックフレームワークって設計者の癖がより色濃く出るじゃんね。んで、早速「ん?」ってなった箇所があったので、書き留めておこうと思う。なんでもかんでも、できることなら正確に理解した今日この頃。 どうやってcssを読み込めばいいんだろう slimからcssを個別に読み込んでる感じ?とか思ったけど違った。slimからcssを呼び出してない。なのにcssが反映されている。なんじゃこりゃ。んで、勉強して知った。Railsで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く