Pull to refresh
0
0
Вадим @Ninib

Ведущий программист/Архитектор/Системный аналитик

Send message

Уровни изолированности транзакций для самых маленьких

Level of difficultyEasy
Reading time11 min
Views14K

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

Если у вас есть собственные кейсы, которыми вы бы хотели поделиться, пишите в комментариях. 

Читать далее
Total votes 16: ↑13 and ↓3+10
Comments9

Асинхронность, конкурентность, параллельность, многопоточность — разбираемся «по понятиям» :)

Reading time15 min
Views23K

Эта статья представляет собой краткий (шутка!) конспект одноименного (почти) вебинара, недавно проведенного автором.

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

Ну и немного раскрыть глаза на то, что, оказывается в PHP есть и асинхронность, и многопоточность, и в общем-то не нужно ждать мифической версии PHP 10, чтобы начать их использовать уже прямо сейчас!

Лонг-рид с кодом ждёт вас!
Total votes 31: ↑31 and ↓0+31
Comments19

Часть 1. Управление знаниями в Obsidian. Обработка информации. Рабочий процесс. Источники информации. Работа с заметками

Level of difficultyHard
Reading time40 min
Views142K

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

Начнём долгий путь
Total votes 43: ↑40 and ↓3+37
Comments73

Читаем EXPLAIN на максималках

Reading time19 min
Views61K

Многим, кто работает с MySQL, известно, что команда EXPLAIN используется для оптимизации запросов, получения информации об использованных и возможных индексах. Большинство разработчиков и администраторов СУБД этой информацией и ограничивается. Я же предлагаю изучить команду EXPLAIN максимально подробно.

Читать далее
Total votes 21: ↑19 and ↓2+17
Comments14

Старение и бессмертие: взгляд биолога

Reading time9 min
Views99K

Когда я обучался в магистратуре, нам читал лекции профессор Валерий Степанович Тырнов, исследователь старения. Натура увлечённая, он рассказывал немало удивительного. Например, о том, что обнаружил на сыре штамм плесени, способный расти при отрицательных температурах, который содержит в морозилке, несмотря на протест жены. Профессор надеялся принять с этим штаммом участие в экспериментах, изучающих возможности терраформирования Марса. Ещё он рассуждал о внедрении в геном человека генов, отвечающих за фотосинтез, с целью получения «зелёных человечков», питающихся солнечным светом. Когда я сдавал экзамен профессору, у него уже отказывало зрение. В следующем семестре Валерий Степанович умер. Он пытался успеть победить старение, но не успел. Рассуждая вслух, Валерий Степанович говорил, что первый заметный признак старения у человека проявляется очень рано, зачастую – в подростковом возрасте. Это – кариес постоянных зубов.

Читать далее
Total votes 82: ↑74 and ↓8+66
Comments455

Load Average в Linux: разгадка тайны

Reading time18 min
Views213K


Средние значения нагрузки (Load averages) — это критически важная для индустрии метрика. Многие компании тратят миллионы долларов, автоматически масштабируя облачные инстансы на основании этой и ряда других метрик. Но на Linux она окутана некой тайной. Отслеживание средней нагрузки на Linux — это задача, работающая в непрерываемом состоянии сна (uninterruptible sleep state). Почему? Я никогда не встречал объяснений. В этой статье я хочу разгадать эту тайну, и создать референс по средним значениям нагрузки для всех, кто пытается их интерпретировать.

Читать дальше →
Total votes 127: ↑125 and ↓2+123
Comments25

Не все частицы и античастицы можно разделить на материю и антиматерию

Reading time9 min
Views13K


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

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

Одно из них – симметрия материи и антиматерии. Каждое взаимодействие, в котором рождаются или уничтожаются частицы материи, уничтожает или порождает равное количество их двойников из мира антиматерии – античастицы. Учитывая, что наша Вселенная почти полностью состоит из материи, и почти не содержит антиматерии (нет никаких звёзд, галактик или стабильных космических структур, состоящих из антиматерии), эта симметрия, очевидно, была нарушена в прошлом. Однако как именно это произошло, остаётся тайной. Загадка асимметрии материи/антиматерии остаётся одним из величайших открытых вопросов физики.
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments100

Основные функции ETL-систем

Reading time7 min
Views321K
ETL – аббревиатура от Extract, Transform, Load. Это системы корпоративного класса, которые применяются, чтобы привести к одним справочникам и загрузить в DWH и EPM данные из нескольких разных учетных систем.

Вероятно, большинству интересующихся хорошо знакомы принципы работы ETL, но как таковой статьи, описывающей концепцию ETL без привязки к конкретному продукту, на я Хабре не нашел. Это и послужило поводом написать отдельный текст.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments6

Построение инфраструктуры распределенной трассировки Netflix

Reading time11 min
Views2.3K

«@Netflixhelps Почему "Король тигров" не идет на моем телефоне?» — подписчик Netflix спрашивает через Twitter

Это пример вопроса, на который инженерам нашей службы поддержки приходится отвечать в попытке помочь подписчику решить его проблему, — а это очень сложно, когда вы имеете дело с распределенной системой. Для анализа неполадок со стримингом видео требуется проверка всех аспектов работы учетной записи подписчика. В предыдущей статье нашего блога мы рассказали об Edgar, нашей системе поиска и устранения неисправностей в сеансах стриминга. Теперь давайте поговорим о том, как мы спроектировали инфраструктуру трассировки, на основе которой работает Edgar.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments0

Знакомство с проигрывателями винила и находками по теме: обсуждаем экспертные обзоры и гайды

Reading time3 min
Views9.8K

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

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments0

Переход с bash на zsh

Reading time12 min
Views192K

Чтобы перейти с bash на zsh необходимо знать базовые отличия между ними — без этого будет сложно провести первоначальную настройку zsh в ~/.zshrc.


Я не нашёл краткого описания этих отличий когда переходил сам, и мне пришлось потратить немало времени на вычитывание документации zsh. Надеюсь, эта статья упростит вам переход на zsh.


Зачем переходить


Для начала — а стоит ли вообще тратить своё время и внимание на переход? Учить ещё один диалект sh, менее распространённый чем POSIX sh или bash, заново заниматься настройкой рабочего окружения…


На мой взгляд, если вы проводите много времени в консоли, вам нравятся Vim или Emacs и вы уже потратили немало времени на их настройку "под себя" — однозначно стоит! Zsh по духу очень на них похожа: это очень сложная и гибкая программа, чьи возможности полностью мало кто знает, но потратив некоторое время на настройку можно получить очень удобную лично вам рабочую среду.

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

Ты можешь писать безупречные ТЗ, но какой в этом толк, если разработчик твой плачет?

Reading time9 min
Views23K


В далекой-далекой галактике трудится сферический product owner. Он бегло пишет заметки на салфетке и молча отдает ее разработчикам. А вскоре получает готовый продукт, который на 100% соответствует его ожиданиям. Даже если продукт этот – сложный кроссплатформенный сервис с блэкджеком и адаптивностью.

Возможно ли такое на практике?
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments29

Zettelkasten: как один немецкий учёный стал невероятно продуктивным

Reading time18 min
Views368K
Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша

Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хотите создать собственную базу знаний, систематизировать идеи и перестать забывать важные мысли.

Статья бережно перенесена из блога бегущего редактора. Кстати, следить за анонсами новых статей можно в моём телеграм-канале. Подписывайтесь, чтобы ничего не пропустить!
Читать дальше →
Total votes 52: ↑48 and ↓4+44
Comments82

Как я веду Zettelkasten в Notion уже год: стартовый набор и полезные трюки

Reading time8 min
Views171K

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

Я почитал русскоязычные и англоязычные ресурсы и не нашел ни нормального шаблона для Notion, ни объяснения как реализовать главные преимущества метода Zettelkasten. Под катом и то, и другое. 

UPD: На текущий момент, статья безбожно устарела, потому что за еще один год я набрался опыта, помогая другим людям организовать их Цеттели и наблюдая за чужим опытом. А еще Notion выпустил несколько фич, заточенных именно под Цеттель. И теперь мне совестно, как новички страдают, разбираясь в теме после меня.

Эту статью можно почитать для понимания основ, но актуальные источники информации тут:

  • У меня в Психотронке можно следить за подготовкой обновленной версии, ну и написать мне за помощью. А можете не следить: версия 2.0 выйдет на Хабре.
  • В русскоязычном сообществе Zettelkasten в Телеграме сидят люди, которые хорошо разбираются в теме. Мы обожаем помогать новичкам.

Дисклеймер: ни Notion, ни автор метода мне за статью не платили.
Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments88

Нам нужно поговорить…

Reading time11 min
Views16K
Иногда инженеры теряют интерес к проектам, задачам и к компании — мотивация падает, а с ней и производительность. В итоге сотрудники выгорают и/или увольняются. Для этого много причин, но самая распространенная — отсутствие внимания к успехам и проблемам инженеров.



В ЦФТ эту проблему решили регулярные встречи с инженерами один на один. Встречи помогают: вовремя выявить проблемы в работе, профессионально развиваться, повышать мотивацию и находить новые смыслы. О том, как готовиться ко встречам, какие вопросы задавать и как регулярно их проводить, расскажет Михаил Емельянов. Теперь вы будете знать, что делать, если инженер сказал: «Нам нужно поговорить...»

Михаил Емельянов — Head of Android Department в ЦФТ. В IT-разработке 12 лет, с Android — 10, из которых 2 года руководит командой Android-разработки в ЦФТ. Разрабатывал проект мультимедиа, различные проекты в финтехе и запускал стартапы.
Total votes 27: ↑25 and ↓2+23
Comments9

Пора обновить ваш монитор

Reading time16 min
Views174K

Иллюстрация: Юлия Прокопова

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

Поэтому я оптимизирую настройки, чтобы показывать действительно, действительно хорошие буквы. Для этого необходим хороший монитор. Не просто нужен, а ОБЯЗАТЕЛЕН. А под «хорошим» я имею в виду настолько хороший, насколько это возможно. Это мои мысли, основанные на моём собственном опыте того, какие мониторы лучше подходят для программирования.
Читать дальше →
Total votes 181: ↑148 and ↓33+115
Comments991

Наблюдаемость SRE: пространства имен и структура метрик

Reading time6 min
Views3.1K

Spyglass by Shorai-san

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

Это дает ряд преимуществ: просмотр определенных подмножеств данных, определение метрики с точки зрения ее дочерних элементов и установление соотношений между метриками.

Команда Mail.ru Cloud Solutions перевела статью, в которой рассматриваются свойства пространств имен метрик, позволяющие постепенно увеличивать детализацию запросов и переходить к подмножествам данных, а также просматривать метрику с точки зрения метрик, из которых она состоит. Многие из этих концепций вам знакомы, так как они реализованы в нативных решениях для облачного мониторинга, таких как Prometheus и DogStatsD.
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments0

На что мы обращаем внимание при расчете статистической значимости A/B-теста

Reading time11 min
Views25K
В Учи.ру мы стараемся даже небольшие улучшения выкатывать A/B-тестом, только за этот учебный год их было больше 250. A/B-тест — мощнейший инструмент тестирования изменений, без которого сложно представить нормальное развитие интернет-продукта. В то же время, несмотря на кажущуюся простоту, при проведении A/B-теста можно допустить серьёзные ошибки как на этапе дизайна эксперимента, так и при подведении итогов. В этой статье я расскажу о некоторых технических моментах проведения теста: как мы определяем срок тестирования, подводим итоги и как избегаем ошибочных результатов при досрочном завершении тестов и при тестировании сразу нескольких гипотез.

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

Elemental: War of Magic – новая пошаговая стратегия от студии Stardock

Reading time1 min
Views1.2K
Elemental: War of Magic – новая пошаговая стратегия от студии Stardock

Компании ’’1С-СофтКлаб’’ и Snowball Studios локализуют и выпустят в России пошаговую стратегию Elemental: War of Magic от студии Stardock, широко известной в узких кругах своими хардкорными стратегиями Galactic Civilizations и Galactic Civilizations 2.

Русское название игры — «Elemental. Войны магов». Релиз российского издания запланирован на третий квартал 2010 года, одновременно с мировой премьерой проекта.
Читать дальше →
Total votes 73: ↑54 and ↓19+35
Comments39

10 лучших stop-motion видеороликов на YouTube

Reading time2 min
Views46K
imageСоздание stop-motion видеороликов — труд зачастую бескорыстный, но достаточно кропотливый. Ниже представлена коллекция из десяти видеороликов, созданных людьми, которые были по-настоящему вовлечены в свою работу.

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

Итак, 10 невероятных покадровых видеороликов:

1. Stop Motion With Wolf And Pig



В этом видео, отлично показано, что можно сделать располагая всего лишь фотоаппаратом, воображением и хрюшкой из папье-маше.
Читать дальше →
Total votes 103: ↑93 and ↓10+83
Comments50
1

Information

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