Pull to refresh
9
0
Иванцов Михаил@darkrain

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

Send message

Как нельзя проводить олимпиаду или настройка ejudge с распределением вычислений

Reading time10 min
Reach and readers28K
В одном нецентральномотдаленном регионе нашей необъятной страны как-то раз проходил очередной региональный этап Всероссийской олимпиады школьников по информатике и программированию. До 2014 года всё было хорошо, проводили олимпиаду на старой системе, написанной в далеких 2004 годах очень одаренным программистом, на Delphi. С тех пор его никто не менял — работал, ну и ладно. В 2014 году решили попробовать ejudge. Поднимать всё с исходников не стали, решили взять готовое, образ для виртуальной машины. Всё было хорошо, все работало.

Но тут наступил 2015 год, в котором некоторые пункты проведения олимпиады немножко, совсем чуть-чуть поменяли, и нужные «человеки» об этих изменениях узнали только за 1-2 дня до начала…

Тут-то и начинается самое веселое.
Читать дальше →

Оптимизация для начинающих, или о пользе профилирования

Reading time5 min
Reach and readers18K
Попалась мне задача написать на PHP оптимальный алгоритм вставки нового значения в упорядоченный массив. Причем аргументировано доказать, что именно этот алгоритм лучший. Для этого предлагалось написать три варианта и выбрать из них лучший. Конечно же я знаю, что лучший метод поиска — бинарный, но раз сказали доказать, что он лучший, так и быть, напишу еще два. С таким настроем и уверенностью в будущем результате я и принялся кодить.

Что из этого получилось приглашаю начинающих программистов почитать, а опытных обсудить.
Читать дальше →

Логика мышления. Часть 5. Волны мозга

Reading time15 min
Reach and readers81K


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

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

Логика мышления. Часть 3. Персептрон, сверточные сети

Reading time8 min
Reach and readers132K


В первой части мы описали свойства нейронов. Во второй говорили об основных свойствах, связанных с их обучением. Уже в следующей части мы перейдем к описанию того как работает реальный мозг. Но перед этим нам надо сделать последнее усилие и воспринять еще немного теории. Сейчас это скорее всего покажется не особо интересным. Пожалуй, я и сам бы заминусовал такой учебный пост. Но вся эта «азбука» сильно поможет нам разобраться в дальнейшем.

Персептрон


В машинном обучении разделяют два основных подхода: обучение с учителем и обучение без учителя. Описанные ранее методы выделения главных компонент – это обучение без учителя. Нейронная сеть не получает никаких пояснений к тому, что подается ей на вход. Она просто выделяет те статистические закономерности, что присутствуют во входном потоке данных. В отличие от этого обучение с учителем предполагает, что для части входных образов, называемых обучающей выборкой, нам известно, какой выходной результат мы хотим получить. Соответственно, задача – так настроить нейронную сеть, чтобы уловить закономерности, которые связывают входные и выходные данные.
Читать дальше →

Логика мышления. Часть 4. Фоновая активность

Reading time8 min
Reach and readers86K


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

Вернемся к описанию работы реальных нейронов. Сигналы от одних нейронов через их аксоны поступают на входы других нейронов. В химических синапсах происходит выброс медиатора, который в зависимости от типа синапса оказывает либо активирующее, либо тормозящее воздействие на принимающий сигнал нейрон. Чувствительностью синапса, которая может меняться, определяется вклад этого синапса в общее возбуждение. Если суммарное воздействие превышает определенный порог, то происходит деполяризация мембраны и нейрон генерирует спайк. Спайк – это одиночный импульс, продолжительность и амплитуда которого не зависит от того, какая синаптическая активность его породила.
Читать дальше →

Логика мышления. Часть 6. Система проекций

Reading time9 min
Reach and readers63K


Для тех, кто только присоединился, я советую начать с первой части или хотя бы с описания используемой нами волновой модели коры. Суть волновой модели в том, что информация кодируется одновременно двумя способами. Первый способ – это паттерны вызванной активности, соответствующие обнаруженным нейронами-детекторами явлениям. Второй – волны идентификаторы, распространяющиеся от паттернов вызванной активности и несущие уникальные узоры. Уникальность узора каждой из волн позволяет на удалении от источника сигнала узнать о его активности. При таком подходе хорошо объясняется сформулированное Мак-Каллоком и Питсом несоответствие между объемом зон коры и количеством волокон в пучках, проецирующих информацию от них на другие зоны.
Читать дальше →

Код мозга и память. Загадка гиппокампа

Reading time3 min
Reach and readers48K


Совсем недавно были объявлены Нобелевские лауреаты 2014 года. Премию по физиологии или медицине разделили американец Джон О`Киф и супруги норвежцы Эдвард Мозер и Мэй-Бритт Мозер. Исследования, которые получили столь высокую оценку, касались небольшого участка мозга, называемого гиппокампом. Это название происходит от греческого ἱππόκαμπος — морской конек, именно на на него чем-то отдаленно похож этот удивительный орган.
Читать дальше →

Примеры поиска в Shodan

Reading time3 min
Reach and readers318K
Эта статья предназначена для тех, кто либо вовсе не слышал о Shodan, либо слышал, но так и не понял, как им пользоваться. Подобных материалов на русском языке я не нашел, часть информации почерпнул тут, остальное добавил из личного опыта. Я приведу примеры использования «самого страшного поисковика интернета» по имени Shodan. Сервис разработан web-девелопером Джоном Мазерли (John Matherly) и ориентирован, прежде всего, на поиск устройств подключенных к интернету.

Shodan опрашивает порты устройств и на основе полученных ответных баннеров делает выводы об устройствах и сервисах. Поисковик платный, годовая подписка обойдется в 20$, однако, попробовать его в действии можно и за так: после бесплатной регистрации доступно 50 результатов поиска. Историю создания и биографию автора найдете сами, если будет интересно, а пока перейдем к делу:
Читать дальше →

Почему вам не нужен sshd в Docker-контейнере

Reading time6 min
Reach and readers42K
Когда люди запускают своей первый Docker-контейнер, они часто спрашивают: «А как мне попасть внуть контейнера?» и ответ «в лоб» на этот вопрос, конечно: «Так запустите в нём SSH-сервер и приконнектитесь!». Цель этого топика — показать, что на самом деле вам не нужен sshd внутри вашего контейнера (ну, конечно, кроме случая, когда ваш контейнер собственно и предназначен для инкапсуляции SSH-сервера).

Запустить SSH-сервер — заманчивая идея, поскольку это даёт быстрый и простой доступ «внутрь» контейнера. Все умеют пользоваться SSH-клиентами, мы делаем это каждый день, мы знакомы с доступами по паролям и по ключам, перенаправлением портов, ну и вообще доступ по SSH — хорошо знакомая вещь, точно будет работать.

Но давайте подумаем ещё.
Читать дальше →

Используем Docker и не волнуемся о vendor-lock

Reading time8 min
Reach and readers113K
Docker в значительной мере изменил подход к настройке серверов, поддержке и доставке приложений. Разработчики начинают задумываться о том, можно ли архитектуру их приложений разделить на более мелкие компоненты, которые будут запускаться в изолированных контейнерах, что позволит достичь большего ускорения, параллелизации исполнения и надежности. Также Docker решает важную проблему снятия облачного vendor–lock и позволяет легко мигрировать настроенные приложения между собственными серверами и облаками. Все что требуется от сервера, чтобы запустить Docker – более-менее современная ОС Linux с ядром не ниже 3.8.

В этой статье мы расскажем о том, как просто использовать Docker и какие преимущества он даст сисадмину и разработчику. Забудьте про проблемы с зависимостями, запускайте на одном сервере софт, требующий разные дистрибутивы Linux, не бойтесь «загрязнить» систему неправильными действиями. И делитесь наработками с сообществом. Docker решает множество актуальных проблем и помогает сделать IaaS гораздо более похожими на PaaS, без vendor-lock.

InfoboxCloud Docker

На облачных VPS от Infobox мы сделали готовый образ Ubuntu 14.04 с Docker. Получите бесплатную пробную версию (кнопка «Тестировать 10 дней») и начните использовать Docker прямо сейчас! Не забудьте поставить галочку «Разрешить управление ядром ОС» при создании сервера, это требуется для работы Docker. В самое ближайшее время у нас появятся и другие ОС с Docker внутри.

Под катом вы узнаете, что же в Docker настолько воодушевило автора статьи, что за пару дней он перевел свои облачные сервера, автоматизирующие части процесса разработки, в контейнеры Docker.
Читать дальше →

10 причин проваленного питча

Reading time4 min
Reach and readers12K
image

Руководитель проекта QIWI Universe Лёша Баринский рассказал
про основные ошибки, которые допускают молодые предприниматели,
представляя свой проект инвестору.

Читать дальше →

Приключения разработчика в мире маркетинга

Reading time5 min
Reach and readers8.9K
Примечание от переводчика:

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

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

Применение машинного обучения в трейдинге. Часть 2

Reading time6 min
Reach and readers21K
Примечание переводчика. Продолжаю перевод серии статей по применению машинного обучения в трейдинге. Предыдущая часть здесь. О любых ошибках и исправлениях пишите в личку.

Как использовать дерево решений для торговли акциями Bank of America.




Предположим вам нравится использовать разнообразные технические индикаторы и вы хотите создать стратегию, которая ищет конкретные высоко-вероятностные возможности на рынке. Что если значение RSI находящееся выше 85 и, одновременно, линия MACD ниже 20, означают хорошую возможность открыть короткую позицию? Вы можете потратить дни/недели/месяцы в попытках вручную просчитать все комбинации ваших индикаторов, а можете использовать дерево решений – мощный и легко интерпретируемый алгоритм.

Для начала давайте разберёмся, как работают дерева решений, затем рассмотрим их использование на примере построения стратегии торговли акциями Bank of America.
Читать дальше →

Пара полезных команд, которые могут пригодиться при DDoS и не только

Reading time3 min
Reach and readers84K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →

Увеличение продаж сайта: сколько должен длиться бесплатный пробный период, чтобы клиент заплатил?

Reading time6 min
Reach and readers22K
Допустим, есть компания, которая в качестве модели монетизации своего облачного сервиса выбрала платные тарифы и бесплатный пробный период для каждого из них — Free Trial. Но как же выбрать его продолжительность? От чего отталкиваться при установке сроков тестового периода? Рекомендуем статью Линкольна Мёрфи, где он на примере реальных клиентов рассказывает, о чем стоит задуматься при выборе продолжительности пробного периода, чем опасен слишком короткий пробный период, и почему не стоит относить тестирование сервиса к циклу продаж. Статья написана от первого лица. Каким же должен быть Free Trial?
Читать дальше →

За что ITшнику любить некоторых маркетологов или руководство по маркетингу для IТ-стартапа

Reading time12 min
Reach and readers52K
«Я рекламист: да-да, это именно я загаживаю окружающую среду. Я — тот самый тип, что продает вам разное дерьмо. Тот, что заставляет вас мечтать о вещах, которых у вас никогда не будет. О вечно лазурных небесах, о неизменно соблазнительных красотках, об идеальном счастье, подкрашенном в PhotoShop'e… Сделать так, чтобы у вас постоянно слюнки текли, — вот она, моя наивысшая цель. В моей профессии никто не желает вам счастья. Ведь счастливые люди — не потребляют», — отрывок из романа «99 франков» Фредерика Бегбедера.



Да, из-за таких маркетологов как Октав, сложно произносить слова «я маркетолог» с гордостью. На нашем постсовестком пространстве маркетинг сплошь оброс негативными стереотипами… Кто-то сразу морщась вспоминает о сетевом маркетинге, кто-то о задалбывающей непорядочной рекламе и уловках.

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

Вот основные мысли:
  • Маркетинг — краеугольный камень для бизнеса и стратапа, в частности
  • Маркетинг — это не совсем то, что вы думаете
  • Можно заниматься маркетингом и не быть сволочью.


А еще, эта статья — наш ответ Чемберлену, то есть Хабравчанину, написавшему "За что конкретно я ненавижу некоторых отдельно взятых маркетологов…".
Читать дальше →

Awesome WM и Dbus

Reading time11 min
Reach and readers13K
Я думаю ни для кого не будет секретом, что у Awesome есть «узкое место», если мы запускаем внешний скрипт, который например должен считать данные из файла, или интернета и вернуть результат в виджет или саму систему, то мы периодически можем наблюдать явлениие «фриза», т.е. когда система перестает реагировать на нажатия клавиш и мыши до получения результата обработки (правда активный клиент при этом продолжает работать). Чаще всего это происходит при использовании io.popen или awful.util.pread
Читать дальше →

BaasCMS – бэкенд не нужен

Reading time4 min
Reach and readers9K


BaasCMS — это JavaScript CMS, использующая в качестве бэкенда популярных провайдеров BaaS. На данный момент поддерживается только Parse.com.

Исходный код BaasCMS доступен на GitHub.

BaasCMS Demo на GitHub Pages
Тоже самое BaasCMS Demo на Tumblr

Можно посмотреть Админ-панель для этого демо (изменения/добавление запрещены). В соответвующую форму на главной странице админки нужно вставить следующие ключи:

  • Application ID: nM7P7NnFA95CK1WrqWOf9wa3mskctaTOdk9vYflj
  • Javascript Key: 0zHfA9FG8L1xR699qmFXjxkZ1pDxgml0MWZMpqJG

Читать дальше →

mysqlnd — проводник между PHP и MySQL

Reading time16 min
Reach and readers68K


Расширение mysqlnd появилось ещё в PHP 5.3, но до сих пор малоизвестно среди разработчиков. Однако оно незаменимо, если ваша система основана на MySQL. Если вы хотите узнать, почему это расширение так важно, что оно собой представляет, как его использовать и какие оно даёт преимущества — читайте статью.
Читать дальше →

Руководство по установке и настройке OpenVPN

Reading time34 min
Reach and readers1.8M



Когда у нас появились сотрудники, работающие удаленно, пришлось думать над тем, как обеспечить им защищенный доступ к нашим хостинговым серверам, виртуальным выделенным серверам разработчиков Virtual Dedicated Server (VDS), сайтам обеспечения и сопровождения разработки и к другим ресурсам.



По соображениям безопасности доступ к этим ресурсам ограничен при помощи межсетевого экрана (файервола) по портам и адресам IP. Ежедневную перенастройку доступа при изменении динамических IP сотрудников едва ли можно назвать разумным решением.



Выход нашелся довольно быстро — это использование технологии виртуальных частных сетей Virtual Private Network (VPN) и ее свободной реализации OpenVPN. Эта реализация доступна практически для всех распространенных платформ, в том числе для планшетов и смартфонов. История развития OpenVPN насчитывает уже 12 лет (компания OpenVPN Technologies, Inc. была создана Francis Dinha и James Yona в 2002 году), так что это надежное и проверенное временем решение.



В нашей компании сеть VPN позволила предоставить защищенный доступ сотрудников к VDS, играющей роль сервера OpenVPN. И уже для фиксированного IP этого сервера был разрешен доступ к другим ресурсам компании. Попутно на сервере OpenVPN был установлен прокси Squid, что решило все проблемы доступа сотрудников с динамическими IP к защищенным ресурсам компании.



Теме OpenVPN посвящены многочисленные статьи и сообщения на форумах. Тем не менее, нужную информацию мне пришлось собирать по частям из разных мест. Попутно приходилось разбираться с многочисленными терминами и технологиями. В качестве серверов OpenVPN были использованы VDS на базе FreeBSD и Debian Linux, в качестве клиентов — рабочие станции FreeBSD, Debian Linux, Ubuntu и Microsoft Windows.



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


Читать дальше →

Information

Rating
Does not participate
Location
Кустанай, Кустанайская обл., Казахстан
Date of birth
Registered
Activity