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

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

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

api2app — быстрое создание графического интерфейса для API

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

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

При помощи api2app можно быстро создать графический интерфейс для API. Его можно использовать для тестирования или демонстрации работы вашего API. Созданным приложением можно поделиться со всеми желающими или использовать по приватной ссылке.

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

Командная динамика по Брюсу Такману: чему нас учит опыт подводников

Время на прочтение 6 мин
Количество просмотров 71K
В прошлом видео мы говорили о том, что у команды должен быть мамонт — общая разделяемая цель, которую можно достичь только всем вместе. Но только цели — недостаточно, потому что после формирования команды в дело вступают социологические эффекты.

И тут нам на помощь пришел американский психолог Брюс Такман, которому довелось исследовать тысячи команд по заказу Министерства Обороны США. Военные пытались понять, как себя будут вести экипажи подводных лодок в автономном плавании. Не захочет ли кто уволиться? Или там предъявить капитану черную метку?

На основании этих исследований Такман сформулировал свой концепт, которым мы теперь с благодарностью пользуемся:



И тут необходимо вспомнить несколько историй из реальной жизни…

Несколько историй о том, как ускорять формирование команд
Всего голосов 13: ↑9 и ↓4 +5
Комментарии 8

Советы практикующего андрагога: как мы учимся

Время на прочтение 7 мин
Количество просмотров 43K
Люди, как известно, делятся на два типа: тех, кто читают инструкцию перед тем, как включать электроприборы, и тех, кто сначала включает, а в случае каких-то косяков начинает читать, что же он сделал не так.

Я абсолютно точно принадлежу ко второй группе. Поэтому именно так я начал создавать свой первый тренинг. На тот момент я уже 3 года работал в Intel, читал несколько внутри-корпоративных тренингов, как вдруг ощутил непреодолимое желание сделать свой тренинг.

Ведь всем известно, что корпоративные тренинги учат как жить в корпорации. Тебе вставляют в ухо шланг, через который начинают закачивать vision, mission & corporate values.

Поэтому, решил я, я сделаю свой тренинг, где расскажу всю правду-матку. И сделал. А что там делать? Берешь свой опыт, рисуешь красивые слайды, придумываешь упражнения — и вперед!

И это было ужасно. Нет, людям-то как раз нравилось, но мне сейчас это кажется ужасным. Потому что, как выяснилось через некоторое время, для успешного тренинга нужны не только собственный опыт, хорошее чувство юмора, умение выступать и общаться с людьми. Нужна еще методика. Без понимания которой люди выносят 10% той пользы, которой они могли бы получить от вашего тренинга, если бы вы вначале прочли инструкцию по тому, как обучать взрослых людей.

Оказывается, человечество уже накопило довольно много материала на эту тему. Который материал и вошел в науку об обучении взрослых людей, которая называется как? Нет, не педагогика. Это наука про обучение и воспитание детей. А про взрослых? Правильно — андрагогика.

В прошлой статье [1] мы говорили о матрице осознанности и компетентности и том, как взрослые люди обучаются навыкам. Давайте теперь поговорим о модели обучения, которая дает ответ на вопрос, а как учить взрослых людей. О цикле Колба.

Поняв эту модель, вы сможете:
  • Четко понимать, почему одни тренинги и семинары оказываются полезными, а другие заходят плохо
  • Правильно обучать других людей — как в группах, так и индивидуально
  • С умным видом рассуждать на тему обучения взрослых людей, уверенно используя термин “цикл Колба”


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

Виды баз данных. Большой обзор типов СУБД

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

Часто, в обзорах видов баз данных упоминают реляционные и “другие”, “NoSQL” и т.д., либо приводят самые основные типы СУБД (базы данных), забывая о редких. В данной статье я постараюсь описать максимально полно виды баз данных и привести примеры конкретных реализаций. Разумеется, статья не претендует на всеохватность и классифицировать базы данных можно по разному, в том числе по типам оптимальной нагрузки и т.д., но надеюсь, она даст базовое представление о видах СУБД и принципах их работы.

В статье мы рассмотрим следующие типы баз данных:

Читать далее
Всего голосов 42: ↑40 и ↓2 +38
Комментарии 16

10 игр для изучения JavaScript

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

Мы рассматривали 10 удивительных игр для изучения CSS. А в этой статье мы сделаем то же самое для JavaScript. Изучать язык, играя в игры, очень весело, а для некоторых людей это отличный способ наглядного восприятия языка.

Без лишних слов, представляю десять фантастических игр, с помощью которых вы можете изучать JavaScript.

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

Гайд для новичков по установке Kubernetes

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

© кадр из к/ф «Пираты Карибского моря»

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

Мы потренируемся ставить как вырожденный кластер «все-в-одном», состоящий только из одного узла, так и настоящий высокодоступный (high available) кластер с полным резервированием. В процессе работы мы рассмотрим применение различных контейнерных движков (Container Runtimes): cri-o, containerd, связки Docker + cri-dockerd plugin. Кроме этого, потренируемся настраивать отказоустойчивый балансировщик нагрузки на базе keepalived и haproxy.

Весь процесс установки будет детальным образом прокомментирован и разложен по шагам, а в реперных точках мы будем делать снимки состояния виртуальных машин (snapshots), что позволит рассмотреть различные варианты установки без необходимости делать одну и ту же работу по несколько раз.
Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Комментарии 13

Изучение TypeScript — полное руководство для начинающих. Часть 5 — Строгий режим и сужение типов

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

Все привет! Меня зовут Лихопой Кирилл и я - fullstack-разработчик. В заключительной части руководства мы рассмотрим строгий режим и сужение типов в TypeScript. Эти техники позволяют точнее определять типы в коде, чтобы улучшить качество вашего кода и уменьшить количество багов.

Другие части:
Часть 1 - Введение и примитивы
Часть 2 - Ссылочные типы данных
Часть 3 - Классы и интерфейсы
Часть 4 - Литералы и дженерики

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

Запускаем Vagrant на MacOS Apple M1/M2

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

Очень часто в разработке возникает необходимость поднять локальное окружение для отладки каких-либо рабочих моментов. В своей работе я постоянно пользуюсь Vagrant для тестирования инфраструктурного кода, например ansible-ролей.

Vagrant остаётся одной из самых популярных утилит для подобных задач, имеет гибкий синтаксис и поддержку базовых алгоритмических структур – можно поднимать N и K машин в цикле, используя заранее вводимые переменные, а потом еще и ansible-inventory генерировать на выходе, разбивая машины по группам.

Долгое время я оставался пользователем MacBook на процессоре Intel, но больше так продолжаться не могло – пришлось сменить компьютер, хотя я и знал о некоторых особенностях работы М1 с виртуальными машинами.

В этой статье я расскажу, как настроить и запустить Vagrant на процессорах Apple M1/M2 и вернуться в привычный рабочий режим.

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

Практика Jobs To Be Done на человечках

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

Это вторая, практическая часть по JTBD. В ней я расскажу про то, как визуализировать потребности пользователя, как строить Job Stories на любом уровне абстракции по Ульвику и по Клементу, как анализировать конкурентов и покажу какие есть типы JTBD интервью. Бонусом дам готовые шаблоны в гугл доке для проведения полного цикла интервью с рекомендациями.

Читать далее
Рейтинг 0
Комментарии 1

Как мы выбирали корпоративный мессенджер в новых реалиях

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

2022 год погрузил всех в новую реальность. Многие компании ушли с рынка, бизнесу осталось два варианта: адаптируйся или умри. Как и завещал дедушка Дарвин.

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

Сказ про то, как мы метрики качества внедряли

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

Всем привет! Я Ирина, руководитель по обеспечению качества в Тинькофф Страховании. Тинькофф давно не просто банк, а экосистема со множеством направлений, такими как Инвестиции, Мобайл, Страхование, Бизнес и прочие. В каждом направлении есть ИТ-команды, которые постоянно что-то улучшают, развивают, разрабатывают и релизят. При этом в каждой команде свои процессы и подходы к метрикам.

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

Читать далее
Всего голосов 108: ↑56 и ↓52 +4
Комментарии 41

Наш опыт, как не надо растить тимлидов (не делайте как мы)

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


Тимлидом у нас часто становился не обученный человек, а тот из разработчиков, который меньше всего не хотел. Потому что часто было надо. Исторически у нас в Skyeng очень много автономных команд (мы работали полностью на удалёнке в разных географиях до того, как это стало модным, и имели репутацию общества интровертов, в котором можно не развивать софт-скилы).

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

В общем, мы решили в этих условиях обучать своих тимлидов. Сейчас расскажу, что из этого получилось.
Читать дальше →
Всего голосов 46: ↑43 и ↓3 +40
Комментарии 13

Где именно лежит граница между зарплатными грейдами: как это устроено у нас

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


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

В итоге мы сделали опросник из 14 пунктов, по которому за несколько минут можно оценить себя. То же самое делает про вас тимлид, и если оценки совпадают, то всё отлично, есть грейд и зарплата в нём (у нас по три уровня внутри каждого грейда, например, джун-джун, опытный джун и джун 80-го уровня). Если оценки не совпадают — начинается процесс переговоров с приведением примеров для синхронизации по части оценки и ожиданий, чтобы потом на следующей итерации они всё-таки совпали.

Пока мы попробовали этот подход на 120 разработчиках. Выглядит многообещающе. Но я хотел бы показать вам сам опросник, детали системы и обсудить, насколько прозрачной получилась такая система. Дальше в посте — предпосылки её создания, разбор каждого из параметров и ссылка на форму, которая показывает результат по нашей системе грейдов.
Читать дальше →
Всего голосов 41: ↑36 и ↓5 +31
Комментарии 40

Очень странные дела: когда процессы в команде и правда помогают

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

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

Этой статьёй я хочу ещё раз напомнить, как инструменты командного взаимодействия решают проблемы качественной разработки, что ответственность за качество лежит на всей команде и что agile-понятия «Прозрачность» и «Предсказуемость» часто теряются на фоне клепания тасок в Jira. Несмотря на свою очевидность, Agile-практики применяются не везде, где могли бы приносить пользу, либо применяются с ошибками и антипаттернами, противоречащими самой культуре Agile. Я расскажу, с какими сложностями столкнулся на разных этапах распространения этой культуры и что делал, чтобы их преодолеть.

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

Читать далее
Всего голосов 32: ↑24 и ↓8 +16
Комментарии 7

Пособие по Ansible

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

управление конфигурацией оркестра


Это практическое пособие познакомит вас c Ansible. Вам понадобится виртуальная или реальная машина, которая будет выступать в роли узла для Ansible. Окружение для Vagrant идет в комплекте с этим пособием.


Ansible — это программное решение для удаленного управления конфигурациями. Оно позволяет настраивать удаленные машины. Главное его отличие от других подобных систем в том, что Ansible использует существующую инфраструктуру SSH, в то время как другие (chef, puppet, и пр.) требуют установки специального PKI-окружения.


Пособие покрывает такие темы:


  1. Установка Ansible и Vagrant
  2. Файл инвенторизации
  3. Модули shell, copy, сбор фактов, переменные
  4. Запуск на группу хостов
  5. Плейбуки
  6. Пример: поднимаем кластер, устанавливаем и настраиваем Apache и балансировщик нагрузок HAproxy
  7. Обработка ошибок, откат
  8. Шаблоны конфигурации
  9. Роли

Ansible использует так называемый push mode: конфигурация «проталкивается» (push) с главной машины. Другие CM-системы обычно поступают наоборот – узлы «тянут» (pull) конфигурацию с главной машины.


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

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

CUSTIS Labs. Развертываем инфраструктуру за минуты

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

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

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

И жили они долго и счастливо: как QA выстроить плодотворное взаимодействие с dev

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

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

Собрали 5 советов, которые помогут тестировщику найти взаимопонимание с разработчиками.

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

Best practices в Code Review

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

Правильный процесс ревью кода — это процесс итеративного улучшения продукты и контроля.
Контроля того, что:
1) Cоблюдены общие правила и договорённости
2) Решение не избыточное и масштабируемое.
3) Решение покрывает все критерии приемки указанные в описании к задаче

Для начала будет хорошо задать в своей команды такие вопросы:
1) Сколько времени занимает ревью кода для средней (сферической в вакууме) задачи
2) Как вы минимизируете время ревью?
3) Как вы определяете, что ревью конкретной задачи сделано правильно?

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

Nginx. О чем не пишут в книгах

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

Эта статья родилась случайно. Слоняясь по книжному фестивалю и наблюдая, как дочка пытает консультантов, заставляя их искать Иэна Стюарта, мой глаз зацепился за знакомые буквы на обложке: "Nginx".

Надо же, на полках нашлось целых три книги - не полистать их было бы преступлением. Первая, вторая, третья... Ощущение, будто что-то не так. Ну вроде страниц много, текст связный, но каково содержание? Установка nginx, список переменных и модулей, а дальше docker, ansible. Открываем вторую: wget, лимиты запросов и памяти, балансировка, kubernetes, AWS. Третья: GeoIP, авторизация, потоковое вещание, puppet, Azure. Ребята, а где про то, как вообще работает nginx? На кого рассчитаны ваши книги? На состоявшегося админа, который и так знает архитектуру этого веб-сервера? Да он вроде с базовыми настройками и сам справится. На новичка, который не знает как пользоваться wget? Вы уверены, что ему знание о существовании ngx_http_degradation_module и тем паче "облака" важнее порядка прохождения запроса?

Итак. О чем не пишут в книгах.
(здесь и дальше мы говорим только о NGX_HTTP_)

Фазы обработки запроса
Всего голосов 86: ↑86 и ↓0 +86
Комментарии 11

Браузерные Push-уведомления на Javascript и PHP

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

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

В данной статье не будут "размусолены" принципы работы и тонкости Push уведомлений, только код

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность