Как стать автором
Обновить
15
0

Пользователь

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

Подборка бесплатных ресурсов для обучения тестировщика

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

Сегодня День знаний, с чем вас и поздравляю! По этому случаю собрал для вас различные бесплатные ресурсы и платформы для обучения профессии "тестировщик".

Все материалы использовал или использую сам.

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

Как мы ели лубрикант

Время на прочтение8 мин
Количество просмотров52K
Появляется у нас на пороге серьёзный заказчик с ТЗ. Мы на него смотрим и думаем: съедобные лубриканты? Серьёзно?

До этого мы делали лубриканты для родовспоможения коров, а они его не едят. Особенно тем местом, откуда идут роды. После коров мы делали лубриканты для людей, но они его тоже не ели. Натурально. А тут по ТЗ надо съедобное. Для приёма внутрь в достаточно больших количествах. Если быть более точными, люди его чаще всего слизывают.

Тема настолько упоротая, что нас было не остановить.

Начали мы с просчёта оптимальной диеты из лубрикантов. В той формуле, которую мы в итоге стали производить, 100 граммов дают вам 44 ккал энергии. Это примерно как три средних огурца (внутрь перорально). Но, увы, эффективной диеты не будет: через организм он проходит практически транзитом.

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


Здание арсенала в Сан-Франциско, которое более узнаваемо в своём вечернем освещении.

В общем, сейчас я расскажу, как формировалось ТЗ на это изделие и как проводились бета-тесты.
Читать дальше →
Всего голосов 269: ↑262 и ↓7+255
Комментарии118

Загадочное дело о Raspberry Pi в шкафу для сетевого оборудования

Время на прочтение4 мин
Количество просмотров56K
Как-то я получил от своего отца (мы вместе с ним работаем на одного клиента) сообщение с приложенной фотографией.


Сообщение от отца

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

В тот момент ещё никто не думал, что оно может быть зловредным, скорее, все думали, что это экспериментирует кто-то из сотрудников клиента.
Читать дальше →
Всего голосов 160: ↑159 и ↓1+158
Комментарии51

Пожалуйста, прекратите писать shell-скрипты

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

Когда вы автоматизируете какую-либо задачу, например, упаковываете свое приложение для Docker, то часто сталкиваетесь с написанием shell-скриптов. У вас может быть bash-скрипт для управления процессом упаковки и другой скрипт в качестве точки входа в контейнер. По мере возрастающей сложности при упаковке меняется и ваш shell-скрипт.

Все работает хорошо.

И вот однажды shell-скрипт совершает что-то совсем неправильное.

Тогда вы осознаете свою ошибку: bash, и вообще shell-скрипты, в основном, по умолчанию не работают. Если с самого начала не проявить особую осторожность, любой shell-скрипт достигнув определенного уровня сложности почти гарантированно будет глючным... а доработка функций корректности будет довольно затруднительна.

Читать далее
Всего голосов 116: ↑92 и ↓24+68
Комментарии251

Как Kubernetes создает и запускает контейнеры: Иллюстрированное руководство

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

Понимание того как Kubernetes обрабатывает контейнеры дает большую гибкость при создании пользовательских конфигураций под конкретные нужды.

Kubernetes позволяет выполнять много полезной работы без глубокого понимания деталей. Утилита командной строки kubectl и дашборды в Openshift помогают управлять вашими контейнерами. Однако, как только вы заглянете глубже в Kubernetes все может быстро усложниться.

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

Такая аналогия правдива и для работы с Kubernetes. Просто сказать: "Давайте оставим это на усмотрение разработчиков" - недостаточно, с таким же успехом можно предоставить выбор системы кондиционирования обычным рабочим со строительной площадки. За каждой хорошо спроектированной системой стоит как множество деталей, так и архитектор, который понимает их значение.

Для системного архитектора в IT важно понимать как Kubernetes создает и запускает контейнеры. Изучение контейнерной оркестрации необходимо по двум причинам. Во-первых, это хорошее знание для архитектора уровня компании (как для обычного архитектора знание систем кондиционирования). Во-вторых, понимание механизмов, благодаря которым Kubernetes создает и запускает контейнеры, позволяет настраивать пользовательские конфигурации кластеров Kubernetes для специфичных кейсов, но для этого необходимо понимать основы.

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

Гайд: работающие способы вывести деньги за рубеж / завести в Россию

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

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

Читать далее
Всего голосов 116: ↑103 и ↓13+90
Комментарии173

Фронтендер пишет нейронки. Уровень сложности «хочу на ручки»

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

Рано или поздно, фронтенд - разработчик устает играть со своими фреймворками, устает докучать коллегам - бэкендерам, устает играть в девопс и начинает смотреть в сторону машинного обучения, дата - саенс и вот это вот все. Благо, каждый второй курс для тех кто хочет войти вайти способствует этому, крича на всех платформах, как это легко. Я тоже, насытившись перекладыванием данных из базы в API, а потом из API в таблицы и формы, решил взять небольшой отпуск и попробовать применить свои скилы фронтендера в машинном обучении. Благо, существуют такие люди как Daniel Shiffman и Charlie Gerard, которые своим примером помогают не бросить начатое, увидев первые страницы с математическими формулами.

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

Как стать владельцем чужой организации в Google Maps?

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

Одним тёплым вечером жена сказала что стала владельцем нашего Музея Мирового океана, находящимся в Калининграде. Она просто нажала на кнопку "Я владелец компании" в Google картах.

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

Читать далее
Всего голосов 97: ↑94 и ↓3+91
Комментарии42

jsqry — лучше, чем jq

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

В своей прошлой статье на Хабре я писал про библиотеку Jsqry, которая предоставляет простой и удобный язык запросов (DSL) к объектам JSON. С тех пор прошло много времени и библиотека тоже получила свое развитие. Отдельный повод для гордости — библиотека имеет 98% покрытие кода тестами. Однако в этой статье речь не совсем о ней.


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


I have been using jq for years and still can't get it to work quite how I would expect it to.

I have the same issue with jq. I need to use my google fu to figure out how to do anything more than a simple select.

I don't know what the term would be, mental model, but I just can't get jq to click. Mostly because i only need it every once in a while. It's frustrating for me because it seems quite powerful.

I know I might be a dissenting opinion here, but I can never wrap my head around jq. I can manage jq ., jq .foo and jq -r, but beyond that, the DSL is just opaque to me.

Let's just say it: jq is an amazing tool, but the DSL is just bad.

Yeah, I find jq similar to writing regexes: I always have to look up the syntax, only get it working after some confusion why my patterns aren't matching, then forget it all in a few days so have to relearn it again later.

Одним словом, вы уже наверное догадались. Пришла идея, а почему бы не обратить мою JS библиотеку в исполняемый файл для командной строки.

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

Полный цикл создания устройства и работа с фабриками в Китае

Время на прочтение11 мин
Количество просмотров20K
Меня зовут Андрей Холодный. Весь мой опыт связан с телекомом: я работал практически во всех крупных провайдерах связи и даже руководил своим стартапом. На моих проектах регулярно возникали задачи разработки и выбора поставщиков роутеров и ТВ-приставок. С конца 2018 года я применяю этот опыт в Яндексе: руковожу командой, которая координирует разработку и производство устройств с Алисой.



Под катом — конспект моего недавнего доклада. В нем два больших блока: про этапы разработки устройства и про общение с фабриками в Китае. Надеюсь, конспект будет полезен тем, кто начинает думать о производстве собственных устройств.
Читать дальше →
Всего голосов 48: ↑45 и ↓3+42
Комментарии17

Алгоритм быстрого и простого объёмного рендеринга

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

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

У моего ShaderToy были три основные задачи:

  1. Выполнение в реальном времени
  2. Простота
  3. Физическая корректность (… или типа того)

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

  1. Трассировка лучей непрозрачных объектов. Все объекты являются примитивами с простыми пересечениями с лучами (1 плоскость и 3 сферы)
  2. Для вычисления освещения используется затенение по Фонгу, а в трёх сферических источниках света применется настраиваемый коэффициент затухания света. Лучи теней не требуются, потому что мы освещаем только плоскость.

Вот как это выглядит:

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

Работа с GeoJSON в среде Node.js: практическое знакомство

Время на прочтение7 мин
Количество просмотров17K
GeoJSON — это стандартизованный формат представления географических структур данных, основанный на JSON. Существует множество замечательных инструментов для визуализации GeoJSON-данных. При этом данный формат хорош не только в деле хранения координат неких точек. Он, помимо точек, позволяет описывать и другие объекты: линии, полигоны, коллекции объектов.


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

Чистая архитектура с Typescript: DDD и слоистая архитектура

Время на прочтение7 мин
Количество просмотров20K
Привет, Хабр! В последнее время уделяю много внимание архитектуре и решил поделиться с сообществом переводом статьи Clean Architecture with Typescript: DDD, Onion автора André Bazaglia.

Введение


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

Целью данной статьи является не детальное покрытие сложных тем по DDD и Слоистой архитектуре, а пример реализации этих двух подходов в Typescript. Используемый проект является базовым и может быть доработан и расширен, например с использованием подхода CQRS.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии8

Как повысить скорость декодирования видеопотока в FFmpeg

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



С приходом тяжеловесных видеоформатов, таких как 4K (Ultra HD), проблема эффективности декодирования видеопотока стала достаточно актуальной. На среднем компьютере приходится принимать специальные меры для того, чтобы можно было обработать такой видеопоток в реальном масштабе времени. В статье рассказывается о возможных способах увеличения скорости декодирования видеопотоков в решениях, основанных на FFmpeg, и приводятся результаты экспериментов по измерению скорости декодирования для 4K видеопотоков, закодированных в H264 и HEVC(H265).



Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии26

Обзор 14 headless cms 2019

Время на прочтение25 мин
Количество просмотров40K
Некоторое время назад в одной заметной на российском рынке публичной компании, в которой я работал, встал вопрос об использовании headless cms. Среди множества реализаций нужно было выбрать одну. Это рассказ о том, как я формировал критерии выбора, как анализировал cms-ки, и как этот анализ привел меня к мысли, что нужно писать свою. Обзор 14 headless cms под катом.


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

Бесплатная СRM + телефония

Время на прочтение3 мин
Количество просмотров13K
Зачем нужна CRM? Как минимум удобнее, чем держать базу клиентов в экселе. Зачем для CRM интеграция с телефонией? Если вы хоть раз опускались на землю — пересекались с оффлайном — без телефона не обойтись (заказы, доставка, поддержка и т.д.).

Но что останавливает 80% компаний от того, чтобы попробовать CRM? Если это цена, то предлагаем попробовать полностью бесплатную CRM плотно интегрированную с телефонией и бесплатной АТС.

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


Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Комментарии44

10 лет на удаленке и что из этого вышло

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

Содержание


1. Первая работа
2. Первый экономический кризис и первая удаленка
3. Год за два
4. Покоряем Москву, не выходя из дома в провинции
5. Второй (валютный) экономический кризис
6. А в это время в России
7. А что сейчас?
8. Выводы/Плюсы/Минусы
9. ЧаВО
Читать дальше →
Всего голосов 131: ↑120 и ↓11+109
Комментарии89

Как спроектировать корпус для прибора. Полное руководство

Время на прочтение16 мин
Количество просмотров74K
От идеи до серийного производства: подробно об этапах разработки и о технологиях производства корпусов — факты, примеры из практики, фото. Если вам нужен корпус для прибора, обязательно прочитайте.

image
Изучая рунет, я не смог найти ни одной статьи, которая описывала бы ВСЕ этапы разработки и производства корпуса устройства.

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

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

Как спроектировать корпус — схема работы


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

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

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

Вот схема, по которой мы пойдем:
Читать дальше →
Всего голосов 149: ↑149 и ↓0+149
Комментарии69

Такая боль, такая боль, касса как сервис 2:0

Время на прочтение10 мин
Количество просмотров3.2K
В предыдущей статье мы рассказывали о том, как Антиплагиат выбирал себе «облака». В этой поговорим о важной составляющей жизни любой коммерческой компании — получении денег от клиентов.

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

Скрудж МакДак купается в золоте
Жили у бабуси две веселых кассы...
Всего голосов 14: ↑14 и ↓0+14
Комментарии3

Полное руководство по настройке HTTP-заголовков для безопасности

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


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


Я посмотрел, как эти компании вычисляют показатели безопасности других компаний. Оказалось, они смотрят на сочетание использования НТТР-заголовка для безопасности и репутации IP-адресов.


Репутация IP-адреса основывается на данных черных списков и списков спамеров в сочетании с данными о владельце общедоступного IP-адреса. Она, в принципе, должна быть чистой, если ваша компания не рассылает спам и в состоянии быстро определить и остановить вредоносное внедрение. Использование заголовка безопасности НТТР вычисляется аналогично тому, как работает Observatory от Mozilla.


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

Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии4
1
23 ...

Информация

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