Привет. Душа просит выговориться, так что я пришел к тебе – заодно надеюсь поделиться чем-то полезным с молодыми айтишниками. За свою карьеру я прошел через фриланс, стажировки, корпорации, смену профессии и даже запуск собственного SaaS'а (об этом как-нибудь отдельно...). Я наделал кучу ошибок и набил болезненных шишек. Под катом я вспоминаю 5 важных уроков, которые я бы хотел получить 10 лет назад.
Рубрика «консистентность»
Я проработал в IT больше 10 лет. Вот 5 вещей, которые я бы хотел знать, если бы начинал сейчас
2024-06-09 в 9:12, admin, рубрики: выгорание, Карьера в IT-индустрии, консистентность, начинающим, обучение, производительностьКак заставить код выполняться за одинаковое время? Способы от Яндекс.Контеста
2020-08-27 в 7:00, admin, рубрики: Блог компании Яндекс, высокая производительность, Занимательные задачки, конкурсы разработчиков, консистентность, Процессоры, чемпионат по программированиюНедавно мы объявили на Хабре, что начинаем принимать заявки на Яндекс.Алгоритм и другие треки чемпионата по программированию Yandex Cup. Уже много лет онлайн-соревнования Яндекса и других компаний проходят на платформе Контест. Меня зовут Павел Тыквин, я один из разработчиков Контеста. Основная задача нашей платформы — получить от участника чемпионата исходный код решения, скомпилировать и запустить этот код, прогнать тесты и вернуть результат. Звучит не очень сложно. Давайте попробуем.
int main()
{
int n = 500000000;
int *a = new int[n + 1];
for (int i = 0; i <= n; i++)
a[i] = i;
for (int i = 2; i * i <= n; i++)
{
if (a[i]) {
for (int j = i*i; j <= n; j += i) {
a[j] = 0;
}
}
}
delete[] a;
return 0;
}
Контроль консистентности кода в Go
2018-11-10 в 3:51, admin, рубрики: Go, golang, linter, open source, консистентность, Программирование, Совершенный код, управление разработкой
Если вы считаете консистентность важной составляющей качественного кода — эта статья для вас.
Вас ждут:
- Разные способы сделать одно и то же в Go (эквивалентные операции)
- Менее очевидные факторы, влияющие на однородность вашего кода
- Способы увеличения консистентности вашего проекта
Лекция Яндекса: Advanced UI, часть первая
2017-12-03 в 13:40, admin, рубрики: activity, activity state, CustomView, layout, layoutmanager, ui/ux, view, Блог компании Яндекс, интерфейсы, клавиатуры, консистентность, разработка мобильных приложений, Разработка под android, сохранение состоянияМы опубликуем несколько лекций Школы мобильной разработки 2017 года. Эта школа — часть проекта Яндекса «Мобилизация». Здесь можно найти видеокурсы, составленные по итогам «Мобилизации» прошлого года.
Лекцию «Advanced UI» прочитал Дмитрий Свирихин — разработчик из команды мобильной Яндекс.Почты. Дмитрий объясняет, как при разработке интерфейса Android-приложения решать самые распространённые проблемы.
Давайте резюмируем все вышесказанное про темы. Единообразные UI-элементы мы должны стилизовать с помощью тем, при этом нам не нужно писать всю тему с нуля, мы можем унаследоваться от какой-то системной темы и первоначально задавать некоторое подмножество атрибутов для этой темы.
Мифы о CAP теореме
2017-02-21 в 6:37, admin, рубрики: big data, CAP теорема, nosql, YT, Алгоритмы, Анализ и проектирование систем, доступность, консистентность, Промышленное программирование, распределенные системыВведение
Давно хотел написать про мифы о CAP теореме, но как-то все не доходили руки. Однако, почитав очередной опус, схватился за голову и решил разложить все по полочкам, чтобы в мозгах возникла стройная картина.
Событие, когда какая-то статья вызывает бурю эмоций, — крайне редкое. Первый раз такое возникло, когда я прочитал про chained replication. Меня пытались убедить, что это мощный подход и что это лучшее, что могло произойти с консистентной репликацией. Я сейчас не буду приводить доводы, почему это плохо работает, а просто приведу говорящую цитату из статьи Chain Replication metadata management:
Split brain management is a thorny problem. The method presented here is one based on pragmatics. If it doesn’t work, there isn’t a serious worry, because Machi’s first serious use case all require only AP Mode. If we end up falling back to “use Riak Ensemble” or “use ZooKeeper”, then perhaps that’s fine enough.
В моем вольном пересказе это означает примерно следующее: "У нас тут есть некий алгоритм. Мы не знаем, будет ли он работать правильно или нет. Да нам это и не важно". Хотя бы честно, сэкономило кучу времени, спасибо авторам.
И тут, значит, попадается на глаза статья: Spanner, TrueTime & The CAP Theorem. Её мы разберем по полочкам ближе к концу, вооружившись понятиями и знаниями. А перед этим разберем самые распространенные мифы, связанные с CAP теоремой.