Как стать автором
Обновить
11
0
Андрей Письменный @APismennyj

Пользователь

Отправить сообщение

От умного дома к умным корпорациям

Время на прочтение20 мин
Количество просмотров53K
«… Если бы в этот момент мистер Рипли вывел нас во двор и, оборотясь к дому, сказал: «Стань, домик, к Нью-Йорку задом, а ко мне передом», и домик, подобно избушке на курьих ножках, выполнил бы эту просьбу при помощи электричества, мы бы не слишком удивились.»
Ильф и Петров. Одноэтажная Америка. 1935г.


Часть первая


Введение





Читать дальше →
Всего голосов 48: ↑33 и ↓15+18
Комментарии44

Серьезное проектирование серьезного магазина. Часть 1. Исследуем и продумываем функционал

Время на прочтение19 мин
Количество просмотров128K
Не так давно я писал статью про проектирование больших сайтов на примере социальной сети со схожим названием: «Серьезное проектирование серьезных сайтов». Сегодня я хочу поговорить про одну из основных сфер нашей деятельности – электронную коммерции, а именно про проектирование интернет-магазинов.

Это цикл статей больше специалистов, значительно более углубленно, чем все мои прошлые статье в этой области. В статье я расскажу про крупнейшие интернет-магазины США, Китая, России и Украины, расскажу как маркетинг влияет на проектирование, покажу подробный Mind Map гипермаркета, опишу 57 основных модулей интернет-магазинов для внешней (покупательской) части и более 50 модулей для внутренней части (административной), покажу интерфейсы магазинов и еще много полезного.

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

Ранее я уже писал статью про технологию проектирования больших сайтов, которая, кстати, имела очень большую популярность в русскоязычном и англоязычном сегменте Интернета: «Серьезное проектирование серьезных сайтов». Проектирование интернет-магазина хоть и имеет сходную последовательность действий, описанную мной в прошлой статье, но сама технология все таки сильно отличается, поэтому давайте рассмотрим это в мельчайших подробностях. По ходу статьи я буду ссылаться на свою прошлую, чтобы не повторяться, а в этой сделаю упор именно на различия.
Mind Map
Читать дальше →
Всего голосов 88: ↑73 и ↓15+58
Комментарии56

Полет квадрокоптера на высоте 1км

Время на прочтение2 мин
Количество просмотров231K
Всегда было интересно как мир выглядит с высоты. Что видят птицы, чего не видно на картах googleEarth. Так пришло увлечение мультикоптерами, летать под облаками, фотографировать, снимать видео.


Подробности полета
Всего голосов 160: ↑157 и ↓3+154
Комментарии113

Аналог ambilight из LED ленты WS2812, arduino и киндер-сюрприза

Время на прочтение9 мин
Количество просмотров201K
Ambilight — разработанная Philips технология боковой подсветки пространства за телеящиком, которая, по мнению создателей, помогает зрителю еще больше погружаться в происходящее на экране.

В сети можно найти довольно много упоминаний о DIY Ambilight-like проектах, известны также коммерческие реализации подобного функционала в продуктах сторонних производителей / opensource-проектах, например, Lightpack.

Около года назад я практически случайно приобрел LED ленту на базе управляемых RGB диодов WS2812, рассчитывая задействовать её в каком-нибудь Arduino-проекте. Нехватка времени и противоречивая информация о возможности совместной работы с AVR контроллерами (сиречь Arduino) привела к тому, что реализация отодвинулась почти на год. Каково же было мое удивление, когда весь мини-проект по созданию Ambilight и организации его совместной работы с XBMC занял всего два вечера, т.е. 5-6 часов, включая поиск рабочего решения, написание скетча для arduino и конфигурационного скрипта к boblight, отладку их совместной работы, резку, пайку и монтаж ленты, а также прокладку 8м кабеля от arduino к телевизору.
Цель данного топика — поделиться с сообществом опытом и удивлением по поводу того, насколько все было просто, и задать направление желающим повторить это у себя дома. Мне кажется, что при наличии необходимых компонентов, повторение моего опыта «на столе» займет не более получаса.
А причем здесь киндер-сюрприз?
Всего голосов 47: ↑44 и ↓3+41
Комментарии49

Не надо бояться солнечных панелей

Время на прочтение4 мин
Количество просмотров78K
Искал в гугле «солнечная панель 100 Вт» и в первом десятке выдается ссылка на Хабрахабр, статья от 2011 года. В комментариях правильные вещи, но актуальностью на сегодняшний день — бред. Сегодня солнечная панель 100 Вт (на Украине) стоит до 100 долларов, контроллеры, аккумуляторы — все это не очень напряжно. Но самая большая загвоздка зеленого прогресса в том, что люди просто не понимают, что такое солнечная энергия, как правильно и по уму все реализовать, зачем это надо и вообще…

Не в рекламных целях. Я торгую на рынке солнечными панелями и 90 человек из 100 отталкивают это новшество, как отталкивали мобильники 15 лет назад — дорого, не нужно, не выгодно, и так хорошо. Многие хотят набрать панелей по 100 долларов на 10 килоВатт и не платить за электроэнергию. Сами посчитайте — 100 Вт х10 = 1кВт * 10 = 10 кВт = 10 000 долларов. Это только на панели, без аккумуляторов и контроллеров. Аккумуляторов на час работы нагрузки в 10 кВт надо еще 12-13 шт по 100 А/ч (еще по 200 долларов каждый) и т.д. В итоге, смотрят на продавца как на идиота, выбрасывают из головы все, что им рассказываешь и в этой самой голове остается одно: «мне это не интересно». На самом деле все обстоит немного иначе.

Зачем созданы солнечные панели? В чем смысл жизни человека? Почему мы дышим грязным воздухом? Спаси планету, освободите Вилли!

На эти вопросы может быть множество ответов, постараюсь изложить более-менее понятно как это вижу я.
Читать дальше →
Всего голосов 110: ↑61 и ↓49+12
Комментарии104

Умный дом, как я до такого докатился. Часть 3-я

Время на прочтение6 мин
Количество просмотров217K

В первой части разобрались с тем, зачем все это нужно и как я до этого докатился, во второй поговорили о софте. Настала пора остановиться на самом любимом хабравчанами разделе DIY — на железе. Итак, берем текстолит, хлорное железо, паяльник… Хотя нет, стоп, открываем редактор плат. Про паяльник, куда его засовывать, а куда лучше не надо другие лучше меня расскажут. А я расскажу какие платы и датчики трудятся на благо моего умного дома.

Поехали!
Всего голосов 84: ↑79 и ↓5+74
Комментарии42

Собеседование разработчика

Время на прочтение5 мин
Количество просмотров61K
Техническое собеседование – практически неотъемлемый атрибут трудоустройства любого разработчика, а для старших разработчиков – проведение их (собеседований) ещё и чуть ли не повседневная обязанность. Но как за короткий срок (в идеале 20-30 минут) составить у себя более менее приемлемое представление о реальном опыте соискателя?

Читать дальше →
Всего голосов 79: ↑60 и ↓19+41
Комментарии144

Re: Собеседование разработчика (альтернатива/дополнение)

Время на прочтение6 мин
Количество просмотров57K
Не мог пройти мимо топика "Вопросы на собеседование middle/senior iOS Developer" и статьи "Собеседование разработчика". Хочу предложить альтернативный или дополнительный подход к собеседованию разработчиков.

Разбор говнокода или сотня разношерстных вопросов на листочке — это, конечно, прекрасно, но если это единственный этап собеседования, то это вызывает желание спросить что-то вроде: «Вы серьезно?»

Вы не устали от того, что на собеседованиях на конкретную позицию разработчика вас спрашивают достаточно сильно оторванную от жизни фигню, которую хочется поскорее забыть после такого собеседования (режим nightmare — это тест на 150+ вопросов и психолог в конце)? Я не отрицаю, что оценивать качество кода — это очень важно, но оценивать качество какого-то конкретного куска и делать по нему большие выводы — это точно неправильно.

К тому же, слишком много так называемых разработчиков не имеют никакого понятия о том, как строить архитектуру приложения, как грамотно разделить компоненты на модули, как внести гибкость для последующих изменений проекта. А вопросы подобные вопросам из топика "Вопросы на собеседование middle/senior iOS Developer" не дадут вам понять, насколько человек хорошо применяет свои знания при реализации проекта.

Что ты предлагаешь, чувак?

Давайте рассмотрим на примере android разработчика (адаптировать можно для любой области, но вы же понимаете, что без конкретики эту статью просто раскритиковали бы, так что поговорим об android).

Что я предлагаю: берем популярное, большое (в плане функционала) и сложное (в плане реализации) приложение и беседуем насчет того, как кандидат бы его сделал!

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

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

Для примера, возьмем приложение Вконтакте для android (оно большое, сложное и многим знакомое).
Читать дальше →
Всего голосов 65: ↑55 и ↓10+45
Комментарии35

Видео: полный цикл разработки на JavaScript

Время на прочтение1 мин
Количество просмотров50K
Здравствуй, Хабр!

В этой открытой лекции я попытался сжато рассказать и показать полный цикл (full stack) разработки веб-приложений на JavaScript.

Начнем мы с короткого введения в язык, потом в двух словах поговорим о клиентской части, в частности, об MVC фреймворках вроде Angular.js, после чего перейдем на серверную часть: Node.js и MongoDB. В конце обсудим возможность автоматизации разработки и сборки проектов с помощью Grunt.js.



Скачать слайды и исходные коды.

Лекция была записана в офисе компании Chocolife, зрители – разработчики этой компании.
Всего голосов 57: ↑47 и ↓10+37
Комментарии27

Компактный многофункциональный видеорегистратор

Время на прочтение9 мин
Количество просмотров30K
image

Сегодня тема видеонаблюдения и телеприсутствия с каждым днём становится всё более и более популярной и востребованной. На первый взгляд, кажется, что рынок наполнен продуктами записи, хранения и обработки видео. Однако если вы захотите установить простую незамысловатую систему наблюдения у себя в квартире, в доме, на даче или даже в автомобиле, или ещё где-нибудь, то поискав в магазинах и в интернете, вы поймете, что подходящих продуктов, отвечающих доступному соотношению цена/(качество + характеристики), совсем немного. Какими же наиболее популярными характеристиками должен обладать видеорегистратор, чтобы его захотелось поставить у себя на объекте? Давайте попытаемся перечислить их:
Читать дальше
Всего голосов 44: ↑43 и ↓1+42
Комментарии26

Математическая модель предсказывает исход кампании на Кикстартере с 76%-й достоверностью через 4 часа после её начала

Время на прочтение2 мин
Количество просмотров30K
Исследователи из Федеральной политехнической школы Лозанны построили статистическую модель, предсказывающую успех или провал кампании на Кикстартере на основе динамики финансирования и социальных взаимодействий. Более ранние попытки предсказать итог кампаний совместного финансирования опирались на статические показатели, то есть те, которые известны до начала кампании: размер собираемой суммы, наличие видео, тематика. Такие модели достигали точности в 68%.


Читать дальше →
Всего голосов 44: ↑40 и ↓4+36
Комментарии19

Smoothieboard — 32-битный ЧПУ контроллер для 3D-принтеров, лазерных резаков и фрезерных станков

Время на прочтение3 мин
Количество просмотров65K
image
Кикстартер снова порадовал любителей 3D-печати, анонсировав проект Smoothieboard. Эта плата призвана заменить RAMPS, Sanguinololu и Generation Electronics, использующиеся в качестве контроллеров 3D-принтеров. В то время как большинство современной Open Source Hardware электроники использует 8-битные AVR микроконтроллеры (в том числе и Arduino), Smoothieboard имеет 32-битный ARM (LPC1768 Cortex-M3), что позволяет ему совершать быстрые и плавные движения, даёт более точную математику и глубокое планирование. Кроме того прошивка устройства модульна и легко модифицируема.
А цена в зависимости от версии варьируется в пределах от 100 до 185 долларов США.
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии8

Хэширование паролей в PHP 5.5 с использованием нового API

Время на прочтение3 мин
Количество просмотров77K
Использование BCrypt является общепринятым и лучшим способом для хэширования паролей, но большое количество разработчиков по-прежнему используют старые и слабые алгоритмы, вроде MD5 и SHA1. Некоторые разработчики даже не используют соль для хэширования. Новый API хэширования в PHP 5.5 ставит своей целью привлечь внимание к BCrypt, упрощая работу с ним. В этой статье я расскажу об основах использования нового API для хеширования в PHP.

Новый API хэширования паролей предоставляет четыре простых функции:
  • password_hash() — используется для хэширования пароля.
  • password_verify() — используется для проверки пароля на соответствие хэшу.
  • password_needs_rehash() — используется для проверки необходимости создать новый хэш.
  • password_get_info() — возвращает имя алгоритма хеширования и различные параметры, используемые при хэшировании.

Читать дальше →
Всего голосов 30: ↑21 и ↓9+12
Комментарии13

Raspberry Pi: измеряем влажность и температуру с помощью DHT11/DHT22

Время на прочтение5 мин
Количество просмотров221K
На Хабре уже публиковалась статья о подключении датчика температуры DS18B20 к Raspberry Pi. В нашем новом проекте, который строится на Raspberry Pi, понадобилось измерять не только температуру, но и влажность. Я расскажу, как подключить недорогие китайские датчики влажности к Raspberry Pi. Просмотрев несколько вариантов различных датчиков, остановился на двух наиболее массовых на рынке датчиков. Это DHT11, который привлек своей ценой $3 (с доставкой) и датчик DHT22 (около $10 с доставкой).
Читать дальше →
Всего голосов 34: ↑27 и ↓7+20
Комментарии33

Лучшее в мире PHP за 2012 и дайджест интересных материалов за последние две недели №7 (15.12.2012 — 28.12.2012)

Время на прочтение6 мин
Количество просмотров28K


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

Приятного чтения!
Читать дальше →
Всего голосов 82: ↑71 и ↓11+60
Комментарии23

Arduino&Oregon или погодная станция своими руками

Время на прочтение4 мин
Количество просмотров133K
Не так давно ко мне в руки попал набор юного радиолюбителя Arduino и много разных проектов получили путевку в жизнь (или «в стол»), но дурная голова рукам покоя не дает до сих пор.
Благодаря удачному стечению обстоятельств случилось так, что в одном месте оказались:
  • Arduino — 1 шт.
  • Датчик для измерения температуры и влажности Oregon THGN132N — 2 шт.
  • RF-kit (приемник и передатчик) на 433МГц — 1 шт.

Дополнительно к вышеперечисленному (исключительно для быстрого прототипирования) использовался Starter Kit от Seeed Studio (из него понадобился base shield, дисплей 16х2 с последовательным интерфейсом, модуль светодиода и соединительные кабели).
Что же получилось?
Всего голосов 30: ↑24 и ↓6+18
Комментарии30

Отправка данных о температуре с роутера TL-MR3020 и Raspberry Pi на «Народный мониторинг»

Время на прочтение13 мин
Количество просмотров129K

Вступление


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

Когда я впервые увидел статью на хабре «Народный мониторинг температуры (vs прогноз) в различных городах. Нужен ли?», посвященную мониторингу параметров среды narodmon.ru, я как-то скептически отнесся к такой затее и забыл про нее. Перед новым годом у меня появилась Raspberry Pi и какое-то время ушло на ее освоение и обзор возможностей, в итоге что-бы малинка не простаивала, да и так для общего развития по статье «История взаимодействия «чайника» и DS18B20 посредством Raspberry Pi» сделал тоже самое, но с учетом исходников первоисточника, в который уже внесены изменения по мотивам вышеприведенной статьи с ссылкой на хабр. Температура измерялась, графики строились, но как-то скучно стало за этим наблюдать, да и применение малинки в этих целях это как из пушки по воробьям, и в один прекрасный день я вспомнил про «Народный мониторинг», на котором вся отображаемая на сайте информация выводится только на основании сведений о текущих параметрах среды(температура, влажность, атм.давление и др.) передаваемых с клиентских устройств пользователей данного сервиса. Начал искать и нашел статью «Лучшая реализация реализация UART => 1-wire и I2C/SPI на базе роутеров». Тут я и загорелся идеей сделать такое устройство, правда в надежде на то, что кто-то уже это сделал, а я только повторю, благо роутер TL-MR3020 уже имелся в хозяйстве, и над ним уже ставились бесчеловечные опыты по привинчиванию его к «самокатной телеге» с камерой по мотивам статьи «Простой wifi бот для мониторинга помещений или «кухонное» роботостроение».
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии50

И снова о… LAMP и базово защищённый мини-хостинг своими руками

Время на прочтение9 мин
Количество просмотров56K
Увидев в очередной раз презренный посыл в Google в ответ на вопрос о том, как развернуть собственную LAMP'у, решил написать данный пост. Чтобы хоть как-то разбавить тонны радостных отчётов об успешной установке из блогов, суть которых сводится к одной команде aptitude install blah-blah.

Нет, ну конечно понятно, PHP самый надёжный язык, а все движки сайтов, на нём написанные, являются живым воплощением непробиваемой защиты от взлома. Тогда да — aptitude install apache2 — и будет вам счастье. Не забудьте оставить phpmyadmin по дефолтному адресу, да поставьте какое-нибудь дырявое FTP решето.

Вообще, как оказалось, многие даже не в курсе, что взломав сайт и получив возможность исполнять свой PHP код, злоумышленник на системе с дефотными настройками сможет как минимум прочитать в вашей системе почти что угодно. Оно и понятно — работая с Linux привыкаешь как-то, что по дефолту безопасность находится на вполне достаточном уровне. А тут такая дыра…

В общем — в этой статье в очередной раз описывается банальщина на тему как развернуть LAMP и дать доступ внешним пользователям к файлам и базам ваших сайтов. Т.е. как быстро сделать мини-хостинг своими руками. Однако, в отличие от, хостинг у нас будет хотя бы базово защищённым.

Те, кому тема веб-серверов надоела, возможно смогут найти в статье интересные приёмы многопользовательского ограниченного доступа к серверу по SFTP.

И нет, это не ещё одна статья с описанием установки Linux и выполнением aptitude install apache2. Скорее наоборот: в этой статье я хотел показать фатальную недостаточность данных манипуляций и мягко говоря некомпетентность тех, кто их тиражирует в интернете.
Итак - снова LAMP
Всего голосов 78: ↑47 и ↓31+16
Комментарии76

Приставка к роутеру (USB HUB + USB HDD + UPS)

Время на прочтение4 мин
Количество просмотров138K

После приобретения достаточно мощного роутера с портами USB (это был ASUS RT-N16), задался вопросом — как использовать роутер по полной?
Что мне было нужно:
  • сетевое хранилище,
  • торрент-качалка,
  • и конечно, чтобы всё это не падало при бросках/перебоях в сети электропитания.

Читать дальше →
Всего голосов 57: ↑52 и ↓5+47
Комментарии56

Wi-Fi: неочевидные нюансы (на примере домашней сети)

Время на прочтение14 мин
Количество просмотров1.4M
Сейчас многие покупают точки доступа 802.11n, но хороших скоростей достичь удается не всем. В этом посте поговорим о не очень очевидных мелких нюансах, которые могут ощутимо улучшить (или ухудшить) работу Wi-Fi. Всё описанное ниже применимо как к домашним Wi-Fi-роутерам со стандартными и продвинутыми (DD-WRT & Co.) прошивками, так и к корпоративным железкам и сетям. Поэтому, в качестве примера возьмем «домашнюю» тему, как более родную и близкую к телу. Ибо даже самые администые из админов и инженеристые из инженеров живут в многоквартирных домах (или поселках с достаточной плотностью соседей), и всем хочется быстрого и надежного Wi-Fi.
[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.
Читать дальше →
Всего голосов 234: ↑231 и ↓3+228
Комментарии138

Информация

В рейтинге
Не участвует
Откуда
Украина
Дата рождения
Зарегистрирован
Активность