Pull to refresh
0
0
Доронин Станислав @mugisbrows

User

Send message

CMS будущего

Reading time14 min
Views76K

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


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

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

image
Читать дальше →
Total votes 68: ↑58 and ↓10+48
Comments73

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

Reading time10 min
Views39K

Введение


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

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

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

Основы Elasticsearch

Reading time12 min
Views687K

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


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


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

Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments78

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

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

Apache Maven — основы

Reading time6 min
Views545K
После публикации топика о Maven в комментариях возникли вопросы о том, как начать с ним работать, с чего начать, как составлять файлы pom.xml, откуда брать плагины и т.п. Данный топик будет своего рода getting started или f.a.q.
Поехали!
Total votes 45: ↑41 and ↓4+37
Comments29

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

Reading time7 min
Views302K
Недавно один знакомый попросил меня помочь с проблемой. Он занимается разработкой LED ламп, попутно ими приторговывая. У него скопилось некоторое количество ламп, работающих неправильно. Внешне это выражается так – при включении лампа вспыхивает на короткое время (менее секунды) на секунду гаснет и так повторяется бесконечно. Он дал мне на исследование три таких лампы, я проблему решил, неисправность оказалась очень интересной (прямо в стиле Эркюля Пуаро) и я хочу рассказать о пути поиска неисправности.
Читать дальше →
Total votes 110: ↑109 and ↓1+108
Comments62

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

Reading time7 min
Views144K

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

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

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

Reading time3 min
Views16K

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



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

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

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

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

Reading time4 min
Views68K

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

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

Reading time6 min
Views43K
* Это шутка.

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.
Читать дальше →
Total votes 91: ↑58 and ↓33+25
Comments193

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

Reading time2 min
Views17K
image
Это восторг!
Исследование, которое поражает от начала до конца. Вы можете быть в чем-то не согласны или, наоборот, согласитесь во всем, но в любом случае это надо прочитать.

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

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

Reading time10 min
Views254K
Перевод статьи «5 Practical Examples For Learning The React Framework», Martin Angelov

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

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

Reading time4 min
Views13K

Введение


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

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

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

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

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

Reading time5 min
Views37K
Иногда в жизни бывает так — вот ждёшь, ждёшь чего-то, изучаешь теорию по данному вопросу, рассматриваешь разные подходы к решению, дискутируешь с такими же ищущими как ты, внимаешь гласу признанных гуру, но не продвигаешься дальше ни на дюйм. Потом бросаешь, забываешь вообще об этом вопросе, занимаешься другими делами, и вдруг — на тебе, всё встало на свои места, из разрозненных элементов сложилась чудесная мозаика, нагрянуло просветление, а волосы вдруг стали густыми и шелковистыми.
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments19

BDD с помощью Cucumber

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

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

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

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


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

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

image
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments7

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

Reading time5 min
Views83K
Одним из самых сложных для понимания и осознания элементов языка является декоратор, хотя по сути это очень простая вещь, доступная для понимания даже начинающему программисту. Новых Эверестов я не открываю, а лишь предлагаю краткий обзор возможностей и несколько типичных примеров использования. Этакий короткий экскурс в метапрограммирование на питоне.

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

Читать дальше →
Total votes 98: ↑97 and ↓1+96
Comments30

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

Reading time16 min
Views720K

Рад представить дополнение оригинального списка из 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).
Читать дальше →
Total votes 108: ↑89 and ↓19+70
Comments38

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

Reading time4 min
Views65K
В данной статье я расскажу как, используя пакет утилит arp-sk в операционной системе GNU/Linux реализовать атаку man-in-the-middle на протокол arp.
image

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

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

Reading time6 min
Views14K


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


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

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity