SDCast

SDCast

By Konstantin BurkalevTechnology
Download on the App Store

SDCast episodes

  • SDCast #63: в гостях Алексей Маркин, программист из МЦСТ
    Приветствую, товарищи! В предыдущем выпуске мы немного затронули тему процессоров «Эльбрус» и VLIW-архитектуры , но эта тема показалась интересной, и вот, в этом выпуске у меня снова в гостях Алексей Маркин, программист из МЦСТ, и этот выпуск целиком и полностью посвящен этой теме.
    Вначале Лёша рассказал немного про компанию МЦСТ, историю её появления и развития, направления деятельности, и чем компания занимается сейчас.
    Далее мы поговорили про процессоры «Эльбрус», что они из себя представляют, чем они принципиально отличаются от других архитектур (x86, ARM, RISC и прочее). Для VLIW-архитектуры порядок инструкций исполнения программы формируется уже на этапе компиляции программы, поэтому компилятор является неотъемлемой частью архитектуры.
    Далее мы обсудили оптимизирующий компилятор для процессоров «Эльбрус», непосредственно разработкой которого Алексей и занимается. Лёша рассказал, что это такое — оптимизирующий компилятор, зачем он нужен и какие задачи решает, в чём его отличие от «обычных» gcc, clang. Довольно подробно Лёша рассказал про различные типы оптимизаций, которые присутствуют в компиляторе, что они дают на выходе в плане производительности, рассказал как вообще эти оптимизации находятся и разрабатываются и внедряются в компилятор. Рассказал про различные подводные камни на этом тернистом пути оптимизации :)
    Так же обсудили сам процесс разработки компилятора, какие инструменты используются в команде разработки в МЦСТ, как устроено тестирование и сбор метрик, бенчмарки и замеры производительности.
    Ссылки на ресурсы по темам выпуска:
    * Блог Алексея (https://alexanius-blog.blogspot.ru/)
    * Публикации МЦСТ (http://www.mcst.ru/publikacii-mcst) по теме
    * Откомпилируй Это (http://compileit.ru/) — заброшенный блог Алексея про компиляторы, на который у него нет времени. Но если вдруг оно появится/найдутся желающие его вести - он будет очень рад :)
    Понравился выпуск? — Поддержи подкаст на patreon.com/KSDaemon (https://www.patreon.com/KSDaemon) а так же ретвитом, постом и просто рассказом друзьям!
    1 hr 35 min
  • SDCast #62: в гостях Александр Титов и Амир Аюпов, инженеры из Intel и Алексей Маркин, программист из МЦСТ
    Такого еще не было! Товарищи, рад представить вам 62-й выпуск подкаста, в котором у меня не один, а сразу целых три гостя! На этот раз вместе с Александром Титовым и Амиром Аюповым, инженерами из Intel и Алексеем Маркиным, программистом из МЦСТ, мы обсуждаем тему процессоров и разработку на стыке Hardware & Software. Отдельная большая часть подкаста посвящена вопросам айтишного образования в России.
    По традиции, в начале ребята вкратце рассказали про себя, кто есть кто и чем занимается. Ну а дальше мы окунулись в мир процессоров! Обсудили из каких компонентов состоит процессор вкратце, как происходит выполнение пользовательского кода на процессоре, опять же очень условно, не вдаваясь в сложные технические детали. Обсудили какие бывают архитектуры и вообще что подразумевается под архитектурой процессора, чем отличаются x86, ARM, Эльбрус с точки зрения систем команд: традиционные RISC и CISC, плюс альтернативный VLIW.
    Пообщались о том, как и в какую сторону развиваются процессоры, какие есть тонкости и сложности, что «мешает» сделать процессор быстрее. Вспомнили про нанометры и усовершенствование технологического процесса, но что интереснее, Саша рассказал про другие технические и технологические ограничения, такие как Power wall, ограничение максимальной мощности, которую разумные системы охлаждения могут отвести от процессора.
    Так же обсудили различные типа процессоров: CPU, GPU, различные кастомные железки, FPGA и прочее; какие классы задач решаются теми или иными процессорами, вопросы железячного прототипирования и разработки своего железа «с нуля».
    Подискутировали на тему перспективных направлений в CPU дизайне и трендов разработки процессоров в индустрии. Что нас может ждать в ближайшем будущем и что интересного есть уже сейчас.
    Во второй части подкаста мы пообщались про направление “Computer Science” в образовании. Поскольку все из участников подкаста так или иначе имеют отношении к высшему образованию, кто-то преподавал, кто-то преподает сейчас, мы вспомнили как это было у нас. Ребята рассказали про то, какие курсы и лекции они читают сами, поделились своим опытом преподавания и взаимоотношениями с институтами.
    Обсудили насколько темы и предметы, которые преподают в институтах актуальны в современных коммерческих разработках, где брать преподавателей, как обстоят дела с оборудованием, лабораториями, есть ли и какой интерес у коммерческих компаний в своём участии в образовании, проведении специализированных лекций и даже целых предметов, предоставлении мест для прохождения практики и практической базы для написания курсовых и прочих научных работ.
    Беседа получилось интересная и насыщенная. Для тех, кому много сразу трёх часов, можно разделить подкаст на два:
    * Процессоры и hardware: с начала и до 1ч 44м
    * Computer Science образование в России и за рубежом: с 1ч 44м и до конца :)
    Ссылки на ресурсы по темам выпуска:
    * Факультативный курс по CPU в МФТИ (https://mipt-ilab.github.io/mipt-mips/)
    * Лекция Александра Титова про организацию микропроцессоров (видео, часть 1 (https://www.youtube.com/watch?v=uf3p0owPcfQ), часть 2 (https://www.youtube.com/watch?v=7aA6CTwnz7c), часть 3 (https://www.youtube.com/watch?v=CGVC6km2zLI))
    * VK Public “Банальные новости индустрии вычислительной техники без инсайдов” (https://vk.com/pipelinestall) от Амира Аюпова
    * Блог Алексея alexanius'а Маркина (http://alexanius-blog.blogspot.ru/)
    Понравился выпуск? — Поддержи подкаст на patreon.com/KSDaemon (https://www.patreon.com/KSDaemon) а так же ретвитом, постом и просто рассказом друзьям!
    2 hr 51 min
  • SDCast #61: в гостях Павел Аргентов, практикующий fp-программист
    У меня в гостях Павел Аргентов, практикующий fp-программист. В этом выпуске мы попытались осветить все аспекты языка OCaml, сферы его применения, вопросы разработки, экосистему и сообщество вокруг.
    В начале Паша сделал довольно подробный экскурс в историю появления самого языка, начиная с появления диалекта Lisp'а в семидесятых, добавление алгебраических типов данных и категориальной абстрактной машины в восьмидесятых, появление реализации Caml Light в девяностых и заканчивая уже современной инкарнацией c поддержкой объектной модели.
    Подробно обсудили основые парадигмы языка и ключевые концепции, такие как: функциональное программирование, strict-механика и вытекающие из этого последствия, связывание переменных и лексические скоупы для связывания, система типов Хиндли-Милнера и опциональные аннотации типов, ООП-слой, язык модулей и функторы, инструментарий для синтаксического расширения (собственные DSL) и многое другое.
    Пообщались о сферах применения языка, для каких задач OCaml подходит лучше всего, какие преимущества у него по сравнению с другими языками в контексте этих задач. Паша рассказал про различные известные (и не очень) проекты, написанные на OCaml, среди которых, например, MirageOS, фреймворк для построения Unikernel систем. Рассказал про различные проекты, написанные под сильным влиянием OCaml. В основном это различные языки программирования, которые основаны на идеях OCaml, например FSharp, Haxe или ReasonML.
    Не забыли мы обсудить и экосистему вокруг языка, какие есть инструменты для работы с языком: моды к различным IDE, браузер типов, пакетные менеджеры и прочие сопутствующие инструменты, коммьюнити вокруг языка, списки рассылки, места скопления OCaml-программистов, чаты и форумы.
    Так же немного пофилософствовали на тему того, почему язык не получил широкого распространения среди разработчиков, с каких языков проще перейти на OCaml, стоит ли в принципе сейчас изучать этот язык.
    Ссылки на ресурсы по темам выпуска:
    * ocaml.org (http://ocaml.org/). Главный источник информации, знаний и документации по OCaml
    * Wiki-статья про OCaml (https://ru.wikipedia.org/wiki/OCaml)
    * Статья Павла “Beginner’s OCaml setup on Mac” (https://medium.com/@argent_smith/beginners-ocaml-setup-on-mac-fc206747b1ab)
    * Статья Павла “How to synchronize application development using Unison?” (https://hype.codes/how-synchronize-application-development-using-unison)
    * Multicore OCaml (http://ocamllabs.io/doc/multicore.html)
    * Экосистема OCaml:
    * Awesome OCaml (https://github.com/rizo/awesome-ocaml)
    * OCaml Package Manager (https://opam.ocaml.org/)
    * Tuareg: an Emacs OCaml mode (https://github.com/ocaml/tuareg)
    * Merlin (https://github.com/ocaml/merlin) is an editor service that provides modern IDE features for OCaml
    * oasis - Tooling for building OCaml libraries and application (https://github.com/ocaml/oasis)s
    * OCaml Labs (http://ocamllabs.io/)
    * Jane Street Capital's standard library overla (https://github.com/janestreet/core)y
    * Ocsigen (http://ocsigen.org/).The most advanced multi-tier framework for Web and mobile apps
    * MirageOS (https://mirage.io/). Library operating system that constructs unikernels
    * Success’n’users:
    * http://fsharp.org (http://fsharp.org/)
    * http://hacklang.org (http://hacklang.org/)
    * https://flow.org (https://flow.org/)
    * https://github.com/facebook/pfff/wiki/Main
    * https://reasonml.github.io (https://reasonml.github.io/)
    * http://haxe.org (http://haxe.org/)
    * https://github.com/xapi-project/
    * https://blog.janestreet.com/tag/ocaml/
    * https://coq.inria.fr (https://coq.inria.fr/)
    * https://www.cis.upenn.edu/~bcpierce/unison/
    * Книги:
    * The OCaml system (http://caml.inria.fr/pub/docs/manual-ocaml/)
    * Real World OCaml (https://realworldocaml.org/)
    * Список книг на офф сайте (https://ocaml.org/learn/books.html)
    Поддержи подкаст на patreon (https://www.patreon.com/KSDaemon) а так же ретвитом, постом и просто рассказом друзьям!
    1 hr 44 min
  • SDCast #60: в гостях Иван Круглов, програмист Booking.com
    У меня в гостях Иван Круглов, програмист Booking.com (http://booking.com/). Некоторое время Иван занимался разработкой подсистемы поиска отелей, именно об этом и пойдёт речь в этом выпуске.
    Офис разработки Booking.com (http://booking.com/) расположен в Амстердаме и в начале Иван рассказал как он туда попал. Поделился опытом прохождения интервью, подготовкой к собеседованиям в различных российских, европейских и американских компаниях.
    Обсудили архитектуру поиска отелей: как в целом оно работает, из каких компонентов и сервисов состоит, на каких языках/платформах написано. Иван рассказал как эволюционировала система в целом, как она была устроена в начале, какие появлялись узкие места и как они в дальнейшем разрешались.
    Иван рассказал про то, как они ушли от баз данных MySQL к встраиваемому решению, а именно RocksDB. Рассказал про материализацию данных для поиска, шардирование данных и эффективную обработку запросов.
    Так же Иван немного рассказал про то, как у них происходит выкладка изменений в продакшн, мониторинг и обслуживание системы.
    Ссылки на ресурсы по темам выпуска:
    * Доклад Ивана “Архитектура поиска в Booking.com” с Highload++ (видео (https://www.youtube.com/watch?v=VdRmsOAvv0A&list=PLiBYz3OQubLryzLMpCrSZ7rS87sxo5ZO_&index=15), слайды (https://www.slideshare.net/profyclub_ru/bookingcom-bookingcom))
    * RocksDB (http://rocksdb.org/). A persistent key-value store for fast storage environments
    Понравился выпуск? — Поддержи подкаст на patreon.com/KSDaemon (https://www.patreon.com/KSDaemon) а так же ретвитом, постом и просто рассказом друзьям!
    53 min
  • SDCast #59: в гостях Максим Железный, QA team lead в компании Trinity Digital
    Встречайте 59-й выпуск SDCast'а, который посвящен тестированию мобильных приложений. У меня в гостях Максим Железный, QA team lead в компании Trinity Digital.
    В этом выпуске мы говорим о том, что такое мобильное тестирование и почему его нужно отличать от других видов тестирования, какие есть особенности и тонкости, на что нужно обращать особое внимание при тестировании. Максим рассказал как в целом устроен типичный процесс тестирования, начиная от получения первых альфа-версий от разработчиков и заканчивая выпуском релиза.
    Так же Максим рассказал про различные инструменты, которые используются в процессе тестирования и которые облегчают жизнь тестировщика. Это касается эмуляторов, дебаггеров, инструментов для манипуляций с качеством сети, механизмов доставки сборок на устройства, сбора метрик и статистики и всего прочего.
    Так же мы затронули тему тестирования backend'а и различных API, которыми так или иначе пользуются мобильные приложения. Обсудили автотесты, какие они бывают, когда их надо использовать и почему это важно.
    Так же Максим рассказал про то, как правильно выбрать ферму реальных девайсов для тестирования своих разработок, откуда надо брать первоначальную статистику по устройствам, девайсы каких размеров и характеристик нужны и в каком количестве, как найти золотую середину между размером фермы и трудозатратами на её содержание и приемлемым качеством протестированного продукта.
    В завершении выпуска немного обсудили то, какие навыки важны для тестировщика в целом, какие инструменты и технологии стоит изучать, и какие есть сферы и направления развития.
    Ссылки на ресурсы по темам выпуска:
    * Гайдлайны стора Apple (https://developer.apple.com/app-store/review/guidelines/)
    * Гайдлайны стора Google (https://play.google.com/intl/ru/about/developer-content-policy/)
    * Дизайн гайд Apple (https://developer.apple.com/ios/human-interface-guidelines/overview/design-principles/)
    * Дизайн гайд Google (https://developer.android.com/design/index.html)
    * Pairwiser (https://inductive.no/pairwiser) — один из инструментов Pairwise'инга. Подробнее можно почитать тут - https://en.wikipedia.org/wiki/All-pairs_testing (смотрите сразу в пример, если начать с формул, то может закружиться голова)
    * Do not keep activities для Android (https://habrahabr.ru/post/221679/)
    * Манипуляция с сетью через Network Link Conditioner (http://nshipster.com/network-link-conditioner/)
    * Доставка сборок приложений:
    * HockeyApp (https://www.hockeyapp.net/)
    * AppBlade (https://appblade.com/)
    * TestFiry (https://www.testfairy.com/)
    * Тестирование API:
    * Postman (https://www.getpostman.com/)
    * Paw (https://paw.cloud/)
    * Insomnia (https://insomnia.rest/)
    * SoapUI (https://www.soapui.org/)
    * UI auto monkey tests:
    * UI AutoMonkey for iOS (https://github.com/jonathanpenn/ui-auto-monkey)
    * UI Exerciser Monkey for Android (https://developer.android.com/studio/test/monkey.html)
    * Источники информации по устройствам:
    * http://www.appbrain.com/stats/top-devices-by-country?country=ru - весьма удобная статистика с разбивкой по странам
    * https://opensignal.com/reports/2015/08/android-fragmentation/ - немного устарела, но зато наиболее релевантная, как мне показалось
    * http://www.antutu.com/en/index.htm - стастика по девайсам исходя из бенчмарков
    * https://developer.android.com/about/dashboards/index.html - самая подробная статистика по android от самой корпорации добра
    * https://david-smith.org/iosversionstats/ - та самая статистика по iOS от David Smith. Он указывает, что собирает ее с пользователей своего приложения, но точно помню, что фигурировала информация о содружестве с самой Apple (сейчас уже не найду)
    Понравился выпуск? — Поддержи подкаст на https://www.patreon.com/KSDaemon а так же ретвитом, постом и просто рассказом друзьям!
    2 hr 1 min
  • SDCast #58: в гостях Павел Одинцов, разработчик системы обнаружения DDoS атак FastNetMon
    DDoS... Как часто мы стали слышать этот термин в айтишных новостях. Сейчас это одна из наиболее распространённых типов атак на информационные системы. В этом выпуске у меня в гостях Павел Одинцов, разработчик системы обнаружения DDoS атак FastNetMon.
    В начале мы обсудили теоретическую часть. Паша рассказал про то, что в целом представляют из себя DoS-атаки, какие типы атак бывают, как они устроены и работают и для чего вообще они предназначены. Рассказал о различных способах борьбы с DoS-атаками.
    Паша долгое время работал в хостинг-индустрии и не понаслышке знает, что такое DoS-атаки. Паша рассказал, как он сам впервые столкнулся с такой атакой, как стал искать средство защиты от атак и как в итоге пришёл к написанию собственного велосипеда, который превратился в проект FastNetMon.
    Далее мы обсудили сам проект FastNetMon. Паша рассказал историю своих первых экспериментов, как он получил «proof of concept», и как в дальнейшем происходило развитие системы как с архитектурной точки зрения, так и со стороны функциональности. Паша подробно рассказал про внутреннее устройство системы, как происходит обработка входящего трафика, как происходит расчёт метрик и как в конечном счёте принимается решение о легитимности трафика.
    В процессе обсуждения были затронуты и общие вопросы построения сетевой инфраструктуры провайдера или датацентра, вкратце освещены разные сетевые протоколы, такие NetFlow, IPFIX, sFlow и другие. Так же Паша рассказал как происходит тестирование FastNetMon. Это не простой вопрос, потому что для полноценного тестирования такого рода систем необходимо большое количество дампов разнородного сетевого трафика. Откуда его взять? Спасибо пользователям проекта, которые для решения своих настоящих и потенциально будущих проблем готовы поделиться своими данными. Так же интересный вопросы — это взаимодействие с вендорами оборудования. Поскольку в конечном итоге сетевой трафик идет через конкретные коммутаторы и маршрутизаторы того или иного производителя, и не смотря на принятые и открытые стандарты, как это водится, каждый вендор трактует стандарты и протоколы немного по-своему.
    В завершении беседы мы немного пообщались на тему Open Source в целом и в разрезе проекта FastNetMon в частности. Паша рассказал, какие он видит плюсы, что дала ему публикация проекта в open source, какое появилось сообщество у проекта.
    Ссылки на ресурсы по темам выпуска:
    * Официальный сайт проекта FastNetMon (https://fastnetmon.org/).
    * FastNetMon на GitHub (https://github.com/pavel-odintsov/fastnetmon).
    * Доклад Павла «FastNetMon – инструмент для выявления DDoS атак» (https://www.youtube.com/watch?v=FmsiZ7HJJf0) с конференции ENOG 9 / RIPE NCC.
    * Различные видео докладов от сообщества о проекте (https://fastnetmon.com/video/).
    Понравился выпуск? — Поддержи подкаст на patreon.com/KSDaemon (https://www.patreon.com/KSDaemon) а так же ретвитом, постом и просто рассказом друзьям!
    1 hr 46 min
  • SDCast #57: в гостях Игорь Антонов, тимлид в компании ДальЖАСО, наставник в HTML Academy и организатор ha.js
    Друзья, что вы знаете про 1С, кроме дурной славы и программ на русском языке? В этом выпуске мы попробуем развенчать различные мифы про платформу 1С, а так же обсудить, как она устроена и какими возможностями обладает. У меня в гостях Игорь Антонов, тимлид в компании ДальЖАСО, наставник в HTML Academy (https://htmlacademy.ru/) и организатор встреч фронтенд-разработчиков Хабаровска ha.js (https://hajs.ru/).
    В этом выпуске Игорь подробно рассказал про платформу 1С:Предприятие: что в ней было в начале, как она развивалась и что есть сейчас. Рассказал про внутреннее устройство и архитектуру, что такое конфигурации и как они строятся, как происходит взаимодействие с объектами системы внутри и снаружи. Рассказал про сравнительно новые возможности мобильной разработки, интеграции с внешними системами, REST-сервисы, API, использование 1C в качестве бэкенда для веб-приложений и много чего ещё.
    Отдельно пообщались на тему того, как устроен процесс разработки для платформы 1С, чем он отличается от привычной разработки на других языках. Игорь рассказал, как происходит публикация конфигураций, чем обслуживание и сопровождение систем на базе 1С отличается от обычных клиент-серверных приложений.
    Поскольку Игорь является активным участником frontend сообщества, наставничает в HTML Academy и является инициатором и организатором встреч ha.js, не обошли мы стороной и эти темы. Игорь расссказал, как он увлёкся вебом, и как затем решил стать наставником в HTML Academy. Поделился тем, что им движет, и какие цели он преследует организовывая встречи сообщества ha.js.
    Ссылки на ресурсы по темам выпуска:
    * Персональный блог Игоря Антонова (http://iantonov.me/)
    * Официальный сайт компании 1С (http://1c.ru/). Новости, полезные сылки, анонсы и т.д.
    * "Заметки из Зазеркалья" или проще говоря официальный блог компании 1С для разработчиков (https://wonderland.v8.1c.ru/). Анонсы нового функционала для прикладных разработчиков, примеры и т.д.
    * Крупнейший информационный портал для 1С-разработчиков (http://infostart.ru/). Аналог "Хабрахабр", но только по 1С. Статьи, готовый код, форум, каталог платных разработок, отчеты и многое другое. Раз в год администрация ресурса организовывает большую оффлайн-конференцию для 1С-разработчиков.
    * Официальный сайт проекта OneScript (http://oscript.io/) - инструмент автоматизации для специалистов по 1С.
    * "Адаптация типовых конфигураций без лишних сложностей. Применение механизма расширений на практике" (http://iantonov.me/page/1spredprijatie-8-adaptacija-tipovyh-konfiguracij-bez-lishnih-slozhnostej-primenenie-mehanizma-rasshirenij-na-praktike). Статья Игоря, написанная для журнала "Системный администратор" о новой технологии для бесшовной доработки типовых решений.
    * "Нестандартный back-end для веб-приложений. Практическое применение HTTP-сервисов в "1С:Предприятие 8" (http://iantonov.me/page/nestandartnyj-back-end-dlja-veb-prilozhenij-prakticheskoe-primenenie-http-servisov-v-1spredprijatie-8). Еще одна статья Игоря из журнала "Системный администратор" с практической демонстрацией HTTP-сервисов.
    * "Обзор 1С:Enterprise Develompent Tools" (http://iantonov.me/page/obzor-1centerprise-development-tools-professionalnaja-ide-dlja-1s-razrabotchika) - новая IDE для 1С-разработчиков на базе Eclipse.
    * "Разработка мобильных приложений на платформе 1С:Предприятие" (http://iantonov.me/page/razrabotka-mobilnyh-prilozhenij-na-platforme-1spredprijatie-83) - электронная версия статьи из журнала "Системный администратор" с демонстрацией примера разработки приложения на 1С для Android.
    * "Как попасть на front. Как 1С-разработчику переквалифицироваться во фронтендера" (http://samag.ru/archive/article/3455). Статья Игоря для 1С-разработчиков, желающих перебежать в лагерь фронтенда.
    * ha1s (https://ha1s.ru/) (https://ha1s.ru/) - официальный сайт хабаровского митапа для 1С-разработчиков. Первая встреча состоялась 27.05.2017 На сайте опубликованы презентации и записи докладов.
    1 hr 48 min
  • SDCast #56: в гостях Антон Солдатов, инженер-программист из компании IPONWEB
    Любите ли вы Lua так же, как люблю его я? А вот ребята из компании IPONWEB настолько его полюбили, что даже сделали свою собственную имплементацию Lua! :) Об этом и пойдет речь в этом выпуске. У меня в гостях Антон Солдатов, инженер-программист из компании IPONWEB, где он занимается разработкой и поддержкой их реализации Lua.
    Компания IPONWEB занимается разработкой в области RTB (Real Time Bidding) систем. Это технология закупки медийной рекламы посредством программируемых онлайн-аукционов. Вначале Антон рассказал про то, что это за системы, какие задачи они решают, какие есть компоненты и сущности в RTB-системах, что такое DSP и SSP, как они устроены и фукнционируют.
    Ссылки на ресурсы по темам выпуска:
    * Описание RTB на Википедии (https://ru.wikipedia.org/wiki/%D0%A2%D0%BE%D1%80%D0%B3_%D0%B2_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8)
    * Еще немного wiki про RTB:
    * RTB (Real Time Bidding) (http://rtb-media.ru/wiki/)
    * DSP (Demand Side Platform) (http://rtb-media.ru/wiki-dsp/)
    * SSP (Supply / Sell Side platform) (http://rtb-media.ru/wiki-ssp/)
    * Книга “**Ad Serving Technology (https://www.amazon.com/Serving-Technology-Understand-revelation-commercialized/dp/1484867572)”**, является отличным введением в индустрию, затрагивающим более широкий круг вопросов, чем собственно RTB.
    * Доклад Антона «Challenges Building Yet Another Lua Implementation» (https://www.youtube.com/watch?v=B4LCdC-Rt3o&feature=youtu.be) с конференции Lua in Moscow (http://lua.moscow/)
    * Доклад Игоря Эрлих «LuaJIT как основа для сервера приложений - проблемы и решения» (http://www.highload.ru/2016/abstracts/2304.html) с Highload++'16
    * LuaJIT:
    * Описание байт-кода (http://wiki.luajit.org/Bytecode-2.0)
    * Описание промежуточного состояния (IR) (http://wiki.luajit.org/SSA-IR-2.0)
    * У LuaJIT можно генерировать т.н. "дамп компилятора" – отладочную информацию о том, как происходит запись трасс, генерация машинного кода и т.д. Ключи командной строки для включения этого режима задокументированы тут: http://luajit.org/running.html, и есть утилита для того, чтобы облегчить визуальное восприятие получившихся данных: https://github.com/cloudflare/loom.
    * Тестовая сюита для LuaJIT развивается тут: https://github.com/LuaJIT/LuaJIT-test-cleanup
    * Совсем недавно появился RaptorJIT (https://github.com/raptorjit/raptorjit), форк от разработчиков Snabb (https://github.com/snabbco/snabb), если у разработчиков хватит времени на развитие, будет интересно
    * Поскольку информации о продукте всё равно мало, то имеет смысл подписаться на список расслыки: http://luajit.org/list.html
    * Lua:
    * https://github.com/LewisJEllis/awesome-lua – A curated list of quality Lua packages and resources.
    * http://www.luafaq.org/ – очень полный список вопросов о Lua
    * Доклад Дмитрия Котельникова «Lua Pitfalls» с Lua Workshop 2014 (слайды (https://www.lua.org/wshop14/Kotelnikov.pdf), видео (https://www.youtube.com/watch?v=-sq2JiLQY-g))
    * Коммьюнити у Lua небольшое, но действительно активное. Ещё один список рассылки http://lua-users.org/lists/lua-l/
    * Модуль lua-TestMore (https://fperrad.github.io/lua-TestMore/). Он примечателен тем, что поставляется с набором тестов для тестирования реализации языка.
    * Ещё одна реализация Lua: https://github.com/dibyendumajumdar/ravi/
    * Статья “Goodbye, Lua (https://realmensch.org/2016/05/28/goodbye-lua/)” о том, как и почему автор перестал использовать Lua
    * Описание “Computer-assisted translation” на Википедии (https://en.wikipedia.org/wiki/Computer-assisted_translation)
    Понравился выпуск? — Поддержи подкаст на patreon.com/KSDaemon (https://www.patreon.com/KSDaemon) а так же ретвитом, постом и просто рассказом друзьям!
    1 hr 14 min
  • SDCast #55: в гостях Сергей Аверин, технический эксперт и конференционный маньяк
    Рад представить вам 55-й выпуск SDCast'а! У меня в гостях Сергей Аверин, технический эксперт и конференционный маньяк из компании «Acronis». В этом выпуске мы говорим про Go, Python, параллельное программирование в Go, а так же обсуждаем обычные разработческие будни.
    В начале Сергей рассказал про то, как он сам познакомился с языком Go, на каких задачах начал его применять, и как происходило внедрение языка в компании. Вопреки расхожему мнению о том, что на Go обычно переходят с Php или JavaScript, в «Acronis» инициаторами перехода были разработчики C/C++. Для лучшего понимания, Сергей рассказал о приложениях и сервисах, о том, какие задачи необходимо было решить, и как происходил процесс внедрения, какие были сложности и трудности, а главное — какие получились бенефиты в результате перехода.
    Немного подробнее поговорили о горутинах и в целом парадигме программирования на Go. Насколько этот подход отличается от других языков, насколько легко его освоить и начать программировать. Обсудили тему кроссплатформенной разработки на Go, и в особенности написание программ под Windows.
    Так же, в компании “Acronis” активно используется Python, поэтому не обошли мы стороной и этот язык. Сергей немного рассказала про то, где и как они используют Python в своих сервисах.
    Ссылки на ресурсы по темам выпуска:
    * The Go Playground (https://play.golang.org/)
    * Статья Дмитрия Вьюкова “Go channels on steroids” (https://docs.google.com/document/d/1yIAYmbvL3JxOKOjuCyon7JhW4cSv1wy5hC0ApeGMV9s/pub)
    * Статья “Go channels are bad and you should feel bad” (http://www.jtolds.com/writing/2016/03/go-channels-are-bad-and-you-should-feel-bad/)
    * Calling a Windows DLL in Go (https://github.com/golang/go/wiki/WindowsDLLs)
    * Модуль логирования beego/logs (https://beego.me/docs/module/logs.md)
    * A Windows GUI toolkit for the Go Programming Language (https://github.com/lxn/walk)
    Понравился выпуск? — Поддержи подкаст на https://www.patreon.com/KSDaemon а так же ретвитом, постом и просто рассказом друзьям!
    1 hr 13 min
  • SDCast #54: в гостях Олег Анастасьев, ведущий программист Одноклассников
    Встречайте 54-й выпуск SDCast'а, который посвящен разработке высоконагруженных систем. У меня в гостях Олег Анастасьев, ведущий программист Одноклассников, спикер на конференциях по Java и Cassandra, эксперт в области распределенных и отказоустойчивых систем.
    В этом выпуске мы говорим об архитектуре Одноклассников, какой она была в самом начале, как развивалась, и что представляет из себя в наши дни. Олег рассказал про то, как и где они хранят пользовательские данные, как они выбирали хранилище под свои задачи, какие были требования, кандидаты и что они в итоге выбрали. Так же Олег рассказал про то, как устроен их фронтенд, имеется в виду не JavaScript и клиентский код, а фронтенд сервера, принимающие запросы от пользователей и приложений и обращающиеся за данными в хранилища и разные внутренние сервисы.
    В процессе беседы были затронуты темы подходов к архитектуре отказоустойчивых систем, вопросы масштабирования приложений, тестирования и мониторинга, а так же выкатывания обновлений. Поскольку Одноклассники используют различные open source решения, обсудили мы и тему контрибьютинга в различные open source проекты, равно как и выкладывание в open source своих наработок. Отдельно поговорили о кросс дата-центровой архитектуре, распределению данных и коммуникации между дата-центрами. Так же Олег рассказал о том, как у них проводятся теоретические и практические учения по устранению аварий.
    Ссылки на ресурсы по темам выпуска:
    * Доклад “Балансировка нагрузки и отказоустойчивость в «Одноклассниках»” (https://habrahabr.ru/post/321448/)
    * Доклад “Распределенные системы в Одноклассниках” (https://ok.ru/video/97105087088)
    * Статья “SmartMonitoring — мониторинг бизнес-логики в Одноклассниках” (https://habrahabr.ru/company/odnoklassniki/blog/321402/)
    * one-nio (https://github.com/odnoklassniki/one-nio). Unconventional I/O library for Java
    * SourceJS (https://sourcejs.com/). Living Style Guide Platform
    1 hr 22 min

About SDCast

From the publisher's feed

Software Development podCast