Обновить
20
0
Антон Аникин@ColorPrint

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

Отправить сообщение

Ключ от продуктов JetBrains всем учащимся на Stepic.org

Время на прочтение1 мин
Охват и читатели67K
Этой весной JetBrains дарит ключи от своих продуктов всем активным учащимся массовых открытых онлайн-курсов по программированию на Stepic.org!




Мы в Stepic.org, конечно, считаем, что учиться классно в любое время года, но весной'16 это делать будет особенно приятно!
Читать дальше →

Yet another инструкция по получению ssl-сертификата Let's Encrypt

Время на прочтение3 мин
Охват и читатели32K
Тема получения сертификата Let's Encrypt уже подымалась на хабре (см. тут), да и в сети можно найти много рецептов разного качества.

Читал я и ужасался: одни пишут, что то нужно nginx или apache остановить («на пару минуточек всего»), другие предлагают файлы подкладывать в папку веб-сервера (в соседней ssh-сессии), третьи — о том, как важно соблюсти правильный Content-type для файлов проверки домена…

Давайте попробуем обойтись без всего этого: чтобы не было мучительно больно ни на стадии установки, ни очередном продлении — даже если придётся обновлять сразу много доменов. Собственно, вот и вся цель моей небольшой заметки: это не пошаговый степ-бай-степ, не длинная теоретическая статья о том, как функционирует Let's Encrypt — просто описывается правильный на мой взгляд подход, который будет правилен для конфигурации любой сложности.

Вся суть в двух словах: пусть Let's Encrypt запустит веб-сервер на 9999 порту, а мы допишем конфиг nginx, чтобы он пробросил запрос на этот бекенд. Кому интересны детали — прошу под кат
Читать дальше →

Машина Тьюринга на шаблонах

Время на прочтение9 мин
Охват и читатели23K
Каждый интересующийся шаблонами в С++ скорее всего слышал об их Тьюринг-полноте и связанных с этим шутках про «we put a language in your language, so you can program while you program». В этом посте я расскажу как с помощью шаблонов и константных выражений построить настоящую машину Тьюринга, вычисляющую результат своей работы во время компиляции, на которой можно будет запускать уже существующие программы. Например усердный бобер с 4 состояниями и 2 символами выглядит как-то так:
ADD_STATE(A);
ADD_STATE(B);
ADD_STATE(C);
ADD_STATE(D);

ADD_RULE(A, Blank, 1, Right, B);
ADD_RULE(A, 1, 1, Left, B);

ADD_RULE(B, Blank, 1, Left, A);
ADD_RULE(B, 1, Blank, Left, C);

ADD_RULE(C, Blank, 1, Right, Stop);
ADD_RULE(C, 1, 1, Left, D);

ADD_RULE(D, Blank, 1, Right, D);
ADD_RULE(D, 1, Blank, Right, A);

using tape = Tape<Blank>;
using machine = Machine<A, 0, tape>;
using result = Run<machine>::type;

int main() {
    print(result());
    return 0;
}

На выходе, как и положено, получаем
1 _ 1 1 1 1 1 1 1 1 1 1 1 1 

Тут можно посмотреть на код: https://ideone.com/MvBU3Z. Желающие узнать как все устроено внутри, добро пожаловать под кат.
Читать дальше →

Как облачные технологии влияют на работу дата-центров

Время на прочтение5 мин
Охват и читатели7.5K


Когда речь заходит о изменениях в области облачных вычислений и дата-центров, то тренды говорят сами за себя.

Мы в 1cloud работаем над собственным облачным сервисом и просто не можем обойти стороной происходящие перемены. Объём использования облаков продолжает расти – по данным Gartner, в 2016 году на облачные ресурсы придется значительная часть трат всех ИТ-бюджетов.

Более того, как отмечает Cisco, к 2018 году 78% всех рабочих нагрузок будут обрабатываться облачными дата-центрами. Также к 2018 году 59% общей облачной нагрузки придется на SaaS. В наше время невозможно представить работу крупного банка или телекоммуникационного оператора без обработки огромного объема данных, которые нужно где-то хранить, как-то обрабатывать и передавать. Все это ведет к значительным и стремительным изменениям в работе дата-центров.

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

А нужно ли знать программисту алгоритмы?

Время на прочтение3 мин
Охват и читатели97K
Не встречали еще разработчика, который вместо стандартной в скриптовом языке функции деления строки по регулярке — пишет C-подобный код с конечным автоматом, который вводит неокрепшие умы в трепет?

И так ужасно ли то, что ты не знаешь в тонкостях работу красно-черных деревьев или путаешь линейный дискриминантный анализ с вторым законом Ньютона?
Читать дальше →

Релиз ownCloud 9.0 — opensource альтернативы Dropbox и другим облачным хранилищам

Время на прочтение4 мин
Охват и читатели53K


Вышел новый релиз персональной облачной платформы ownCloud 9.0.

Я уже писал про ownCloud раньше. Я очень люблю этот комбайн из хранилища данных с синхронизацией, версионированием, галереей, календарем, хранением контактов и прочими плюшками. Серверная часть написана на PHP, поддерживаются протоколы WebDAV, CardDAV, CalDAV. Клиентский софт есть под Linux, OS-X, Windows, мобильных платформы и через web интерфейс. В теории может работать с петабайтными объемами данных.

Сервис может работать в федеративном режиме — есть возможность объединять и линковать независимые ownCloud-инстансы, делиться каталогами и другими данными. В качестве файловой системы можно использовать GPFS, GlusterFS и другие распределенные варианты. Хорошо допилена интеграция в инфраструктуру Amazon.

Changelog:
  1. Возможность добавлять комментарии и теги к файлам
  2. Новая система уведомлений
  3. (Федеративный режим) Автодополнение имен пользователей
  4. (Федеративный режим) Списки доверенных серверов
  5. Код для дополненией и основных файлов наконец подписан
  6. Добавили новую систему обновления
  7. Улучшения производительности при совместном доступе к каталогам
  8. Новое API для External Storage
  9. Различные улучшения системы безопасности

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

Книга «Алгоритмы: разработка и применение. Классика Computer Science»

Время на прочтение11 мин
Охват и читатели43K
Привет, Хаброжители! У нас вышла новинка:

image Впервые на русском языке выходит одна из самых авторитетных книг по разработке и использованию алгоритмов. Алгоритмы — это основа программирования, определяющая, каким образом программное обеспечение будет использовать структуры данных.

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

Алгоритмический анализ состоит из двух фундаментальных компонентов: выделения математи-чески чистого ядра задачи и выявления методов проектирования подходящего алгоритма на осно-вании структуры задачи. И чем лучше аналитик владеет полным арсеналом возможных методов проектирования, тем быст-рее он начинает распознавать «чистые» формулировки, лежащие в основе запутанных задач реального мира.
Читать дальше →

Sci-Hub помогает научным «пиратам» скачивать бесплатно по 200000 научных статей в день

Время на прочтение2 мин
Охват и читатели40K


Последние несколько месяцев ресурс Sci-Hub стал центром академических дебатов о копирайте в науке. Несмотря на то, что с ресурсом пытаются судиться крупнейшие издательства научной литературы, сайт продолжает работать, и сейчас его популярность максимальна — никогда прежде у Sci-Hub не было столько посетителей. В день ресурс помогает скачивать около 200 тысяч научных статей.

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

Протокол Handlersocket в деталях

Время на прочтение9 мин
Охват и читатели15K
Всем здрасьте. Решил опубликовать русскую версию своей же статьи «HandlerSocket protocol explained», опубликованной по адресу http://wk-photo.ru/en/events/view/handlersocket-protocol-explained/.

image

Итак, вы шли-шли и пришли к HandlerSocket. Чистый мёд. Это дьявольски быстрый вуду. А используемый протокол реально простой, как две копейки. Ну и если уж начистоту, кому важны детали протокола, если все равно будет использоваться какая-то библиотека, которая обо всем позаботится? Если, несмотря ни на что, вы все-таки хотите знать, что за неонка там внутре, можете нагуглить эту страницу. Несколько часов — и вы эксперт. Ну или вы хотите все и за 15 минут. Тогда добро поржаловать под кат!

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

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Время на прочтение9 мин
Охват и читатели87K
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →

Математика на пальцах: методы наименьших квадратов

Время на прочтение8 мин
Охват и читатели247K

Введение




Я математик-программист. Самый большой скачок в своей карьере я совершил, когда научился говорить:«Я ничего не понимаю!» Сейчас мне не стыдно сказать светилу науки, что мне читает лекцию, что я не понимаю, о чём оно, светило, мне говорит. И это очень сложно. Да, признаться в своём неведении сложно и стыдно. Кому понравится признаваться в том, что он не знает азов чего-то-там. В силу своей профессии я должен присутствовать на большом количестве презентаций и лекций, где, признаюсь, в подавляющем большинстве случаев мне хочется спать, потому что я ничего не понимаю. А не понимаю я потому, что огромная проблема текущей ситуации в науке кроется в математике. Она предполагает, что все слушатели знакомы с абсолютно всеми областями математики (что абсурдно). Признаться в том, что вы не знаете, что такое производная (о том, что это — чуть позже) — стыдно.

Но я научился говорить, что я не знаю, что такое умножение. Да, я не знаю, что такое подалгебра над алгеброй Ли. Да, я не знаю, зачем нужны в жизни квадратные уравнения. К слову, если вы уверены, что вы знаете, то нам есть над чем поговорить! Математика — это серия фокусов. Математики стараются запутать и запугать публику; там, где нет замешательства, нет репутации, нет авторитета. Да, это престижно говорить как можно более абстрактным языком, что есть по себе полная чушь.
Математика для программистов!

Фонд Бортника – «легкие деньги» во благо или во вред

Время на прочтение5 мин
Охват и читатели61K
Каждый стартап выбирает себе путь развития: личные вложения, инвесторы или фонды. В каждом есть плюсы и минусы. Наша компания получает уже третий грант. И хочется поделиться личным опытом, насколько это сложно и что с этим делать.
Началась история с идеи проекта «Онлайн видеоредактор». Собралась команда из группы гиков, девелоперов и одного толкового менеджера. Денег на проект ни у кого не было. Вариант кредитования нас не устраивал, потому что ни у кого тогда не было гарантий, что проект взлетит, да и под залог оставить было нечего. Были еще варианты: инвесторы и фонды. И до первых и до вторых достучаться «с нуля» — задача не из простых. Мы пробовали оба варианта. Все же рабочим для нас оказался вариант с фондом.

В 2009 году Фонд содействия развитию малых форм предприятий в научно-технической сфере, также называемый фондом Бортника в честь его основателя, Ивана Михайловича Бортника, проводил конкурс совместно с Microsoft. Назывался он Microsoft Business Start. Мы подали заявку. Для группы разработчиков и одного менеджера, у которого на тот момент хоть и был кое-какой опыт управления компанией, заполнить заявку – отдельная эпопея. Но мы прошли отборочный тур, были допущены к очной защите, но на этом этапе проект «зарезали».
Читать дальше →

Специализация по машинному обучению на Coursera от Физтеха и Яндекса

Время на прочтение7 мин
Охват и читатели75K
В начале года на Coursera открылся курс по машинному обучению от Яндекса и Вышки, о котором мы уже рассказывали. К моменту старта на него записались 14000 человек. Через час после открытия пользователи создали канал в Slack, где стали обсуждать программу. Сейчас слушателей уже 21000.



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

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

Авторы курса — сотрудники Яндекса, специалисты Yandex Data Factory, которые преподают на Физтехе. Константин Воронцов тоже среди них. Мы попросили некоторых из коллег рассказать, кому может быть полезна специализация и для чего она нужна. Также под катом — программа всех курсов.
Читать дальше →

Памятка пользователям ssh

Время на прочтение13 мин
Охват и читатели1.6M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →

ssh: Вытаскиваем для себя чужой порт из-за NAT

Время на прочтение2 мин
Охват и читатели41K

Что делает ssh -R © erik, unix.stackexchange.com

Подключиться к сервису за NAT, имея человека рядом с сервисом, вооруженного ssh, и белый ip у себя.

Опция -R


В ssh есть режим, в котором он открывает порт на сервере и, через туннель от сервера до клиента, перенаправляет соединения в указанный адрес в сети клиента.

То есть нам нужно поднять sshd, попросить человека выполнить

$ ssh -N -R server_port:target:target_port sshd_server

И у нас на машине с sshd откроется порт server_port, который будет туннелироваться в target:target_port в сети этого человека.

Как в sshd_config ограничить права

... а также запустить sshd от пользователя

Кому и зачем все-таки нужен Go?

Время на прочтение4 мин
Охват и читатели185K
image
Здарова! Короче, последнее время на хабре было много срачей вокруг Go: хороший-плохой, нужен-ненужен, много сравнивали с питоном, много сравнивали с растом, divan0 даже додумался перевести высер «Go vs Haskell» ну и в таком ключе. У меня сложилось ощущение, что из-за хайпа и агрессивного маркетинга языка некоторыми Иванами Данилюками очень мало кто понял, кому и зачем вообще Go может пригодиться, зачем его делали и стоит ли вообще его учить. Я тоже долгое время участвовал в этих срачах, принимая посменно сторону «фанов» языка и сторону оппозиции, но в конце-концов допер, в чем фокус. Сегодня немного потупил у дивана в посте и решил написать вот эту заметочку.

Давайте, пацаны, проходим в пост.
Читать дальше →

Синхронизация файлов между серверами в кластере

Время на прочтение4 мин
Охват и читатели13K
Хостинг приложений с высокой нагрузкой и постоянно растущим трафиком требует дополнительной мощи и настроек для обработки большого потока запросов. Решением в данном случае может послужить добавление серверов в окружение для поддержки полноценного функционирования приложения.

В результате вы сталкиваетесь с другой трудностью — более сложная установка по сравнению с использованием одного сервера. Основной проблемой является то, что такие приложения как WordPress, Drupal, Joomla, Liferay, Redmine и т.п. по умолчанию сохраняют все загружаемые файлы только на одном сервере и не синхронизируют их между серверами в кластере. Другими словами, только сервер, который обрабатывал запрос на загрузку файла, будет содержать новый контент.

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

синхронизация файлов
Читать дальше →

Школа Данных «Билайн», каникулы закончились

Время на прочтение7 мин
Охват и читатели6.7K


Привет, Хабр!

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

В прошлом посте мы обещали вам более детально рассказать, чему мы учим на наших занятиях по анализу текстов. В данном посте мы данное обещание исполняем.

Кстати, если вы уже активно занимаетесь анализом и обработкой текстов и хотите попробовать себя, рекомендуем поиграться с задачей The Allen AI Science Challenge на Kaggle=) и заодно поучаствовать в DeepHack, хакатоне по анализу текстов и построению ответных систем.

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

Deep Learning, NLP, and Representations

Время на прочтение13 мин
Охват и читатели63K
Предлагаю читателям «Хабрахабра» перевод поста «Deep Learning, NLP, and Representations» крутого Кристофера Олаха. Иллюстрации оттуда же.

В последние годы методы, использующие глубокое обучение нейросетей (deep neural networks), заняли ведущее положение в распознавании образов. Благодаря им планка для качества методов компьютерного зрения значительно поднялась. В ту же сторону движется и распознавание речи.

Результаты результатами, но почему они так круто решают задачи?



В посте освещено несколько впечатляющих результатов применения глубоких нейронных сетей в обработке естественного языка (Natural Language Processing; NLP). Таким образом я надеюсь доходчиво изложить один из ответов на вопрос, почему глубокие нейросети работают.
Вглубь по кроличьей норе

Хакатон и зимняя научная школа по глубокому обучению и вопросно-ответным системам

Время на прочтение3 мин
Охват и читатели9.6K
Сегодня машины без труда “связывают два слова” (1, 2), но пока не умеют гарантированно вести диалог на общие темы. Однако, уже завтра вы будете просить их правильно составить резюме и выбрать для ваших детей лучшую секцию по шахматам недалеко от дома. Хотите разобраться подробней, как в этом направлении работают ученые из Facebook, Google и др? Приходите их послушать.

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

Информация

В рейтинге
6 497-й
Откуда
Волгоград, Волгоградская обл., Россия
Дата рождения
Зарегистрирован
Активность