Pull to refresh
27
0
Send message

34 open source библиотеки Python (2019)

Reading time 2 min
Views 60K
image

Мы просмотрели и сравнили 10 000 open source библиотек для Python и выбрали 34 самые полезные.

image

Мы сгруппировали эти библиотеки в 8 категорий.
Читать дальше →
Total votes 42: ↑32 and ↓10 +22
Comments 22

10 книг для понимания устройства фондового рынка, инвестиций на бирже и автоматизированной торговли

Reading time 4 min
Views 109K


Изображение: Unsplash

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

В этом материале мы собрали десять книг, которые помогут разобраться с устройством современного фондового рынка, тонкостями инвестирования на нем, и том, как здесь используются передовые технологии.
Читать дальше →
Total votes 25: ↑18 and ↓7 +11
Comments 12

Redis Stream — надёжность и масштабируемость ваших систем сообщений

Reading time 16 min
Views 31K
image

Redis Stream — новый абстрактный тип данных, представленный в Redis с выходом версии 5.0
Концептуально Redis Stream — это List, в который вы можете добавлять записи. Каждая запись имеет уникальный идентификатор. По умолчанию идентификатор генерируется автоматически и включает в себя временную метку. Поэтому вы можете запрашивать диапазоны записей по времени или получать новые данные по мере их поступления в поток, как Unix команда «tail -f» читает лог-файл и замирает в ожидании новых данных. Обратите внимание, что поток могут слушать одновременно несколько клиентов, как многие «tail -f» процессы могут одновременно читать файл, не конфликтуя друг с другом.

Чтобы понять все преимущества нового типа данных, давайте бегло вспомним давно существующие структуры Redis, которые частично повторяют функциональность Redis Stream.
Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 4

Нейронные сети с нуля. Обзор курсов и статей на русском языке, бесплатно и без регистрации

Reading time 5 min
Views 217K
На Хабре периодически появляются обзоры курсов по машинному обучению. Но такие статьи чаще добавляют в закладки, чем проходят сами курсы. Причины для этого разные: курсы на английском языке, требуют уверенного знания матана или специфичных фреймворков (либо наоборот не описаны начальные знания, необходимые для прохождения курса), находятся на других сайтах и требуют регистрации, имеют расписание, домашнюю работу и тяжело сочетаются с трудовыми буднями. Всё это мешает уже сейчас с нуля начать погружаться в мир машинного обучения со своей собственной скоростью, ровно до того уровня, который интересен и пропускать при этом неинтересные разделы.

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

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


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

Создание игры Tower Defense в Unity — Часть 2

Reading time 18 min
Views 21K
image

Это вторая часть туториала «Создание игры Tower Defense в Unity». Мы создаём в Unity игру жанра tower defense, и к концу первой части, научились размещать и апгрейдить монстров. Также у нас есть один враг, нападающий на печенье.

Однако враг пока не знает, куда ему смотреть! Кроме того, нападение в одиночку выглядит странно. В этой части туториала мы добавим волны врагов и вооружим монстров, чтобы они могли защищать драгоценную печеньку.
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 1

Руководство по SEO JavaScript-сайтов. Часть 1. Интернет глазами Google

Reading time 15 min
Views 33K
Представляем вашему вниманию перевод первой части материала, который посвящён поисковой оптимизации сайтов, построенных с использованием JavaScript. Речь пойдёт об особенностях сканирования, анализа и индексирования таких сайтов поисковыми роботами, о проблемах, сопутствующих этим процессам, и о подходах к решению этих проблем.

В частности, сегодня автор этого материала, Томаш Рудски из компании Elephate, расскажет о том, как сайты, которые используют современные JS-фреймворки, вроде Angular, React, Vue.js и Polymer, выглядят с точки зрения Google. А именно, речь пойдёт о том, как Google обрабатывает сайты, о технологиях, применяемых для анализа страниц, о том, как разработчик может проанализировать сайт для того, чтобы понять, сможет ли Google нормально этот сайт проиндексировать.

image

JavaScript-технологии разработки веб-сайтов в наши дни весьма популярны, поэтому может показаться, что они уже достигли достаточно высокого уровня развития во всех мыслимых направлениях. Однако, в реальности всё не так. В частности, разработчики и SEO-специалисты всё ещё находятся в самом начале пути к тому, чтобы сделать сайты, построенные на JS-фреймворках, успешными в плане их взаимодействия с поисковыми системами. До сих пор множество подобных сайтов, несмотря на их популярность, занимают далеко не самые высокие места в поисковой выдаче Google и других поисковых систем.
Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Comments 6

Создаем своих криптокотиков (Часть 1)

Reading time 7 min
Views 26K
В первых числах декабря 2017 года, пользователи блокчейн-проекта Ethereum столкнулись с неприятным открытием — любые их транзакции просто перестали подтверждаться. Фактически, вся сеть перестала функционировать из-за неожиданно разросшегося в размерах мемпула.

Совсем скоро стало понятно в чем же дело — во всем виноват оказался проект CryptoKitties. Это забавная игрушка, работающая на блокчейне Ethereum и позволяющая пользователям разводить «котят», скрещивать их и продавать как обычные критовалютные токены. В какой-то момент 15% всех транзакций в Ethereum приходились на криптокотят! А к моменту написания этой статьи, игроки потратили на котят уже 23 миллиона долларов!

Так что я просто не мог пройти мимо такой интересной темы и решил рассказать, как же сделать игру такого рода. В этой статье (и ее продолжении) будет подробно описано, как можно создать похожий проект на Ethereum, в первую очередь с помощью разбора кода оригинального контракта CryptoKitties.

cryptocat
Хочу криптокотика
Total votes 28: ↑27 and ↓1 +26
Comments 13

Пряморукий DNS: делаем правильно

Reading time 16 min
Views 147K
Представляем вашему вниманию очень эмоциональный рассказ Льва Николаева (@maniaque) о том, как надо настраивать DNS и особенно, как делать не надо. Вот прямо после каждого пункта можете мысленно добавлять: «Пожалуйста, не делайте этого!» В своем докладе Лев так и говорит.

Статья будет состоять из трех частей:

1. Как сделать резольвер (unbound, bind)

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

2. Как держать зоны (PowerDNS)

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

3. Как взболтать, но не смешивать (PowerDNS + unbound)


Total votes 45: ↑43 and ↓2 +41
Comments 38

Создание игры на Lua и LÖVE — 2

Reading time 45 min
Views 9.2K
image

Оглавление


  • Статья 1
    • Часть 1. Игровой цикл
    • Часть 2. Библиотеки
    • Часть 3. Комнаты и области
    • Часть 4. Упражнения
  • Статья 2
    • Часть 5. Основы игры
    • Часть 6. Основы класса Player
  • Статья 3
    • Часть 7. Параметры и атаки игрока
    • Часть 8. Враги
  • Статья 4
    • Часть 9. Режиссёр и игровой цикл
    • Часть 10. Практики написания кода
    • Часть 11. Пассивные навыки
  • Статья 5
    • Часть 12. Другие пассивные навыки

13. Skill Tree

14. Console

15. Final

Часть 5: Основы игры


Введение


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

Структура игрового процесса


Сама игра разделена всего на три отдельных комнаты: Stage, Console и SkillTree.

В комнате Stage происходит весь игровой процесс. В ней находятся такие объекты, как игрок, враги, снаряды, ресурсы, бонусы и так далее. Игровой процесс очень похож на Bit Blaster XL и на самом деле достаточно прост. Я выбрал такой простой геймплей, потому что он позволит мне сосредоточиться на другом аспекте игры (огромном дереве навыков).
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 1

Эксперименты с контрактами Solidity в тестовой сети Rinkeby блокчейна Ethereum

Reading time 17 min
Views 19K


Эта статья представляет собой небольшое практическое руководство, которое поможет вам быстро настроить среду разработки смарт-контрактов на языке Solidity для блокчейна Ethereum. Вы опубликуете первый контракт, сохраните его в тестовом блокчейне Rinkeby и научитесь вызывать методы контракта. Это будет ваш первый шаг на пути создания децентрализованных приложений DApp (Decentralized Application).

Несмотря на обилие книг, статей и руководств, посвященной теме этой статьи, новичку довольно трудно приступить к публикации контрактов и работе с ними. При попытке что-то сделать по книгам, руководствам и статьям нередко оказывается, что примеры не работают, а команды возвращают непонятные ошибки. Я попытаюсь в некоторой степени упростить первый этап освоения, отразив в этой статье свой опыт изучения Ethereum.

При погружении в эту тему я использовал приложение (браузер) Mist в среде Microsoft Windows, а также интерфейс командной строки Geth узла Ethereum в среде Ubuntu. В этой статье мы расскажем о работе с Geth, а также немного о том, как вызывать методы контрактов из Node.js.

С благодарностью приму замечания и пожелания по дальнейшим статьям про блокчейн Ethereum, разработку контрактов на языке Solidity и приложений DApp.
Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 24

Блокчейн 101: книги, исследования и статьи по теме

Reading time 6 min
Views 40K
Мы подготовили дайджест из 30 полезных материалов о блокчейне: это книги, статьи, видео для тех, кто «что-то слышал, но хочет лучше разобраться в теме». Этот список мы формировали на основе собственных материалов и исследований, а также рекомендаций резидентов платформ Hacker News, Quora, Reddit.

Как устроены смарт-контракты, как объяснить концепцию биткойна ребенку и (самое интересное) как сделать свой собственный блокчейн — обо всем под катом.

Читать дальше →
Total votes 24: ↑20 and ↓4 +16
Comments 4

Dive into ICO

Reading time 20 min
Views 9.4K


В статье мы рассмотрим технические аспекты подготовки и проведения ICO. Это продолжение статьи моего коллеги «Технические особенности проведения ICO. Начало», и здесь мы поговорим подробнее о некоторых технических вопросах, связанных со смарт-контрактами сети Ethereum.

Читать дальше →
Total votes 27: ↑25 and ↓2 +23
Comments 12

Под капотом Ethereum Virtual Machine. Часть 1 — Solidity basics

Reading time 9 min
Views 22K

В последнее время все чаще в новостях можно услышать слова "криптовалюта" и "блокчейн" и, как следствие, наблюдается приток большого количества заинтересованных этими технологиями людей, а вместе с этим и огромное количество новых продуктов. Зачастую, для реализации какой-то внутренней логики проекта или же для сбора средств используются "умные контракты" — особые программы, созданные на платформе Ethereum и живущие внутри его блокчейна. В сети уже существует достаточно материала, посвященного созданию простых смарт-контрактов и базовым принципам, однако практически нету описания работы виртуальной машины Ethereum (далее EVM) на более низком уровне, поэтому в этой серии статей я бы хотел разобрать работу EVM более детально.


Solidity — язык, созданный для разработки умных контрактов, существует относительно недавно — его разработка началась только в 2014 году и, как следствие, местами он ''сыроват''. В этой статье я начну с более общего описания работы EVM и некоторых отличительных особенностей solidity, которые нужны для понимая более низко-уровневой работы.


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


Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 1

Интересные логические задачки на собеседованиях

Reading time 2 min
Views 87K
image

Добрый день, Хабровчане!

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

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

Итак, самые интересные задачки которые мне задавали на собеседовании:

Задачка 1: Про бассейн, лодку и гирю

Есть маленький бассейн. В нём плавает лодка. На стенке бассейна отмечен текущий уровень воды.
Ещё есть чугунная гиря. В каком случае уровень воды в бассейне поднимется больше: если опустить гирю в воду, или если опустить гирю в лодку?
Читать дальше →
Total votes 30: ↑18 and ↓12 +6
Comments 110

Как создать блокчейн-проект на Exonum: краткое руководство

Reading time 14 min
Views 21K
Exonum — это фреймворк с открытым исходным кодом для создания приложений на основе блокчейна. Он ориентирован на работу с закрытыми блокчейнами и применим в любых сферах: FinTech, GovTech и LegalTech.

Сегодня мы проведем небольшой обзор решения, а также в рамках образовательного формата разберемся с тем, как построить простой блокчейн-based проект на Exonum. Весь код, приведенный ниже, вы найдете в репозитории на GitHub.

Читать дальше →
Total votes 24: ↑21 and ↓3 +18
Comments 15

Обновляемые смарт-контракты Ethereum

Reading time 4 min
Views 11K
Почти перед каждым программистом, который пишет смарт-контракты Ethereum встают вопросы: «Что делать, если нужно будет расширить функционал контрактов? Как быть, если в контракте найдется баг, который повлечет за собой потерю средств? Что делать, если обнаружится уязвимость в компиляторе solidity (что бывало уже не раз)?» Ведь, контракты, которые мы загружаем в сеть, не могут быть изменены. Поначалу довольно сложно осознать: как это код нельзя обновить? Почему? Но в этом отчасти и сила смарт-контрактов Ethereum — пользователи, возможно, меньше бы стали доверять контрактам, которые можно менять.

Постараемся разобрать несколько подходов, которые все же позволяют менять смарт-контракты.
Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Comments 2

Глубокое обучение для новичков: распознаем рукописные цифры

Reading time 11 min
Views 103K

Представляем первую статью в серии, задуманной, чтобы помочь быстро разобраться в технологии глубокого обучения; мы будем двигаться от базовых принципов к нетривиальным особенностям с целью получить достойную производительность на двух наборах данных: MNIST (классификация рукописных цифр) и CIFAR-10 (классификация небольших изображений по десяти классам: самолет, автомобиль, птица, кошка, олень, собака, лягушка, лошадь, корабль и грузовик).



Читать дальше →
Total votes 39: ↑35 and ↓4 +31
Comments 5

Правила английского, которые нарушают ваши иностранные коллеги

Reading time 4 min
Views 61K


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

Двойное отрицание


Вы же помните, что в предложении на английском достаточно одного отрицания? А потом вдруг слушаем песню Rolling Stones и слышим “I can’t get no satisfaction”. Все дело в том, что это песня, тут можно, скажите вы. И это верно. Но еще стоит упомянуть, что двойное отрицание делает фразу эмоциональнее. Поэтому такие фразы и стали популярны. Но это неформальный способ, так что не увлекайтесь с двойными отрицаниями.
Читать дальше →
Total votes 77: ↑72 and ↓5 +67
Comments 191

Разбираемся со смарт-контрактами: действительно ли они могут помочь вашему бизнесу?

Reading time 6 min
Views 13K


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

С тех про смарт-контракты захватили умы многих визионеров. В пример можно привести Виталика Бутерина, русско-канадского программиста и одного из сооснователей Ethereum — самой популярной децентрализованной платформы смарт-контрактов на базе блокчейна. Но технология развивается, причем стремительно, и уже сейчас существуют десятки других блокчейн-проектов, способных создавать «умные» контракты.

По словам специалистов сферы Джона Рима, Ян Чу и Дэвида Шацкого «смарт-контракты представляют собой следующий шаг в деле продвижения технологии блокчейн от протокола финансовых транзакций к универсальной утилите», — пишет Deloitte Insights. «Они (смарт-контракты, — прим. ред.) являются частью программного обеспечения, а не контрактами в юридическом смысле. При этом „умные“ контракты расширяют возможности блокчейна в плане сохранения записей о финансовых транзакциях, что автоматически дает гарантии выполнения многосторонних соглашений. Они используют компьютерную сеть, которая, в свою очередь, опирается на согласованные протоколы для обеспечения выполнения условий, заложенных в коде контракта, в верной последовательности».
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Comments 27

Настраиваем VM Instance Google Cloud для задач машинного обучения

Reading time 4 min
Views 40K

Решение тяжёлых задач машинного обучения на стационарных компьютерах дело неблагодарное и малоприятное. Представьте, что вы на домашнем ноутбуке делаете ансамбль из N нейронных сетей для изучения лесов Амазонки на ноутбуке. Сомнительное удовольствие, тем более, что сейчас есть прекрасный выбор облачных сервисов для этих целей — Amazon Web Services, Google Cloud Platform, Microsoft Azure и прочие. Некоторые даже относительно бесплатны и предоставляют видеокарты.


image


Мы будем настраивать VM на Google Cloud Platform с нуля. Бонусом — стартовые 300$ на год на один gmail аккаунт. Поехали.


  1. Создание и настройка Virtual Machine Instances
  2. Настройка сетевых параметров
  3. Установка Anaconda и дополнительных пакетов
  4. Настройка Jupyter Notebook
  5. Настройка File Transfer
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Comments 8

Information

Rating
Does not participate
Registered
Activity