Wiki Category: development

.htaccess


ocStrore 1.5 htaccess

SEO, кеширование, и прочее, на основе стандартного

Правильный htaccess allow,deny

у тьмы сайтов мелкая дыррчка безопасности в этом месте. Когда-то были настроены права только для 2.2. А потом хостер или сами сменили на 2.4. А про .htaccess забыли.

Скорость работы WordPress

Как обычному сайту на WordPress набрать 99/100 в PageSpeed Insights

Can.js

Сравнение Angular, Backbone, CanJS и Ember

Итоговая табличка из статьи

Оценки Angular Backbone CanJS Ember
Функции 5 2 4 5
Гибкость 3 5 4 3
Порог входа и документация 2 4 5 3
Продуктивность разработки 4 2 4 5
Сообщество 4 5 3 4
Ecosystem 4 5 2 4
Размер 4 5 5 2
Производительность 3 4 5 4
Зрелость 4 5 4 3
Защита от утечек памяти 5 3 5 5
Сумма 38 40 41 38
ko-logo

Knockout.js

Мнения с Хабра

Лучше Knockout-а вряд ли что-то можно придумать.

AngularJS?

я бы на их месте использовал бы html5 атрибут data все таки не зра его вводят, вместо своего ng

Ну, там есть такая возможность: data-ng- вместо ng-

Но сути это не меняет — Нокаут лучше из-за самого сильного механизма observables. Я могу иметь наблюдаемое проперти, которое в свою очередь возвращает в качестве значений другой наблюдаемое проперти. Причем, все они могут быть зависимыми без указания мной явных цепочек зависимостей.

Но и для многих аспектов Нокаут предоставляет гораздо более удобное и лаконичное API. Те же кастомные байндинги в Нокауте делаются одной или двумя функциями, а в angular готового рецепта нет.

Соглашусь. Многие теряют из виду тот факт, что темплейты Нокаута остаются валидным HTML-кодом, а значит их может править верстальщик или дизайнер без оглядки на синтаксис разработчиков. Тем более, с учетом того, что в большинстве случаев темплейты инлайнятся в текст страницы, а не прячутся в script тагах, темплейты верстальщик может править непосредственно по готовому живому HTML прямо из браузера.

backbone

Backbone.js

Backbone — не фреймворк, это библиотека.
Backbone is a library, not a framework, and plays well with others.

Статьи от Gaperton`а (Vlad Balin)

Backbone.js on Steroids

Расскажу, пожалуй, про старую тему – разработку одностраничных JS-приложений. С тех пор, как я послежний раз об этом писал, прошло много времени – наверное, года 3. И с тех пор много чего изменилось. Появилось множество разных JS фреймворков, в моду вошел two-way databinding.

Однако, мэйнстримом (примерно 40% применений) на данный момент является Backbone.js, работающий в связке с jQuery и Underscore.js. Причиной этого, возможно, является его простота. Backbone прост в том смысле, что ему достаточно легко обучить команду, собирающуюся писать одностраничное приложение, и не имеющую в этом опыта. Это безусловный плюс backbone (как и его популярность), однако, его минусом является то, что он слишком прост. То есть, на голом backbone не так просто сделать что-то, кроме совсем простого.
вся статья

Допустим, у нас есть группа разработчиков на PHP, которые знают чуть чуть JS и jQuery. Что самое простое мы можем сделать, чтобы начали писать браузерное приложение, и были продуктивны немедленно?

Мы можем попробовать использовать тот же принцип, и те же архитектурны правила, к которым они привыкли в PHP. У них были шаблоны с встроенным PHP? Отлично, мы будем использовать такие же шаблоны со встроенным JS, которые будут разворачиваться в браузере. Они использовали jQuery? Отлично, мы сохраним jQuery.

Нам остается задать этому какую-то структуру. Элемент UI – это будет объект View с присоединенным DOM-элементом, и методом ‘render’, который должен разворачивать шаблон в присоединенный элемент. Помимо этого, View должен уметь перехватывать события UI, и вызывать свои методы.
4. BackboneJS

Кому-то могло показаться после прочтении предыдущей статьи, что мне “просто нравится бэкбон“, или что я считаю его лучшей в мире технологией. Это не так. Мы начали с backbone по двум причинам: (1) многие с него начинают, и (2) это, пожалуй, минимально возможный фреймворк для браузерных приложений.
5. Backbone Sucks


Marionette и Chaplin — фреймворки, которые работают поверх популярной библиотеки Backbone.js. Оба хотят облегчить разработку одностраничных JS-приложений. В таких приложениях, фронтэнд выполняет задачи, которые в прошлом выполнялись на сервере (вроде рендеринга HTML из данных).

Бэкбон спроектирован, как минималистичная библиотека, а не как полноценный фреймворк. Мой опыт показал, что Бэкбон хорош только как ядро архитектуры JS-аппликейшна. И Марионетка, и Чаплин появились, потому что Бэкбон предоставляет мало структурирования для реальных приложений. Они решают те же проблемы. Так что между ними довольно много сходств — возможно, даже больше, чем отличий.

хабр: MVC-фреймворки на JavaScript: сравнение Marionette и Chaplin

JsRender

http://www.jsviews.com/#jsrender

Хабр: JsRender: Новое поколение jQuery Templates

Использование JsRender с JavaScript и HTML

Более сложная функциональность шаблонов JsRender

P.S.
с Хабра
Шаманство всё это. Плагин для jQuery без jQuery, под который нужно учить отдельный синтаксис.

Лучше Knockout-а вряд ли что-то можно придумать.

nodejs-new-white-pantone

Node.js

Теоретически очень перспективная платформа.

По эффективности работы в рантайме – иногда лучше даже Джавы. Да и по скорости создания простых REST приложений.
Но, согласен с выводами в После года использования NodeJS для разработки

Я потратил год, пытаясь заставить JavaScript и более специфичный Node работать на нашу команду. К сожалению, за это время мы потратили больше часов на поиск документации, знакомство со «стандартами», споры о библиотеках и отладку тривиального кода, чем на что-то полезное.

Посоветовал бы я Node для больших проектов? Абсолютно нет. Будут ли люди использовать его всё равно? Конечно будут. Я тоже пытался.

Вполне возможно вы удивлены, что я делаю сейчас? Сейчас я продолжаю писать главные части наших продуктов и API, используя Python.


Сервлет

Сервлетные фильтры

Сервлетный фильтр, в соответствии со спецификацией, это Java-код, пригодный для повторного использования и позволяющий преобразовать содержание HTTP-запросов, HTTP-ответов и информацию, содержащуюся в заголовках HTML. Сервлетный фильтр занимается предварительной обработкой запроса, прежде чем тот попадает в сервлет, и/или последующей обработкой ответа, исходящего из сервлета. Сервлетные фильтры могут:

Читать дальше

tapestry
86a63efa391f4c4792939a0488d03ed0

Качество

Выберите любые два, но только два пункта

  • Быстро
  • Качественно
  • Дешево

quality_development

PHP

PHP

Старая картинка.

PHP_Java

Почему PHP не умирает

это часть ответа.

вторая часть – то за что его ругают и есть его преимущество.

третья – точка пересечения с каждым годом после 5.3+ сдвигается вправо, по оси – сложности веб-приложения


В интернете очень много устаревшей информации, которая приводит к заблуждению, распространению неверных решений и написанию плохого кода у начинающих PHP-разработчиков. Это нужно остановить. PHP: Правильный Путь — легкочитаемое руководство для быстрого ознакомления справилами эффективного использования PHP, принятыми стандартами написания кода и ссылками на признанные руководства по всему интернету.

Более полное и свежее ессно на английском PHP: The Right Way


au-board

Если вы задумали создать свой OLX

С завидной регулярностью к нам приходят запросы «а как дать возможность посетителям добавлять свои товары, а как сделать что то похожее на OLX или SLANDO»?

Вышел PHP 7.1

Вы слушаете «Пятиминутку PHP», выпуск номер 25 — подкаст о новостях из мира PHP, интересных постах в блогах и современных подходах к разработке.

Рад всех поздравить с выходом PHP версии 7.1.0. Давайте сделаем краткий обзор RFC, вошедших в этот релиз.

Подключение GA и Яндекс Метрики

Учитывает режим отладки, и исключает срабатывание для залогиненных пользователей

Мапперы, ORMы, LINQ для PHP

RedBeanPHP is an easy to use ORM for PHP. It’s a Zero Config ORM lib that ‘automagically’ builds your database schema. Requirements Short version first… minimal requirements GNU/Linux, BSD, Windows PHP 5.3.0 or higher (PHP 5.3.4+ recommended) PDO plus driver for your database Multibyte String Support

86a63efa391f4c4792939a0488d03ed0

Быстродействие PHP

PHP programs versus Python 3
PHP programs versus Ruby
Web Framework Benchmarks

git_logo

Git

А как без него?

Предлагаю рассмотреть преимущества от использования Git по сравнению с работой без него, например, только по FTP-протоколу.
5 причин внедрить Git для Product Owner’a

Git force pull to overwrite local files


– Один разраб одним пушем может убить все 3 проекта, совсем убить без возможности восстановления.

разработчик может выполнить «git push —force» и изменить/удалить всю историю изменений.

git push -f
А потом
git prune
или
git gc

How to use git to lose data

Protected branches and required status checks


Машина времени в git

3 режима команды git reset: –soft, –mixed(по умолчанию), –hard

Раскрытие тайн reset


Хранение конфигов в Git’е

мне как-то помог
.gitattributes с merge=ours

Параметр AutoCRLF

Если работаете в Netbeans и под Windows, и аплоадите еще и напрямую, то выставьте autocrlf = input, и

Два столпа JavaScript: функциональное программирование

Почтенный мастер Ку Чи шел со своим учеником, Антоном. Надеясь вступить с мастером в дискуссию, Антон сказал: «Учитель, я слышал, что объекты это очень хорошая вещь — это правда?» Ку Чи с сожалением посмотрел на своего ученика и ответил: «Мой глупый ученик, объекты — это замыкания для бедных.» Антон поклонился и вернулся в свою келью изучать замыкания. Он внимательно прочитал всю серию работ «Lambda: The Ultimate…», потом все остальные статьи по этой теме, и создал небольшой интерпретатор с использованием объектов эмулирующих функционал замыканий. Он многому научился, и стал искать встречи с мастером, чтобы похвастатья. На своей следующей прогулке с Ку Чи, Антон сказал: «Учитель, я усердно изучал этот вопрос, и теперь понимаю, что объекты действительно являются замыканиями для бедных.» Ку Чи ударил Антона своей палкой и сказал: «Когда же ты научишься? Замыкания — это объекты для бедных». В этот самый момент Антон достиг просветления.

Читать дальше