Рубрика: Разработчикам

О точности планов

точную оценку сроков не дают даже пророки которым Бог на ухо шепчет о будущем.

у меня был один шеф, который твердо утверждал – чем точнее оценка, тем план туфтовей.

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

Не вляпаться в стартап

Если вы сами задумали стартап – то эта статья не для вас.
У вас точно все получится, ведь статистика говорит что несколько процентов стартапов просуществуют больше нескольких лет, и конечно ваш стартап среди этих процентов. Потому что ваш проект особенный, нацелен на свободную нишу, сотни тысяч людей ждут подобного, а венчурные фонды не знают что делать с неработающими деньгами и т.д.
Я вам верю.

Статья для тех кого позвали реализовывать чей-то стартап.

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

Форк PrestaShop

Независимая группа разработчиков из сообщества сообщила о создании проекта ThirtyBees, в рамках которого создан форк свободной платформы электронной коммерции PrestaShop, на базе которой построено более 250 тысяч интернет-магазинов. Код проекта написан на PHP и распространяется под лицензией OSL 3.0.

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

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

Мы решили использовать Vue.js после того, как построили тестовое приложение c идентичным функционалом – наш калькулятор — на React, Vue.js и Angular2.
React.js

Популярность React взлетела до небес за последние год-два, и теперь, пожалуй, это выбор по умолчанию для JS разработчика, который хочет написать на фронтенде что-то сложнее трехстрочного абзаца кода.

Мы запилили несколько SPA и динамических виджетов на React, мы тестировали React Native (под iOS) и Redux. Я думаю, что React был большим шагом для мира JS с точки зрения осведомленности о состоянии, и он показал многим людям, что такое реальное функциональное программирование в хорошем, прагматичном ключе. Также я думаю, что React Native велик – он буквально меняет весь ландшафт мобильной разработки.

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

Scope creep: причини і наслідки

Чи виникало у Вас коли-небудь таке відчуття, що продукт ніколи не вийде в реліз? Щоразу після зустрічі з представниками замовника з’являється потреба у новій функціональності, а обсяг робіт по існуючому функціоналу росте як на дріжджах. Як наслідок, усі початкові бюджети перевищено, а строки завершення робіт протерміновано. Знайомтесь — перед вами розростання обсягів проекту (в англомовній літературі «scope creep»).

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

17 уникальных функций для оптового интернет-магазина

Персональные цены
Упрощенная навигация и быстрый поиск
Товары без картинок и подробных описаний
Табличная форма заказа
Оптовые единицы измерения
Заказ по списку
Несколько заказов одновременно
Личный кабинет с платежным балансом счета
«Поговорить с вашим менеджером»
Бонусный счет, уровни по объему продаж
Счета-фактуры, товарно-транспортные накладные, договоры, акты
Заказ с удаленного склада
Просмотр остатков на региональных складах, отслеживание перемещений
«Документы для розничного покупателя»
«Мои клиенты»
Аналитика продаж
Интеграция с учетной системой и логистикой

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

Вам точно нужен дизайн под заказ?

Существует практика разработки веб-сайта:
1. Рисуется дизайн. На выходе – PSD файл.
2. Затем верстается html
3. Затем этот html “натягивается” на CMS.

Вопрос – а у вас есть деньги и время на качественное выполнение этих трех этапов?

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

Вышел PHP 7.1

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

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

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

Какую оплату за проект лучше выбрать фрилансеру: фиксированная или почасовая ставка?

Одна из вещей, которую, пожалуй спрашивают каждого фрилансера «Как ты знаешь сколько брать за свою работу?». Наверняка, далеко не каждый из вас имеет правильный ответ на этот вопрос. На самом деле любой опытный фрилансер знает, что расчетные ставки могут быть настоящей игрой в «счастливый случай», где работа может принести вам либо весьма щедрый гонорар, а может и вовсе пойти в убыток.

Так, сколько вам действительно брать с клиентов? Как понять, сколько стоит работа, чтобы ваши цены были конкурентоспособными и адекватными?

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

Внедрение без ТЗ: дорога в никуда

ТОП-6 фраз клиентов

И так всё понятно — зачем тратить время?
Здесь всё просто! Да я на пальцах объясню
Почему я должен платить за то, что войдёт в следующий релиз?
Я не умею его составлять
Да программисты ничего не понимают в продажах (бизнесе, складе, бухгалтерии и т.д.)!
Вы составляете ТЗ за деньги?!
Я подразумевал другое!

Читать дальше
book-cover

Designing Data-Intensive Applications (book)

Load from dataintensive.net

Don’t just hack it together

NoSQL… Big Data… Scalability… CAP Theorem… Eventual Consistency… Sharding…

Nice buzzwords, but how does the stuff actually work?

As software engineers, we need to build applications that are reliable, scalable and maintainable in the long run. We need to understand the range of available tools and their trade-offs. For that, we have to dig deeper than buzzwords.

This book will help you navigate the diverse and fast-changing landscape of technologies for storing and processing data. We compare a broad variety of tools and approaches, so that you can see the strengths and weaknesses of each, and decide what’s best for your application

6de82e4fa8494d95b7184197a589b7c9

Без ТЗ: почему клиент не хочет его

«У нас очень маленький и простой проект»
«Это коммерческая тайна, мы вам не расскажем»
«Сначала скажите сколько стоит!»
«Почему мы должны платить за то, что нужно вам?»
«Мы хотим увидеть варианты!»
«А вдруг у нас изменится концепция»
«Нам нужен точный клон этого…»
«Придумайте сами — вы же специалисты!»
«Мы сами напишем/написали ТЗ»
«Другие программисты не примут ваше ТЗ»

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

WebAssembly как киллер фича, и возможный убийца 2D Canvas

я не удивлюсь если выход в массы этой технологии в связке с “Unity”подобными движками – оставит далеко позади фронтенды построенные на канвасе в плане быстродействия = комфортности работы пользователя.
технологии на самом деле редко становятся киллер фичей ПО. но, бывает. и WebAssembly для задач где только канвасом рисовать – может оказаться именно такой.

уже сейчас для таких задач надо использовать asm.js, и, минимум, морально готовится к выходу WebAssembly

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

Менеджерско-программистская выжимка за 17 лет в отрасли

Управление проектами и людьми идёт примерно из пещерных времен и непрерывно эволюционирует. Я думаю, что в обозримом будущем эта эволюция продолжится. Люди учатся, меняются, решают квартирный вопрос, строят и ломают методологию разработки, собирают лучшие практики в кучки корпоративной культуры

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

«Мир есть совокупность фактов, а не вещей»: Витгенштейн и операционно-ориентированное программирование

За каждым методом бизнес-логики стоит факт мира, который этот метод (чаще не в одиночку) моделирует. Факты программирования – это операции: дальше будем называть их так. Делая метод членом класса, ООП требует от нас привязать операцию к объекту, что невозможно, потому что операция – это взаимодействие объектов (двух и более), кроме случая унарной операции, чистой рефлексии. Метод ВыдатьЗарплату (PaySalary) может быть отнесен к классам Сотрудник (Employee), Касса (Cash), БанковскийСчет (Account) – все они равнозначны в праве владения им. Дилемма о расположении методов сопутствует всему процессу разработки: неловкое ее разрешение может оказаться критичным и даже фатальным.

В книгах по программированию честные авторы стыдливо признают, что «объекты – это как бы не совсем объекты», а ООП – всего лишь способ организации кода, а не механизм моделирования. Но все дело том, что «мир есть совокупность фактов, а не вещей» – отсюда принципиальная неспособность построить адекватную модель, применяя ООП в том виде, как этого требуют писатели учебников. Важно понять: в коде возможно моделировать мир, но атомами модели должны стать факты, а не объекты.

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

Вредные советы по постановке задач и описанию требований

описаны 10 практичных и проверенных способов, как поставить задачу таким образом, чтобы жизнь разработчиков не казалось манной небесной, поставки срывались, бюджеты превышались, а качество трещало по швам.

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

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

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

Отрывок:

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

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

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