Что-то наши публикации всё больше о плохом, чем о хорошем. Здесь баг, тут код с запахом, это антипаттерн, вот так писать не надо. Помогите увидеть светлую сторону программирования на С++. Оставляйте комментарии.
User
Тестирование умерло, да здравствует тестирование
Привет, Хабр! Меня зовут Артём Ерошенко, я — сооснователь Qameta Software. Больше 14 лет занимаюсь тестированием и автоматизацией. Работал в Яндексе, когда учился в университете, и писал первые автотесты, сделал опенсорсный проект Allure-фреймворк, способствовал появлению Яндекс QA Tools. Сейчас обучаю других людей как автоматизировать тестирование и помогаю компаниям выстраивать процессы автоматизации тестирования и процессы разработки.
В этой статье мы разберёмся как развивалось тестирование: что было раньше, к чему пришло сейчас и каким будет дальше.
Слепые капитаны ищут дно: почему российский бизнес – это болото, в котором барахтаются идиоты-«менеджеры»
Владельцы компаний часто жалуются на сложности ведения бизнеса: людишки уже не те, кредиты дорогие, страна тоже не та. Так ли это на самом деле? Частично да, но есть и другие нюансы. Главная проблема – совокупность негативных факторов: общество зацементировалось и развивается не потому что, а вопреки.
Как часто вас подставляли или динамили разные невменяемые люди на работе? Бывало ли так, что вы орали матом в бессилии и хотели кому-нибудь сломать ноги за эпические фейлы? Сейчас я расскажу о том, почему так всё складывается.
Плохие уроки дебатов
Будучи студентом, я играл в классические дебаты по формату Карла Поппера с элементами политического кейса. Это такой КВН для любителей поспорить. В том смысле, что это игра, она для студентов, и такая деятельность оптимизирует какие-то навыки. А вот какие именно, это интересно понять. Давайте разберёмся, какое влияние оказывает на ваше мышление умение хорошо спорить.
Как перестать отвлекаться, работая в IT
Цель этой публикации — помочь всем ищущим стать эффективнее и улучшить собственные результаты за счет организации своего рабочего пространства.
Речь пойдёт о следующих вещах:
· Смартфоны и популярные приложения — в чем их проблема и почему они мешают фокусироваться.
· Рабочий стол и текстовый редактор — как лучше настроить, чтобы улучшить свою результативность.
· Метод помидора — что с ним не так и мой опыт его использования.
10 приемов, разрушающих хрупкую красоту кода
Статья приводится в сокращении из-за ограничения на объем материала.
Для меня программирование — это не только технология, но и, во многом — искусство. И, поэтому, большое значение имеет красота кода.
Последние несколько лет я собирал приемы программирования, разрушающие в программном коде его утонченную красоту:
- Объявление всех переменных в начале программы;
- Возврат результата функции через ее параметр;
- Отсутствие локальных функций;
- Отсутствие
else if
; - Использование параллельных массивов;
- Хранение размера массива в отдельной переменной;
- Доступ к свойствам объекта через
obj.getProperty()
иobj.setProperty(value)
; - Использование рекурсии для вычисления факториалов и Чисел Фибоначчи;
- Отсутствие именованных параметров функции;
- Невозможность объявления объектов «на лету».
Объявление всех переменных в начале программы
В двух словах:
Переменные должны объявляться в начале логического блока, в котором они используются, а НЕ в начале функции или программы.
Node.js — раковая опухоль
Как отрефакторить 2.5 млн строк кода
Истерический, негативно-позитивный пост добра и ненависти, обо всем и ни о чем, из которого вы узнаете: как папа Крузо встретил маму Робинзона, почему трава зеленая а смурфики голубые, как нам реорганизовать Рабкрин и много других, важных штук.
Не горбись! Как на самом деле реагировать на подобные замечания?
“Не горбись!”, - я раньше очень часто это слышал в свой адрес. А еще: “Не шаркай ногами, втяни живот”, - и все в таком духе. Наверное было что-то еще, но я уже не вспомню. Я пытался что-то сделать. В какой-то момент даже купил устройство для удержания осанки, но все без толку. И даже постоянные напоминания не работали.
Обстоятельства вынудили меня погрузиться в вопрос подробнее. Во-первых, я понял, почему проблема не решалась раньше. А во-вторых, нашел способ все изменить. Правда, получился своего рода системный подход, а не “волшебная таблетка”, которая мигом избавит от неприятностей. В этой статье хочу поделиться общими идеями. Возможно, кому-то это поможет, как помогло мне.
Дисклаймер: Это моя личная история. Каждый человек индивидуален и, думаю, невозможно написать единое пособие, которое поможет всем. Да и делать это должны врачи, у меня точно не хватит знаний.
Exposed с SQLite на Android?
Лень - двигатель прогресса, так что сегодня я покажу, как подключить Exposed таблицы из JVM таргета в Android с JDBC SQLite.
Профессия: театральный инженер-конструктор. Как создаются декорации и чем в этом помогает 3D-проектирование
Нередко театр ассоциируется только лишь с актерской труппой во главе с худруком или режиссером, по численности не превышающей 60-70 человек. В действительности даже в небольшом театре могут работать до 300 сотрудников: бутафоров, осветителей, костюмеров, реквизиторов, механиков сцены, а также инженеров-конструкторов. Их труд, как писал Карел Чапек, остается «за сценой, под сценой и над сценой», и «хотя они выполняют свою миссию весьма прозаически, в обыкновенных пиджаках или синих спецовках, — они играют немаловажную роль в создании спектакля».
Конечно, за почти сто лет, прошедшие со времени публикации очерка «Как ставится пьеса», многое изменилось: от жанров и актерской техники до инструментов, которыми создается театр. Неизменной остается роль театрального инженера, ответственного за зрелищность, технологичность и безопасность декораций.
Мы поговорили с инженерами-конструкторами трех театров: Сергеем Накаряковым из Красноярского драматического театра им. А. С. Пушкина, Алексеем Исаенко из Самарского театра юного зрителя «СамАрт» и Алексеем Калининым из Орловского театра кукол. Оказалось, что театр можно назвать «заводом по выпуску жестких и мягких декораций», системы автоматизированного проектирования (САПР) используются не менее активно, чем на производстве, а один инженер одновременно «разрабатывает» несколько изделий спектаклей.
PHP: фрактал плохого дизайна
Предисловие
Я капризный. Я жалуюсь о многих вещах. Многое в мире технологий мне не нравится и это предсказуемо: программирование — шумная молодая дисциплина, и никто из нас не имеет ни малейшего представления, что он делает. Учитывая закон Старджона, у нас достаточно вещей для постижения на всю жизнь.
Тут другое дело. PHP не просто неудобен в использовании, плохо мне подходит, субоптимален или не соответствует моим религиозным убеждениям. Я могу рассказать вам много хороших вещей о языках, которых я стараюсь избегать, и много плохих вещей о языках, которые мне нравятся. Вперёд, спрашивайте! Получаются интересные обсуждения.
PHP — единственное исключение. Фактически каждая деталь PHP в какой-то мере поломана. Язык, структура, экосистема: всё плохо. И даже нельзя указать на одну убийственную вещь, настолько дефект систематичный. Каждый раз, когда я пытаюсь систематизировать недостатки PHP, я теряюсь в поиске в глубину обнаруживая всё больше и больше ужасных мелочей(отсюда фрактал).
PHP — препятствие, отрава моего ремесла. Я схожу с ума от того, насколько он сломан и насколько воспеваем каждым уполномоченным любителем нежелающим научиться чему-либо ещё. У него ничтожно мало оправдывающих положительных качеств и я бы хотел забыть, что он вообще существует.
Почему в Python плохой ООП
В Python ужасный ООП. Кликбейтный тезис, который имеет право на существование. Есть много языков, где ООП представлен не в самом классическом виде, ну или так принято считать. Прототипные JavaScript и Lua, Golang с прикреплением методов и прочие. Но «не такой как все» всегда ли синоним слова «неправильный»? С чего мы вообще вязли, что ООП в Python не такой каким должен быть ООП? Что вообще является точкой отсчёта «правильности» ООП? Smalltalk или Simula 67? Вроде бы объектно-ориентированное программирование – это просто парадигма.. или уже догма?
Postgres WASM от Snaplet и Supabase
Сегодня мы с нашими друзьями из Snaplet открываем исходники postgres-wasm
— запускаемый в браузере сервер PostgreSQL с полным набором функционала, включая сохранение состояния в браузере, восстановление из pg_dump
и логическую репликацию из удалённой базы данных.
Впервые Postgres в браузере запустили в Crunchy Data, их потрясающая версия выложена на HN месяц назад. Вместе со Snaplet мы решили сделать версию с открытым кодом. Посмотрим, как она разрабатывается и какой функционал мы добавили. Подробности — к старту нашего флагманского курса по Data Science.
Что такое Snaplet?
Квантовые компьютеры: без математики и философии
В этой статье я разберу по косточкам все тайны квантовых компьютеров: что такое суперпозиция (бесполезна) и запутанность (интересный эффект), могут ли они заменить обычные компьютеры (нет) и могут ли они взломать RSA (нет). При этом я не буду упоминать волновую функцию и столь раздражающих Bob и Alice, которых вы могли встречать в других статьях про квантовые машины.
Первое и самое главное, что нужно знать - квантовые компьютеры не имеют ничего общего с обычными. Квантовые компьютеры по своей природе - аналоговые, там нет бинарных операций. Вероятно, вы уже слышали про Кубиты, что у них есть состояние 0, 1 и 0-1 одновременно, и благодаря этому вычисления выполняются очень быстро: это заблуждение. Кубит - это магнит (обычно атом или электрон), подвешенный в пространстве, который может вращаться по всем трем осям. Собственно, вращение магнита в пространстве - это и есть операции квантового компьютера. Почему это может ускорить вычисления? Было очень сложно найти ответ, но самые стойкие читатели увидят его в конце статьи. Начнем разоблачения.
Как улучшить английский в документации
Я работаю техническим писателем в компании documentat.io. Мы занимаемся заказной разработкой технической документации, в том числе на английском языке. Иногда я дорабатываю уже существующие документы или спецификации к API на английском. Как правило, такие документы написаны русскоязычными разработчиками, которые неплохо владеют английским. И всё же они часто допускают характерные грамматические, пунктуационные и стилистические ошибки.
Корень этих ошибок один — разные языковые механизмы. Нам бывает легко запутаться в употреблении временных форм, порядке слов или непонятно зачем придуманных артиклях.
Поэтому в этой статье я постарался не просто дать рекомендации о том, как можно избежать распространённых ошибок, но и подсветить те отличительные черты английского языка, которые к этим ошибкам приводят.
Брюнетки против блондинок или как на мониторе показать цвет свечения светильника?
Метод демонстрации на мониторе цветности свечения светильника в соответствии с требованиями проекта национального стандарта «Методы определения неоднородности цветности», и шаблоны в MS Excel.
Системный шрифт как проприетарные куки. Необычный метод пометки вашего устройства
Так делают различные программы, хотя это не назовёшь образцом правильного программирования. У метода свои преимущества и недостатки.
Отладка, модификация и устранение багов в сторонних 32-х и 64-х разрядных приложениях под ОС Windows
В этой статье я хочу поделиться практическими методами отладки, модификации и устранения багов в 32-х и 64-х разрядных приложениях под ОС Windows, разработанных на языке C/C++, исходные коды которых по тем или иным причинам не стали достоянием общественности.
Этот пробел отчасти можно попытаться устранить, например, с помощью плагина Hex-Rays для IDA Pro, и зачастую удаётся довольно качественно восстановить нужный участок исходного кода, обнаружив в нём проблемное место. Но после этого всегда возникает вопрос - что с этим исправленным кодом делать дальше, как и где его можно использовать? На данном этапе мне всегда хотелось взять этот отдельно декомпилированный фрагмент программы, поменять в нём что-нибудь и затем каким-то чудесным образом «поместить обратно» в программу.
Далее будет описан один из возможных способов реализации этой идеи на практике.
Новоглифы или иероглифы будущего
Как же приятно вдыхать воздух родного города после длительного перелёта! Утомительная командировка подошла к концу, солнце блестит в фюзеляже самолёта, а душа поёт и радуется. «Пожалуй, это лучший момент для селфи», — улыбнулся я фронтальной камере моего смартфона.
Экспресс от аэропорта слегка покачивался, навевая сладкую дрёму. За окном мелькали березки вперемешку со строениями непонятного назначения, назойливая мысль о том, что что-то новое и неуловимое появилось в моём городе никак не прогонялась. Я допил капучино, смял билет, запихнул его в стакан от кофе (всё равно его уже никто не будет проверять) и оторопел: на стакане были надписи на четырёх языках.
Information
- Rating
- Does not participate
- Registered
- Activity