Pull to refresh
13
0

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

Send message

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

Level of difficultyEasy
Reading time2 min
Views61K

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

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments6

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

Reading time8 min
Views54K
Появляется у нас на пороге серьёзный заказчик с ТЗ. Мы на него смотрим и думаем: съедобные лубриканты? Серьёзно?

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

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

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

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


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

В общем, сейчас я расскажу, как формировалось ТЗ на это изделие и как проводились бета-тесты.
Читать дальше →
Total votes 213: ↑206 and ↓7+254
Comments118

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

Reading time4 min
Views56K
Как-то я получил от своего отца (мы вместе с ним работаем на одного клиента) сообщение с приложенной фотографией.


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

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

В тот момент ещё никто не думал, что оно может быть зловредным, скорее, все думали, что это экспериментирует кто-то из сотрудников клиента.
Читать дальше →
Total votes 120: ↑119 and ↓1+158
Comments51

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

Reading time5 min
Views80K

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

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

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

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

Читать далее
Total votes 94: ↑70 and ↓24+68
Comments251

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

Reading time7 min
Views27K

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

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

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

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

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

Читать далее
Total votes 9: ↑7 and ↓2+7
Comments2

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

Reading time8 min
Views225K

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

Читать далее
Total votes 91: ↑78 and ↓13+90
Comments173

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

Reading time13 min
Views17K

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

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments13

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

Reading time3 min
Views30K

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

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

Читать далее
Total votes 70: ↑67 and ↓3+91
Comments42

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

Reading time8 min
Views9.2K

В своей прошлой статье на Хабре я писал про библиотеку 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 библиотеку в исполняемый файл для командной строки.

Читать дальше →
Total votes 18: ↑17 and ↓1+21
Comments16

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

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



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

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

Reading time9 min
Views14K

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

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

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

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

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

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

ShaderToy screenshot
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments6

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

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


Читать дальше →
Total votes 18: ↑17 and ↓1+27
Comments10

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

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

Введение


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

Целью данной статьи является не детальное покрытие сложных тем по DDD и Слоистой архитектуре, а пример реализации этих двух подходов в Typescript. Используемый проект является базовым и может быть доработан и расширен, например с использованием подхода CQRS.
Читать дальше →
Total votes 9: ↑7 and ↓2+9
Comments8

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

Level of difficultyMedium
Reading time7 min
Views26K



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



Читать дальше →
Total votes 13: ↑12 and ↓1+16
Comments26

Обзор 14 headless cms 2019

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


Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments10

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

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

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

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


Читать дальше →
Total votes 16: ↑12 and ↓4+12
Comments44

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

Reading time12 min
Views96K

Содержание


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

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

Reading time16 min
Views77K
От идеи до серийного производства: подробно об этапах разработки и о технологиях производства корпусов — факты, примеры из практики, фото. Если вам нужен корпус для прибора, обязательно прочитайте.

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

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

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

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


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

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

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

Вот схема, по которой мы пойдем:
Читать дальше →
Total votes 149: ↑149 and ↓0+149
Comments69

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

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

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

Скрудж МакДак купается в золоте
Жили у бабуси две веселых кассы...
Total votes 14: ↑14 and ↓0+14
Comments3

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

Reading time7 min
Views35K


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


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


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


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

Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments4
1
23 ...

Information

Rating
Does not participate
Location
Нижний Тагил, Свердловская обл., Россия
Date of birth
Registered
Activity