Pull to refresh
27
0
Дмитрий Лукьяненко @Dmi3yy

CTO, Backend Developer

Send message

Похоже, я не предприниматель

Reading time 7 min
Views 46K
Для того, чтобы это понять, мне потребовалось четыре миллиона рублей (половина из которых — мои) и четыре года.

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

В этой статье я хотел бы

— поделиться сделанными выводами
— порекомендовать проект, если вы хотите присоединиться к нему в качестве разработчика/инвестора
— выложить техническую документацию, если вы захотите сделать форк

image
Total votes 167: ↑164 and ↓3 +161
Comments 168

Отслеживание js-ошибок с помощью Метрики

Reading time 3 min
Views 13K

Использование системы отслеживания js-ошибок трудно переоценить. Даже на покрытом тестами сайте возникают js-ошибки, важно их найти и починить. Расскажу как искал подходящее решение.

Читать дальше →
Total votes 36: ↑35 and ↓1 +34
Comments 21

Введение в систему 8pt сеток

Reading time 4 min
Views 65K
Любому дизайнеру, над чем бы он ни работал — сайтами, журналами или мобильными приложениями, — наверняка приходилось слышать термин «сетка». Существуют сетки для всевозможных вариантов расположения контента. Мы применяем колоночные сетки, чтобы выстраивать контент по горизонтали, сетки базовых линий, чтобы выравнивать блоки текста по вертикали, гибкие (soft) и жесткие (hard) сетки — в зависимости от того, насколько строго собираемся их придерживаться. Я заинтересовался системой 8pt сеток, когда услышал, с каким увлечением говорит о ней Брин Джексон, и решил посмотреть, какие преимущества она может дать моим дизайнам (и может ли вообще).



Читать дальше →
Total votes 33: ↑30 and ↓3 +27
Comments 23

Писать веб-сайты на ассемблере полезно и приятно

Reading time 5 min
Views 137K

Конечно, многие скажут, что это ни-ни и писать для веба нужно только на PHP, ну или на один из модерных языках Питон, Руби, Node.js и т.д.


Но дело в том, что написание сайтов на ассемблере очень полезно, а с подходящими инструментами — легко и приятно.


Вообще-то, это утверждение было лишь гипотезой. Чтобы доказать или отвергнуть ее, этой весной я занялся писать форум на ассемблере.


Раньше у меня уже было веб-приложение на ассемблере — CMS для малого сайта. Только оно работает в режиме "один пишет, многие читают". При том, использует CGI интерфейс и поэтому "многие" читать одновременно тоже не получается.

Читать дальше →
Total votes 156: ↑126 and ↓30 +96
Comments 429

Генератор админок

Reading time 14 min
Views 21K

Кратко суть проблемы: нужно было много админок, написал генератор админок.


Как работает:


  • описали сущности в JSON;
  • сгенерировали схему БД (PostgreSQL);
  • сгенерировали процедуры для БД;
  • сгенерировали сервер (NodeJS или PHP);
  • сгенерировали админку (HTML файл);
  • накатили, задеплоили, скопировали все это;
  • можно приступать к работе;

Содержание:


  • как дошёл до этого;
  • почему не взял готовое решение;
  • что получилось;
  • что НЕ получилось;
  • как оно работает;
  • про UX;
Читать дальше →
Total votes 41: ↑39 and ↓2 +37
Comments 13

Тихий кризис в разработке софта

Reading time 12 min
Views 35K


Обо мне


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

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

Во Вселенной работает довольно жестокий вид кармы.

В моем нынешнем положении в качестве старшего директора по развитию программного обеспечения у меня есть 6 менеджеров по развитию, которые отчитываются передо мной. Только в моей организации около 50 разработчиков программного обеспечения. У нас завидно низкая текучесть кадров и очень высокий уровень удовлетворенности клиентов.

За эти годы я поделился со своими подчиненными и их непосредственными подчиненными теми же выводами, которыми я собираюсь поделиться с вами сейчас. Эти выводы — это выстраданная мудрость, а не то, что я интуитивно знал или читал. То есть, я узнал это, пройдя через трудный путь.

Total votes 107: ↑84 and ↓23 +61
Comments 56

MapFont, Использование шрифтов со значками в картографических сервисах

Reading time 2 min
Views 8.7K
Примерно полгода назад у меня возникла необходимость вставить на карту Google шрифтовую иконку из серии FontAwesome. По ходу работы существующих иконок стало недостаточно, и поэтому пришлось нарисовать некоторое количество своих значков. Позже я решил, что грех добру пропадать и, добавив еще некоторое количество символов, назвал свое поделие MapFont и выложил в сеть.

image
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 15

Введение в PHP 7: Что добавлено, что убрано

Reading time 12 min
Views 300K
Одним из самых значительных событий, произошедших в мире PHP в 2015 году, стал выпуск PHP 7. Целых 10 лет отделяют его от выпуска первого релиза PHP с номером 5. С увеличением первой цифры в номере версии, в PHP 7 появилась масса новшеств, увеличилась и скорость работы.
Однако в седьмой версии была убрана устаревшая функциональность, что привело к некоторым проблемам с обратной совместимостью, затруднив перевод старых приложений на новую версию. Эта статья может послужить вам кратким руководством, если вы планируете написание новых или перевод своих существующих приложений на PHP 7.
Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Comments 117

Новый useragent поискового робота Google Smartphone

Reading time 2 min
Views 8.2K
Привет, Хабр! Поиск Google развивается, и вместе с ним развиваются и сопутствующие инструменты. В ближайшем будущем обновится агент пользователя робота Googlebot, который отвечает за «мобильное» направление поиска. В настоящее время useragent выглядит так:
Текущий useragent
Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F70 Safari/600.1.4 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

С 18 апреля 2016 года будет использоваться новый агент пользователя Google Smartphone:
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)


Робот Googlebot доволен


Причина подобных изменений — новые возможности поискового робота. Каждый раз, как наш робот получает значимое обновление и возможность обрабатывать страницы, которые используют самые актуальные технологии. В данном случае, новый формат строки говорит о том, что технически робот Google теперь ближе к браузеру Chrome, а не Safari.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 0

Cобрать лучшее из двух миров — фреймворков и CMS (часть 3)

Reading time 10 min
Views 22K
Прошло уже много времени с выхода второй статьи (часть 1, часть 2), а тут как раз есть что рассказать, так как вышел первый релиз третьей версии системы.

Вкратце об изменениях


Третья версия понемногу двигается в направлении микроядерной архитектуры. Это значит что код ядра всё так же достаточно сильно связан (хотя немного меньше чем до этого), некоторые второстепенные фичи были попросту удалены и появилось больше точек соприкосновения, где разработчик может при необходимости вклиниться в работу системы если он того желает.

На стороне сервера был проведен масштабный рефакторинг нацеленный на простоту и качество кода, что за последние пол года вылилось в повышение оценки Scrutinizer с 5.4 или что-то около того до текущих 7.74/10, что уже совсем неплохо.
На стороне клиента произошла революция, Polymer 0.5.x был обновлен до Polymer 1.x и все компоненты были соответственно переписаны, ещё был полностью выпилен UI фреймворк и некоторые другие изменения.
Подробнее обо всём под катом
Total votes 16: ↑13 and ↓3 +10
Comments 35

Что такое RESTful на самом деле

Reading time 8 min
Views 208K
А ваше приложение — RESTful? Чтобы ответить на этот вопрос нужно сначала разобраться что такое RESTful. Бытует мнение, что отдавать правильные коды ответов в HTTP — это уже RESTful. Или делать правильные идемпотентные HTTP-запросы — это вообще очень RESTful. Мы в Хекслете сделали практический курс по протоколу HTTP (отличия версий, отправка форм, аутентификация, куки и пр.), и в нем мы стараемся рассказать о правильном использовании запросов, но нужно понимать, что RESTful это не про HTTP, это вообще не про протоколы интернета. Современный веб и взаимодействие между браузером и сервером с помощью HTTP и URI могут удовлетворять принципам RESTful, а могут и не удовлетворять.

В сегодняшнем переводе — простое и понятное описание RESTful, и какой должна быть система, чтобы ее можно было так называть.

Читать дальше →
Total votes 40: ↑37 and ↓3 +34
Comments 103

История PHP: инфографика

Reading time 1 min
Views 36K

PHP7 Elephant created by Walker Cahall

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

Но многие ли из нас помнят, каким был PHP 10 или 20 лет назад? В честь релиза «семерки» коллеги из PHP User Group подготовили инфографику истории языка. Давайте вместе окунемся в прошлое и немножко поностальгируем.

Читать далее
Total votes 52: ↑43 and ↓9 +34
Comments 41

Клуб анонимных Дедов Морозов 2015-2016 на Хабрахабре

Reading time 1 min
Views 30K


Всем привет.

Через пробки дальнобойщиков, но Дед Мороз всё же доехал до Хабрахабра. Почему и в этот раз так долго — мы обсудим позже, а сейчас к делу!

По привычному адресу https://habra-adm.ru/ уже доступна регистрация на сезон 2015–2016.

20 декабря нас ждет жеребьёвка (а перед этим, разумеется, закрытие регистрации).

Теперь немного об организации всего этого действа.
Читать дальше →
Total votes 51: ↑47 and ↓4 +43
Comments 208

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №166 (22 — 28 июня 2015)

Reading time 6 min
Views 33K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Comments 3

Библиотека, облегчающая разработку форм на сайтах

Reading time 7 min
Views 30K
Привет, Хабр!

Хочу поделиться с общественностью своей небольшой (всего 6 Кбайт) js-библиотекой, которая сильно облегчает мне работу с формами при разработке сайтов, и позволяет сократить написание кода.
Читать дальше →
Total votes 30: ↑23 and ↓7 +16
Comments 18

Оптимизация картинок для Google PageSpeed

Reading time 2 min
Views 93K
Нет предела совершенству, и Google PageSpeed тому доказательство. С его помощью меньше чем за минуту можно получить подробный отчет о производительности Web страницы. В подавляющем большинстве случаев PageSpeed подскажет, что нужно оптимизировать графику. Это наиболее частая проблема и наиболее весомая.



Например, даже на стартовой странице Google Developers графику можно сжать на 71%. Чем меньше весят фотки – тем быстрее грузится сайт. Меньше картинки — меньше трафика — все работает быстрее. Посетители тратят меньше времени – все довольны.

В этом материале подобраны основные инструменты для оптимизации графики.
Читать дальше →
Total votes 41: ↑35 and ↓6 +29
Comments 29

Scrollport.js — новая анимация скролла

Reading time 3 min
Views 45K
image

Анимация скролла к месту страницы с момента изобретения почти не подвергалась никаким модификациям, никак не украшалась. Да никому и не надо вроде, и так все работает. Говоришь куда скроллить и за сколько нужно добраться. Всё.

Я решил на анимацию скролла посмотреть под другим углом. Не потому что сейчас с ним что-то не так, а потому что можно и поинтереснее. В результате некоторых наблюдений и всплесков фантазии удалось придумать 3 способа для более интересной анимации. В итоге завернул все в плагин «Scrollport.js» с 3 новыми и 1 классическим режимом. Смотрите демо и проходите под кат.
Читать дальше →
Total votes 60: ↑50 and ↓10 +40
Comments 39

Несколько интересностей и полезностей для веб-разработчика #42

Reading time 6 min
Views 37K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Webtorrent




Полноценный торрент клиент для NodeJS и браузеров. Стримминг будет работать прямо в браузере благодаря WebRTC (data chanels) для P2P транспортировки. А самое главное «It's Just JavaScript™», то есть не нужны никакие дополнительные плагины или расширения. Проект собрал более 3000 звезд на GitHub и на данный момент предоставляет следующие возможности: непосредственно саму потоковую передача данных, загрузка нескольких торрентов одновременно, поддержку magnet uri, peer discovery и protocol extension api, возможность подключения WebTorrent клиентов на разных доменах, стримминг видео в <video> тег в формате (webm (vp8, vp9) или mp4 (h.264)), а также в AirPlay, Chromecast, VLC player и прочие устройства.

var WebTorrent = require('webtorrent')

var client = new WebTorrent()
var magnetUri = '...'

client.add(magnetUri, function (torrent) {
  // Got torrent metadata!
  console.log('Torrent info hash:', torrent.infoHash)

  torrent.files.forEach(function (file) {
    // Get a url for each file
    file.getBlobURL(function (err, url) {
      if (err) throw err

      // Add a link to the page
      var a = document.createElement('a')
      a.download = file.name
      a.href = url
      a.textContent = 'Download ' + file.name
      document.body.appendChild(a)
    })
  })
})

Читать дальше →
Total votes 49: ↑44 and ↓5 +39
Comments 17

Дорогой веб-дизайнер, давай перестанем нарушать возможность скроллить

Reading time 3 min
Views 64K


Мы все это видели. Вы заходите на веб-сайт — и вот она: большая, красивая фотография во весь экран. Сейчас это огромный (каламбур) тренд в веб-дизайне, и похоже, что людям это нравится.
Но так ли это?
Total votes 64: ↑53 and ↓11 +42
Comments 57

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity