Search
Write a publication
Pull to refresh
0
Иван @sivolob93read⁠-⁠only

User

Send message

Гайд начинающего тимлида

Reading time14 min
Views58K

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

Всё это я проговаривал на вебинаре в Хекслете тут https://www.youtube.com/watch?v=y_HkXvFovAc

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

Общий стаж моей работы в ИТ - около 14 лет. Я начинал с системного администрирования, потом перешел в разработку, поработав как в аутсорсе, так и в продукте. Не один раз проходил путь от рядового разработчика до тимлида.

Читать далее

14 Python-пакетов, про которые вы скорее всего не знали

Reading time6 min
Views30K


Язык Python предоставляет всем пользователям возможность создавать свои пакеты и делиться ими со всем сообществом. Так появлялись очень популярные библиотеки для работы с данными (Pandas, Numpy, Matplotlib), для машинного обучения (TensorFlow, PyTorch), для веб разработки. Но есть много смешных, полезных или интересных пакетов, про которые вы вероятно никогда не слышали. Именно про них и пойдёт речь дальше.

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

Транзакции. Часть 1. Конспект книги «Designing Data-Intensive Applications»

Reading time12 min
Views13K

Эта статья является конспектом книги «Designing Data-Intensive Applications».

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

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

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

Читать далее

Как оценить процессы в компании + комментарии разработчика

Reading time6 min
Views9.6K

Собеседование — только полдела. На интервью не всегда очевидно, как на самом деле будут устроены рабочие процессы, и реальность может оказаться не такой радужной. Как выбрать тот проект, где будешь по-настоящему счастлив? На Stack Overflow пользуются тестом Джоела — это 12 вопросов, которые должны помочь оценить качество работы команды. 12 простых вопросов, да/нет ответы. Но этому списку уже 20 лет, и Gergely Orosz пообщался со множеством разработчиков и адаптировал тест к современным реалиям. Приводим перевод нескольких блоков и комментарии разработчика: он как раз недавно вышел работать в новую компанию.




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

Реализация процессорной архитектуры из книги Чарльза Петцольда «Код. Тайный язык информатики»

Reading time6 min
Views8.3K

Наверное многие, из тех, кто увлекается изучением того, как работает компьютер на самом низком уровне читали такие книги как: Таненбаум "Архитектура компьютера" или Харрис, Харрис "Цифровая схемотехника и архитектура компьютера", которые безусловного являются объемлющими трудами и хорошими книгами для обучения. Но если вы не являетесь инженером, но всё равно хотите погрузиться в мир цифровых вычислений и более глубоко понять то, а как же работает компьютер. В этом вам сможет помочь книга Чальза Петцольда "Код. Тайный язык информатики", которая начинает свой рассказ от причин, по которым людям понадобился обмен информацией и её обработка , с какими проблемами при этом столкнулись и заканчивает рассказам об устройстве реальных операционных систем и процессоров и их архитектуру. При этом автором был отлично подобран уровень абстракции, которого он придерживался при написании. В каких-то моментах подробно описывая работу элементарных частей процессора, а в других рассказывая простыми словами о сложных вещах.

Читать далее

Китайцы создали альтернативу Android и iOS на Ubuntu для смартфонов и планшетов

Reading time2 min
Views24K

Импортозамещение в Китае активно реализуется. На днях была представлена мобильная операционная система JingOS, которая предназначена для планшетов. В ближайшее время разработчики планируют создать и версию для смартфонов, так что эта ОС — прямой конкурент (пока лишь для Китая) Android и iOS.

Сейчас ОС работает на планшетных ПК с x86-процессорами. Вскоре будет выпущена ARM-версия, для смартфонов и планшетов с чипами на этой архитектуре. Система уже вышла из стадии прототипа, с ней можно полноценно работать. Основа ее — Ubuntu 20.04, которая вышла весной прошлого года. Сейчас она доступна в виде бета-версии, китайцы выложили систему в свободном доступе.
Ежегодно LinkedIn публикует списки «мягких» и «твёрдых» навыков, которые необходимы для продвижения по карьерной лестнице и востребованы рынком. В 2020 году в топ soft skills вошли креативность, убедительность и умение работать в команде, а самыми важными hard skills стали облачные вычисления и аналитическое мышление. А мы вместе с «Яндекс.Практикумом» решили узнать у нашей аудитории, как увеличивают свою суперсилу IT-специалисты, какие навыки нужны, чтобы котироваться на рынке, и как учиться новому в сфере своих компетенций. Результатами опроса мы поделимся в отдельном посте, а пока... погнали?
Пройти опрос

Почему линукс использует swap-файл

Reading time8 min
Views105K

Жажда тюнинга может завести в неведомые дебри. И, пожалуй, едва ли не самая частая неправильная оптимизация - отключение swap-файла. Если прикинуть частоту, с которой эта ошибка встречается, то, наверное, она входит в негласный top-10 (а может и top-5) самых распространенных, самых бесполезных и самых вредных оптимизаций - потому что swap-файл это одна из самых интересных, сложно понимаемых и недооцененных  сущностей в подсистеме управления виртуальной памятью.

Читать далее

VPN вас не спасет: как собирают персональные данные через SuperСookies

Reading time11 min
Views40K


Томас Даннинг говорил: «При 300 процентах [прибыли] нет такого преступления, на которое он [капитал] не рискнул бы, хотя бы под страхом виселицы». Эти слова, сказанные в XIX веке, актуальны до сих пор. Компании, которые ведут бизнес в интернете, изобретают все более изощренные способы слежки за пользователями. 

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

Но потом появились Supercookies — довольно липкая штука, которую буквально не обойти. 

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

Как наивность разработчиков создала основы для сбора персональных данных 


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

Эти проблемы зарождались, когда компьютеры были большими, а программисты — несколько наивными. Например, одна из уязвимостей сотовых сетей возникла по той же причине наивности: Страх и ужас SS7
Читать дальше →

Пишем свой парсер математических выражений и калькулятор командной строки

Reading time14 min
Views24K


Примечание: полный исходный код проекта можно найти здесь.

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

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

Как создавать красивые карты с помощью Python

Reading time4 min
Views24K
Мне всегда нравились карты городов, и несколько недель назад я решил создать свою собственную, художественную версию. Немного погуглив, я обнаружил крутое руководство, написанное Фрэнком Себальосом. Оно увлекательно и полезно, но я предпочитаю более подробные/реалистичные карты-схемы. Из-за этого я решил создать свою собственную версию карт. Итак, давайте посмотрим, как мы можем создавать красивые карты с помощью Python и данных OpenStreetMap.

Приятного чтения!

Как без усилий сократить объем входящего в дата-центр трафика на 70%

Reading time6 min
Views32K

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

Единственное, о чем мы пожалели — что не применили это решение раньше.

Читать далее

Секреты разработчика, продавшего полмиллиона копий игр

Reading time6 min
Views29K
bit blaster xl


За время нашей получасовой беседы Адам Никерсон, он же Nickervision Studios, по крайней мере дюжину раз повторил разные вариации фразы «На самом деле я не знаю, как делать видеоигры». Однако ему удалось в одиночку продать полмиллиона копий своих игр для PC.

Вероятно, вы ни разу не слышали, например, о Bit Blaster XL, но в Steam она разошлась тиражом 260 000 копий. Адам разработал её в одиночку всего за две недели. Её продолжение, которое близится к такому же успеху, было разработано за 75 часов.

Как ему это удалось? Он нашёл способ стать замеченным на Steam в наше время почти бесконечного потока новых релизов, время, разрушившее надежды и мечты многих других мелких разработчиков.

Обзор инструментария для нагрузочного и перформанс-тестирования

Reading time11 min
Views75K
Как говорят иные отважные люди: «От dev до prod — всего один шаг». Люди опытные добавляют, что шаг этот называется «тестирование», причём самое разнообразное, и нам просто нет смысла им не верить.



Нагрузка имеет значение: водитель этого грузовика умудрился обрушить мост весом своего ТС, счёт за восстановление составил примерно $21.3M. К счастью, тестирование ПО обходится дешевле!

Конечно, говоря о тестировании, нужно понять, с чем и за что мы боремся. Мы сознательно ограничили себя и решили сегодня поговорить исключительно про нагрузочное тестирование и тестирование производительности: темы, полярно удалённые друг от друга, крайне интересны в самом практическом выражении. Рассмотрим инструменты для того и другого, не привязываясь к какому-то конкретному стеку технологий, так что не удивляйтесь соседству Яндекс.Танк и BenchmarkDotNet!
Читать дальше →
12 ...
10

Information

Rating
Does not participate
Registered
Activity

Specialization

Quality Assurance Engineer
Middle
Python
Linux
SQLite
OpenCV
Git
Docker