Как стать автором
Обновить
10
0

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

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

«Книжная полка фронтендера» — как гугл, только лучше

Время на прочтение2 мин
Количество просмотров38K
Список книг — «Книжная полка фронтендера

Привет, читатель!

В этой публикации я расскажу тебе о «Книжной полке фронтендера».

Предыстория


К сожалению, в рунете очень мало по-настоящему качественных ресурсов для изучения фронтенда. Эти ресурсы можно буквально пересчитать по пальцам одной руки — это Frontender Magazine, HTML Academy, «Современный учебник JavaScript». Я благодарю авторов этих ресурсов за их неоценимый вклад в развитие и популяризацию фронтенда в рунете.

Как бы то ни было, тематические сайты — не единственный доступный источник знаний. Существует достаточно большое количество книг, написанных зарубежными авторами. Многие из этих книг переведены на русский язык.
Читать дальше →
Всего голосов 51: ↑30 и ↓21+9
Комментарии21

10 частых ошибок начинающих веб-разработчиков

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


Перед современным веб-разработчиком стоит широчайший выбор платформ для хостинга и хранения данных, инструментов для работы с HTML, CSS и JavaScript, способов фактической реализации дизайна, а также всевозможных библиотек и фреймворков. В помощь тем, кто хочет найти свой путь в этом обилии вариантов, сеть услужливо предоставляет массу статей, обсуждений на форумах и примеров «наилучших» решений. Но вне зависимости от того, как и с помощью чего начинающие разработчики создают сайты, многие совершают одни и те же ошибки. Давайте рассмотрим некоторые из них, чтобы в будущем не наступать на эти популярные грабли.
Читать дальше →
Всего голосов 42: ↑23 и ↓19+4
Комментарии64

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

Время на прочтение8 мин
Количество просмотров32K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии0

Фильтр Маджвика

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

Предисловие от переводчика


Здесь представлен один из новейших методов расчёта ориентации в пространстве по показаниям датчиков акселерометра, гироскопа и компаса — фильтр Маджвика, который, по словам автора, даёт результат лучший, чем применение фильтра на основе метода Калмана в результатах и производительности. Автор — Себастьян Маджвик (его интернет-магазин). Метод описан в статье на английском. Данная работа защищена в Университете г. Бристоля Перевода я не нашёл. Переводчик из меня так себе, особенно таких сложных текстов. Но нам же интересно, что за метод?

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


Читать дальше →
Всего голосов 66: ↑64 и ↓2+62
Комментарии17

Изоморфные приложения. Взгляд в будущее с React

Время на прочтение11 мин
Количество просмотров54K
Оригинал: React To The Future With Isomorphic Apps

Изоморфные приложения. Взгляд в будущее с React


В разработке программного обеспечения все часто возвращается на круги своя. Так, например, на заре развития Интернета серверы подгружали контент сразу же на сторону клиента. В последнее же время, с разработкой современных веб-фреймворков, таких как AngularJS и Ember, мы видим тенденцию к обработке запросов на стороне клиента и использованию сервера только для API. Однако, это далеко не единственная тенденция. Сейчас происходит медленное возвращение или, скорее, слияние этих двух архитектур.
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии14

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

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

Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
Читать дальше →
Всего голосов 117: ↑114 и ↓3+111
Комментарии66

Что нужно знать при миграции с MySQL на PostgreSQL?

Время на прочтение8 мин
Количество просмотров36K
В продолжение статьи о теории и практике миграции хранилищ данных на PostgreSQL, мы поговорим о проблемах, с которыми вы можете столкнуться при переезде с распространенной СУБД MySQL. Дабы не утомлять всех лишней риторикой, сегодняшний рассказ будет более тезисный и проблемно-ориентированный.

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

Именно поэтому в предыдущей статье я рекомендовал не тратить время на поиск серебряной пули и написать что-нибудь свое “на коленке”, что действительно работает. Данная статья призвана облегчить написание такого инструмента, указывая на потенциальные изъяны, в наличии которых вы может сравнительно быстро убедиться.

Перейдем к делу.
Читать дальше →
Всего голосов 49: ↑43 и ↓6+37
Комментарии56

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

Время на прочтение6 мин
Количество просмотров41K
Портативный ремонтный сервер представляет собой домашний маршрутизатор для загрузки компьютеров по сети с целью ремонта, восстановления, проверки и лечения. Перед загрузочной флешкой данный сервер обладает следующими преимуществами:
  • воткнул в сеть и не надо на каждом системнике искать неразболтанный USB-разъем;
  • не рискуешь сжечь флешку на закороченных контактах;
  • единственный способ загрузиться на компьютерах, где сожжен USB-контроллер (загрузка с CD-ROM в расчет не берется), а также на компьютерах, где BIOS не позволяет грузиться с USB-устройств;
  • желательный способ для перепрошивки микропрограмм.

Из недостатков можно отметить более низкую скорость передачи и некоторую сложность по изменению (дополнению) пунктов загрузки, которая сказывается в особенностях сетевой загрузки. В качестве бонуса можно дооснастить ремонтный сервер собственным выходом в интернет через USB-модем, это потребуется для изоляции зараженного вирусами компьютера от других компьютеров в локальной сети. Таким образом, нам потребуется маршрутизатор:
  1. с возможностью перепрошивки OpenWrt;
  2. с USB-разъемом;
  3. компактными размерами.

Последний пункт позволяет легко перенести ремонтный сервер туда, где нам удобнее с ним работать, а не там, где есть сеть и т.д. Как мы уже говорили, в качестве бонуса потребуется USB-концентратор, USB-флешка и USB-модем с работающей симкой. Выбор модема, как ни странно, задача сложная, так нет стопроцентной уверенности в соответствии с пунктом № 1, поэтому не рекламы ради, посоветую TP-Link TL-MR3020 (только не берите очень похожие модели TP-Link TL-WR700N и TP-Link TL-WR702N) или более дорогую модель TP-Link TL-MR3040 со встроенным аккумулятором. Перед покупкой обратите внимание на версию устройства, поддерживаемые версии можно узнать здесь.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии10

Создание входа AUX магнитоле Kenwood GX806EF2 захватом шины i2c

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

Герой заметки — магнитола Kenwood GX806EF2 — славна тем, что устанавливалась в очень большое число экспортных японских автомобилей (взять хотя бы Subaru Forester) и не имеет ни входа AUX для подключения внешних источников звука, ни возможности воспроизвести MP3-файлы с CD-дисков (с внешних накопителей тоже). Магнитола вышла весьма утилитарной для своего времени (2004-2007 года), несмотря на CD-чейнджер на 6 CD. CD-audio, FM/AM-тюнер, и всё, но кассетоприемника, к слову, уже нет.

Но все-таки сделать ей вход AUX можно без порчи внешнего вида и функциональности.
Подробности
Всего голосов 45: ↑45 и ↓0+45
Комментарии14

Image Catalyst 2.5

Время на прочтение3 мин
Количество просмотров25K
Adobe Photoshop CC 2014 (Save For Web) — 59,78 КБ kraken.io — 54,90 КБ Image Catalyst (Xtreme) — 51,39 КБ
Image Catalyst — программа для комплексной оптимизации/сжатии изображений форматов PNG, JPEG и GIF без потери качества в рамках того же формата.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии44

Базовый траблшутинг в среде VMware vSphere или что делать, если тормозит ВМ

Время на прочтение6 мин
Количество просмотров58K
Что-то в последнее время технические статьи о виртуализации (да и не только о виртуализации) скатываются к формату «в новой версии ожидается такая фича». Складывается ощущение, что разбор механизмов и описание опыта, проблем и решений интересны только зарубежным экспертам. С другой стороны, есть такая проблема у экспертов — если что-то изучил, оно становится элементарным и воспринимается само собой разумеющимся, настолько, что писать об этом как-то глупо. Особенно если уже было кем-то описано где-то. Когда-то. На каком-то языке. Ниженаписанное — плод консолидации личных заметок, сначала предназначавшийся для личного упорядочивания мыслей, но наупорядочив значительный объём текста, подумал, что кому-то может пригодиться.

Типовая проблема «виртуализаторов» — владелец сервиса, заказчик или пользователь жалуется, что у него «тормозит» виртуальная машина. Так как виртуализация предполагает консолидацию большого количества ВМ на базе одного комплекта аппаратных ресурсов, переподписку (overprovision — когда мы предполагаем, что серверы не затребуют одновременно максимум своих ресурсов, а значит, например, в 40 ГБ физической памяти мы можем натолкать не 10 серверов по 4 ГБ RAM, а 15, используя Dynamic Memory), а кроме того, серверы могут тормозить и из-за ошибок в программных компонентах и их настройках, то каждый раз приходится решать за что хвататься и куда смотреть в первую очередь. Особенно, если с таким ёмким описанием проблемы, как «тормозит машина» не предоставлено никакой диагностической информации, как чаще всего и бывает. Под катом небольшое руководство для этого случая.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии4

НЕ Arduino за 55 центов

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


Эксперимент с прикручиванию к дешевым микроконтроллерам ATTiny загрузчика и среды разработки Arduino был достаточно удачным. Конечно, с AVR неплохо живется и без Arduino. Но хорошо, когда есть возможность выбора. А потом я вляпался в STM32 и заковырялся в библиотеках и громоздких конструкциях инициализации портов. Спасением ARM-«чайника» стал проект ARM mbed. Лично мне он позволил просто взять и начать работать с STM32.

Но мигать светодиодом на плате Nucleo надоело очень быстро. Отложил я ее, ибо слишком много ножек и наворотов, и взялся за Maple Mini (STM32F103CBT6 с минимальной обвязкой). Тоже все довольно легко и просто — сервоприводы крутятся, датчики работают, экранчики показывают — все популярные библиотеки, знакомые ардуинщикам, в mbed имеются.

А третий заход отчасти повторял «Arduino за 1$». О нем я и расскажу подробно. Идея такая: хочу ARM за копейки. Открываю Aliexpress и нахожу STM32F030F4P6 за 55 центов за штучку при покупке пучка (10 чипов).
Читать дальше →
Всего голосов 49: ↑48 и ↓1+47
Комментарии26

Пульсометр с Bluetooth или устройство фотоплетизмографа. Часть 1

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


В этой статье вы познакомитесь с конструкцией прибора, позволяющего измерять пульсовую волну и передавать данные по радиоканалу на андроид устройство.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии31

Автоматизация ресторана: 24 интересных инструмента

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


Обновлено: 29 июня 2021 года

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

В сегодняшнем материале вашему вниманию 24 инструмента для автоматизации ресторанного бизнеса. При подготовке обзора я также пытался оценить качество работы служб поддержки компаний и скорость отклика на запросы потенциальных клиентов, информация об этом также представлена в статье.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии33

Руководство по сетевой загрузке предустановочной среды Windows (WinPE)

Время на прочтение7 мин
Количество просмотров44K
Предустановочная среда может использоваться не только для установки операционной системы, но и как основа для инструментов системного администратора, например, восстановления системы, антивирусного лечения, диагностики сети и т.д. В данной статье будем рассматривать стандартный образ WinPE без добавления административных утилит, так как это тема для отдельной статьи.

Последовательность сетевой загрузки WinPE, начиная с версии 2.0, следующая:
  1. загружается сетевое ядро pxeboot.com;
  2. сетевое ядро загружает стандартный диспетчер загрузки bootmgr.exe, далее сетевая загрузка практически не отличается от загрузки с других носителей;
  3. диспетчер загрузки читает файл BCD (boot configuration data), где прописана конфигурационная информация (расположение загрузочных файлов), загружает необходимый шрифт (wgl4_boot.ttf) и драйвер виртуального диска boot.sdi, потом загружается образ WinPE;
  4. диспетчер загрузки передает управление программе, указанной в параметре path BCD-файла.

Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии0

Оптическая компенсация

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


В начале моего дизайнерского пути я полагался исключительно на Photoshop и CSS в вопросах правды и лжи. Если Photoshop утверждал, что две фигуры выровнены, то значит, они выровнены. Если две разные фигуры были разного размера, то так и было. Если два цвета имели одинаковые hex коды, то они выглядели одинаково.

Такой подход казался мне логичным, но он оказался неверным.

Вычисления, осуществляемые программой, разумны, но программа не может учесть человеческое восприятие фигуры, цвета и размера. Кроме этого, программа не может понять взаимоотношения объектов, их место в общем визуальном контексте или то, как человек воспримет этот объект.

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

Давайте взглянем на небольшое количество показательных примеров.
Читать дальше →
Всего голосов 66: ↑63 и ↓3+60
Комментарии29

HTML-страница на Canvas

Время на прочтение12 мин
Количество просмотров29K
Canvas интересный и перспективный HTML5 элемент. Он хорошо подходит как вспомогательный элемент на HTML странице, например, для отрисовки какой-нибудь простой по сюжету динамической заставки. Однако реализация функционально законченных комплексных решений с ориентацией на Canvas задача уже не такая простая.

Image - html page on canvas

Цель статьи:
  • Рассмотреть механизм реализации на основе Canvas полноценной HTML страницы с поддержкой динамического контента, ссылок и элементов управления.
  • Понять, можно ли использовать этот механизм, и стоит ли овчинка выделки.
Читать дальше →
Всего голосов 17: ↑11 и ↓6+5
Комментарии13

Обход CloudFlare ScrapeShield в Java (Android)

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


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

Причина достаточно тривиальна — являясь автором Android-клиента к весьма нишевому сайту, я в то же время не вхожу ни в число его администраторов, ни в число соучредителей. Таки образом ни о каких решениях руководства сайта я не осведомлён до момента их фактического вступления в силу.

Не так давно на этот сайт началась DDoS-атака, и администрация включила DDoS-защиту от CloudFlare. Соответственно, приложение-клиент, использовавшее до этого стандартные механизмы авторизации через POST+Cookie, перестало авторизовывать пользователей. Общение с администрацией ни к чему не привело — «что мы можем сделать, лучше уж без мобильных клиентов, чем вообще никак».

Естественно, всё это начало отражаться на рейтингах и породило весьма нелестные отзывы.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии5

USB MIDI-контроллер на Arduino

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

В очередной раз играя на гитаре и управляя звуком через Peavey ReValver и прочие Amplitube, задумался о приобретении MIDI-контроллера. Фирменные устройства, вроде Guitar Rig Kontrol 3, стоят около 13 000 рублей, и обладают только напольным исполнением. То есть оперативно менять положения нескольких регуляторов весьма проблематично.

Различные контроллеры DJ направленности выглядели интереснее за счет обилия фейдеров и энкодеров. Решено было совместить приятное с полезным и сделать MIDI-контроллер самому.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии49

Архитектура приложения малой кровью

Время на прочтение3 мин
Количество просмотров110K
Маленькая зарисовка на тему того, как разработать высокоуровневую архитектуру приложения.

Предположим, что с будущей функциональностью Вы определились. Тогда Вы точно знаете, кто или что будет поставлять данные, кто/что будет их потреблять и какие преобразования данных должна выполнять сама система.

Возьмите лист бумаги и карандаш. Если не сильно уверены в своих силах, то ещё и резинку, чтобы править схему. Более продвинутые читатели могут обратиться к профессиональным инструментам для проектирования архитектуры в электронном виде.

Теперь выясните, кто будет обращаться к вашей системе, чтобы передать или забрать данные, а к чему будет обращаться Ваша программа. Те системы или пользователи, которые обращаются к программе сами, нарисуйте схематически на листе бумаги вверху. Те, к которым будет обращаться программа (включая БД), — снизу.

Теперь нарисуйте под каждым нарисованным сверху субъектом прямоугольник с названием UI или API — это интерфейсы, к которым будет обращаться пользователь или внешняя управляющая система. Иногда UI тоже может обращаться к API. Объедините все прямоугольники с UI одним контуром и обзовите слоем представления. Объедините все прямоугольники с API и обзовите слоем сервисов.

Для систем, нарисованных снизу, укажите компоненты, которые будут отвечать за доступ к этим системам. Объедините все эти компоненты одним контуром и обзовите слоем доступа к данным.

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

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

Вы получили логическую архитектуру приложения. Разбросайте слои по серверам — получите физическую архитектуру.

Теперь вам остаётся детально проработать каждый маленький квадратик.

Маленький практический пример запрячу под кат.
Читать дальше →
Всего голосов 32: ↑19 и ↓13+6
Комментарии89
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность