Pull to refresh
3
0
Егор @Ommonick

SDET teamlead

Send message

К слову об именах переменных в Go

Level of difficultyEasy
Reading time4 min
Views5.7K

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

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

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

Короткие имена переменных — важная часть этой философии. В отличие от языков, где длинные и описательные имена переменных могут быть нормой (например, PHP или Java), Go поощряет использование коротких имен, особенно в случаях, когда их смысл легко понять из контекста. 

Читать далее

Миграция данных: Понятие, виды и примеры на Python

Reading time3 min
Views5K

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

Читать далее

Почему джуны путаются в асинхронном коде (и как научиться с ним работать)

Level of difficultyEasy
Reading time8 min
Views44K

Асинхронный код часто становится камнем преткновения для начинающих разработчиков. Почему функции выполняются не в том порядке, зачем нужны промисы, и что делает async/await? В статье я простыми словами объясняю:

Как работает Event Loop и почему это важно.
Какие ошибки чаще всего допускают джуны при работе с асинхронностью.
Как научиться писать понятный и предсказуемый асинхронный код.

Если асинхронность вызывает больше вопросов, чем ответов, загляните в статью - там всё по шагам. 🙂

Читать далее

Оптимизация SQL запросов

Level of difficultyMedium
Reading time6 min
Views36K

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

Читать про оптимизацию

Как управлять проектом: 3 инструмента без которых не выжить

Level of difficultyEasy
Reading time7 min
Views18K

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

Что меня поражает, так это то, что многие мои коллеги и партнёры упорно забивают на простые и доступные инструменты и стараются управлять проектом силой «мышц». Как итог: безумные трудозатраты, отсутствие ясности действий, сорванные сроки и ярость вовлечённой команды. Что я стараюсь добиться от своих команд — использования простых базовых инструментов, а именно...

Читать далее

Обвиваем YouTube змеем, или как смотреть и скачивать видео с YouTube без VPN на чистом Python-е. Часть 1

Level of difficultyEasy
Reading time13 min
Views171K

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

В этой статье я хочу рассказать, как можно скачивать видео, аудио (1 часть статьи), плейлисты и целые каналы с YouTube (2 часть статьи) без использования VPN и на чистом Python-е. Сразу оговорка: VPN нам не понадобится, но мы сделаем собственное средство, которое будет решать "проблему с устаревшим и изношенным оборудованием Google Global Cache" (вы поняли, о чём я). Я думаю это средство будет особенно актуально сегодня, когда у многих россиян YouTube почти или совсем не работает.

Читать далее

Как проводить сложные исследования в Google Таблицах и Excel? Работаем с формулой QUERY

Reading time10 min
Views15K

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

Меня зовут Саша, я координатор отдела пользовательских исследований в Selectel. В этой статье я объясню, как и какие формулы использовать в таблицах, чтобы работать с большими объемами данных.
Читать дальше →

Как предоставлять и получать обратную связь: 2 способа, которые знаем и забываем

Level of difficultyEasy
Reading time5 min
Views2K

Привет! На связи Елена Платковская. В SM Lab, которая входит в «Спортмастер», занимаюсь внедрением и оптимизацией ИТ-процессов. Строю, ломаю, чиню процессы и процедуры, по которым работает большое количество команд. Например, вместе с коллегами мы придумываем как адаптировать сложную методологию SAFe к нашим реалиям. По ней команды приоритизируются, планируют скоуп работ и в целом работают, чтобы вовремя приносить ценность бизнесу.

Я уже рассказывала о том, как  с помощью комьюнити Level up Club мы в отделе выравниваемся по базовому уровню матрицы компетенций. Одна из первых тем, которую разобрали на такой встрече, касалась обратной связи: как ее предоставлять коллегам и как воспринимать, а еще что с ней делать после получения. Спойлер: иногда ничего.

Расскажу о том, как прошла эта встреча.

Читать далее

Радиосвязь, скауты и аббревиатурная магия: JOTA, YOTA, POTA

Reading time7 min
Views3.3K

Великобритания, 1907 год. Вернувшись с фронта англо-бурской войны, сэр Роберт Стефенсон Смит Баден-Пауэлл основал движение скаутов. Цель была проста и амбициозна: готовить разведчиков с детства через игру. Система обучения строилась на равноправии детей и взрослых, что было необычно для того времени.

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

Читать далее

POSTGRES EXPLAIN

Level of difficultyEasy
Reading time14 min
Views12K

Всем привет! На связи Ришат Садыков из Spectr. Сегодня мы поговорим про explain в Postgres. Это объемная тема, по ней можно найти много материала. В статье я постарался собрать только ту информацию, которой достаточно для начала использования explain. Материал поможет эффективно использовать его для повышения производительности запросов тем, кто этим никогда не занимался.

Узнать о повышении производительности

Смешивать, но не взбалтывать. Как мы добавили Sec между Dev и Ops

Level of difficultyMedium
Reading time8 min
Views2.3K

Привет, Хабр! Меня зовут Натали Дуботолкова, я старший инженер по разработке безопасного программного обеспечения в Basis. Хочу рассказать о том, как мы задумались над интеграцией работы безопасников непосредственно в процесс разработки и к чему это привело, а также о том, какие методы и инструменты использовали в ходе интеграции и используем сейчас.

Читать далее

Интервью с Егором Денисовым-Бланчем: кто такие «инженеры-призраки» и как с ними бороться

Level of difficultyEasy
Reading time13 min
Views2.8K

В конце ноября 2024 года на Хабре вышла новость о том, что 9,5% программистов в IT-компаниях ничего не делают. Они как мёртвые души или призраки — числятся в штате, ходят на созвоны, но не выполняют рабочие задачи. Поводом для новости стало исследование Егора Денисова-Бланча (Yegor Denisov-Blanch) из Стэнфордского университета.

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

Читать далее

PostgreSQL — особенности работы с памятью для 1С-систем. Часть 3

Level of difficultyMedium
Reading time10 min
Views4.7K

Это третья и заключительная часть цикла статей по настройке памяти в PostgreSQL. Полагаю, она получилось уже не такой заумной, как предыдущие две, и представляет из себя некий сухой остаток с собирательным примером, в котором показано как выбирать параметры PostgreSQL по настройке оперативной памяти. Если же хочется погрузиться в руду, то милости просим в Часть 1 и Часть 2. Тем не менее, цепочка логических рассуждений сохранена – как делаем, зачем и почему.

Читать далее

Ликбез по типизации в языках программирования

Reading time12 min
Views532K
image

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

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

Не очень стандартное использование Docker

Level of difficultyEasy
Reading time3 min
Views17K

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

Нет, в самом деле, а что еще нужно? Несколько файлов с исходным кодом, Makefile для сборки всего этого, MidnightCommander чтобы копировать файлы туда-сюда и удобный текстовый редактор, например Vim.

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

Читать далее

3D-принтер TPM3D S600DL для крупномасштабной промышленной 3D-печати с использованием различных материалов

Reading time4 min
Views1.8K

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

Среди таких решений выделяется 3D-принтер S600DL SLS от TPM3D. Ранее мы уже рассказывали вам о TPM3D — китайском производителе, который предлагает широкий спектр решений для 3D-печати методом селективного лазерного спекания. Компания известна своим стремлением сделать производство более простым и эффективным в различных отраслях.

В серии 3D-принтеров S, к которой относится S600DL, пользователи также найдут S480, S360, S320HT и S260 — все они отличаются объёмом печати и предназначены для различных задач. 3D-принтер S600DL, оснащённый двумя лазерами, является одним из самых больших по объёму печати на рынке.

Читайте также: Подробный обзор компании TPM3D.

Читать далее

Стандарты групповой разработки в GitFlow-команде. О чем стоит договориться?

Level of difficultyMedium
Reading time10 min
Views3K

Новый год — время перемен, новых решений и амбициозных целей. Почему бы не начать год с оптимизации процессов разработки в вашей команде? Если вы когда-либо сталкивались с хаосом в ветках, бесконечными конфликтами при слияниях или путаницей в коде, пришло время внедрить стандарты разработки и навести порядок.

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

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

Готовы навести порядок в своей команде? Тогда поехали!

Читать далее

Жизненный цикл потоков ОС в Golang

Level of difficultyMedium
Reading time12 min
Views9.4K

Всем привет! Меня зовут Паша, я занимаюсь коммерческой разработкой уже 10 лет, 8 из них — на Go. Мне довелось разрабатывать приложение, активно использующее как сеть, так и диск. 

Регулярно приходилось решать вопросы производительности. В ходе исследований я использовал все, что было было под рукой: логи, метрики, трейсы, профилировщики и runtime-трейсы. А еще изучал, как по доступным данным расследовать причины проблем производительности постфактум. Тогда мне стало интересно, почему метрика количества потоков сильно отличается от значения GOMAXPROCS и можно ли по этой метрике диагностировать какие-то конкретные проблемы.

Читать далее

Lamoda Tech Golang Meetup: материалы встречи

Level of difficultyMedium
Reading time2 min
Views1.6K

Golang — это любовь, уверены мы в Lamoda Tech, и это подтверждают более 170 инженеров в нашем гошном комьюнити. Мы собрали три доклада, которые хотели бы послушать сами, и провели зимний митап по Go. Делимся записями видео и презентациями c него.

Читать далее

5 паттернов проектирования в Go на примере котиков

Level of difficultyEasy
Reading time7 min
Views7.7K

Привет, Хабр! Сегодня мы рассмотрим реализацию паттернов проектирования на Go, и, чтобы было не скучно, возьмем главными героями котиков. Будем разбирать 5 популярных паттернов: Singleton, Factory Method, Strategy, Observer, Decorator.

Читать далее

Information

Rating
Does not participate
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer, Quality Assurance Analyst
Lead