General InformationDocumentationDeveloper Articles & TopicsCommunity ForumsBlogUniversity
<この項は書きかけです。順次追記します。> This section is about to be written. I will add it little by little. 目次の前に(forward) この記事は、インターンシップの大学生の方に、「ゲームはするよりもゲームプログラムを書く方が楽しい」ということを説明した際に、その説明の一部として書いたものです。ゲームを卒業研究の題材にするなら、ゲームの中での色使いで、人による見え方の違いに配慮した改訂のあったJIS安全色(国際整合:ISO 3864-4:2011(Graphical symbols−Safety colours and safety signs−Part 4: Colorimetric and photometric properties of safety sign materials))を参考にするとよいよとい
本記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一瞬で滅びそう — Masaki Hara (@qnighy) 2018年8月6日 長い前置き ソフトウェアのi18nは難しい。自文化では当たり前と思っていてハードコードしてしまった仮定が崩れて、大幅な再設計を余儀なくされるからだ。気づいて再設計できればまだ良
1.9.3p194 :228 > 10.between?(1, 10) => true 1.9.3p194 :229 > 11.between?(1, 10) => false 1.9.3p194 :230 > DateTime.parse('2012-10-01').between?(DateTime.parse('2012-01-01'), DateTime.parse('2012-12-31')) => true 1.9.3p194 :231 > DateTime.parse('2013-01-01').between?(DateTime.parse('2012-01-01'), DateTime.parse('2012-12-31')) => false Register as a new user and use Qiita more conveniently You get a
概要 ところでこのツイートを見てほしい。このソースコードをどう思う? 世界最悪のログイン処理コード。 実際のサービスで可動していたものだとか……https://t.co/C2bG93ZCkj pic.twitter.com/EfVNAEslrn — はっしー@海外プログラマ🇳🇿元社畜 (@hassy_nz) 2018年8月10日 すごく……セキュリティーホールです…… 一応は動いていますが、あまりに問題がありすぎるため、Twitterでも話題になっていました。 問題点は片手に入り切らないぐらいある気がしますが、一つづつ解説していきます。 ※元記事のタイトルに記載されていますが、このコードはイントラネット内で動作していたものです。 問題点リスト 1. クライアント上のJavaScriptで書かれている 他の問題点を全部ぶっ飛ばすぐらいの重大な不具合です。 クライアントと言うのはこの場合、
はじめに ActiveRecordで{attr_name}_wasのメソッドをコールバック時に利用してみたので、せっかくだったらと思い以下のメソッド全部の実行結果をまとめてみる。 changed? changed changes {attr_name}_changed? {attr_name}_was {attr_name}_change ※この子だけ使う機会がよく分からないので割愛します! {attr_name}_will_change! メソッド詳しく知りたい方は以下のリンクからソースコードどうぞ rails/activemodel/lib/active_model/dirty.rb 目的 以下のコールバック時での各メソッドの実行結果を確認する before_save after_save after_commit 試した内容 色々試すように適当なtestモデル作成 # == Sche
内容 HTMLで記述したボタンをクリックしたときに、JavaScriptでリクエスト送信を行うためのメモ。 参考URL jsでformを作ってsubmitさせる時の注意点 Formを作らずにJSでPOST送信 基本形 ただリクエストを出すだけのJavaScriptを以下に示す。 function execRequest(action, method) { var form = document.createElement("form"); form.setAttribute("action", action); // 投げたいURLを書く。 form.setAttribute("method", method); // POSTリクエストもしくはGETリクエストを書く。 form.style.display = "none"; // 画面に表示しないことを指定する document.bod
設定値や色など 以下のように表示したい設定値を入れておくと、自由に変えられる。 設定値 \d : 日付 \h : ホスト名(ドメイン名なし) \H : ホスト名(ドメイン名あり) \s : シェルの名前 \t : 時間(24時間制 HH:MM:SS形式) \T : 時間(12時間制 HH:MM:SS形式) \@ : 時間(12時間制 HH:MM AM/PM形式) \u : ユーザ名 \w : カレントディレクトリ \W : カレントディレクトリのベース名 ! : コマンドの履歴番号を表示 # : コマンドのコマンド番号 \$ : rootなら#、それ以外のユーザなら$を表示 \ : バックスラッシュ 色 0;30m Black 0;31m Red 0;32m Green 0;33m Yellow 0;34m Blue 0;35m Purple 0;36m Cyan 0;37m White
サンプル http://codepen.io/skwbr/full/JdJWqV (※横着してwebkitプレフィックスしかつけていないのでChromeからどうぞ...) 解説 フワフワというかゆらゆらというか宙に浮いているようなアニメーションをさせる場合。 <ul> <li><a href="#"><img src="hogera.png"></a></li> <li><a href="#"><img src="hogera.png"></a></li> <li><a href="#"><img src="hogera.png"></a></li> </ul> @keyframes horizontal { 0% { transform:translateX( -3px); } 100% { transform:translateX( 0px); } } @keyframes verti
var moment = require("moment"); // 現在時刻を取得する例 moment().format(); // 2014-07-16T09:00:00+09:00 (default) moment().format("YYYY-MM-DD"), // 2014-07-17 moment().format("YYYY-MM-DD HH:mm:ssZ"), // 2014-07-17 10:00:00+09:00 moment().format("dddd, MMMM Do YYYY, h:mm:ss a") // "Thursday, July 17th 2014, 10:00:00 am” moment().toDate() // Date型で取得 moment().unix() // unix timestampで取得 moment().toISOString()
最近、Reactを触っているのだけど、Reactコンポーネント外から任意のReactコンポーネントを操作したい事情に駆られた(何を言ってるのか分からねぇと思うが俺も(ry)。 export default class Hoge extends Component { constructor(props) { super(props); this.state = { text: '' }; this.handleClick = this.handleClick.bind(this); } handleClick(e) { this.setState({ text: 'unko' }); } render() { ... } } 普通のケースだと、こんな感じでHogeのコンポーネントのどっかをクリックしたら、stateのtextにunkoをセットすることによって、renderがはしるみたいな、
#はじめに curlコマンドを使ってapiを叩いたりするのですが、curlコマンドってただapiを叩くためのコマンドなの?みたいなレベル感でした。 業務で使ったコマンドを簡略化すると下記になるのですが、オプションの意味とかよくわからなかったので勉強がてらまとめてメモしました。 参考にしたサイトは下記のマニュアル https://curl.haxx.se/docs/manpage.html #curlコマンドとは curlコマンドとはサーバから、もしくはサーバへデータ転送を行うコマンドです。 curlコマンド自体はapiを叩くためだけに存在しているわけではないです。 httpリクエストができるコマンドなのかなーって思ってたのですが、実際には HTTPやHTTPSといったプロトコルに対応しているため、GETでAPIを叩いたりすることができるというだけで、 curlコマンド自体はFTP,SFTP
これは2017年の11月から独りでWebサービスを作りはじめて、独りでリリースをして、独りで打ち上げをした、独身男性の備忘録です。 開発からリリースまでの4ヶ月間、自分が開発中に心がけていたことなどを忘れないように、次のサービスに活かせるように、Qiitaに投稿しておきます。 また『Webサービス作るぞ!』と、独りで考えている方の参考になればと思います。 作ったもの OFFICECLOCK - クラウド型の勤怠管理サービス トップ画面 登録画面 勤務表画面 打刻画面 OFFICECLOCKは何ができるのか? ざっくり説明すると... Webブラウザで勤怠管理ができる 登録した勤務時間をエクセルで出力ができる HATARACLOCKとも連携しているため、LINEでの打刻、勤務表の確認もできる 【連携しているLINEアプリ】 ※このLINEbotとWebのサービスが連動している。 こだわり こ
私が新規WEBサービス立ち上げ時に取り組んだ内容についてWEBエンジニア向けにまとめた記事です。 例えばNginxの設定でHTTPヘッダーが正しく設定されているかを確認できるGoogleDevelopers PageSpeed Insights を知っていると大変有利です。もちろんPageSpeed Insightsを知らなくてもWEBサービスを公開・運用可能ですがユーザに意図せず不利益を与えていたり、知らず知らずのうちにモバイルフレンドリーでないとGoogleから検索ペナルティを加えられている可能性があります。この記事は独りで新規WEBサービスを立ち上げた際のノウハウと取り組んだ内容について記述しています。 1. 概要(5行くらいで) スマホ対応は必須。トラフィックの50%はスマホから発生する。 速度は武器!速いサイトはそれだけで価値がある。 SEOの内部対策は内部リンク整備とPageS
障害が起きたWebサービスは個人で運営しているサービスです。 2016年2月、障害から20日後にサービス再開しましたがアクティブユーザは以前の18%です。未だ回復の目処は立っていません。冗長化していないサーバがウイルス感染し、その後の対応も後手後手に回ってしまいました。 2016年1月末に起こるべくして起こった障害について記事にしてみました。ご迷惑をお掛けしてしまい本当に申し訳ありません。 ■ ユーザは、もう戻ってこない どんなウイルスに感染したのか SYNフラッド攻撃(SYN Flood Attack)を他のWebサイトに行うウイルスに感染して、確認していませんが他のサービスをSYNフラッド攻撃していたと思います。またウイルス感染時にサーバのsshdを書き換えられsshで接続できなくなりました。感染後にコンソールログインして書き換えられた醜い authorized_keys を見た時ゾッ
node.js でコードを書いている時にハマった 循環参照 という問題とその対処法について紹介します。 この問題は circular dependency, cyclic dependency とも呼ばれます。これはどういう問題かというと、 あるファイルを require したときにその結果が空のオブジェクトとして返される問題 です。 この問題に直面した時はなんでこうなるのか全く理解できなかったのですが、よくよくコードを見てみると、あるファイルとあるファイルがお互いにrequireし合っていることに気づき、色々調べてみるとこういう問題があることがわかりました。 以下にこの問題を再現させるサンプルコードを示します。 // a.js "use strict"; var B = require('./b'); module.exports = (function() { var id, bIns
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く