Pull to refresh
490
0
Umputun @umputun

решаю

Send message

Нейросетевой калькулятор для сложения и вычитания не очень больших чисел

Reading time5 min
Views24K

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


Работа уже опубликована на arXiv и сегодня будет представлена на конференции SIGBOVIK в формате аудиозаписи. В этом посте мы поделимся с вами результатами нашего эксперимента. Мотивация и детали реализации также под катом.


Читать дальше →
Total votes 50: ↑42 and ↓8+55
Comments47

Telegram бот для изучения языков

Reading time5 min
Views35K

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

Пришлось самому написать небольшой бот для Телеграма, который можно использовать для изучения практически любого языка.
Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments53

Как разделить окружение для сборки и запуска сервиса в Docker сегодня и как это cделать завтра

Reading time4 min
Views35K

image


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


Как это было


В начале становления Docker как основного инструмента изоляции процессов, многие использовали его аналогично использованию виртуальных машин. Подход был максимально прост: устанавливаем все необходимые зависимости в образ (Docker Image), там же билдим всё, что должно билдиться а что не должно двигаем и билдим, получаем артефакт сборки и запекаем всё это в итоговый образ.

Читать дальше →
Total votes 51: ↑50 and ↓1+49
Comments34

Docker и определение доступных ресурсов внутри контейнера

Reading time2 min
Views26K

Как объяснить контейнеру docker-а сколько у него есть ресурсов?


К написанию этой небольшой заметки меня подтолкнула статья-перевод Java и Docker: это должен знать каждый и скудный на результаты поиск информации по теме. Я давно использую LXC, который тоже ограничивает ресурсы контейнеров средствами cgroup, и там эта проблема уже решена.


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

Микросервисы: опыт использования в нагруженном проекте

Reading time17 min
Views68K


На конференции HighLoad++ 2016 руководитель разработки «М-Тех» Вадим Мадисон рассказал о росте от системы, для которой сотня микросервисов казалась огромным числом, до нагруженного проекта, где пара тысяч микросервисов — обыденность.

Тема моего доклада — то, как мы запускали в продакшн микросервисы на достаточно нагруженном проекте. Это некий агрегированный опыт, но поскольку я работаю в компании «M-Tех», то давайте я пару слов расскажу о том, кто мы.

Если коротко, то мы занимаемся видеоотдачей — отдаём видео в реальном времени. Мы являемся видеоплатформой для «НТВ-Плюс» и «Матч ТВ». Это 300 тысяч одновременных пользователей, которые прибегают за 5 минут. Это 300 терабайт контента, который мы отдаем в час. Это такая интересная задача. Как это всё обслужить?

Про что сама эта история? Это про то, как мы росли, как проект развивался, как происходило какое-то переосмысление каких-то его частей, какого-то взаимодействия. Так или иначе, это про масштабирование проекта, потому что это всё — ради того, чтобы выдержать ещё больше нагрузки, предоставить клиентам ещё больше функционала и при этом не упасть, не потерять ключевых характеристик. В общем, чтобы клиент остался доволен. Ну и немного про то, какой путь мы прошли. С чего мы начинали.
Читать дальше →
Total votes 78: ↑77 and ↓1+76
Comments65

Вышел GitLab 8.15

Reading time8 min
Views15K

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



В GitLab 8.15 появилась фича Auto Deploy – автоматизированная настройка развертывания и приложений для ревью (Review Apps). Для проекта на Ruby on Rails такая настройка займёт меньше минуты. Посмотрите, как это работает, в видео на 1:42.


Вдобавок, доступ к вашим средам (environments) стал быстрее и проще: через терминал непосредственно в GitLab (там же на 5:18)


Мы хотим дать каждому возможность использовать всю мощь контейнеров (containers), непрерывной интеграции и развертывания (continuous integration and deployment, сокращенно CD/CI), приложений для ревью (review apps) и планировщиков контейнеров (container schedulers). В GitLab 8.15 мы взяли на себя всю сложную работу по настройке, и вся она происходит совершенно прозрачно. В демонстрационном видео мы настраиваем и разворачиваем Ruby-приложение с review apps, несколькими средами и чатопсом (chatops, управление инфраструктурой через интеграцию с чатом) на кластер Kubernetes примерно за 12 минут. Без GitLab такая задача обычно занимает дни, если не недели.


Для большинства из нас декабрь — месяц праздников и подарков. GitLab тоже получил в подарок много новых фич.


Total votes 29: ↑28 and ↓1+27
Comments13

Как работает Git

Reading time19 min
Views149K
В этом эссе описана схема работы Git. Предполагается, что вы знакомы с Git достаточно, чтобы использовать его для контроля версий своих проектов.

Эссе концентрируется на структуре графа, на которой основан Git, и на том, как свойства этого графа определяют поведение Git. Изучая основы, вы строите своё представление на достоверной информации, а не на гипотезах, полученных из экспериментов с API. Правильная модель позволит вам лучше понять, что сделал Git, что он делает и что он собирается сделать.

Текст разбит на серии команд, работающих с единым проектом. Иногда встречаются наблюдения по поводу структуры данных графа, лежащего в основе Git. Наблюдения иллюстрируют свойство графа и поведение, основанное на нём.

После прочтения для ещё более глубокого погружения можно обратиться к обильно комментируемому исходному коду моей реализации Git на JavaScript.
Читать дальше →
Total votes 110: ↑99 and ↓11+88
Comments38

Опыт использования AWS ECS в нашей инфраструктуре

Reading time4 min
Views13K
image

В данной статье я бы хотел поделиться нашим опытом использования AWS ECS в инфраструктуре, рассказать о плюсах и минусах этого продукта и о том, как мы решали проблемы с этим связанные. Начнём с определения:
Amazon EC2 Container Service – это высокопроизводительный сервис управления контейнерами с высокими возможностями масштабирования.

По сути ECS это попытка компании Amazon влезть в рынок управления контейнеров, где сейчас существуют Kubernetes, Mesos/Marathon, Docker Swarm и другие. Однако, в отличии от них Amazon предоставляет сервис с API, таким образом наиболее близкий аналог это Google Container Engine (aka kubernetes-as-a-service). Стоит отметить, что сам ECS бесплатен, а платите вы только за EC2 инстансы.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments16

Интегрируем оплату через Paypal в web-приложение

Reading time21 min
Views74K
В данной статье рассмотрена интеграция разовых платежей, а также оплаты по подписке с помощью Paypal в веб-приложение. Примеры реализованы на PHP, но, в принципе, без особых проблем то же самое можно сделать с помощью других технологий. Данный метод выбран как компромисс между простотой и гибкостью. Это попытка написать руководство, которое поможет быстро разобраться в теме и интегрировать оплату через Paypal в свой проект.

Статья ориентирована в основном на тех, кто раньше с этой системой не работал. Знатоки Paypal вряд ли найдут здесь для себя что-то новое. Но, возможно, они укажут на недостатки данного метода или посоветуют, как можно было бы по-другому это реализовать.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments29

Экстремальная сестра Земли. Прошлое и будущее «Утренней Звезды»

Reading time10 min
Views162K


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

Ниже под катом мы постараемся разобраться какие космические и геологические процессы предопределили столь большую разницу между Венерой и ее сестрой Землей. А так же, какие действия человечества в будущем могут вернуть «утренней звезде» статус тропического рая.
Читать дальше →
Total votes 151: ↑147 and ↓4+143
Comments87

Коллекции иконок? Легко! Тысячи иконок в сетах.

Reading time2 min
Views39K
В продолжении поста "Ресурсы по поиску качественных иконок" представляю свою коллекцию сайтов, на которых вы найдёте очень(!) много качественных наборов иконок. Все сайты проверены руками, следовательно открываются и скачиваются легко.
Читать дальше →
Total votes 156: ↑134 and ↓22+112
Comments36

Макинтош без мышки

Reading time3 min
Views17K
Статья будет больше интересна маководам, особенно начинающим. Надеюсь, что кому-нибудь пригодится. Будет ещё и вторая часть про ввод текста, если эта понравится.

Мышь компьютерная — такой удобный девайс для тырканья в разные элементы интерфейса, но тыркать в них можно и без помощи мыши. Кстати, иногда это гораздо удобнее, чем перемещать руку с клавиатуры на мышь и обратно. Достаточно запомнить нужные комбинации клавиш и научить себя их использовать.
Попробуйте, и будет вам щасте
Total votes 89: ↑75 and ↓14+61
Comments61

Первая помощь при офисном стрессе

Reading time1 min
Views1K
Некоторым повезло работать дома. Или в собственном кабинете.

Другим повезло меньше и приходится сидеть в кубике или огромной шумной комнате. Неудобства рождают стресс. Желание слегка придушить коллег. Налить им кофе в клавиатуру. Или сделать еще что-то гадкое.

Трудотерапия спасет мир! Самый эффективный выход — трудотерапия. Но в офисе обычно нет возможности взять лопату и вскопать грядку. И попытка подвигать мебель для снятия стресса может быть понята очень неправильно. Поэтому занятие должно быть тихим. Добрым. Не требовать сложного инструмента.

К счастью, нашлись люди, которые нашли решение проблемы. Нам потребуются вещи, которые есть в любом офисе: принтер (лучше, если он будет цветным), бумага, ножницы и клей. Взяв выкройки (в PDF), которые лежат на замечательном сайте readymech, вы печатаете их, вырезаете и после склеивания получаете двойную пользу. С однй стороны, в руках у вас чудесная игрушка, которую, в зависимости от качества исполнения, можно подарить любимому начальнику или охраннику, который вам нахамил на прошлой неделе. С другой стороны — стресса как ни бывало.
Total votes 40: ↑38 and ↓2+36
Comments29

Израильтяне совершают компьютерную революцию

Reading time2 min
Views697
Его уже назвали «священным Граалем» компьютерной технологии. Речь идет о программном обеспечении, которое позволит человеку общаться с компьютером «нормальным языком», точно так же, как люди общаются друг с другом.

Специалисты-компьютерщики во всем мире уже более десяти лет бьются над ускользающей целью, но пока безрезультатно. Однако на днях основанная в Иерусалиме компания Linguistic Agents сообщила о том, что ее специалистам удалось создать прикладную программу, которая позволит компьютерам понимать человеческую речь. Стоит ли говорить, что это приведет к настоящей революции в компьютерном мире.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments16

Работа для программиста в США: 5 простых шагов

Reading time5 min
Views291K
image Статья про то, что делать тем, кто хочет переехать работать в США. Я предполагаю инженерные позиции, на которые проще всего получить визы, но, возможно, статья окажется полезна и другим специалистам.

Мой опыт несколько отличается от нижеописанного (я попала на работу в США после стажировки). Но за 4 года в США пообщалась с людьми, которые попали сюда разными путями и набрала кое-какой опыт. Так что если бы я очень хотела найти работу в США сегодня, то я бы действовала примерно так, как описано ниже.

Заранее извиняюсь, если мой тон кому-то покажется наставническим — я не имею амбиций учить других жизни, просто иногда у меня получается такой стиль.
Читать дальше →
Total votes 166: ↑152 and ↓14+138
Comments138

Rust: как код может быть одновременно быстрым и безопасным. Рассказ Степана Кольцова в Яндексе

Reading time2 min
Views54K
Привет. Меня зовут Степан Кольцов. Недавно я выступал на Java Party в киевском офисе Яндекса с докладом про язык Rust, который несёт в себе очень много для будущего программирования. Некоторые коллеги утверждают, что я всегда говорю про Rust, когда у меня есть такая возможность. Сегодня я хочу поделиться этим рассказом с вами и объяснить, почему мне это кажется важным.



Для начала пара слов о том, что такое Rust. Последние 15 лет между разработчиками на Java и на C++ ведётся спор о том, какой язык программирования хуже — Java или C++. Программы на C++ глючат, падают, и в них утекает память. Программы на Java тормозят и требуют слишком много памяти.

Rust — новый современный язык программирования, разрабатываемый компанией Mozilla — решает проблемы Java и C++: программы, написанные на Rust, одновременно быстрые и безопасные. Rust является таким же низкоуровневым (в смысле close-to-metal) языком программирования, как и C++, однако в язык встроены конструкции, позволяющие на этапе компиляции доказывать, что в программе не случатся ошибки работы с памятью, как то обращение после использования, двойное удаление, использование неинициализированной памяти и т.п. В Rust для этого используется механизм borrowed pointers. Большая часть моего рассказа была посвящена описанию этого механизма.
Читать дальше →
Total votes 114: ↑109 and ↓5+104
Comments128

MySQL Performance real life Tips and Tricks. To be continued.

Reading time6 min
Views8K
По заявкам трудящихся решил написать еще одну статью, посвященную оптимизации запросов в MySQL.

В прошлой статье habrahabr.ru/blogs/mysql/38907 рассматривались вопросы оптимизации LIMIT, GROUP BY, COUNT.

В данной статье я немного вернусь к вышеописанному и опишу пару примеров, с которыми столкнулся на проекте недавно, после этого приведу еще пару небольших примеров относительно того что такое хорошо и что такое плохо в MySQL.
Читать дальше →
Total votes 84: ↑80 and ↓4+76
Comments65

Триггеры в MySQL

Reading time2 min
Views296K
Триггер — это хранимая процедура, которая не вызывается непосредственно, а исполняется при наступлении определенного события ( вставка, удаление, обновление строки ).
Поддержка триггеров в MySQL началась с версии 5.0.2
Читать дальше →
Total votes 54: ↑50 and ↓4+46
Comments49
1

Information

Rating
Does not participate
Location
США
Date of birth
Registered
Activity