Pull to refresh
13
0
Антон Булавлев @tonatoz

User

Send message

За двумя зайцами погонишься — чеклист для HighLoad системы гуглить будешь

Reading time11 min
Views14K

Эта статья будет полезна, если вы начинаете проект, который может перерасти в HL (HighLoad) или у вас уже есть проект, который имеет высокую нагрузку. Каждый пункт этого чек-листа поможет избежать определенных проблем, возникающих в процессе эксплуатации таких систем. И хотя некоторые пункты могут показаться довольно очевидными, а иные даже лишними, я рекомендую ознакомиться со всем списком, т.к. судя по статьям на хабре, периодически с некоторыми из этих проблем встречаются компании, которые уже обрели некоторую популярность. Дополняя систему каким то компонентом довольно просто забыть о таких вещах, как KeepAlive между двумя сервисами, а процессы изменения и дополнения в IT происходят постоянно.

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

Ознакомиться с чек-листом
Total votes 42: ↑42 and ↓0+42
Comments12

Архитектура интерпрайз-приложений может быть другой

Reading time17 min
Views28K

image


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


Мне нравится перебирать архитектурные концепции. Всю жизнь я пытаюсь найти в области архитектуры и дизайна ПО что-то работающее и в то же время простое. Не требующее разрыва мозга для понимания и кардинальной смены парадигмы. Идей накопилось порядочно и я решил объединить лучшие из них в своём фреймворке — Reinforced.Tecture. Разработка таких штук даёт гигантское количество пищи для размышлений, я хочу ими поделиться.


Тексты про такие технические вещи обычно до ужаса нудные. Я честно постарался не нудить, поэтому мой текст получился слегка агрессивным. Если вам с этим норм и интересно почитать про архитектуры .NET-приложений — заходите.

Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments56

Современный курс по Node.js в 2020

Reading time4 min
Views110K


Дорогие товарищи инженеры, сообщество Метархия представляет вашему вниманию современный курс по Node.js, который включает глубокий разбор всех возможностей и аспектов платформы. Основной упор делается на то, как создавать надежные высоконагруженные сервера приложений и API без привязки к конкретному фреймворку и даже протоколу, т.е. абстрагировать бизнес-логику в отдельный слой. К лекциям прикреплено множество примеров кода, демонстрирующих гибкую структуру приложений и архитектурные приемы, в том числе работу с СУБД через слой доступа к данным, создание интерактивных приложений на вебсокетах, обеспечение безопасности, Graceful shutdown, межпроцессовое взаимодействие, предотвращение утечек памяти, масштабирование и кластеризацию при помощи процессов и потоков. На текущий момент в курсе 38 лекций (около 35 и ½ часов видео), 37 репозиториев с примерами кода, 4 PDF со слайдами. Перед основной частью курса по Node.js нужно сначала освоить хоть частично курс по асинхронному программированию.

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

Дизайн и математика игр-кликеров

Reading time25 min
Views85K
image

Инкрементные игры потрясающи и загадочны. Кажется, что они нарушают привычную логику хорошего геймдизайна, и тем не менее, им удаётся привлекать солидную базу игроков. Давайте изучим их более подробно, чтобы раскрыть их секрет.

Что такое инкрементная игра?


Игрок нажимает на кнопку, число увеличивается. Нажимает снова, число снова увеличивается. Игрок продолжает нажимать, и постепенно разблокирует функцию, увеличивающую число за игрока. Числа растут, даже когда вы не играете. И этот процесс повторяется вечно.

В сущности, такова общая структура «инкрементной» игры. Она кажется простой, даже примитивной, но в игровом процессе есть неожиданная глубина и привлекательность. Стили игры могут быть разными — от коммерчески успешных и казуальных Clicker Heroes и AdVenture Capitalist до более экспериментальных или хардкорных примеров, таких как Candy Box, Cookie Clicker и Sandcastle Builder.


Cookie Clicker, самое начало.

Что же самое важное в инкрементной игре? Хотя в этом жанре есть множество вариаций и экспериментов, фундаментальными аспектами дизайна являются:

  1. наличие хотя бы одной валюты или числа,
  2. которые увеличиваются с заданной скоростью с минимальными усилиями, или вообще без усилий,
  3. и которые можно тратить на увеличение скорости прироста.

Именно цикл накопления, реинвестиций и ускорения определяет основы жанра и отличает его от игр, в которых присутствует просто увеличивающийся счёт. Например, в примечательной Cookie Clicker игрок стремится к росту количества «печенек», которое изначально увеличивается нажатием на огромное печенье, а потом тратит печенье на покупку апгрейдов, позволяющих создавать ещё больше печенья.
Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments36

Django under microscope

Reading time14 min
Views13K
Если по докладу Артёма Малышева (proofit404) будут снимать фильм, то режиссером выступит Квентин Тарантино — один фильм про Django он уже снял, снимет и второй. Все подробности из жизни внутренних механизмов Django от первого байта HTTP-запроса до последнего байта ответа. Феерия работы парсер-форм, остросюжетная компиляция SQL, спецэффекты реализации шаблонизатора для HTML. Кем и как управляется connection pool? Всё это в хронологическом порядке обработки WSGI-объектов. На всех экранах страны — расшифровка «Django under microscope».



О спикере: Артём Малышев — основатель проекта Dry Python и Core-разработчик Django Channels версии 1.0. Пишет на Python 5 лет, помогал организовывать митапы «Rannts» по Python в Нижнем Новгороде. Артём может быть знаком вам под ником PROOFIT404. Презентация к докладу хранится здесь.
Total votes 36: ↑35 and ↓1+34
Comments17

Собираем полную колоду

Reading time12 min
Views15K
Колодой, если верить писателям, раньше называлась «команда», которую набирал себе вор. У каждого человека в команде была своя «масть» — специализация и назначение. Вот что пишет об этом Борис Акунин в книге «Любовник смерти»:

«Пацаны рассказывали, что у настоящих деловых, кто по законам живет, шайка „колодой“ называется, и в каждой колоде свой кумплект. Кумплект — это восемь фартовых, каждый при своем положении. Главный — »король"; при нем маруха, по-деловому «дама»; потом «валет» — вроде как главный помощник; ну и прочие бойцы, от десятки до шестерки. А больше восьми человек в шайке не держат, так уж исстари заведено."

Меньше восьми людей брать смысла нет, будут пробелы в «компетенциях». Больше — нельзя, будет дублирование и потеря управляемости.



Как ни странно, тот же Джефф Сазерленд, один из авторов скрама, называл похожие цифры — от 5 до 9 человек. Хотя и не уточнял специализацию.

Ну да ладно. А мы продолжаем тему построения команд по ролям, на основе тестов Белбина.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments18

Как работает, и работает ли вообще разговорная психотерапия

Reading time30 min
Views67K
Привет, Хабр!

Прошлые мои статьи были посвящены, в основном, вопросам фармакологии, но это не совсем моя тема, я всё-таки клинический психолог (с недавних пор), поэтому сегодня мы поговорим о разговорной терапии во всех её проявлениях.



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

В конце бонус для любителей видеоформата (если таковые найдутся): запись презентации на тему этой статьи: если лениво читать, можно посмотреть.
Total votes 43: ↑42 and ↓1+41
Comments146

Книги для начинающих руководителей или почему так важно читать

Reading time3 min
Views33K
Любой человек, который хочет стать спецом в своем деле, должен читать профессиональную литературу. Не важно, кто он: инженер по тестированию, программист или менеджер. Особенно актуально получение книжных знаний для руководителей любого уровня.

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

Последнее время ко мне часто обращаются начинающие тимлиды и руководители продуктов с вопросами: а что почитать на тему управления? что почитать на тему планирования? что почитать про управление рисками?

Я читал и читаю довольно много книг. Хорошие книги, которые мне понравилось, записываю, чтобы потом порекомендовать. Я решил сделать небольшую подборку must have книг, которые должен прочитать каждый начинающий руководитель. Одно из требований, чтобы эти книги были не только полезными, но и интересными. Книги должны заинтересовать человека развиваться в управлении, ни в коем случае не демотивировать.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments11

Библиотека вебинаров по SAP Cloud Platform: от сервисов для интернета вещей до machine learning и UX

Reading time2 min
Views5.5K
Мы подготовили подборку из 11 вебинаров по SAP Cloud Platform, которые охватывают широкий круг тем: от общего обзора платформы до функций и сервисов по работе с интерфейсами, вопросов о безопасности, сервисов для интернета вещей, машинного обучения и многое-многое другое.

1. Обзорный вебинар о платформе SAP Cloud Platform

Первый вебинар посвящен общему обзору платформы SAP Cloud Platform. Зачем SAP создал свою облачную платформу. Видение платформы со стороны SAP. В каких приложениях SAP Cloud Platform может использоваться. В чём польза от SCP для клиентов SAP. Какие сервис доступны на SAP Cloud Platform.


Total votes 9: ↑9 and ↓0+9
Comments1

Краткий курс машинного обучения или как создать нейронную сеть для решения скоринг задачи

Reading time28 min
Views209K
image

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

Если тебе интересно машинное обучение, то приглашаю в «Мишин Лернинг» — мой субъективный телеграм-канал об искусстве глубокого обучения, нейронных сетях и новостях из мира искусственного интеллекта.

Вопросы, которые разобраны в статье:

• Как собрать и подготовить данные для построения модели?
• Что такое нейронная сеть и как она устроена?
• Как написать свою нейронную сеть с нуля?
• Как правильно обучить нейронную сеть на имеющихся данных?
• Как интерпретировать модель и ее результаты?
• Как корректно оценить качество модели?
Поехали!
Total votes 51: ↑42 and ↓9+33
Comments43

Относительно надежные способы получения дохода на биржах криптовалют

Reading time12 min
Views67K
В интернете, реклама, поисковые системы или в публичных чатах, постоянно появляются люди, которые с готовностью вам расскажут, как можно заработать много денег без труда и риска. При ближайшем рассмотрении видно что это скорее всего либо мошенник, либо продвигает проекты других мошенников, получая за это некоторую прибыль как рекламодатель. Либо вам будут предлагаться не самые честные способы отъема денег у населения, типа накруток, спама или перепродажи тех же 'кредитов' под 100500% недалеким людям.

Попробую разбавить этот поток мусорной информации чем то полезным, относительно честными и не сильно рискованными способами приумножить свои капиталы.

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

Будьте готовы потратить только те средства, которые готовы потерять.
Читать дальше →
Total votes 27: ↑20 and ↓7+13
Comments51

Не убивайте свою мотивацию: осваивайте Ruby on Rails на интересных примерах

Reading time8 min
Views43K
Все же помнят, как это бывает: учишься ты чему-то новому, но вдруг раз и приуныл. А все почему? Потому что разработка типовых приложений при обучении скучна до зубовного скрежета.

Подобные задания становятся УБИЙЦАМИ мотивации №1.

Лично я не хочу, чтобы мои ученики теряли мотивацию и сдавались на полпути. Поэтому я создал этот километровый список из 27 забавных идей для приложений, которые вы можете создать, пока обучаетесь использовать React на пару с Ruby on Rails.


Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments25

N+5 полезных книг

Reading time5 min
Views58K


Привет! Это пятый с 2010 года список полезных книг. Набралась всего дюжина за два года. Смотрите, что можно скачать в дорогу или просто почитать, когда будет время, и делитесь, пожалуйста, в комментариях своими (я буду поднимать их в пост). В этой подборке довольно много социнжиниринга, точнее, тем около него. Поехали.

Конструкции, или почему не ломаются вещи, Дж. Гордон
Прекрасная, хоть и очень длинная штука, которая рассказывает про сопромат простыми словами и почти для детей. Но на уровне жёсткого хардкора. По своей полезности для осознания физики вокруг может сравниться с не менее прекрасной современной «Квантовая вселенная. Как устроено то, что мы не можем увидеть» Брайана Кокса и Джеффа Форшоу. Рекомендую обе. Будет, что почитать в дороге, если вдруг почувствуете, что играть на планшете надоело. И о чём подумать, когда выяснится, что вся та фигня, которую вам давали на уроках химии, физики и прочего в школе и университете вдруг начинает выстраиваться в стройную теорию.

Evil by Design, Крис Ноддер
Один из лучших подходов к проектированию чего-то хорошего — это спроектировать сначала самое ужасное из возможного. Пользователь обычно не скажет, как сделать ему хорошо, но точно знает, как бывает плохо. Например, юзер не говорит «я хочу, когда нажимаю на ссылку напоминания пароля, там в поле уже была введена почта», зато вполне способен сказать: «слушай, меня дико бесит, когда логинишься, тебе показывают новую страницу про то, что пароль не подошёл, и, чтобы его восстановить, надо ещё один долбанный раз вводить почту». Вся книга Криса состоит из таких «тёмных» шаблонов, когда какие-то гады намеренно вводят вас в заблуждение. Он там очень переживает за этику, поэтому вступления лучше пропустить. Единственная в этом обзоре книга на английском, но довольно простом.
Читать дальше →
Total votes 66: ↑64 and ↓2+62
Comments34

Самое главное о нейронных сетях. Лекция в Яндексе

Reading time30 min
Views184K
Кажется, не проходит и дня, чтобы на Хабре не появлялись посты о нейронных сетях. Они сделали машинное обучение доступным не только большим компаниям, но и любому человеку, который умеет программировать. Несмотря на то, что всем кажется, будто о нейросетях уже всем все известно, мы решили поделиться обзорной лекцией, прочитанной в рамках Малого ШАДа, рассчитанного на старшеклассников с сильной математической подготовкой.

Материал, рассказанный нашим коллегой Константином Лахманом, обобщает историю развития нейросетей, их основные особенности и принципиальные отличия от других моделей, применяемых в машинном обучении. Также речь пойдёт о конкретных примерах применения нейросетевых технологий и их ближайших перспективах. Лекция будет полезна тем, кому хочется систематизировать у себя в голове все самые важные современные знания о нейронных сетях.



Константин klakhman Лахман закончил МИФИ, работал исследователем в отделе нейронаук НИЦ «Курчатовский институт». В Яндексе занимается нейросетевыми технологиями, используемыми в компьютерном зрении.

Под катом — подробная расшифровка со слайдами.
Читать дальше →
Total votes 136: ↑133 and ↓3+130
Comments16

Биохакинг мозга: куда располагать электроды, чтобы стать умнее?

Reading time10 min
Views60K
Сейчас в поле зрения общественного внимания попадает всё больше исследований tDCS – транскраниальной стимуляции постоянным током. Довольно большое количество научных работ последних лет демонстрируют, что tDCS может улучшать когнитивные способности не только при лечении болезней, но и у совершенно здоровых людей. Среди них – реакция, внимание, память и обучение иностранным языкам. Успехи научных исследований привлекли внимание DIY сообщества, которое взяло технологию на вооружение и стало активно применять tDCS на себе.

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

Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments91

43 полезных сервиса для управления проектами. Без эпитетов

Reading time13 min
Views691K
Дано: собственные и аутсорс-проекты, некоторые участники работают удаленно.

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

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

Изначально сервисов было более 100, но постепенно список сокращался, и мы остановили наш выбор на трех, удовлетворяющих вместе наши нужды лучше всего: Jira, Slack и GanttPro. Но, если вдруг эти сервисы не помогут вам в планировании задач и работы с командой, делюсь с вами полным списком:

Процесс поиска очень часто усложняется тем, что все сервисы, как один, пишут «Лучший сервис, помогающий превратить ваши идеи в реальность и реализовать ваши проекты. Сегодня.». Так, а что вы делаете-то? Поэтому в этом списке без лишних эпитетов, только что какой сервис умеет. :)




Читать дальше →
Total votes 38: ↑32 and ↓6+26
Comments46

Учебное пособие по Nim (часть 1)

Reading time31 min
Views18K
Примечание от переводчика
Этот перевод делался по мотивам комментария от пользователя stas3k, в котором он предложил frol перевести две части «Nim Tutorial». Меня это заинтересовало и я перевёл их самостоятельно, в меру своего разумения. Ежели кто найдёт ошибки (они там наверняка есть — глаз под конец совсем уже замылился), сообщайте в личку, буду править.

Введение


“Der Mensch ist doch ein Augentier – schöne Dinge wünsch ich mir.”
(Цитата из песни «Morgenstern» группы «Rammstein». Примерный перевод: «Но человек – глазастый зверь, – мне нужно множество красивых вещей».)

Это – обучающий материал (tutorial) по языку программирования Nim. Предполагается, что вы знакомы с базовыми концепциями программирования, такими как переменные, типы или команды, но глубокие знания не обязательны. Большое количество примеров по сложным нюансам языка, вы можете найти в официальном руководстве. Все примеры кода в этом документе следуют руководству по стилю языка Nim.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments22

Учебное пособие по Nim (часть 2)

Reading time19 min
Views7K
Примечание от переводчика
Первая часть находится здесь: «Учебное пособие по Nim (часть 1)»

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


Введение


«Повторение придаёт нелепости вид благоразумия.» – Норман Вайлдбергер

(в оригинале: "Repetition renders the ridiculous reasonable." – Norman Wildberger)

Этот документ является учебным пособием по сложным конструкциям языка Nim. Помните, что этот документ в чём-то устарел, а в руководстве есть гораздо больше актуальных примеров по сложным особенностям языка.

Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments5

Как зарабатывать на Upwork?

Reading time1 min
Views17K
Это очередной доклад фрилансера с апворка для начинающих или сомневающихся, некоторые tips & tricks и чёткий алгоритм действий по достойному заработку на Upwork.



Содержание доклада
  1. Сколько можно зарабатывать?
  2. Как выводить деньги?
  3. Налоги
  4. Конкуренция
  5. Заполнение профиля
  6. Поиск первых заказов для рейтинга
  7. Разбор примера объявления и заявки
  8. Трекинг времени
  9. Анализ эффективности поиска работы
  10. Поиск работы мечты

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

Прошу подписаться на канал, кому интересна тематика/личность/манера подачи. В будущем также планирую много видео по игровому обучению, программированию и подобным тематикам.
Total votes 18: ↑17 and ↓1+16
Comments22

PostgreSQL: Приемы на продакшене

Reading time9 min
Views89K
Можно прочитать много книг по базам данных, написать кучу приложений на аутсорс или для себя. Но при этом невозможно не наступить на грабли, при работе с действительно большими базами/таблицами особенно, когда downtime на большом проекте хочется свести к минимуму, а еще лучше совсем избежать. Вот здесь самые простые операции, как например изменение структуры таблицы может стать более сложной задачей. Наиболее интересные случаи, проблемы, грабли и их решения из личного опыта с которыми нам на проекте Pushwoosh пришлось столкнуться описаны под катом. В статье нет красивых картинок, зато есть много сухого текста.

image
Читать дальше →
Total votes 75: ↑70 and ↓5+65
Comments18
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity