User
Визуальный генератор регулярных выражений
Большинство из нас, впервые столкнувшись с данной проблемой, начинают забивать в поисковых системах что-то типа: «regexp online generator» и к своему великому сожалению осознают что
А как же составить это самое регулярное выражение?

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

Как обычно, никакой магии тут нет, все одни технологии. А раз технологии, то несложно все это объяснить человеческим языком, чем мы сейчас и займемся. Задачу мы будем решать самую настоящую. И алгоритм будем описывать настоящий, подпадающий под определение машинного обучения. Сложность этого алгоритма игрушечная — а вот выводы он позволяет сделать самые настоящие.
От нуля к единице. Как я прошел путь от фрилансера до главного дизайнера за год

Первое время мне нравился ритм жизни фрилансера. Но после очередного проекта, о котором я забыл, как только получил деньги, мне захотелось что-то в моей работе поменять. Я выписал свои навыки, стремления и выбрал для себя новый путь. Мне захотелось не просто получать деньги, но и сделать что-то значимое. Именно в тот момент я решил на время отказываться от будущих заказов и подготовил пошаговый план достижения цели — стать главным дизайнером продукта.
Бравый справочник css-свойств для новичка
И тут мне пришла в голову идея. А что если сделать такую штуку, которая наглядно показывает как пишутся и работают все css-свойства? Причем, все это на одной странице.
Таким образом, за два вечера создался вот такой css-помощник: lesson-web.ru/modules/css_helper
Открытие студии мобильной разработки «с нуля» в Питере — 3.5 года спустя. Реинкарнация. Часть 3

И снова здравствуйте… продолжаю long read про наш опыт, без «приукрас». Картинка выше только для привлечения внимания.
Часть 2 и Часть 1 обязательная к прочтению. Нет, конечно, можно и не читать, только тогда и эту статью пропускайте смело :). В части 2 запустил опрос, надо продолжать или нет — подавляющее большинство одобрило, посему встречайте часть 3… Кстати, вот парадокс, я ради любопытства разместил кусочек материала на pikabu, и знаете что? Ничего кроме "-20" к тамошней карме. Боюсь делать выводы поспешные, скорее всего там люди ждут другой материал. Напоминаю, что рассказываю наш опыт создания компании по разработке мобильных приложений «с нуля», вспоминая 2-х годичный опыт и добавляя его (upd.2016 — новым взглядом).
Мне в комментариях написали, что за подобные знания платят иногда по 15к рублей в час. Елки-палки, видимо не тем занимаюсь. Надо податься в бизнес-тренеры-менторы-консультанты-инфобизнесмены. Но буду рад, если сказанное поможет кому-то добиться успехов, совсем не боюсь конкуренции и за последними совсем не слежу — у каждого свой путь, чем и хороша стезя предпринимательства. У нас есть свой канал на youtube, каждый день (рабочий) мы записываем короткие видео, иногда даже по итогу дня — наш опыт, без фантазий, лукавства и т.п. Подписывайтесь, мне будет приятно :) а вам, надеюсь, полезно.
Итак, let's go…
25 советов по улучшению вашего кода jQuery
Объясняем бабушке: Как зашифроваться за час
«Выживают только параноики».
— Энди Гроув

Энди Гроув был венгерским беженцем, который сбежал от коммунистов, изучал инженерное дело, и в конечном итоге возглавил революцию компьютеров в качестве генерального директора Intel. Он умер в начале этого года в Силиконовой долине после долгой борьбы с болезнью Паркинсона.
Когда один из самых могущественных людей в мире призывает нас быть параноиком, возможно, нам следует прислушаться.
Вынужден предупредить, что Гроув не единственный влиятельный человек, который призывает к этому. Даже директор ФБР — тот же человек, который недавно заплатил хакерам миллион долларов, чтобы разблокировать iPhone террориста — настоятельно рекомендует всем скрывать свои веб-камеры.
Но вы подчиняетесь закону. Чего вам опасаться? Как гласит девиз программы наблюдения Соединенного Королевства: «если вам нечего скрывать, вам нечего бояться». Ну, законопослушные граждане имеют основания опасаться. У них есть причины защищать свои устройства, файлы и общение с близкими.
«Если кто-то даст мне шесть строк написанных самым честным человеком, я найду то, за что его можно повесить.»
— кардинал Ришелье в 1641.
В этой статье я покажу вам, как обезопасить себя, используя искусство шифрования. В один присест, вы можете сделать большой шаг вперед к обеспечению вашей конфиденциальности.
Открытые онлайн-курсы по Python, Linux и… генетике
Курсы рассчитаны на неподготовленную аудиторию, ведь в институте Python и Linux изучают биологи, а молекулярную биологию – программисты, чтобы потом всем вместе осваивать биоинформатику. Но, даже если вы прекрасно умеете программировать и свободно чувствуете себя в vim, можете посоветовать эти курсы своим студентам или друзьям, либо просто записаться на биологию.
Курсы совершенно бесплатны и останутся доступны для самостоятельного изучения под Creative Commons после окончания. Но те, кто хочет жарких дискуссий в комментариях, оперативных ответов от преподавателей и сертификатов по окончанию, могут поучаствовать в ближайшем запуске с дедлайнами (10 ноября – 8 декабря).

Онлайн курс по компьютерным сетям начального уровня

Зачем нужен еще один курс?
Курсов, учебников, и просто статей на тему компьютерных сетей в интернет сейчас очень много. Однако те, кто только начинает изучать сети, сталкиваются с проблемой информационного взрыва. Материала слишком много и непонятно, как разобраться во всем этом многообразии.
Я решил сделать курс начального уровня, в котором кратко и ёмко рассказать об основных понятиях компьютерных сетей. Для этого мне пришлось убрать из курса много сложных технических деталей, которые не являются обязательными для понимания принципов работы сетей. В результате получился короткий видеокурс, который можно посмотреть за обозримое время (2-3 дня). А после того, как вы поняли основные принципы, в технических деталях можно разобраться самостоятельно по книжкам или материалам в интернет.
Сделать завтра. Как не тратить время на мелочи

PHP: фрактал плохого дизайна
Предисловие
Я капризный. Я жалуюсь о многих вещах. Многое в мире технологий мне не нравится и это предсказуемо: программирование — шумная молодая дисциплина, и никто из нас не имеет ни малейшего представления, что он делает. Учитывая закон Старджона, у нас достаточно вещей для постижения на всю жизнь.
Тут другое дело. PHP не просто неудобен в использовании, плохо мне подходит, субоптимален или не соответствует моим религиозным убеждениям. Я могу рассказать вам много хороших вещей о языках, которых я стараюсь избегать, и много плохих вещей о языках, которые мне нравятся. Вперёд, спрашивайте! Получаются интересные обсуждения.
PHP — единственное исключение. Фактически каждая деталь PHP в какой-то мере поломана. Язык, структура, экосистема: всё плохо. И даже нельзя указать на одну убийственную вещь, настолько дефект систематичный. Каждый раз, когда я пытаюсь систематизировать недостатки PHP, я теряюсь в поиске в глубину обнаруживая всё больше и больше ужасных мелочей(отсюда фрактал).
PHP — препятствие, отрава моего ремесла. Я схожу с ума от того, насколько он сломан и насколько воспеваем каждым уполномоченным любителем нежелающим научиться чему-либо ещё. У него ничтожно мало оправдывающих положительных качеств и я бы хотел забыть, что он вообще существует.
Прокси-сервер с помощью Tor. Основа для многопоточного парсинга
После нескольких часов безуспешных поисков, было принято решение использовать свои ресурсы!
Итак, что в итоге должно получиться:
1. VM Ubuntu/Debian 2 CPU, 2GB RAM, 8GB HDD (ну тоесть совсем не требовательная)
2. PRIVOXY для проксирования запросов (Можно взять nginx, varnish — я взял Privoxy)
3. TOR сервер
Пятничный формат: «Нельзя просто так взять и объяснить непрограммисту…»
Мы в 1cloud попытались найти такие аналогии, так что теперь разговоры с неспециалистами могут стать чуточку интереснее, и вам с большей вероятностью удастся достичь взаимопонимания (на эту тему мы написали практическое пособие «Как вывести из себя программиста»).

Как устроен парсер Python, и как втрое уменьшить потребление им памяти

В Python всё немного сложнее: парсеров два. Первый парсер руководствуется грамматикой, заданной в файле
Grammar/Grammar
в виде регулярных выражений (с не совсем обычным синтаксисом). По этой грамматике при помощи Parser/pgen
во время компиляции python
генерируется целый набор конечных автоматов, распознающих заданные регулярные выражения — по одному КА для каждого нетерминала. Формат получающегося набора КА описан в Include/grammar.h
, а сами КА задаются в Python/graminit.c
, в виде глобальной структуры _PyParser_Grammar
. Терминальные символы определены в Include/token.h
, и им соответствуют номера 0..56; номера нетерминалов начинаются с 256.Проиллюстрировать работу первого парсера проще всего на примере. Пусть у нас есть программа
if 42: print("Hello world")
.В поисках предела. 6 мифов эффективности, которые я развеял, работая по 14 часов в день на протяжении месяца

Мне всегда нравилась идея — работай меньше, делай больше. Но в моей жизни было время, когда я действовал по-другому. Несколько видов деятельности так сильно интересовали меня, что я никак не мог определиться на чем сосредоточиться. Логичнее было бы использовать правило 20% и отсечь все остальное, но я этого делать не стал и кое-что понял.
Подробно об объектах и классах в PHP
Я буду рассказывать на примере версии PHP 5.4, и описываемые мной вещи справедливы для 5.5 и 5.6, потому что устройство объектной модели там почти не претерпело изменений. Обратите внимание, что в версии 5.3 всё не так хорошо с точки зрения возможностей и общей производительности.
В PHP 7, который пока ещё активно разрабатывается, объектная модель переработана не сильно, были внесены лишь незначительные изменения. Просто потому что всё и так хорошо работает, а лучшее — враг хорошего. Были добавлены возможности, не затрагивающие ядро, но здесь об этом речи не пойдёт.
Парсинг JSON — это минное поле

JSON — это стандарт де-факто, когда заходит речь о (де)сериализации, обмене данными в сети и мобильной разработке. Но насколько хорошо вы знакомы с JSON? Все мы читаем спецификации и пишем тесты, испытываем популярные JSON-библиотеки для своих нужд. Я покажу вам, что JSON — это идеализированный формат, а не идеальный, каким его многие считают. Я не нашёл и двух библиотек, ведущих себя одинаково. Более того, я обнаружил, что крайние случаи и зловредная полезная нагрузка могут привести к багам, падениями и DoS, в основном потому, что JSON-библиотеки основаны на спецификациях, которые со временем развиваются, что оставляет многие вещи плохо или вообще не задокументированными.
2. Тестирование парсинга
2.1. Структура
2.2. Числа (Numbers)
2.3. Массивы
2.4. Объекты
2.5. Строки
2.6. Двойственные значения RFC 7159
3. Архитектура тестирования
4. Результаты тестирования
4.1. Полные результаты
4.2. C-парсеры
4.3. Objective-C-парсеры
4.4. Apple (NS)JSONSerialization
4.5. Freddy (Swift)
4.6. Bash JSON.sh
4.7. Другие парсеры
4.8. JSON Checker
4.9. Регулярные выражения
5. Контент парсинга
6. STJSON
7. Заключение
8. Приложение
Извилистый путь разработчика
Учиться программированию — пожизненная затея. Почти всегда будет попадаться что-то новое, о существовании чего вы ещё не знали.
Я общаюсь с большим количеством студентов, изучающих информатику, и многие из них считают, что научатся в университете программированию, а потом просто пойдут и применят эти знания в своей работе. Возможно, они постигнут какие-то бизнес-знания в процессе. Но профессиональные программисты сразу поймут, что они совсем новички, эти университетские выпускники.
После разговора с @PrototypeAlex, где мы обсуждали множество этапов, которые проходят разработчики, у меня появилось вдохновение написать об этом. За 30 лет, которые я пишу код, я прошёл почти через каждый описанный в статье этап, и некоторые были особенно болезненными.
Узнаёте себя на каком-нибудь из этих этапов? И что я пропустил? Многие этапы ускользают из моего поля зрения; мы никогда не перестаём учиться и делать открытия.
Великий Копипастер
Писать код трудно, но люди решили проблему за вас! Ваш браузер переходит к Stack Overflow при вводе "s" в адресной строке, и вы часами вставляете различные фрагменты кода, чтобы увидеть, какой из них выполняет то, что вам требуется. Иногда это высасывает моральные силы, но в итоге у вас появляется хоть какой-то рабочий код.
Проверяем партнера по открытым источникам

В нашей стране никто не застрахован от «кидалова» партнером по договору: заказчики не платят фрилансерам, соучредители выходят из проекта, а поставщики отказываются от выполнения контрактов. Хорошие закупщики за то и ценятся, что имеют хорошие базы и связи в налоговой и могут неофициально проверить любого контрагента. К счастью, непрозрачный российский рынок в последние годы проясняется: появилось сразу несколько бесплатных государственных сервисов для проверки контрагента на честность. О них и пойдет речь в статье.
Information
- Rating
- Does not participate
- Registered
- Activity