Wiki Category: development

Java vs Node.js – быстродействие

Интересная практическая статья, рассказанному верю.

Отрывок:

В общем, все, что можно было сделать малой кровью, сделано. Уже начали подумывать о приобретении второго-третьего сервера и настраивать балансировку.
Но как-то вечером в разговоре с q4x2 у нас вышел спор о том, что не все платформы одинаково полезны. А если проще, то он меня убеждал, что все наши беды из-за NodeJS, и что он готов сделать свой вариант сервера на Java, который “порвет” Node на британский флаг. Я в этом сильно сомневался,

Не успел Node-сервер обрадоваться двум новым ядрам, как q4x2 выкатил свой Java-сервер. Код мне напомнил самый первый вариант Node-сервера: все в одном файле в процедурном стиле. Код мы постепенно привели к божескому виду, но все равно было видно (после избавления от детских болячек), насколько этот вариант быстрее Node. В цифрах загрузки CPU — примерно в четыре раза. В часы пик, при ~500 запросах/сек основным java-процессом используется одно ядро. Для Node-версии на четырехядернике такая нагрузка была недостижимой, а на шестиядернике она была очень близка к предельной.

хабр: Как мы делали XVM — популярный мод для World of Tanks. Часть вторая: развитие серверной части

Превращение WordPress в фреймворк

  • One of the time-consuming part of developing WordPress plugins and themes is creating setting pages. As you more and more write plugins and themes, you will soon realize major part of code can be reused. Admin Page Framework aims to provide reusable code that eliminates the necessity of writing repeated code over and over again.
    Admin page framework
  • WP MVC is a WordPress plugin that allows developers to use a MVC framework to create plugins. It is a full-fledged framework with architecture that’s similar to that of CakePHP or Ruby on Rails. Developers can consequently use it to rapidly build sites that take advantage of both WordPress’s large native functionality and all of the many advantages of an MVC framework.
    WP MVC
  • Прикручиваем Themosis и получаем Laravel Первый взгляд на Themosis, фреймворк для WordPress разработчиков

12 Popular Frameworks to Speed up your WordPress Development

react_best_practices-1453211146748

React.js

Серьезно не копал, но кажется React может стать прекрасной заменой Backbone.js. Потому что подход в использовании схож. Дизайн внутренностей совсем другой, да.

но Почему мы выбрали Vue.js (а не React)

И подчеркну, они оба НЕ фреймворки, а View библиотеки. Это минус, если нужно сложное веб приложение, и плюс – если надо к сайту добавить UI, и не перелопачивать весь фронтенд ради этого. А Angular.js и Ember.js – заставят ;)

Краткое руководство по React JS

Хабра HUB по React JS

edabf20b88277cf9e1d2e8f70e4b69be

Javascript-фреймворки

Javascript-фреймворки – это круто. Очень. И – больно.

И эти тысячи фреймворков, каждый из которых как две капли воды зачастую похож на друг друга, особенно во flux фреймворках — это прямо «придумай свое название точка JS». И из этого ада там, где Google Web Toolkit уже давно умер, надо как-то выбрать. Блин, что делать? Конечно, надо было что-то подумать, как бы посмотреть, как другие где-то что-то выбирают в Интернете, залезть и где-то спереть результат.
Хабр: Javascript-фреймворки: должен остаться только один

Qooxdoo

Забытый, но живой фреймворк, из старого поколения. В котором была предпринята попытка полностью уйти от работы с HTML, и работать с web UI как с привычным GUI.
Qooxdoo. Разрабатываем TODO List

Из старого поколения еще можно назвать Dojo Toolkit. Но он более сложный, чем Qooxdoo, и не такой GUIевый.

Каково оно, учить JavaScript в 2016

google-go-logo

Golang

из Почему Go не так хорош

  • Go не делает ничего нового;
  • Go не был великолепно спроектирован с нуля;
  • Go — шаг назад по сравнению с другими современными языками.

For each server, the client would do the following:

  1. Start the server
  2. Warm up the server by doing 10% of the test; 1000 clients for 30 seconds
  3. Do the full test of 10,000 clients for 5 minutes.
  4. Cool down the machine by waiting 15 seconds after stopping the server

Websocket Demo Results V2


Производительность без цикла событий

Kanboard

Kanboard is a project management software that uses the Kanban methodology


kanboard.net

Из бесплатных – хороший багтрекер.

Но слабее MantisBT

mantis_logo

MantisBT

Древний баг трекер. имеет тьму плагинов(например Канбан доски), API и плагины для интеграции с IDE.

Несмотря на древность и неторопливость развития – вполне мощный. Возможностей у например няшного Trello – много меньше.

И, очень неприхотливый к сереру.

Я работал и в Jira, и веду свои проекты в Мантисе без каких-то неудобств.

Основным конкурентом я бы назвал Kanboard. Но у Kanboard слабее система прав пользователей.

Моя небольшая кастомизация Мантиса

symfony_black_01
yii2-logo
mercurial_lrg

Mercurial

Роман Давыдкин @Beholder, Java-разработчик пишет на Хабре:

Некоторое время назад я опубликовал очень многословное сочинение, где пытался объяснить, почему Git серьёзно поломан, и почему всем следует вместо этого пользоваться Mercurial, до тех пор, пока разработчки Git его не починят. Ну ладно, я был не настолько груб, но близок к этому.

Народ на Reddit жаловался, что мой технический язык слишком путанный, особенно потому что я придумывал новую терминологию в попытках доказательства своих положений. Они потребовали графы, с узлами, рёбрами, кружочками, стрелочками и всем прочим. Тогда я промучал графический редактор несколько часов и получил два графа, приведённые ниже, которыми я надеюсь обрисовать проблему.

Ниже я нарисовал упрощёный граф истории репозитория Git с тремя созданными ветками: «master», «release» и «topic». До того, как энтузиасты Git начнут ругаться, что я исхитрился показать нереально плохой случай запутанности истории, позвольте мне заверить вас, что это на самом деле ещё упрощённый пример. У меня есть доступ к реальному репозиторию Git, где создано шесть рабочих веток релизов, около сорока рабочих тематических веток и несколько сотен ранее существовавших веток, которые уже удалены с центрального сервера.

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

.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 прямо из браузера.