Pull to refresh
2
0
Send message

Тестирование умерло, да здравствует тестирование

Reading time18 min
Views12K

Привет, Хабр! Меня зовут Артём Ерошенко, я — сооснователь Qameta Software. Больше 14 лет занимаюсь тестированием и автоматизацией. Работал в Яндексе, когда учился в университете, и писал первые автотесты, сделал опенсорсный проект Allure-фреймворк, способствовал появлению Яндекс QA Tools. Сейчас обучаю других людей как автоматизировать тестирование и помогаю компаниям выстраивать процессы автоматизации тестирования и процессы разработки.

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

Читать далее

Слепые капитаны ищут дно: почему российский бизнес – это болото, в котором барахтаются идиоты-«менеджеры»

Reading time12 min
Views144K

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

Как часто вас подставляли или динамили разные невменяемые люди на работе? Бывало ли так, что вы орали матом в бессилии и хотели кому-нибудь сломать ноги за эпические фейлы? Сейчас я расскажу о том, почему так всё складывается.

Читать далее

Плохие уроки дебатов

Reading time7 min
Views7.5K


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

Подебатировать

Как перестать отвлекаться, работая в IT

Reading time11 min
Views21K

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

Речь пойдёт о следующих вещах:

· Смартфоны и популярные приложения — в чем их проблема и почему они мешают фокусироваться.

· Рабочий стол и текстовый редактор — как лучше настроить, чтобы улучшить свою результативность.

· Метод помидора — что с ним не так и мой опыт его использования.

Читать далее

10 приемов, разрушающих хрупкую красоту кода

Reading time19 min
Views102K
Статья приводится в сокращении из-за ограничения на объем материала.

Для меня программирование — это не только технология, но и, во многом — искусство. И, поэтому, большое значение имеет красота кода.

Последние несколько лет я собирал приемы программирования, разрушающие в программном коде его утонченную красоту:
  1. Объявление всех переменных в начале программы;
  2. Возврат результата функции через ее параметр;
  3. Отсутствие локальных функций;
  4. Отсутствие else if;
  5. Использование параллельных массивов;
  6. Хранение размера массива в отдельной переменной;
  7. Доступ к свойствам объекта через obj.getProperty() и obj.setProperty(value);
  8. Использование рекурсии для вычисления факториалов и Чисел Фибоначчи;
  9. Отсутствие именованных параметров функции;
  10. Невозможность объявления объектов «на лету».
Наверняка, в некоторых местах вы будете со мной несогласны — ведь чувство красоты у всех разное.


Объявление всех переменных в начале программы


В двух словах:

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


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

Node.js — раковая опухоль

Reading time5 min
Views136K
Если и есть что-то, что веб-разработчики любят, так это знать что-то, что лучше традиционного. Но традиционное является таковым по одной причине: это дерьмо работает. Что-то давно беспокоило меня во всей этой шумихе вокруг Node.js, но у меня не было времени разобраться, что именно, пока я не прочитал полный боли в жопе пост от Райана Дала, создателя Node.js. Я бы забыл его, как любое очередное нытьё какого-то осла о том, что Unix слишком сложен. Но, как полицейскому, который, жопой чуя, что что-то не так с этой семьёй в микроавтобусе, останавливает его и находит пятьдесят килограммов героина, мне показалось, что что-то не так с этой слезливой историей, и возможно, просто возможно, он понятия не имеет, что делает, и много лет программирует, никем не контролируемый.

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

Как отрефакторить 2.5 млн строк кода

Reading time18 min
Views6K

Истерический, негативно-позитивный пост добра и ненависти, обо всем и ни о чем, из которого вы узнаете: как папа Крузо встретил маму Робинзона, почему трава зеленая а смурфики голубые, как нам реорганизовать Рабкрин и много других, важных штук.

Читать далее

Не горбись! Как на самом деле реагировать на подобные замечания?

Reading time5 min
Views11K

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

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

Дисклаймер: Это моя личная история. Каждый человек индивидуален и, думаю, невозможно написать единое пособие, которое поможет всем. Да и делать это должны врачи, у меня точно не хватит знаний.

Читать далее

Профессия: театральный инженер-конструктор. Как создаются декорации и чем в этом помогает 3D-проектирование

Reading time9 min
Views4.4K

Нередко театр ассоциируется только лишь с актерской труппой во главе с худруком или режиссером, по численности не превышающей 60-70 человек. В действительности даже в небольшом театре могут работать до 300 сотрудников: бутафоров, осветителей, костюмеров, реквизиторов, механиков сцены, а также инженеров-конструкторов. Их труд, как писал Карел Чапек, остается «за сценой, под сценой и над сценой», и «хотя они выполняют свою миссию весьма прозаически, в обыкновенных пиджаках или синих спецовках, — они играют немаловажную роль в создании спектакля».

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

Мы поговорили с инженерами-конструкторами трех театров: Сергеем Накаряковым из Красноярского драматического театра им. А. С. Пушкина, Алексеем Исаенко из Самарского театра юного зрителя «СамАрт» и Алексеем Калининым из Орловского театра кукол. Оказалось, что театр можно назвать «заводом по выпуску жестких и мягких декораций», системы автоматизированного проектирования (САПР) используются не менее активно, чем на производстве, а один инженер одновременно «разрабатывает» несколько изделий спектаклей.

Читать далее

PHP: фрактал плохого дизайна

Reading time32 min
Views206K

Предисловие


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

Тут другое дело. PHP не просто неудобен в использовании, плохо мне подходит, субоптимален или не соответствует моим религиозным убеждениям. Я могу рассказать вам много хороших вещей о языках, которых я стараюсь избегать, и много плохих вещей о языках, которые мне нравятся. Вперёд, спрашивайте! Получаются интересные обсуждения.

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

PHP — препятствие, отрава моего ремесла. Я схожу с ума от того, насколько он сломан и насколько воспеваем каждым уполномоченным любителем нежелающим научиться чему-либо ещё. У него ничтожно мало оправдывающих положительных качеств и я бы хотел забыть, что он вообще существует.
Читать дальше →

Почему в Python плохой ООП

Reading time10 min
Views40K

В Python ужасный ООП. Кликбейтный тезис, который имеет право на существование. Есть много языков, где ООП представлен не в самом классическом виде, ну или так принято считать. Прототипные JavaScript и Lua, Golang с прикреплением методов и прочие. Но «не такой как все» всегда ли синоним слова «неправильный»?  С чего мы вообще вязли, что ООП в Python не такой каким должен быть ООП? Что вообще является точкой отсчёта «правильности» ООП? Smalltalk или Simula 67? Вроде бы объектно-ориентированное программирование – это просто парадигма.. или уже догма?

Читать далее

Postgres WASM от Snaplet и Supabase

Reading time8 min
Views5.2K


Сегодня мы с нашими друзьями из Snaplet открываем исходники postgres-wasm — запускаемый в браузере сервер PostgreSQL с полным набором функционала, включая сохранение состояния в браузере, восстановление из pg_dump и логическую репликацию из удалённой базы данных.


Впервые Postgres в браузере запустили в Crunchy Data, их потрясающая версия выложена на HN месяц назад. Вместе со Snaplet мы решили сделать версию с открытым кодом. Посмотрим, как она разрабатывается и какой функционал мы добавили. Подробности — к старту нашего флагманского курса по Data Science.


Что такое Snaplet?

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

Квантовые компьютеры: без математики и философии

Reading time13 min
Views34K

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

Первое и самое главное, что нужно знать - квантовые компьютеры не имеют ничего общего с обычными. Квантовые компьютеры по своей природе - аналоговые, там нет бинарных операций. Вероятно, вы уже слышали про Кубиты, что у них есть состояние 0, 1 и 0-1 одновременно, и благодаря этому вычисления выполняются очень быстро: это заблуждение. Кубит - это магнит (обычно атом или электрон), подвешенный в пространстве, который может вращаться по всем трем осям. Собственно, вращение магнита в пространстве - это и есть операции квантового компьютера. Почему это может ускорить вычисления? Было очень сложно найти ответ, но самые стойкие читатели увидят его в конце статьи. Начнем разоблачения.

Читать далее

Как улучшить английский в документации

Reading time11 min
Views37K

Я работаю техническим писателем в компании documentat.io. Мы занимаемся заказной разработкой технической документации, в том числе на английском языке. Иногда я дорабатываю уже существующие документы или спецификации к API на английском. Как правило, такие документы написаны русскоязычными разработчиками, которые неплохо владеют английским. И всё же они часто допускают характерные грамматические, пунктуационные и стилистические ошибки.

Корень этих ошибок один — разные языковые механизмы. Нам бывает легко запутаться в употреблении временных форм, порядке слов или непонятно зачем придуманных артиклях. 

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

Читать далее

Брюнетки против блондинок или как на мониторе показать цвет свечения светильника?

Reading time19 min
Views5.8K

Метод демонстрации на мониторе цветности свечения светильника в соответствии с требованиями проекта национального стандарта «Методы определения неоднородности цветности», и шаблоны в MS Excel.

Читать далее

Системный шрифт как проприетарные куки. Необычный метод пометки вашего устройства

Reading time8 min
Views8.3K
Предположим, перед разработчиком поставлен такой вопрос — как со стороны веб-сайта определить, что у пользователя установлено конкретное приложение? Вопрос интересный. На него есть несколько способов ответа. Как вам такой вариант — поставить в систему уникальный шрифт при инсталляции программы? Ведь браузер всегда отдаёт по запросу список системных шрифтов. Значит, проблема решена.

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

Отладка, модификация и устранение багов в сторонних 32-х и 64-х разрядных приложениях под ОС Windows

Reading time14 min
Views6.1K

В этой статье я хочу поделиться практическими методами отладки, модификации и устранения багов в 32-х и 64-х разрядных приложениях под ОС Windows, разработанных на языке C/C++, исходные коды которых по тем или иным причинам не стали достоянием общественности.

Этот пробел отчасти можно попытаться устранить, например, с помощью плагина Hex-Rays для IDA Pro, и зачастую удаётся довольно качественно восстановить нужный участок исходного кода, обнаружив в нём проблемное место. Но после этого всегда возникает вопрос - что с этим исправленным кодом делать дальше, как и где его можно использовать? На данном этапе мне всегда хотелось взять этот отдельно декомпилированный фрагмент программы, поменять в нём что-нибудь и затем каким-то чудесным образом «поместить обратно» в программу.

Далее будет описан один из возможных способов реализации этой идеи на практике.

Читать продолжение

Новоглифы или иероглифы будущего

Reading time3 min
Views10K

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

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

Read more

Познание

Reading time7 min
Views2.8K

У Марк Твена есть замечательная повесть Адам и Ева. В какой-то момент повествования Ева начинает давать всем окружающим предметам уникальные названия. Что очень расстраивает Адама, который не понимает почему плавающая рыба (рыба) и скачущая рыба (кролик) и несъедобная рыба (ребёнок) должны называться по-разному. Ведь все это рыба. Эта, казалось бы, обычная семейная склока показывает два разных подхода к изучению мира, которые в общем-то не противоречат, а дополняют друг друга.

Подход Евы называется феноменологическим. Суть которого в следующем; не важно понимать как устроены объекты наблюдения, важно понимать, как они взаимодействуют друг с другом и с тобой.

Читать далее

Information

Rating
Does not participate
Registered
Activity