Pull to refresh
8
0
Send message

12 полезных государственных сервисов для предпринимателей

Reading time4 min
Views36K


В работе над сайтом «Я люблю ИП» мы используем разные сервисы, которые облегчают жизнь предпринимателям. В этой статье мы собрали самые полезные государственные сервисы для ИП. Они помогут вам зарегистрировать бизнес, рассчитаться с налогами и страховыми взносами, сдать отчётность или узнать о возможных штрафах.

Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments26

Стилизация изображений с помощью нейронных сетей: никакой мистики, просто матан

Reading time14 min
Views92K

Приветствую тебя, Хабр! Наверняка вы заметили, что тема стилизации фотографий под различные художественные стили активно обсуждается в этих ваших интернетах. Читая все эти популярные статьи, вы можете подумать, что под капотом этих приложений творится магия, и нейронная сеть действительно фантазирует и перерисовывает изображение с нуля. Так уж получилось, что наша команда столкнулась с подобной задачей: в рамках внутрикорпоративного хакатона мы сделали стилизацию видео, т.к. приложение для фоточек уже было. В этом посте мы с вами разберемся, как это сеть "перерисовывает" изображения, и разберем статьи, благодаря которым это стало возможно. Рекомендую ознакомиться с прошлым постом перед прочтением этого материала и вообще с основами сверточных нейронных сетей. Вас ждет немного формул, немного кода (примеры я буду приводить на Theano и Lasagne), а также много картинок. Этот пост построен в хронологическом порядке появления статей и, соответственно, самих идей. Иногда я буду его разбавлять нашим недавним опытом. Вот вам мальчик из ада для привлечения внимания.


Читать дальше →
Total votes 145: ↑141 and ↓4+137
Comments38

Бюджетный стартовый набор Arduino

Reading time3 min
Views47K
У меня более 10 лет стажа в IT-индустрии, но как радиолюбитель — я полнейший нуб. Как и многих в последнее время, меня заинтересовали возможности Arduino. Но не в качестве крутого устройства по управлению всем вокруг, а больше в качестве программируемого конструктора и развлечения.

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

Итак, если вы хотите собрать бюджетный набор с ардуинкой, пригодный для прохождения большинства уроков, а времени для изучения рынка нет, то последующий текст для вас.
Читать дальше →
Total votes 24: ↑16 and ↓8+8
Comments39

Что разработчику нужно знать о локализации приложения

Reading time5 min
Views14K
Полезные факты о переводах и локализации, о царстве языков в Интернете, рейтинги, топы, обзоры рынков мобильных приложений, о навыках специалистов и что со всем этим делать.

image

Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments13

По следам Google I/O 2016 — новый Firebase: интеграция с Android

Reading time13 min
Views46K
Привет, Хабр! Мы продолжаем цикл статей по технологиям, представленным на нашем ежегодном мероприятии Google I/O. Сегодня у нас в гостях Александр Денисов, и он расскажет про своё знакомство с базовыми возможностями обновлённого Firebase.


Передаём ему слово!
Total votes 14: ↑13 and ↓1+12
Comments17

40 туториалов для создания векторных иллюстраций

Reading time6 min
Views249K
В посте собрана подборка обучающих уроков по созданию векторной графики. На мой взгляд большинство материалов покажутся интересными для новичков только начинающих постигать векторное искусство. Но думаю, что специалисты также смогут найти для себя полезные уроки.

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

Итак, поехали:

Приступая к работе


1. Изучение векторной иллюстрации за 10 шагов



В этом уроке объясняется, каким образом создавать векторные иллюстрации используя Adobe Illustrator. Приводится объяснение ключевых параметров и инструментов, которое дополняется советами экспертов.

Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments8

DevOps — автоматизируй всё

Reading time8 min
Views82K
Целью статьи является дать основные представления о DevOps и практиках, используемых при этой методологии. Тут не будет сложных терминов, конкретных продуктов и road map внедрения DevOps, но, надеюсь, будет интересно ознакомиться.


Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments13

Как победить на собеседовании. Несколько крайне полезных советов для разработчиков

Reading time8 min
Views68K
От автора: я разработал и провёл десятки собеседований по программированию. Здесь я расскажу, как меня обыграть



Будем честными, большинство программистов не любят писать код на собеседовании. Некоторые даже угрожают уйти из профессии по этой причине. Но в ближайшее время ничего не изменится. Так что если вы действительно хотите получить работу, то придётся понять, как можно добиться успеха на этих собеседованиях. Я помогу вам. Мы изучим процесс, и я объясню, что именно я хочу добиться от собеседования, так что у вас сложится довольно чёткое представление, как его пройти.
Читать дальше →
Total votes 54: ↑39 and ↓15+24
Comments116

Методы определения принадлежности точки многоугольнику

Reading time9 min
Views73K
Недавно на хабре была статья, в которой описывалось как можно определить, где находится точка по отношению к многоугольнику: внутри или снаружи. Подобная проблема встречается в геометрическом моделировании и в компьютерной графике достаточно часто. А так как метод, описанный в статье, был несколько не оптимален, а в комментариях был небольшой хаос, возникла мысль написать эту статью. Итак, какие алгоритмы существуют в современной компьютерной графике, чтобы определить, принадлежит ли заданная точка многоугольнику или нет.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments23

Построение минимальных выпуклых оболочек

Reading time7 min
Views134K

Проведя небольшое научное исследование (проще говоря, выполнив поиск на сайте), обнаружил, что на хабре имеется всего две статьи с тегом вычислительная геометрия, причем одна из них оказалась моей. Т.к. в последнее время я несколько заинтересовался этой тематикой, то решил продолжить тему алгоритмической геометрии рассмотрением задачи построения так называемых минимальных выпуклых оболочек. Хотя рисунок справа и дает проницательному хаброчитателю исчерпывающее объяснение того, что это такое, тем не менее под катом будут даны чуть более формальные определения и описаны два классических алгоритма построения минимальных выпуклых оболочек.
Читать дальше →
Total votes 99: ↑94 and ↓5+89
Comments56

Какую библиотеку работы с HTTP в Android выбрать?

Reading time6 min
Views68K
Представляю вашему вниманию перевод статьи «Which Android HTTP library to use?».

Для чего это вообще?


Сегодня почти все приложения используют HTTP/HTTPS запросы как своеобразный транспорт для своих данных. Даже если вы напрямую не используете эти протоколы, множество SDK, которые вы, скорее всего, уже включили в свои приложения (например, метрика, статистика падений, реклама), используют HTTP/HTTPS для работы с сетью. На сегодняшний день совсем немного существует библиотек, которые разработчик мог бы свободно использовать в своем проекте. И я постараюсь рассказать об основных из них в этом посте.
У Android-разработчиков есть много причин, чтобы сделать выбор в пользу сторонних библиотек, заместо уже встроенных API, таких как HttpURLConnection или Apache Client. Например:
Узнать зачем
Total votes 17: ↑15 and ↓2+13
Comments13

45-летняя женщина утверждает, что прошла первую в мире генную терапию против старения

Reading time2 min
Views62K
image
Теломеры отмечены зелёным цветом

Элизабет Пэрриш [Elizabeth Parrish], жительница Сиэтла, 45-и лет, директор стартапа со специализацией на биотехнологиях BioViva утверждает, что успешно прошла курс генной терапии против старения. Терапия была направлена на борьбу с двумя известными и явными эффектами, связанными со старением: укорачиванием теломер и потерей мышечной массы.

Предварительно успех терапии подтвердили в техасской медицинской лаборатории SpectraCell. В сентябре 2015 года в лаборатории кровь Пэрриш была взята на анализ непосредственно перед началом терапии. Тогда медики назвали показатель длины теломер у лейкоцитов предпринимателя необычно низким – 6,71 кб (тысяч базовых пар). При этом в среднем у младенцев эта длина составляет порядка 8 кб, у взрослых может доходить до 3 кб, а у пожилых – до 1,5 кб.
Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments170

Использование Open Source OCR библиотеки Tesseract в Android на примере простого приложения

Reading time2 min
Views43K
image

Сегодня я покажу, как добавить опцию распознавания текста (OCR) в Ваше Android приложение.

Наш тестовый проект — это один единственный Activity, в который я запихнула и распознавание. Итого в общем счете всего 200 строк кода.

Важная фича — опция OCR работает offline. OCR увеличивает ваш .apk приблизительно на 17mb.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments8

Подборка удивительных гаджетов Xiaomi

Reading time3 min
Views21K
Компания Xiaomi, основанная «китайским Джобсом» Лэем Цзюнем — торговый бренд, который не нуждается в рекламе. Известность фирмы очень быстро распространилась по всему миру благодаря высокому качеству продуктов в сочетании с доступной ценой.

В этой статье мы рассмотрим подборку гаджетов Xiaomi — от самых распространенных, вроде смартфонов, до самых необычных, вроде тонометров измерения артериального давления. А поводом для этого послужил «карнавал скидок» от ресурса GearBest, до конца которого осталось несколько дней.

Стильные наушники



Читать дальше →
Total votes 48: ↑15 and ↓33-18
Comments49

Подробно о задачах Gradle

Reading time24 min
Views121K


Перевод второй главы свободно распространяемой книги Building and Testing with Gradle

Задача (task) является основным компонентом процесса сборки в файле билда Gradle. Задачи представляют собой именованные наборы инструкций билда, которые Gradle запускает выполняя сборку приложения. При сравнении с другими билд-системами, задачи могут показаться знакомой абстракцией. Однако Gradle предоставляет более развитую модель, в отличие от той, которая вам уже может быть знакома. По сравнению с традиционными возможностями объявления операций билда, связанных зависимостями, задачи Gradle являются полнофункциональными объектами, которыми вы при желании можете управлять программно.

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

Невозможно проверить адрес e-mail на допустимость с помощью регулярных выражений

Reading time7 min
Views38K


Что, если бы я попросил вас написать регулярку для проверки e-mail адреса? Вы бы, наверное, подумали минутку, и потом бы нагуглили запрос. И получили бы нечто вроде:

^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{2,5})$


Регулярок на эту тему существуют тысячи. Но почему? Наверняка же кто-нибудь, да прочёл стандарт RFC822 и выдал надёжную регулярку?

А вот вам ещё одна регулярочка…
(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
)+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:
\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(
?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[
\t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0
31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\
](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+
(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:
(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)
?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\
r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[
\t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)
?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t]
)*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[
\t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*
)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
)+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)
*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+
|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r
\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:
\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t
]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031
]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?
:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?
:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?
:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?
[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\]
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|
\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>
@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"
(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t]
)*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?
:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[
\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-
\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(
?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;
:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([
^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\"
.\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\
]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\
[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\
r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\]
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]
|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \0
00-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\
.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,
;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?
:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*
(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[
^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]
]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(
?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(
?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[
\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t
])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t
])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?
:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|
\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:
[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\
]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)
?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["
()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)
?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>
@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[
\t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,
;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t]
)*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?
(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:
\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[
"()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])
*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])
+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\
.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(
?:\r\n)?[ \t])*))*)?;\s*)



И даже этот монстр не в силах проверить емейл-адрес. Почему? Оказывается, в скромном адресе может скрываться очень многое. Некоторые части стандарта RFC822 достаточно полезны, а некоторые – просто безумны. Но в любом случае это интересно – давайте разбираться.
Читать дальше →
Total votes 88: ↑61 and ↓27+34
Comments92

Все светодиодные лампы IKEA

Reading time3 min
Views82K
Светодиодные лампы IKEA многие заслуженно считают лучшим из того, что можно купить в России. Прежде всего, многие лампы IKEA Ledare имеют очень высокий (91.1-96.1) индекс цветопередачи (CRI) и нужно заметить, что фактически это единственные лампы с CRI>90, доступные в нашей стране. Многие лампы IKEA дешевле конкурентов при лучших параметрах. У IKEA больше половины ламп поддерживают регулировку яркости (диммирования).



Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments127

GSM-ловушки: ещё один привет от Большого Брата

Reading time11 min
Views127K


Предлагаю сегодня поговорить о скрытой и неизведанной области — GSM-связи. Почему же неизведанной, спросите вы? Ведь все носят в кармане сотовый телефон, чуть ли не дошкольники ходят с ними, а базовые станции висят на каждом столбе? Увы, обыватель считает, что всё просто и прозрачно: совершает звонки, посылает СМС. И редко задумывается над процессами, которые обеспечивают все эти действия. В этом статье я попробую показать, что GSM-связь — с одной стороны весьма непрозрачная тема, а с другой — прорва уязвимостей. Если конкретнее – то поговорим о так называемых IMSI-ловушках (или IMSI-catchers).

Подробности
Total votes 41: ↑39 and ↓2+37
Comments37

15 нестандартных инструментов продвижения приложения

Reading time23 min
Views34K
Ненавижу статьи про продвижение мобильных приложений. Потому что в 99% процентах из них будет одна вода, избитые, всем известные инструменты, без живых цифр и примеров. Не для этого я захожу на Хабр.

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

Запасайтесь чаем и добро пожаловать под кат

Читать дальше →
Total votes 35: ↑28 and ↓7+21
Comments11

Время учиться: дайджест бесплатных образовательных материалов от Mail.Ru Group

Reading time10 min
Views112K

Кадр из к/ф «Операция Ы и другие приключения Шурика»

Как говорят, «кризис — пора возможностей». И поэтому сейчас самое время начать вкладывать в саморазвитие, осваивать новую профессию или повышать свою квалификацию. Займитесь изучением языков программирования, обретением навыков разработки, тестирования и вообще всячески прокачивайте свой IT-скилл. Ведь чем больше вы знаете, тем прочнее будете стоять на ногах. А чтобы вам было легче сориентироваться и выбрать направление, мы сделали подборку наших бесплатных образовательных материалов, курсов и инициатив за 2015–2016 годы.
Читать дальше →
Total votes 48: ↑43 and ↓5+38
Comments29

Information

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