Search
Write a publication
Pull to refresh
250
109
Даниил Шатухин @daniilshat

Информационная служба Хабра

Send message

Разработчик с мозгом груга

Reading time14 min
Views93K

Введение


это сборник мыслей о разработке программ собранный разработчиком с мозгом груга

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

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

разработчиков с большим мозгом много, некоторым страница не понравится, скривят кислая рожа

Ещё больше-больше ДУМАЮТ, что они разработчики с большим мозгом и им она тоже не понравится

(груг раньше думал груг с большим мозгом, но потом всё понял)

это ладно!

груг надеется, что тебе понравится читать и может ты научишься на много-много ошибка груг совершил за длинную жизнь программиста
Читать дальше →

Зачем CI/CD тестировщикам?

Reading time6 min
Views36K

Сейчас компетентность в сфере TestOps является таким же базовым требованием к QA-инженерам, как и написание автоматизированных тестов. Причина — в активном развитии CI/CD в проектах и необходимости QA-инженерам работать с пайплайнами (читать как "последовательность этапов в CI/CD") и даже внедрять свои. Так почему же CI/CD — отличный инструмент контроля качества? Давайте разбираться.

Читать далее

Раздувание кода стало астрономическим

Reading time5 min
Views98K

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

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

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

Специальный инструмент загрузки на сервер, которым я пользуюсь сегодня, суммарно имеет 230 МБ клиентских файлов и задействует 2,7 тысяч файлов для управления этим процессом.
Читать дальше →

Как сделать интересно: ещё раз о проблемах вузовского образования

Reading time15 min
Views8.8K

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

Читать далее

Как я Markdown парсер выбирал

Reading time18 min
Views29K

Недавно я решил создать свой сайт, и мне понадобилось выбрать парсер Markdown для отрисовки статей в блоге.

То, что начиналось как: «Окей, гугл, какой парсер выбрать?», – вылилось в полноценное исследование существующих реализаций парсеров.

О том, какие открытия меня ждали на этом пути, и будет данная статья.

Читать далее

CrowPi L: ноутбук на базе Raspberry Pi для обучения и проектирования электроники. Характеристики и возможности

Reading time4 min
Views13K

Наша команда не устает удивляться возможностям «малинки» всех моделей, а также творческой фантазии и профессионализму разработчиков, которые работают с этими одноплатниками. Что только не создавали уже на базе Raspberry Pi — от умных камер до спутника. Ну а сейчас разработано устройство, в качестве вычислительного ядра которого работает Raspberry Pi 4B. Девайс выглядит, как ноутбук, и, собственно, им и является. Предназначен он, как и указано в заголовке, для обучения — в первую очередь, программированию и разработке электронных устройств. Правда, не продвинутых систем, а начального уровня. Подробности — под катом.
Читать дальше →

Самодельный стратостат. Сезон 2022. Vostok-5

Reading time28 min
Views13K

Vostok-5


Вот мы и вернулись! С "небольшим" опозданием, но нам есть чем оправдаться ;) В прошлом году мы строили и запускали самодельные стратостаты с целью привезти видео в 4k с высоты 30+ километров. В этом году мы, наконец-то, достигли всех поставленных целей и привезли бескомпромисный результат. Получилось опять "длинно", но я сокращал как мог. Будет много фоток, пару видео и даже гифки.

Поехали?

Рефакторинг приложения с десятилетним легаси за три месяца. Опыт Яндекс Музыки

Reading time15 min
Views34K


Однажды ты просыпаешься и понимаешь: избыточность компонентов и рассинхронизация в твоём приложении начинают вредить пользователям. Однажды ты смотришь на написанное давным-давно ядро, плачешь горькими слезами, и приходит это некомфортное, но вместе с тем немного соблазнительное ощущение — что рефакторинг назрел. Добро пожаловать на экскурсию по рефакторингу Музыки, начиная с ресёрча и заканчивая эксплуатацией! Я покажу вам реальный код и постараюсь в деталях вспомнить, как мы формировали требования к механизмам и разрабатывали их, рисовали у себя в голове и в коде границы ядра, по одной переделывали очереди и внедряли то, что получилось, в SDK.
Читать дальше →

Выгорание — блажь лентяев, заработок коучей или производственная проблема?

Reading time8 min
Views22K

Термин «выгорание» вошёл в мою жизнь как-то неожиданно. Работал я. Работал много лет: сначала кодил, потом свои проекты делал, команды собирал, бизнес налаживал… И тут — Бац! Куча мемов на эту тему во всех связанных с IT-ресурсах. Не знаю, то ли я в какой-то тундре жил, то ли тундра жила во мне. Но да ладно: мемы почитал, поржал и забыл. А тут неожиданно этот термин вошёл в обиход моих ребят. Где-то как бы в шутку, где-то в серьёз. А мы все знаем: в каждой шутке есть доля шутки, а остальное — чистая правда. 

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

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

«Вот я в своё время по 10 часов работал без выходных и отпусков. Скучные проекты пилил, ночью на проде хотфиксил и т.д. и т.п. У ребят же условия другие: график нормированный (авралы, конечно, бывают, но всё в рамках), переработки оплачиваются х1,5-х2 (всё по ТК), проекты интересные. Премии! Отпуска! Работа, блин, командная! Не как дурак сидишь и всё в одного пилишь, а в коллективе ответственных товарищей. Какое, мол, выгорание? Я вам сейчас расскажу про выгорание!» Ну и прочая блаж в том же духе.

Читать далее

Лучшие Проекты Для Начинающих Python-Разработчиков

Reading time8 min
Views282K

Чтобы научиться ходить – надо ходить, чтобы научиться подтягиваться – надо подтягиваться, чтобы научиться решать задачи по физике – надо решать задачи по физике. Так говорил преподаватель физики в моём университете, и эта аналогия применима и к программированию.

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

Цель данного "топа" – это не создание самого оригинального портфолио и не перечисление уникальных проектов. Цель статьи разобраться в простых вещах, технологиях и темах, которые помогут развить практические навыки программирования. Поэтому не стоит ждать здесь сборку Оптимуса Прайма, программирование Звезды смерти и создание двигателя на китовом жире. Мы пройдёмся по простым, но в тоже время базовым вещам. Ведь как говорил один мой приятель: «Всё великое начинается с малого».

Читать далее

Принципы домашнего танкостроения

Level of difficultyEasy
Reading time33 min
Views38K

Хотели бы свой дистанционно управляемый танк? В этой статье я расскажу про общие принципы танкостроения из доступных материалов.

Читать далее

Как я открыл компанию по созданию детских наборов электроники – Часть 2

Level of difficultyEasy
Reading time14 min
Views16K


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

Однако, всё пошло не по плану.
Читать дальше →

Про роботов для обучения, конструкторы и Arduino, и, как выяснилось, не только….муки выбора и мой опыт

Reading time15 min
Views28K

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

Сегодня расскажу о том, как я учил детей программировать робота, а заодно учился и сам.

Читать далее

О чем поговорить на собеседовании с выпускником онлайн-курсов по тестированию

Reading time8 min
Views8.1K

Немного о себе


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

Об этой статье


Знаменитый Cem Kaner, автор множества профильных статей, курсов и книг, как-то рассказал о своем способе найма неопытных тестировщиков. Он просто давал им практическую задачу на тестирование, доску и фломастер и предлагал подумать над решением. Не вмешиваясь в процесс, он смотрел, как кандидат думает и способен ли какие-то разрозненные теоретические знания применить на практике. Если да — не задумываясь брал его на работу.

А статья будет о том, что можно спросить на собеседовании у выпускника онлайн-курсов для тестировщиков, как анализировать ответы и почему. Статья может быть интересна как техническим интервьюерам, так и HR. Вопросы технического и нетехнического собеседования намеренно не разделены — ведь процесс найма в компании может быть устроен как угодно.
Итак, представим себе на минутку, что к вам на позицию стажера или джуна пришел соискатель с дипломом онлайн-курсов, но без опыта работы, и вы начинаете задавать вопросы…
Читать дальше →

Английский для тестировщиков — как надо

Reading time10 min
Views29K

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

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

Читать далее

QA-обучение без границ

Reading time10 min
Views11K

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

Последние два десятилетия для многих русскоязычных тестировщиков движение в  профессии выглядело как “обучение → получение первого опыта на русскоязычном проекте → получение опыта на англоязычном проекте”. 

В марте 2022 года число вакансий в российской ИТ-отрасли сократилось на 25%, а число резюме выросло на 15%. Можно предположить, что число вакансий и резюме в следующие полгода сбалансируется, но более интересные с точки зрения развития и зарплаты проекты будут доступны в основном для неплохо говорящих по-английски QA-трейни и QA-джунов. Таким образом, для чуть более амбициозных вышеуказанная последовательность сократится до более короткой “обучение → получение опыта на англоязычном проекте”. Но она и более сложная.

Давайте посмотрим на то, какие есть варианты обучения у IT-новичков и какие варианты может им предложить рынок в очередной “новой нормальности.”

Читать далее

Как я в IT ходил. Или сказ о курсах Otus QA engineer. Basic. Часть1

Reading time12 min
Views32K

Всем привет. Мне немного за 30 и я предпрениматель. С большим опытом но не в нужной сфере. Долго ли коротко ли, решил войти в IT. Хотел с embedded зайти, но раствору не подвезли, так что крепко обдумав что есть чего нет и прочие pro и contra, чому бы нет, пойду в QA. На хабре частенько дальше первой статьи ничего не заходит, как и в жизни. Так что любые реакции и комменты мотивируют меня писать дальше. Добро пожаловать.

Читать далее. +UPD 05.06.22

Командное «ретро» в Майнкрафт: 10 из 10, не рекомендую

Reading time9 min
Views15K

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

Рассказ в картинках

Как наши города превратятся в окаменелости

Reading time11 min
Views9.5K

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

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

Читать далее

Information

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

Specialization

Content Writer, Журналист
Senior