Обновить
0
@ssiread⁠-⁠only

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

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

Устройство CPython. Доклад Яндекса

Время на прочтение21 мин
Охват и читатели43K
Мы публикуем конспект вступительной лекции видеокурса «Бэкенд-разработка на Python». В ней Егор Овчаренко egorovcharenko, тимлид в Яндекс.Такси, рассказал о внутреннем устройстве интерпретатора CPython.


— Если кратко, какой у нас будет план? Сначала мы поговорим о том, почему будем изучать именно Python. Затем посмотрим, как работает интерпретатор CPython более глубоко, как он управляет памятью, как устроена система типов в Python, на словари, генераторы и исключения. Я думаю, это займет примерно час.
Читать дальше →

Разработка веб-серверов на Golang — от простого к сложному

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


Пять лет назад я начал разрабатывать Gophish, это дало возможность изучить Golang. Я понял, что Go — мощный язык, возможности которого дополняются множеством библиотек. Go универсален: в частности, с его помощью можно без проблем разрабатывать серверные приложения.

Эта статья посвящена написанию сервера на Go. Начнем с простых вещей, вроде «Hello world!», а закончим приложением с такими возможностями:

— Использование Let’s Encrypt для HTTPS.
— Работа в качестве API-маршрутизатора.
— Работа с middleware.
— Обработка статических файлов.
— Корректное завершение работы.
Читать дальше →

Погружение в разработку на Ethereum. Часть 0: блокчейн не нужен

Время на прочтение7 мин
Охват и читатели14K
Наверняка многие из вас задумывались, зачем вообще понадобился блокчейн и Ethereum в частности. Кто-то возможно пошел дальше и нашел множество красивых характеристик: децентрализация, прозрачность, доверие без посредников, взломостойкость. Это же просто отлично, правда? Да, но…

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

Шпаргалка по структурам данных в Go

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

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

[Иллюстрированное] Руководство по устройству сети в Kubernetes. Часть 3

Время на прочтение5 мин
Охват и читатели21K
Прим. перев.: Эта статья продолжает цикл материалов о базовом устройстве сетей в Kubernetes, что описывается в доступной форме и с наглядными иллюстрациями (впрочем, конкретно в этой части иллюстраций уже практически не оказалось). Переводя две предшествующие части этого цикла, мы объединили их в одну публикацию, в которой рассказывалось о сетевой модели K8s (взаимодействие внутри узлов и между узлами) и оверлейных сетях. Её предварительное чтение желательно (рекомендуется самим автором). Продолжение же посвящено сервисам Kubernetes и обработке исходящего и входящего трафика.
NB: Текст автора для удобства дополнен ссылками (преимущественно — на официальную документацию K8s).


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

Высокодоступный и масштабируемый Elasticsearch в Kubernetes

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

image
В предыдущем посте мы масштабировали набор реплик MongoDB и познакомились со StatefulSet. Сейчас мы займемся оркестрацией кластера высокой доступности Elasticsearch (с другими мастер-нодами, нодами данных и клиентскими нодами) и задействуем ES-HQ и Kibana.


Вам понадобятся:


  1. Базовое представление об Elasticsearch, его типах нод и их ролях.
  2. Работающий кластер Kubernetes как минимум с тремя нодами (не меньше четырех ядер, 4 ГБ).
  3. Умение работать с Kibana.
Читать дальше →

Attention! S in Ethereum stands for Security. Part 1. Blockchain things

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


С этой статьи мы начинаем цикл, посвященный типичным уязвимостям, атакам и проблемным местам, присущим смарт-контрактам на языке Solidity, и платформе Ethereum в целом. В первой части мы поговорим вот о чем:


  • почему сложно реализовать децентрализованную биржу на смарт-контрактах
  • как сгенерировать случайное число
  • как вывести из строя всю Proof-of-Authority сеть
Читать дальше →

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

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


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

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

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

С благодарностью приму замечания и пожелания по дальнейшим статьям про блокчейн Ethereum, разработку контрактов на языке Solidity и приложений DApp.
Читать дальше →

Смарт-контракт Ethereum для расчета бонусов используя дробные степени

Время на прочтение3 мин
Охват и читатели8.1K
image

Начну с того, что всем известно. ICO повсюду, все предлагают разные проекты, все продают токены. И у всех есть какая-то модель продаж со скидками, бонусами, сроками и т.п.
Как ни странно хоть область и достаточно экспериментальная, модель бонусов достаточно примитивна. Просто есть разные объемы или временные интервалы и проценты в них. Да и зачем усложнять? А я все таки попробую. Эксперимента ради. Новое всегда привлекает.
Читать дальше →

“Ain’t” is cool, ain’t it?

Время на прочтение2 мин
Охват и читатели42K
Тема изучения английского языка, судя по результатам поиска, здесь довольно актуальна. А коли так, давайте узнавать о нём больше вместе.
Вспомните-ка, какую конструкцию заменяет ain’t: am not, have not или do not?
Правильный ответ: все три! А это предложение только для того, чтобы нельзя было догадаться по короткому ответу :) Давайте посмотрим, как же так вышло и как правильно использовать это слово.

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

101 способ приготовления RabbitMQ и немного о pipeline архитектуре

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

Павел Филонов (во время выступления работал в Positive Technologies)


Павел Филонов

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

Сначала немного в качестве пролога. Это приятная часть.



Сценка, разворачивающаяся в будний день в офисе, наводит нас на очень приятное размышление. Перед нами встает шикарная задача, новая система. Мало что так сильно будоражит ум инженера, как просьба разработать новую систему. Не починить что-то старое, не адаптировать что-то старое, а именно что-то создать, в каком-то смысле практически с нуля.

Вместе с такой задачей приходит и целая серия проблем.

50 книг о блокчейне и цифровой валюте

Время на прочтение13 мин
Охват и читатели98K
imageКогда недавно один наш коллега при общении начал пересказывать прочитанную им в отпуске книгу «Цифровое Золото» Натаниэля Поппера, мы сразу поняли, что упустили очень важную и интересную тему в нашем блоге — книги, вот о чем мы поговорим сегодня. Мы в Wirex предоставляем банковские услуги на базе блокчейн. Многие свои идеи мы черпаем в книгах, не только про бизнес, но и в книгах про блокчейн.

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

Как выглядят глубокие нейронные сети и почему они требуют так много памяти

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

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

В отличие скалярного центрального или векторного графического процессора, IPU – новый тип процессоров, спроектированный для машинного обучения, позволяет строить такие графы. Компьютер, который предназначен для управления графами – идеальная машина для вычислительных моделей графов, созданных в рамках машинного обучения.

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

Перенос системы LINUX на другой винчестер с переразбивкой разделов

Время на прочтение5 мин
Охват и читатели76K
Когда-то давным давно в далекой-далекой галактике мне понадобилось перенести мою систему linux с одного винчестера на другой, а пользоваться проприетарщиной ужас, как не хотелось. Погуглив и поискав с помощью других поисковиков я нашел для себя решение, которое линукс-админу может показаться смешным, а меня оно тогда здорово выручило.

В общем — вот оно. Бейте ногами, режьте на части. Встречайте!

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

Апгрейд видеокарты ноутбука

Время на прочтение4 мин
Охват и читатели311K
Здесь расскажу о том, как из 5ти летнего Samsung R45 с видеокартой ATI Radeon Express 200M, у которой нет Pixel Shader 3.0, на которой современные игры либо вообще не идут, либо идут с 2 FPS на минимальных настройках, сделать достаточно мощную машину для игр и экспериментов по программированию.

image
Как превратить слабенький маленький ноутбук в монстра - читать далее...

16 ядер и 30 Гб под капотом Вашего Jupyter за $0.25 в час

Время на прочтение8 мин
Охват и читатели32K
Если Вам не очень повезло, и на работе нет n-ядерного монстра, которого можно загрузить своими скриптами, то эта статья для Вас. Также если Вы привыкли запускать скрипты на всю ночь (и утром читать, что где-то забыли скобочку, и 6 часов вычислений пропали) — у Вас есть шанс наконец познакомиться с Amazon Web Services.



В этой статье я расскажу, как начать работать с сервисом EC2. По сути это пошаговая инструкция по полуавтоматической аренде спотового инстанса AWS для работы с Jupyter-блокнотами и сборкой библиотек Anaconda. Будет полезно, например, тем, кто в соревнованиях Kaggle все еще пользуется своим игрушечным маком.

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

Топ-10 книг для понимания устройства фондового рынка

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

Открытый курс машинного обучения. Тема 1. Первичный анализ данных с Pandas

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели1.2M


Открытый курс машинного обучения mlcourse.ai сообщества OpenDataScience – это сбалансированный по теории и практике курс, дающий как знания, так и навыки (необходимые, но не достаточные) машинного обучения уровня Junior Data Scientist. Нечасто встретите и подробное описание математики, стоящей за используемыми алгоритмами, и соревнования Kaggle Inclass, и примеры бизнес-применения машинного обучения в одном курсе. С 2017 по 2019 годы Юрий Кашницкий yorko и большая команда ODS проводили живые запуски курса дважды в год – с домашними заданиями, соревнованиями и общим рейтингом учаcтников (имена героев запечатлены тут). Сейчас курс в режиме самостоятельного прохождения.

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

Нейробайесовский подход к задачам машинного обучения. Лекция Дмитрия Ветрова в Яндексе

Время на прочтение15 мин
Охват и читатели37K
Этим постом мы завершаем серию лекций с Data Fest. Одним из центральных событий конференции стал доклад Дмитрия Ветрова — профессора факультета компьютерных наук НИУ ВШЭ. Дмитрий входит в число самых известных в России специалистов по машинному обучению и, начиная с прошлого года, работает в Яндексе ведущим исследователем. В докладе он рассказывает об основах байесовского подхода и объясняет, какие преимущества дает этот подход при использовании нейронных сетей.


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

Создание и использование динамических библиотек, написанных на различных языках (C/C++, Pascal)

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

Задача


Передо мной возникла задача написать загрузчик библиотек, имеющий возможность предоставить какие-то интерфейсные функции внешней динамической библиотеке. Решение должно быть максимально кроссплатформенно (как минимум, работать на Linux и Windows). Загружаться должны библиотеки, написанные на различных языках программирования, поддерживающих создание динамических библиотек. В качестве примера были выбраны языки C и Pascal.

Решение


Основной загрузчик библиотек написан на языке C. Для того, чтобы загружаемые библиотеки имели возможность использовать функции основной программы, основная программа разделена на 2 части: на основной и подгружаемый модули. Основной модуль нужен просто для запуска программы, подгружаемый модуль — это также динамическая библиотека, связываемая с основным модулем во время его запуска. В качестве компиляторов были выбраны gcc (MinGW для Windows) и fpc.
Здесь будет приведён упрощённый пример программы, позволяющий разобраться в данном вопросе и учить первокурсников писать модули к своей программе (в школе часто преподают именно Pascal).
Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность