Как стать автором
Обновить
0
0
Доронин Станислав @mugisbrows

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

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

CMS будущего

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

Покончим с устаревшим подходом к контенту


На протяжении всей истории интернета мы работали с контентом двумя способами:
  1. Создавали «один шаблон на все случаи жизни»
  2. Создавали для каждого случая свой уникальный шаблон

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

image
Читать дальше →
Всего голосов 68: ↑58 и ↓10+48
Комментарии73

Пишем модуль на C++ для nodejs на примере работы с MySQL

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

Введение


Многие уже успели попробовать Node.js, на мой взгляд, это очень удобный инструмент, для решения большого круга задач. Меня в Node.js, прежде всего, привлекает возможность писать код на JavaScript и большой набор встроенных модулей для решения часто возникающих задач. Если чего-то не оказалось в стандартной поставке, то огромное количество дополнительных модулей можно найти в репозитории npmjs.org

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

После изучения документации, я пришёл к выводу что, могу написать нужный мне модуль на C++ и оформить его как addon к node.js, если вам интересно познакомится с процессом создания модуля, добро пожаловать под кат.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии8

Основы Elasticsearch

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

Elasticsearch — поисковый движок с json rest api, использующий Lucene и написанный на Java. Описание всех преимуществ этого движка доступно на официальном сайте. Далее по тексту будем называть Elasticsearch как ES.


Подобные движки используются при сложном поиске по базе документов. Например, поиск с учетом морфологии языка или поиск по geo координатам.


В этой статье я расскажу про основы ES на примере индексации постов блога. Покажу как фильтровать, сортировать и искать документы.

Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии78

Собираем установочные пакеты из Qt проектов по-взрослому

Время на прочтение21 мин
Количество просмотров22K
Методом проб и ошибок я изобрел очередной велосипед, о котором и собираюсь рассказать Вам ниже.Речь пойдет о сборке пакетов из проектов Qt для Debian и Rpm based систем, Windows из под Ubuntu/Debian. В принципе метод весьма прост, поэтому, думаю, что при небольших изменениях он подойдет и для rpb based дистрибтивов, а для Windows систем потребуется установка cygwin.Кроме того эта тема очень мало обсуждается в интернете, хотя я бы не назвал сборку кроссплатформенных приложений в инсталяционные пакеты простой задачей.Кому будет интересен данный материал:
  • в первую очередь начинающим разработчикам Qt, которые хотят распространять свои приложения в удобном для пользователей виде;
  • разработчикам, использующих другие языки программирования (при небольших изменениях можно получить.
У меня есть уверенность в том, что все действия, описанные ниже, можно было бы сделать скриптом make, но и текущий вариант тоже неплох и имеет право на существование.Также, если Вы используете любой другой способ для автоматической сборки проектов, опишите его пожалуйста. Хотелось бы собрать в итоге как можно больше информации по этой теме.
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии18

Apache Maven — основы

Время на прочтение6 мин
Количество просмотров541K
После публикации топика о Maven в комментариях возникли вопросы о том, как начать с ним работать, с чего начать, как составлять файлы pom.xml, откуда брать плагины и т.п. Данный топик будет своего рода getting started или f.a.q.
Поехали!
Всего голосов 45: ↑41 и ↓4+37
Комментарии29

Алгоритм поиска неисправности в драйвере LED лампы или Эркюль Пуаро отдыхает

Время на прочтение7 мин
Количество просмотров299K
Недавно один знакомый попросил меня помочь с проблемой. Он занимается разработкой LED ламп, попутно ими приторговывая. У него скопилось некоторое количество ламп, работающих неправильно. Внешне это выражается так – при включении лампа вспыхивает на короткое время (менее секунды) на секунду гаснет и так повторяется бесконечно. Он дал мне на исследование три таких лампы, я проблему решил, неисправность оказалась очень интересной (прямо в стиле Эркюля Пуаро) и я хочу рассказать о пути поиска неисправности.
Читать дальше →
Всего голосов 110: ↑109 и ↓1+108
Комментарии62

Гальваническая развязка. Кто, если не оптрон?

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

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

Статья под катом посвящена различным способам гальванической развязки цифровых сигналов. Расскажем зачем оно вообще нужно и как производители реализуют изоляционный барьер «внутри» современных микросхем.
Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии44

Бот-юрист поможет бездомным подать заявление на жильё

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

Раньше бот-юрист помог водителям отменить штрафы за парковку на $4 млн



Студент Джошуа Броудер, разработчик сервиса автоматизированной юридической помощи DoNotPay, программирует с 12 лет. Фото: Джошуа Броудер

В августе прошлого года 18-летний британский IT-студент Джошуа Броудер (Joshua Browder) открыл сервис DoNotPay, который помогает автовладельцам автоматически составить и отправить апелляцию на полученную квитанцию о штрафе. Процедура довольно сложная, так что не каждый человек может пройти её самостоятельно, а услуги юристов почти всегда превышают размер штрафа. В отличие от настоящих юристов, бот работает абсолютно бесплатно.

Успех сервиса DoNotPay оказался феноменальным.
Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии46

Arduino -> FLProg -> RS-485 -> Modbus

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

Вышла новая версия программы FLProg c номером 1.9.1. Я подумал что нововведения в программе заслуживают освещения на хабре.Так же расскажу немного теории о протоколе Modbus и особенностях его реализации на борту Arduino.
Если интересно, читаем дальше
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

bala.js — убийца jQuery в менее чем 400 символах кода *

Время на прочтение6 мин
Количество просмотров43K
* Это шутка.

image
(картинка позаимствована где-то в интернете)

[ Репозиторий ]

Всем привет.

Уже давно прошли времена обязательной поддержки 6, 7, 8 Ослов и неизбежного использования jQuery, DOM API постепенно приводится к единому виду, но я всё так же часто встречаю на просторах интернета утверждения о том, что VanillaJS — это длинная колбаса.

Мол, зачем мне писать вот так:
document.querySelector('.selector');

Если я могу написать вот так:
$('.selector');

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

// selects one node matched given selector
function $(selector, ctx) {
	return (ctx || document).querySelector(selector);
}

// selects all nodes matched given selector
function $$(selector, ctx) {
	return [].slice.call((ctx || document).querySelectorAll(selector));
}

Это касается крошечных скриптов. Для крупных проектов, конечно, нужно юзать какой-нибудь фреймворк, который берет на себя все манипуляции над DOM.
Читать дальше →
Всего голосов 91: ↑58 и ↓33+25
Комментарии193

Вдохновляйтесь! Рецензия на книгу Фредерика Лалу «Открывая организации будущего»

Время на прочтение2 мин
Количество просмотров17K
image
Это восторг!
Исследование, которое поражает от начала до конца. Вы можете быть в чем-то не согласны или, наоборот, согласитесь во всем, но в любом случае это надо прочитать.

Это те вопросы, которые волнуют многих людей долгое время. Можно ли так организовать компанию, чтобы все сотрудники были счастливы на работе? Можно ли избавиться от стереотипного мышления, что работа от слова раб? Как избавится от бесконечной бюрократии, которая пожирает компании, стоит им вырасти до 50+ человек?
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии4

5 практических примеров для изучения фреймворка React

Время на прочтение10 мин
Количество просмотров252K
Перевод статьи «5 Practical Examples For Learning The React Framework», Martin Angelov

Вы вероятно слышали о популярном JavaScript фреймворке от Facebook – React. Он используется на многих популярных веб-сайтах, в том числе в Facebook и Instagram. В этой статье вы увидите 5 практических примеров, построенных при помощи React, которые помогут вам начать работать с этим фреймворком.
Читать дальше →
Всего голосов 20: ↑14 и ↓6+8
Комментарии46

Простой пример создания ActiveX-control на Qt

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

Введение


Мне была поставлена задача разработать некий ActiveX-control. Так как основным языком программирования для разработки у нас используется C++, то C# не рассматривался. Я решил выбрать Qt, так как он мне интересен.

Создание ActiveX объектов на Qt достаточно простой процесс, в примерах к QtCreator есть несколько вариантов, показывающих как можно использовать ActiveQt (например этот).

При написании компонента пришлось много времени потратить на поиск ответов на казалось бы простые вопросы, по крупицам их собирать. В результате я получил, что требовалось и решил написать простой пример, чтобы ускорить процесс старта разработки ActiveX-control другим.

Сразу обращу внимание, что не описываю всю технологию ActiveQt, подробную информацию можно получить в документации Qt Assistant и в интернете (например здесь), это пример и пара интересных на мой взгляд моментов.
Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии2

Функциональное тестирование веб-приложений без боли

Время на прочтение5 мин
Количество просмотров37K
Иногда в жизни бывает так — вот ждёшь, ждёшь чего-то, изучаешь теорию по данному вопросу, рассматриваешь разные подходы к решению, дискутируешь с такими же ищущими как ты, внимаешь гласу признанных гуру, но не продвигаешься дальше ни на дюйм. Потом бросаешь, забываешь вообще об этом вопросе, занимаешься другими делами, и вдруг — на тебе, всё встало на свои места, из разрозненных элементов сложилась чудесная мозаика, нагрянуло просветление, а волосы вдруг стали густыми и шелковистыми.
Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии19

BDD с помощью Cucumber

Время на прочтение3 мин
Количество просмотров105K
Если вы привыкли сначала писать код, а потом его тестировать, то с BDD такой подход совсем не уместен. Сила BDD в том, что он помогает вести разработку начиная со стадии оформления ТЗ. Для BDD это список свойств (фич), который уместно писать вместе с заказчиком.

Но самое главное, что по этому же списку происходит автоматическое тестирование проекта. Инструмент тестирования (в нашем случае это Cucumber) методично пройдет по вашему перечню и дотошно проверит реализацию каждой фичи.
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии21

Шишка за шишкой в разработке мобильных приложений

Время на прочтение4 мин
Количество просмотров13K
Пост о том, чему я научился в процессе работы над приложением. Оглядываясь назад, задаю странный вопрос: в итоге кто кого создавал? Вроде бы я делал приложение, но и оно многое изменило во мне.


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

Итак,
Часть 1 — открытия в области управления временем и проектом.
Часть 2 — полезные сервисы и ресурсы, пригодившиеся в процессе разработки и релиза.

image
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии7

Сила и красота декораторов

Время на прочтение5 мин
Количество просмотров83K
Одним из самых сложных для понимания и осознания элементов языка является декоратор, хотя по сути это очень простая вещь, доступная для понимания даже начинающему программисту. Новых Эверестов я не открываю, а лишь предлагаю краткий обзор возможностей и несколько типичных примеров использования. Этакий короткий экскурс в метапрограммирование на питоне.

Upd 1: изменил несколько категоричное утверждение о несходстве паттерна Декоратор и одноимённой языковой конструкции на более мягкое.

Читать дальше →
Всего голосов 98: ↑97 и ↓1+96
Комментарии30

400 потрясающих бесплатных сервисов

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

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Всего голосов 108: ↑89 и ↓19+70
Комментарии38

Практика использования arp-spoofing

Время на прочтение4 мин
Количество просмотров65K
В данной статье я расскажу как, используя пакет утилит arp-sk в операционной системе GNU/Linux реализовать атаку man-in-the-middle на протокол arp.
image

Для чего вообще нужна такая атака:
На хабре достаточно много статей например для взлома Wi-Fi. Но что делать после того, как ключ взломан? Тут можно увидеть один из вариантов действий.
Читать дальше →
Всего голосов 59: ↑52 и ↓7+45
Комментарии29

12 370 км (Словакия – Гавайи). Как я получил стажировку и шанс всей жизни

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


Моя история успеха, как и многие другие, начинается с провала


Мне было 16, когда у меня появилась мечта учиться в средней школе Калифорнии. Для парня из Словакии (Центральная Европа) это была замечательная перспектива. Я искал возможности, но ни одна из опций не вызвала у меня энтузиазма. Я мог бы заплатить где-то 10 тысяч долларов (что превышает среднегодовую заработную плату в Словакии) агентству, но ни одно из них не могло дать мне гарантии того, что я в конце концов окажусь в Калифорнии.

Я знал, что все может быть сделано куда лучше, поэтому создал простую страничку под названием «Приютите меня в Калифорнии» (Host Me In California). С помощью сайта я хотел найти семью, готовую оказать мне гостеприимство и разместить у себя в течение моего следующего учебного года в Калифорнии. В поисках отклика я отослал ссылку на свою страницу нескольким друзьям, и к тому времени, когда я отправился в душ, один мой друг уже передал ее кому-то еще. Так в сети была опубликована первая статья о моем сайте. И это было только начало.
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии21
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность