タグ

ブックマーク / qiita.com/tadsan (22)

  • Markdown Modeと久々に向き合う - Qiita

    こんにちは! Emacs Advent Calendarです! メリークリスマス! Advent Calendarの季節なのでみなさんも20個くらい記事を書く羽目になっているのではないかと思うのですが、私も最近いろいろあって執筆環境を整えてモチベを高めようという気になってきました。 EmacsでMarkdownを書くならMarkdown Modeを使うのが定石ですが、長年何も考えずに使ってきてMarkdown ModeのMarkdown Modeらしい使いかたをしてこなかったので長い12月の最初に向き合ってみようかと思いました。 Markdown Modeのインストール Markdown ModeはEmacsに標準では付属していませんが、M-x package-install markdown-modeとかで入ります。Emacs 28以降ではNonGNU ELPAが最初から設定されているの

    Markdown Modeと久々に向き合う - Qiita
  • PSRとコーディングスタイルの関係、そしてPERへ - Qiita

    • PSR-1は高度な技術的相互運用性を目的としたコーディング標準 • PSR-2/→PSR-12はプロジェクト内での認知的摩擦を軽減するためのスタイルガイド • PSR-12はPER Coding Styleに進化した PSRとは何か PSRが何ではないかについて下記の記事にまとめたので、あとでゆっくり読んでください。 というか↑の記事にだいたい書いたので、この記事はコーディングスタイルに絞った内容ということになります。 重要な部分だけ抜萃して再掲しましょう。 PSRを管理するのはPHP-FIG (The PHP Framework Interoperability Group、PHPフレームワーク相互運用グループ)です。この組織はPHPのフレームワーク・CMS・ツールなどの開発者の寄合所帯です。 Frequently Asked Questions - PHP-FIGの内容をざっくり訳

    PSRとコーディングスタイルの関係、そしてPERへ - Qiita
  • PHPからJavaScriptにデータを受け渡すときに考えること - Qiita

    PHPのstringは任意のバイト列を扱えますが、JavaScript/JSONはUnicodeで扱える文字しか扱えません PHPのint / floatはプラットフォーム依存ですが、JavaScriptのnumberは整数と小数を型レベルで区別しません JSONのarrayに対応する型はPHPのarrayのうちリストであるものです PHPは配列(リスト)と連想配列を型レベルで区別せず、どちらもarrayです リストはキーが0からの抜けがない連番になっている要素が0個以上の配列です array_is_list()関数で連想配列とリストを判別できます array_values()で連想配列をリストに変換できます array_filter()の結果はフィルタされたキーがスキップされるのでリストではありませんが、結果をarray_values()に通すことでリストにできます JsonSerial

    PHPからJavaScriptにデータを受け渡すときに考えること - Qiita
  • なぜ出力時のHTMLエスケープを省略してはならないのか - Qiita

    メリークリスマス! 週末もPHPを楽しんでますか? ところでWebセキュリティはWebアプリケーションを公開する上で基礎中の基礎ですよね! メジャーな脆弱性を作り込まないことはWeb開発においては専門技術ではなく、プロとしての基です。 中でもXSS (Cross-Site Scriptingクロスサイトスクリプティング)やインジェクションについての考慮は常に絶対に欠いてはならないものです。 現実にはプログラミングには自動車のような運転免許制度がないため、自動車学校に通わず独学で公道に出ることができてしまいます。つまりは基礎知識がないままにWebプログラマとして就職したり、フリーランスとして案件を請けることも現実には罷り通っています。それは一時停止標識も赤信号も知らずにタクシー営業しているようなものです。 このような事情により、体系的な理解のないWeb開発初心者は (時にはn年のキャリアを

    なぜ出力時のHTMLエスケープを省略してはならないのか - Qiita
  • ApacheライセンスのソースコードをGitHubにあげるまで - Qiita

    も杓子もMIT License、みたいな感じなので… 自作ソースコードに、MITライセンスを適用する3つのやり方 | オープンソース・ライセンスの談話室 MITライセンスのソースコードをGithubにあげるまで CC0ライセンスのソースコードをGitHubにあげるまで Apacheライセンスってなんだ Apache Software Foundation1が提供する製品のソフトウェアライセンスです。概ねBSDライセンスと同じ(つまりMITライセンスとも同じ)なのですが、さらに許諾の範囲が明確です。 Apache License, Version 2.0 日語訳 licenses/Apache_License_2.0 あんまり長くないので、全文読んだ方が良いと思ひます。まあMITライセンスの数倍長いけど。 MITライセンスなどの短いライセンスとの差は以下のようになるかと思ひます。 用語の

    ApacheライセンスのソースコードをGitHubにあげるまで - Qiita
  • このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita

    この記事ではPackagistで公開可能な形式のPHPのライブラリ(Composerパッケージ)を公開するための道具立てを紹介します。あと、現代のPHPerはツールを組み合せてさくっと開発しているんだという自慢です。 タイトルは「この TypeScript が Hello, world! のくせに慎重すぎる」と「この勇者が俺TUEEEくせに慎重すぎる」のぱくr… パロディです。 テンプレートエンジンのくせに型安全なんてなまいきな。 この記事の読みかた せっかくなので手を動かしながら自分でComposerパッケージを作成してみましょう。 今回の題材は「Hello worldを出力する」という革新的機能を提供する、とても画期的な実用ライブラリです。 記事名通り「慎重すぎる」ので、細かく刻んでGitで経過を保存しながら作業を進めていましょう。なんかよくわからない状態になったらgit reset

    このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita
    fumikony
    fumikony 2020/01/29
  • PHP: Clean Code (clean-code-php) 蜜柑薬 - Qiita

    もくじ はじめに 変数 関数 オブジェクトとデータ構造 クラス S: 単一責任の原則 (SRP) O: オープン/クローズドの原則 (OCP) L: リスコフの置換原則 (LSP) I: インターフェイス分離の原則 (ISP) D: 依存逆転の法則 (DIP) 同じことを繰り返すな (DRY) はじめに この記事はRobert C. Martinの「Clean Code」のソフトウェアエンジニアリングの法則をPHPに適合させたものです。これはスタイルガイドではありません。読みやすく、再利用しやすく、そしてリファクタリングしやすいPHPコードを書くためのガイドです。 ここで挙げられるすべての原則は厳密に守らなくてはいけないわけではなく、少し守らなかったところで一般には許容されます。あくまでガイドラインですが、Clean Codeの著者たちがみな長年に渡って経験してきたことです。 この記事(

    PHP: Clean Code (clean-code-php) 蜜柑薬 - Qiita
  • PHP「関数っぽいもの」列伝 - Qiita

    これは2017年6月10日のPHPカンファレンス福岡2017懇親会LTで発表したものです。初出は2017年5月19日に社内勉強会で発表したものを大幅に加筆したものです。 これを5分…? 無理ですな。 お前誰よ うさみけんた / GitHub: zonuexe ピクシブ株式会社 (東京) 福岡オフィスできました! CTOが赴任して週明けから稼動するよ PhpStorm普及業の傍らEmacsのphp-mode開発 このスライドはQiitaで公開済みなので、PHPについて知りたい型はゆっくり読んでね せっかくなので自薦のPHP記事を置いておきますね FizzBuzzから始めるコードの再利用性を高めるトレーニング インスパイヤされて掲示板を作りたくなった(1) シンプルなルーティングがしたかった array_mapと部分適用→array_mapにありがとう、さよなら モダンPHPアンチパターン さ

    PHP「関数っぽいもの」列伝 - Qiita
  • includeって書きたくない僕たちのためのオートローディングとComposer - Qiita

    こんにちはこんにちは、PHP書いてますか? include_once してますか? それともキミは require_once 派? ところで、現代的なPHPではクラスファイル(ここではclass, trait, interfaceを含む定義ファイル)では、わざわざファイルをinclude/requireしなくても自動的に読み込む機能をカンタンに構築できる環境があるので、紹介いたします。 この記事は手を動かして動作確認しながら読めるように構成してありますので、斜め読みするだけではもったいないですよ ヾ(〃><)ノ゙ はじめに 今回の記事ではクラスの自動ロード(オートローディング)の概要に絞って解説しますが、名前空間の文法や細かい説明を含めて包括的に解説した記事は、既にWEB+DB PRESS Vol.91|技術評論社にて「PHP大規模開発入門 第12回 名前空間とオートローディング」として発

    includeって書きたくない僕たちのためのオートローディングとComposer - Qiita
  • いま熱い最新スクリーンエディタmicro ことはじめ - Qiita

    microとは何か 最近注目を集めてるような気がするスクリーンエディタ、つまり文字ベースのターミナル(端末エミュレータ)で動作するテキストエディタです。そのようなエディタとしてはviやEmacs、近年ではnanoが知られてます。 microはそのようなテキストエディタの中でも最後発で、目下のところ活溌に開発されてるところです。この記事ではREADME.mdからいい感じに抜萃しつつ紹介します。 microはviやEmacsのような独特な操作体系ではなく、GUIのテキストエディタに近い操作性(キーバインド)を持ちます。SSHなど端末経由でのテキスト編集の必要に迫られたときに、新たな操作体系を覚え直す手間を最小限にしながら作業に取り掛かることができます。 2016年10月20日 追記 #端末(ターミナル)の設定を追加しました。特に、Shift+[←↓↑→]での範囲選択が機能しない場合に参考にして

    いま熱い最新スクリーンエディタmicro ことはじめ - Qiita
  • 君は誰とEmacsる? (補完インターフェイス紹介篇) - Qiita

    Anything? それともIDO? 承前 Emacsの初期設定の補完インターフェイスは前方一致補完しかできないので、効率を上げるための代替手法を提案する。 具体的にはC-x C-f(find-file)とかC-x b(switch-to-buffer)、M-x(execute-extended-command)みたいなコマンドの操作性を改善できる。 注意 拡張パッケージをインストールする際にはpackage.el - Emacs JPとGetting Started - MELPAを参考にMELPAの設定をすること。 また、以下に紹介する「IDO」「Helm」「Counsel」「Anything」のどれかを選んで、設定は混在させない方が良い。 最初に比較表 | パッケージ名 | リポジトリ | 独断と偏見による立ち位置 | |----------------+--------------

    君は誰とEmacsる? (補完インターフェイス紹介篇) - Qiita
  • 初心者を戒めるPHP - Qiita

    この記事は何か 挑発的な文言になってる箇所はあるものの、内容としてはそれなりにまじめに書いたつもり。むしゃむしゃしてやった。いまでは反芻してゐる。 PHPDocは必ず書け あらゆる再利用可能な手続きは、他人が容易に応用できるように型が明示的でなければいけない。メンバー全員が実装コード全てを把握できるものならそれが理想だけれど、残念ながら時間は有限だ。ヘッダだけを読んでメソッドの仕様が理解でき、またはコードを読む助けになるようなコメントが良い。 有名な事実を紹介すると、多くのコードは数か月(早ければ数日!)も経てば、他人が書いたコードに感じられるほど理解できなくなることがしばしばある。もちろん設計の練度にもよらうが、設計判断について注意を要した点などをコメントに残しておくことで、ひいては未来の自分の役に立てることができる。 お前の先輩は「PHPには型がない」などと知ったかぶって意味不明1なこ

    初心者を戒めるPHP - Qiita
  • インスパイヤされて掲示板を作りたくなった(1) - Qiita

    PHP+SQLite3で2ちゃんねるっぽい掲示板を作るにインスパイヤされて。そういや私、いままでの人生でスレッドフロート掲示板とか作ったことない。作ってみよう。 PHPを入れる PHP 7をインストールしよう。それ以下のバージョンはレガシーだ。特に5.4系以下はセキュリティサポートも終了してるので相手にしてはいけない。 Macなら、こんな感じで入れるのがいいです。 WindowsでまじめにPHPやるのとか正直微妙なので、VirtualBoxとVagrant入れてrlerdorf/php7devとか動かしてみるといいです。 やりかたはpixiv/intern2015wとかに書いたので、よくわからなかったらこれが動くようにしてみるのがいいですかね。 Linuxでは… まあよしなにやってください。 Composerを入れる ComposerはPHPのパッケージの依存性を管理するツールです。php

    インスパイヤされて掲示板を作りたくなった(1) - Qiita
  • (Emacs|Vim)初心者から脱出するためのなんやかんや - Qiita

    Emacsのために書いたけど、だいたいVimにも通用する気がする。GUIのエディタで通用するのかは知らない。 複数の環境で共通の設定ファイルを利用できるようにする 複数の環境、例として手元のMacBookや個人のVPS、会社の開発用のサーバーなどで個別に設定をするのは非効率です。.emacs.dや.vimなどのディレクトリをGitなどで管理してGitHubなどにアップロードすると良いでしょう。 GitHubに公開することに抵抗があれば、Bitbucketは無料でプライベートリポジトリを作成することができます。 UNIXの設定ファイルは$HOME/.emacs.d/init.elや$HOME/.vimrcのようにホームディレクトリの決まった位置に置かなくてはいけないことが多いですが、実はシンボリックリングでも問題ありません。 つまり、私の場合は以下のように運用します。 cd ~/local/

    (Emacs|Vim)初心者から脱出するためのなんやかんや - Qiita
    fumikony
    fumikony 2015/11/21
  • 2015年Emacsパッケージ事情 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Emacsは「拡張可能なテキストエディタ」と呼ばれ1、エディタとしての基的な機能ですらユーザーが柔軟にカスタマイズできます。 最初から同梱されてるライブラリだけではなくWebにあるEmacs Lispパッケージを導入することで、べんりなインターフェイスや強力な編集機能、追加の言語サポートを取り入れることができます。 さて、そのEmacs Lispパッケージの管理方法については大きく変化があるので、この記事では近年の潮流について紹介します。 読むのがめんどくさいひとのために結論 Emacsを最新版にして、Caskを入れよう!!!! Ca

    2015年Emacsパッケージ事情 - Qiita
  • シェル、ターミナル、コンソール、コマンドライン - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? いろいろ混同されがちなやつ。筆者もまったく混乱してないとは主張しがたい。 この記事は初版を2014年1月に書きはじめ、いまのバージョンを2015年4月頃に書いてたけど、擬似端末/仮想コンソールあたりの理解が怪しいのでお蔵入りになってました。ので、そのあたりの説明は微妙。 コマンドライン(command-line) 文字でコマンドを打ち込んで操作するインターフェイスのこと。 シェル(shell) 人間様がOSを操作するためのインターフェイスのこと。貝のようにOSの核(カーネル)を守ってるからシェルと呼ぶんだって噂。 大別すると コマンドラ

    シェル、ターミナル、コンソール、コマンドライン - Qiita
  • show-trailing-whitespaceは便利だが、見栄えが悪いこともある - Qiita

    ……と、ところでこのままでは若干見栄えが悪くなることもある。Eshellや対話環境を利用するときなど。 解決策 微妙な感じもするんだけど、(setq show-trailing-whitespace nil) つまり機能を無効化するだけのフックを各モードに設定する。 my/disable-trailing-modesは末尾の空白表示を無効化するモードのブラックリストなので、嫌だなと思ったらこのリストに追加してやればいい。 (defun my/disable-trailing-mode-hook () "Disable show tail whitespace." (setq show-trailing-whitespace nil)) (defvar my/disable-trailing-modes '(comint-mode eshell-mode eww-mode term-mode

    show-trailing-whitespaceは便利だが、見栄えが悪いこともある - Qiita
  • PHPのin_arrayは罠が多いので注意喚起が必要 - Qiita

    最初に結論 in_arrayには第三引数trueを指定しろ。絶対にだ。 はじめに in_arrayについては、はじめにPHP: in_array - Manualをよく読んでおいてほしい。 この記事に書いたコード断片は、どうか読むだけではなく自分で手を動かして確認してほしい。 PHPで短いコードを動かすのはPsySHを利用すると、とても捗る。ローカルに動作環境がなければ、Ideone.comなどのオンラインサービスを利用しても差支ない。 static $fruits = ["apple", "orange", "banana"]; in_array("apple", $fruits); // => true in_array("mikan", $fruits); // => false これがin_arrayのふつうの使ひかただ。 Webアプリケーションでの実例 では、次のような例を見てみ

    PHPのin_arrayは罠が多いので注意喚起が必要 - Qiita
  • Emacsで世界を滅ぼす - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    Emacsで世界を滅ぼす - Qiita
  • PHPのモダンな開発環境を紹介する - Qiita

    やあPHP! 最近なんだかまともだなぁ PHP開発の上で実用的なツール群について、RubyPythonほどには知名度がないので紹介したい。Windowsのことは知らないので、各自がんばってほしい。 筆者はもともとRubyの方から来たので、Rubyとの比較が多いのは留意されたい。 この記事の内容と直接関連はしないが、併せて読まれたい PHPのin_arrayは罠が多いので注意喚起が必要 - Qiita 準備 MacだとHomebrewがあると依存ライブラリを集めるのが楽でべんり。 これは個人の趣味の話なのだけれど、自分でインストールする実行ファイルは$HOME/local/binに置くのが好きだ。 筆者はZ Shellユーザーなので https://github.com/zonuexe/dotfiles/blob/master/.zshenv#L1-L13 のようにしてる。 PHPBrew

    PHPのモダンな開発環境を紹介する - Qiita