Как стать автором
Обновить
31
0
Константин @Shad0w64bit

SRE

Отправить сообщение

Один QA в поле воин?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5.5K

Всем привет.

Меня зовут Пронин Евгений, я Senior QA Engineer. Я работал в студии ITTerritory в полноценном отделе тестирования с несколькими коллегами, также имел опыт как единственный инженер на проекте в студии Nakusi Games. Я расскажу о своем опыте и поделюсь некоторыми наблюдениями, которые возможно помогут тем, кто тянет бремя тестирования в одиночку или решает в скором времени это попробовать :)

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии5

Как работает компьютер: глубокое погружение (на примере Linux)

Уровень сложностиСложный
Время на прочтение48 мин
Количество просмотров133K



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


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


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


Более удобный формат статьи.

Читать дальше →
Всего голосов 152: ↑152 и ↓0+152
Комментарии36

Как делается OpenSource: личный опыт

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров36K

Я - автор двух пакетов, входящих более-менее во все дистрибутивы Linux: sane-airscan и ipp-usb.

Кроме того, sane-airscan входит во все основные дистрибутивы BSD (FreeBSD, NetBSD и OpenBSD) и в ChromeOS. ipp-usb в ChromeOS не взяли потому, что он написан на Go, а у них там очень жестко с размером исполняемых файлов, вместо этого они написали свое на Rust, но предпочли бы взять моё изделие, если бы могли. Совсем недавно появился порт ipp-usb на FreeBSD, вероятно, другие BSD тоже скоро подтянутся.

Вместе эти два пакета образуют стек "бездрайверного" сканирования документов для Linux и *BSD, а в перспективе нескольких лет, когда старые сканеры, наконец, вымрут, вероятно других драйверов и не останется.

Кроме того, ipp-usb делает возможным "бездрайверную" печать на USB-устройствах.

Здесь я хочу рассказать, каково оно, быть автором популярных OpenSource пакетов. Хоть эта работа и не принесла мне особых денег (на что я, впрочем, особо и не рассчитывал), она принесла мне бесценный опыт.

В целом, я полагаю, продвижение OpenSource пакетов структурно близко к продвижению на рынок программных продуктов. Занимаясь этой деятельностью, очень хорошо начинаешь понимать разницу между (1) написать программу, которая работает для меня (2) написать программу, которую можно назвать продуктом (3) вывести продукт на рынок.

Первое занимает гораздо меньше времени, чем второе. Второе - гораздо меньше времени, чем третье.

Читать далее
Всего голосов 394: ↑394 и ↓0+394
Комментарии71

Лучшие друзья: Terraform, Ansible и Jenkins

Время на прочтение11 мин
Количество просмотров11K

Рассказываем, как использовать Jenkins CI/CD Pipeline для создания инфраструктуры AWS с помощью Terraform и Ansible. Мы не будем вдаваться в подробности, как настраивать Terraform или тестировать код по мере создания инфраструктуры, так как эти шаги считаются стандартными. Конечный результат — код Terraform, создающий среду AWS с общедоступными подсетями и инстансами EC2 с Ansible Playbook. Когда код помещается в репозиторий GitHub, GitHub Webhook запускает Jenkins CI/CD Pipeline, действия которого зависят от того, куда мы отправляем код — в ветку разработки или основную.

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии6

Не мешайте мне работать! Ну пожалуйста

Время на прочтение11 мин
Количество просмотров37K
В 2010 году одно из крупных издательств объявило конкурс на лучшее произведение в стиле офисного романа. Мне об этом рассказала моя уже бывшая коллега за обедом. Она собралась писать и подавать рукопись. На моё удивление она ответила: «А что здесь сочинять? Бери и описывай наш коллектив, тот ещё офисный детектив с элементами хоррора». И то правда: офис из полтысячи сотрудников был богат на интриги, конфликты, локальные серпентарии и уничтожение самооценки человека. Самое интересное, что речь шла об IT-компании, одной из лучших на тот момент. В этой компании было немало ребят, которые задавались вопросом, а можно ли просто спокойно поработать, не ввязываясь в баталии и битвы с местными сколопендрами. Как показал дальнейший опыт, этот вопрос звучит почти везде. Так что же мешает работать, кроме устаревшей техники и медленного интернета, которые почти повсеместно удаётся извести?

Добро пожаловать в молодую, успешную, позитивную, динамично развивающуюся команду!
Читать дальше →
Всего голосов 87: ↑70 и ↓17+53
Комментарии67

Как я сделал веб-фреймворк без MVC — Pipe Framework

Время на прочтение9 мин
Количество просмотров7.6K

Проработав фулстек разработчиком около 10 лет, я заметил одну странность.


Я ни разу не встретил не MVC веб-фреймворк. Да, периодически встречались вариации, однако общая структура всегда сохранялась:


  • Codeigniter — мой первый фреймворк, MVC
  • Kohana — MVC
  • Laravel — MVC
  • Django — создатели слегка подменили термины, назвав контроллер View, а View Template'ом, но суть не изменилась
  • Flask — микрофреймворк, по итогу все равно приходящий к MVC паттерну

Конечно, с моим мнением можно поспорить, можно продолжить перечислять, однако суть не в этом.

Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии15

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

Время на прочтение6 мин
Количество просмотров93K


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


Я подумал — ну окей, так, наверное, бывает не всегда. С тех пор прошло лет 5, я не раз менял работу, но везде и всегда созвоны были пустой тратой времени.

Читать дальше →
Всего голосов 363: ↑263 и ↓100+163
Комментарии676

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

Время на прочтение8 мин
Количество просмотров58K


Перевод «Я люблю ИП»


Недавно я работала над созданием системы отступов и размеров для одного продукта в сфере здравоохранения, чтобы улучшить читабельность текста и добиться последовательности на всех страницах. Я вывела три правила для отступов (Правило трёх «К») и четыре размера (16px, 8px, 4px, 2px), которые работали гармонично с новой системой типографики.


Из этой статьи вы узнаете, как использовать расстояния осознанно для последовательности в дизайне и более быстрой разработки.

Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии29

Вы работаете не в том месте (если у вас офис открытого типа)

Время на прочтение6 мин
Количество просмотров48K

Что такое физическое пространство?


На последней работе всё самое лучшее я сделал дома. Я активно пытался избегать офиса насколько возможно. Дома у меня два стола и полный контроль над окружением. Альтернатива — отвлечения и помехи.


Мой домашний офис — крепость производительности

Когда я заходил в офис, окружение изменялось. Здесь постоянно всё отвлекало: другие сотрудники, лающие собаки (отмечу: маленькие собачонки не в счёт), импровизированные совещания и празднование дней рождения. Было очень сложно перейти в состояние потока и невероятно легко выйти из него. Среди всех мест, где я мог бы работать, стол в офисе, наверное, был худшим вариантом.

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

Я осознал, что ненавижу офисы открытого типа.
Читать дальше →
Всего голосов 61: ↑58 и ↓3+55
Комментарии206

58 признаков хорошего интерфейса

Время на прочтение16 мин
Количество просмотров380K
У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

1 Один столбец вместо нескольких


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

image
Читать дальше →
Всего голосов 226: ↑182 и ↓44+138
Комментарии102

Как повысить уровень конверсии целевой страницы сайта с помощью психологии желания

Время на прочтение7 мин
Количество просмотров67K
Создание соблазнительных для потребителя предложений — не такая сложная задача. Все, что вам нужно — понять, что движет вашими потенциальными покупателями. Как только вы разберетесь с тем, чего они на самом деле желают, у вас появятся инструменты для создания предложений, от которых будет просто невозможно отказаться. Ниже перевод статьи Аарона Бишела, которая содержит несколько психологических методик, используемых успешными компаниями для стимуляции желания приобретать их продукцию, а также советы о том, как оптимизировать целевые страницы и маркетинговые акции.
Читать дальше →
Всего голосов 63: ↑39 и ↓24+15
Комментарии10

STM32F1xx — лечимся от ардуинозависимости вместе

Время на прочтение14 мин
Количество просмотров265K
Добрый день, уважаемые хабровчане!
После длительного перерыва, связанного с защитой дипломного проекта в Бауманке, я снова вернулся к написанию статей. Так как с недавнего времени я занялся 32-битными микроконтроллерами серии STM32F на ядре ARM Cortex-M3, об этом и пойдет мой рассказ. Мне статья поможет систематизировать знания об этих замечательных микроконтроллерах, а вам, я надеюсь, послужит одной из ступеней на пути к их использованию и развеет страхи и сомнения, которые всегда возникают после уютных 8-битных AVRок при упоминании страшных 32-битных монстров.
Итак, почему Cortex, чем же плохи АVR?
Читать дальше →
Всего голосов 159: ↑157 и ↓2+155
Комментарии65

Простые догмы при работе с цветом в интерфейсах

Время на прочтение5 мин
Количество просмотров110K
image

Привет, username!

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

Читать дальше →
Всего голосов 149: ↑131 и ↓18+113
Комментарии128

Логика мышления. Часть 6. Система проекций

Время на прочтение9 мин
Количество просмотров62K


Для тех, кто только присоединился, я советую начать с первой части или хотя бы с описания используемой нами волновой модели коры. Суть волновой модели в том, что информация кодируется одновременно двумя способами. Первый способ – это паттерны вызванной активности, соответствующие обнаруженным нейронами-детекторами явлениям. Второй – волны идентификаторы, распространяющиеся от паттернов вызванной активности и несущие уникальные узоры. Уникальность узора каждой из волн позволяет на удалении от источника сигнала узнать о его активности. При таком подходе хорошо объясняется сформулированное Мак-Каллоком и Питсом несоответствие между объемом зон коры и количеством волокон в пучках, проецирующих информацию от них на другие зоны.
Читать дальше →
Всего голосов 53: ↑45 и ↓8+37
Комментарии21

Ускорение загрузки Windows for fun and profit

Время на прочтение4 мин
Количество просмотров803K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Всего голосов 532: ↑516 и ↓16+500
Комментарии365

Основная ловушка маркетинга и пиара или что бывает, если вы врёте

Время на прочтение8 мин
Количество просмотров127K


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

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

Есть первый железный принцип хорошего маркетинга и пиара – никогда не обещать ни на грамм больше, чем можешь сделать. И никогда не врать. Стоит хоть немного увлечься – и вот в какой-то момент ты станешь обманывать сам себя.
Читать дальше →
Всего голосов 210: ↑199 и ↓11+188
Комментарии158

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

Время на прочтение7 мин
Количество просмотров138K


Зацепил меня один кусок дискуссии про маркетинг сегодня на Хабре. Что это, как это, как оно для IT. Всё там хорошо кроме одного — нет понимания, что маркетинг — это не специальный шаман в проекте, который что-то там крутит, а фиговина, в которой должен живо принимать участие каждый. В IT, не в IT — неважно. Поэтому расскажу, почему.

Представьте себе небольшую парикмахерскую на первом этаже жилого дома. Наверняка у вас есть такие рядом. У неё очень ограничен круг потенциальных клиентов – это жители ближайших домов. Маркетинг – это сделать так, чтобы большинство из них стриглись именно там. Каждый косяк – это потерянный клиент (а новому взяться негде, помните?). Каждый успех – это клиент на 5-6 лет минимум, то есть не одна стрижка, а сразу много.

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

Так вот, маркетинг – это сделать так, чтобы продукт и клиент сошлись. В моём понимании – пройти всю цепочку от разработки и производства продукта до его продажи и использования в течение нескольких лет. Найти все места этой цепочки, где можно сделать лучше – и сделать это. Поработать с людьми внутри компании, чтобы они понимали, зачем всё это и почему.
Читать дальше →
Всего голосов 199: ↑184 и ↓15+169
Комментарии88

Как создать 3D персонажа и не выжить из ума

Время на прочтение4 мин
Количество просмотров186K
Character Аrtist Данил Соловьев раскрывает таинство создания 3D моделей на примере юнита Heavy Archer для игры «Спарта: Война империй».



Читать историю
Всего голосов 47: ↑43 и ↓4+39
Комментарии18

Как создать интересный игровой сеттинг? Уровень второй: графика

Время на прочтение5 мин
Количество просмотров50K
Дискуссии на тему, важен ли «графон», продолжаются со времен появления первой игры. В этой статье мы рассмотрим не качество графики, а, скорее, ее влияние на мироощущение игрока.


Читать и смотреть
Всего голосов 67: ↑55 и ↓12+43
Комментарии48

Хороший дизайн интерфейсов. Часть 3

Время на прочтение5 мин
Количество просмотров76K
Это третья часть переведённых заметок «Good User Interface». Первые 16 частей уже ранее перевели наши коллеги из ADV на Хабре, а вторые 11 перевели мы.

Идея 28


Используйте варианты по-умолчанию, не заставляя людей выбирать


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

Остальные 10 заметок далее
Всего голосов 88: ↑81 и ↓7+74
Комментарии36
1

Информация

В рейтинге
Не участвует
Откуда
Калуга, Калужская обл., Россия
Дата рождения
Зарегистрирован
Активность