Pull to refresh
15
0
Сергей Соколов @sergiks

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

Send message

Раскрываем возможности map в nginx

Reading time6 min
Views131K
map — мощная директива, которая может сделать ваши конфиги простыми и понятными.
Возможно, это самая недооцененная директива, из за того, что не все знают всех её возможностей.
Она в компактной форме помогает обрабатывать переменные, GET параметры, заголовки, куки и наборы бекендов (upstream).
Попробую раскрыть её возможности хабрапользователям.
Раскрыть возможности map
Total votes 91: ↑91 and ↓0+91
Comments11

Как я перестал беспокоиться и полюбил тестирование React-компонентов

Reading time12 min
Views33K

Как тестировать React-компоненты? Какую библиотеку использовать? Как тестировать компоненты, которые берут данные из Redux, а не из пропсов? Как тестировать компоненты, в которых используется роутинг с помощью React-router-dom? Что делать, если в компоненте есть асинхронный код?

...Мои вопросы, когда на работе впервые попросили покрыть тестами компонент. Я, разумеется, стал гуглить тестирование React-компонентов в связке с Redux и React-router-dom, и понял, что в сети есть много ответов на вопрос, зачем нужно тестирование, но мало кто объясняет, как написать тесты. А если и объясняет, то в  общих чертах на абстрактных примерах. Мне не хватало статьи, вооружившись которой, начинающий разработчик мог бы выполнить тест на реальном продукте. Поэтому я решил написать ее сам.

Статья предназначена для таких же, как я, разработчиков, которые пришли на свою первую работу и впервые столкнулись с необходимостью написать тесты. Более опытных коллег прошу проверить мои выводы, дать советы и замечания.

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments12

Бесполезный паттерн в полярных координатах, открывающий полезное свойство простых чисел

Reading time2 min
Views20K
Началось всё с обсуждение на математическом StackOverflow: Meaning of Rays in Polar Plot of Prime Numbers
«Недавно я начал экспериментировать с gnuplot и быстро сделал интересное открытие. Я построил все простые числа ниже 1 миллиона в полярных координатах, так что для каждого простого p (r, θ) = (p, p). Ничего особенного не ожидал, просто пробовал. Результаты впечатляют».

image

Если посмотреть на простые числа ниже 30000, можно увидеть спиральный узор.
Total votes 90: ↑84 and ↓6+78
Comments28

Ваш компьютер больше не принадлежит вам

Reading time3 min
Views118K

Все, приплыли, вы заметили?

Заголовок делает отсылку к предсказаниям Ричарда Столлмана 1997 года.

И Кори Докторов так же предупреждал нас.

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

Читать далее
Total votes 212: ↑191 and ↓21+170
Comments655

Определяем породу собаки: полный цикл разработки, от нейросети на Питоне до приложения на Google Play

Reading time27 min
Views23K
Прогресс в области нейросетей вообще и распознавания образов в частности, привел к тому, что может показаться, будто создание нейросетевого приложения для работы с изображениями — это рутинная задача. В некотором смысле, так и есть — если вам пришла в голову идея, связанныя с распознаватием образов, не сомневайтесь, что кто-то уже что-то подобное написал. Все, что от вас требуется, это найти в Гугле соответствующий кусок кода и «скомпилировать» его у автора.

Однако, все еще есть многочисленные детали, делающие задачу не столько неразрешимой, сколько… нудной, я бы сказал. Отнимающей слишком много времени, особенно если вы — новичок, которому нужно руководство, step-by-step, проект, выполненный прямо на ваших глазах, и выполненный от начала и до конца. Без обычных в таких случаях «пропустим эту очевидную часть» отговорок.

В этой статье мы рассмотрим задачу создания определителя пород собак (Dog Breed Identifier): создадим и обучим нейросеть, а затем портируем ее на Java для Android и опубликуем на Google Play.

Если вы хотите посмотреть на готовый результат, вот он: NeuroDog App на Google Play.

Веб сайт с моей робототехникой (в процессе): robotics.snowcron.com.
Веб сайт с самой программой, включая руководство: NeuroDog User Guide.

А вот скриншот программы:

image

Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments34

Сравнение динамики котировок двух акций на python на примере привилегированных и обычных акций Сбербанка

Reading time3 min
Views12K
Здравствуйте, сегодня хотел бы рассказать про мой опыт анализа акций сбербанка. Порой они показывают немного разную динамику — мне стало интересно проанализировать движение их котировок.

В данном примере мы будем скачивать котировки с сайта Финама. Ссылка для скачивания обычного Сбербанка.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments6

Запускаем PHP-скриптики через php-fpm без web-сервера. Или свой FastCGI-клиент (под капотом)

Reading time12 min
Views18K

Приветствую всех читателей "Хабра".


Дисклеймер


Статья получилась довольно длинная и тем кто не хочет читать предысторию, а хочет перейти сразу к сути прошу прямиком к главе "Решение".


Вступление


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

Читать дальше →
Total votes 34: ↑29 and ↓5+24
Comments17

Секвенирование ДНК в домашних условиях: как на коленке собрать прибор за 10 миллионов

Reading time9 min
Views151K
Всем привет, меня зовут Александр Соколов, и я хочу рассказать, как сделал дома секвенатор – прибор для расшифровки ДНК. Рыночная цена такого прибора составляет около 10 миллионов рублей.

image
Читать дальше →
Total votes 265: ↑263 and ↓2+261
Comments190

Неотвратимость наказания, эффективность внезапных проверок

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

image

Борьба популяций цифровой плесени под воздействие испепеляющего солнца.

Предуведомление. Статья состоит из трёх частей, и первые две кажутся вообще друг к другу никак не относящимися, однако есть третья объединяющая их.
Читать дальше →
Total votes 63: ↑61 and ↓2+59
Comments91

Профессия — трубач

Reading time5 min
Views23K
Так получилось в жизни, что я, как и большинство из вас, очень любил компьютер. Участие и победы в конкурсах по информатике, олимпиады, ЕГЭ. После долгих мук выбора моей профессией было решено сделать… музыку. В один момент я понял, что жить не могу без этого. Закончив школу, втихую от большинства поступаю в музыкальный колледж. Теперь, спустя несколько лет, в которых я с головой окунулся в этот калейдоскоп, могу вам сказать:
«Привет, *username*! Меня зовут Сергей, и я трубач!»



На написание этой статьи меня вдохновили комментарии к вышедшей статье, о том, что раньше нас обучали музыкальной грамоте неправильно. Здесь я хочу подробно рассказать вам о сложностях и поделиться некоторыми специфическими особенностями нашей работы. Материала много, поэтому разделю на несколько отдельных статей.
Читать дальше →
Total votes 70: ↑67 and ↓3+64
Comments103

Как я парсил Хабр, часть 1: тренды

Reading time6 min
Views23K

Когда был доеден новогодний оливье, мне стало нечего делать, и я решил скачать себе на компьютер все статьи с Хабрахабра (и смежных платформ) и поисследовать.


Получилось несколько интересных сюжетов. Первый из них — это развитие формата и тематики статей за 12 лет существования сайта. Например, достаточно показательна динамика некоторых тем. Продолжение — под катом.


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

Латентно-семантический анализ

Reading time4 min
Views97K
Как находить тексты похожие по смыслу? Какие есть алгоритмы для поиска текстов одной тематики? – Вопросы регулярно возникающие на различных программистских форумах. Сегодня я расскажу об одном из подходов, которым активно пользуются поисковые гиганты и который звучит чем-то вроде мантры для SEO aka поисковых оптимизаторов. Этот подход называет латентно-семантический анализ (LSA), он же латентно-семантическое индексирование (LSI)

Латентно-семантический анализ

Читать дальше →
Total votes 104: ↑101 and ↓3+98
Comments27

Квантовый компьютер: большая игра на повышение. Лекция в Яндексе

Reading time15 min
Views34K
Мы то и дело слышим, что не за горами эпоха активного использования квантовых вычислений, что такие системы уже скоро станут доступны специалистам, включая аналитиков данных. Но сколько осталось ждать на самом деле? Научный сотрудник Российского квантового центра Алексей Фёдоров вводит в курс дела и рассказывает, как идут дела с разработкой квантовых компьютеров.


Под катом — расшифровка и часть слайдов Алексея.

Total votes 57: ↑55 and ↓2+53
Comments11

Способы деанонимизации руководителей сообществ и приложений «Вконтакте»

Reading time4 min
Views37K
Все описанные способы были отправлены «Вконтакте» через hackerone, но «Вконтакте» решили, что эти способы не являются проблемами. Решение было принято через 6 месяцев после изменения статуса репорта на «Triaged». Я пытался переубедить, но ответа не увидел.

Многие продемонстрированные ссылки у вас работать не будут, т. к. они разные для всех.
Читать дальше →
Total votes 60: ↑53 and ↓7+46
Comments26

Многозадачность. Как справиться с призраками посторонних дел

Reading time7 min
Views34K
Автор иллюстрации: John Kenn

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

О многозадачности, а точнее о том как с ней справиться, в статье и пойдет речь.
Total votes 29: ↑27 and ↓2+25
Comments19

Что выгоднее открыть разработчику: ИП или ООО? Небольшой Чек Лист

Reading time9 min
Views61K


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


Зачем вообще разработчику создавать ООО или регистрироваться в качестве ИП?

Читать дальше →
Total votes 51: ↑44 and ↓7+37
Comments172

Веб-приложение размером с пигмея

Reading time4 min
Views8.1K
Еще недели не прошло с анонса новых методов api вконтакте. Для владельцев сообществ выкатили возможность подписывать пользователей на уведомления от сообщества, что дает право владельцам писать подписчикам неограниченно. Не за горами приложения, ака рассылки по подписчикам сообщества, со статистикой, шаблонами, отложенной рассылкой и вообще.

Бренды, блогеры и еще кто-нибудь начнут собирать базы подписчиков. В этой статье я расскажу как создать крохотное, но функциональное приложение генерирующее лендинг c кнопкой подписки на сообщения от сообщества. Ака лендинг пэйдж для посетителей с вк.

image

Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments0

Введение в GitLab CI

Reading time6 min
Views238K

Публикую перевод моей статьи из блога ГитЛаба про то как начать использовать CI. Остальные переводы гитлабовских постов можно найти в блоге компании Softmart.




Представим на секунду, что вы не знаете ничего о концепции непрерывной интеграции (Continuous Integration — CI) и для чего она нужна. Или вы всё это забыли. В любом случае, начнем с основ.


Представьте, что вы работаете над проектом, в котором вся кодовая база состоит из двух текстовых файлов. Более того, очень важно, чтобы при конкатенации этих файлов в результате всегда получалась фраза "Hello world." Если это условие не выполняется, вся команда лишается месячной зарплаты. Да, все настолько серьезно.


Hello wolrd


Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments21

5 способов быстро победить ступор программиста

Reading time6 min
Views67K
image

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

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

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

Давайте рассмотрим несколько наиболее распространенных причин кризисов программиста, и разберем, как с ними бороться.
Читать дальше →
Total votes 39: ↑27 and ↓12+15
Comments39

Подборка: Более 70 источников по машинному обучению для начинающих

Reading time5 min
Views103K


Индикатор кулачкового аналогового компьютера / Wiki

В нашем блоге мы уже рассказывали о разработке системы квантовой связи и о том, как из простых студентов готовят продвинутых программистов. Сегодня мы решили вернуться к теме машинного обучения и привести адаптированную (источник) подборку полезных материалов.
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments16

Information

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