Pull to refresh
2
0.4
Илья М. @ivvi

User

Send message

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

Reading time5 min
Views21K

Всем привет, меня зовут Женя Колесников, я из команды Yandex Infrastructure. Сегодня я расскажу, как мы пришли к написанию документации в концепции Docs as Code, придумали для этого набор инструментов, назвали его красивым именем Diplodoc и выложили в опенсорс — теперь вы тоже можете им воспользоваться.

Если вкратце, Docs as Code — это подход к написанию технической документации, который рассматривает её не как набор текстов, а как код. Исходя из этой концепции, к документации могут применяться все те же принципы, инструменты и процессы, что и к самому коду. Расскажу, как это происходит на примере Diplodoc — и чем он может облегчить вам жизнь.

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

Бесплатный курс по созданию сайтов для детей: 7 уроков по HTML и CSS с нуля

Level of difficultyEasy
Reading time5 min
Views3.3K

Если ребенок интересуется веб‑разработкой, его увлечение нужно поддержать. В этом помогут обучающие ролики или курсы HTML, CSS и JavaScript. Направление перспективно: оно знакомит даже неопытных школьников с IT, а также приближает их к пониманию основ написания кода. Если появится желание, можно пройти дополнительное обучение и освоить создание сайтов и программирование на продвинутом уровне.

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

Планомерное знакомство с роликами и понимание содержания каждого из них поможет построить эффективный маршрут дополнительного IT‑образования для ребенка, увлекающегося веб‑разработкой. Уроки подойдут подросткам от 12 лет и старше.

Читать далее
Total votes 13: ↑6 and ↓7+3
Comments5

Чиним замедление YouTube на уровне роутера

Level of difficultyMedium
Reading time6 min
Views647K

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Total votes 360: ↑357 and ↓3+412
Comments1054

«Ньютон» – мультитул для гитаристов. Часть 2

Level of difficultyEasy
Reading time4 min
Views9.7K

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

Если вы слышите о проекте впервые, то рекомендуем вам ознакомиться: первая статья.

Читать далее
Total votes 14: ↑14 and ↓0+21
Comments8

Публикация локального сервера из дома в интернет

Level of difficultyEasy
Reading time10 min
Views53K

Приветики. Надеюсь, все отошли от новогодних, и можно писать и читать дальше. Как хозяин умного дома, я состою в чатике по Home Assistant, там прекрасное ответчивое комьюнити,
но периодически задаётся вопрос по тому, как собственно выставить свой веб сервис в интернет. И оказывается, что в двух словах тут не ответишь, а вменяемой инструкции на которую можно дать ссылку - нет. Так что теперь она будет здесь.

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

Мы рассмотрим здесь несколько сценариев - статический белый айпи, динамический белый айпи, и серый. Для серого рассмотрим варианты с готовыми сервисами, с помощью Keenetic и с помощью ssh туннеля. Погнали!

Читать далее
Total votes 57: ↑55 and ↓2+62
Comments97

Nota, Typst и Evidence. Языки программирования для генерации документов

Level of difficultyEasy
Reading time6 min
Views8.9K


Все настолько привыкли к Markdown, что считают его неким стандартом для оформления документов в вебе. Но это не конечная истина, высеченная на камне, а просто популярный язык разметки, как HTML и TeX.

В то же время появляется всё больше новых языков, которые позиционируют себя как замену, альтернативу или дополнение к Markdown и TeX. В некоторых случаях они включают функции программирования, то есть позволяют добавить в документ исполняемый код. Веб-редакторы нового поколения можно использовать даже вместо Google Docs.
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments4

gRPC

Level of difficultyEasy
Reading time8 min
Views43K

Привет, Хабровчане!

Для тех, кто не в курсе, gRPC - это открытый фреймворк от Google, который был представлен миру в 2016 году. Основываясь на протоколе HTTP/2, gRPC использует Protocol Buffers в качестве языка описания интерфейса.

Основная идея gRPC заключается в создании универсального механизма для эффективного и быстрого обмена данными между различными сервисами и приложениями. В этом его главное отличие от традиционных REST API. gRPC работает на основе протоколов, которые определяют "контракты" между клиентом и сервером, позволяя им общаться независимо от ЯПа.

Читать далее
Total votes 18: ↑13 and ↓5+10
Comments7

Что нужно знать о gRPC системному аналитику

Level of difficultyEasy
Reading time14 min
Views24K

Всем привет! Я Ирина Матевосян, системный аналитик в направлении продуктового и системного анализа в отделе Tinkoff Mobile Core. Мы разрабатываем общие библиотеки, которые используют все мобильные приложения экосистемы Тинькофф. 

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

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

Майнд-карта успешной физической трансформации. Питание. Тренировки. Мотивация

Reading time7 min
Views11K

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

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

Успехов тебе!

Читать далее
Total votes 21: ↑16 and ↓5+20
Comments26

API-First: как мы внедряем привычный OpenAPI и «слегка подозрительный» AsyncAPI

Level of difficultyMedium
Reading time7 min
Views7.2K
image
Нейроны — природный пример API-centric дизайна

У нас тут была целая драма: мы решили полноценно перейти от бумажно-табличных стандартов описания API к нормальным человеческим OpenAPI и AsyncAPI. Если уже хорошо известный стандарт OpenAPI вызывал минимум вопросов и уже использовался некоторыми командами, то аналогичный стандарт для асинхронных взаимодействий стал основой этой самой драмы.

Итак, раньше в основном мы по старинке проектировали программный интерфейс и передавали разработчикам таблицы с описанием интеграционного взаимодействия. Т. е. два аналитика договаривались по некоему API на стыке их систем или сервисов, а затем каждый из них шёл в свою команду рассказывать и показывать, как он это понял. Заканчивалось всё тем, что иногда по нескольку недель и даже больше мы правили всякие весёлые баги, связанные с наименованием атрибутов и не только. Где uppercase, у кого lowercase, что с типами данных, в каком блоке должен быть атрибут, почему столько атрибутов с похожими названиями — всё это приводило к бесконечным циклам звонков, разглядывания спецификаций и реализаций. До драки не доходило, но пара случаев запомнилась.

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

Разработчики поначалу очень не доверяли AsyncAPI на фоне OpenAPI (и для этого была очень конкретная причина), и именно в этом смысле началась ключевая часть драмы с новыми инженерными стандартами.
Читать дальше →
Total votes 11: ↑9 and ↓2+9
Comments8

[По полочкам] Кэширование

Level of difficultyEasy
Reading time12 min
Views60K

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

Читать далее
Total votes 38: ↑34 and ↓4+37
Comments16

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

Reading time5 min
Views11K

Привет, меня зовут Денис, и я работаю руководителем отдела проектирования в компании SSP SOFT.

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

Начну с того, что я сам числюсь системным аналитиком всего два года. Я сразу попал в «ведущие системные аналитики», пропустил стадии junior, middle. Спустя год работы ведущим системным аналитиком, меня назначили руководителем отдела проектирования, доверили развитие аналитиков в компании. С этого момента я стал обращать внимание на то, как работают аналитики в разных проектах, чем они занимаются. В компании работает около 30 аналитиков, они заняты в проектах, связанных с разработкой программного обеспечения для бизнеса. Продукты и рабочие процессы в проектах сильно отличаются, это позволяет увидеть всё разнообразие типовых задач, которые выполняет аналитик в команде.

Хотя я не получал специализированного образования в области системного анализа, я знаком с понятиями «требование» и «техническое задание» с самого начала своей карьеры. За плечами 18 лет опыта в ИТ, разнообразные проекты и продукты, есть и успешные, которыми я очень горжусь.

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

Прежде чем перейти к проблематике, зафиксируем несколько вводных:

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments26

Опыт создания «умного дома» с системой Aqara

Level of difficultyEasy
Reading time14 min
Views21K

Привет! Меня зовут Александр,  мы с семьей живем в небольшом загородном доме, который обустраиваем своими руками. Сборку “умного дома” я начал около года назад в связи с необходимостью автоматизации отопления в холодное время года. Из коммуникаций к дому подведено только электричество, без возможности подведения газа, поэтому основным источником тепла зимой являются электроконвекторы и печь-камин. Первый холодный сезон показал ряд неудобств такой системы, ведь все работало только на ручном управлении. Регулировка термостатов в зависимости от температуры на улице, включение/выключение конвекторов при дополнительном печном отоплении, отсутствие контроля температуры воздуха в комнатах - все это побудило меня сделать обогрев дома автоматическим, независимо от присутствия человека. В качестве основы для “умного дома” я решил применить готовую систему Aqara, она показалась мне наиболее интересной. Выбор системы основывался на простоте подключения и управления устройствами, без добавления какого-либо кода вручную, так как я не являюсь IT-специалистом. Разумеется, на автоматизации отопления дело не остановилось, ведь “умный дом” - это настоящий конструктор. В дальнейшем, я организовал управление освещением, настроил охранную систему, установил датчики дыма и датчики протечки воды (которые уже несколько раз пригодились). Получившаяся система “умного дома” помогает нам просто и эффективно решить ряд задач по обустройству быта и создать комфортные условия для проживания.

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

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

Генерация Swagger для сервера Echo

Reading time12 min
Views4.6K

В процессе работы над проектом потребовалось генерировать аннотации OpenAPI налету из реализованных в проекте http-хэндлеров. Ни одна из имеющихся реализаций не удовлетворяла требованиям по удобству использования и поддержки. Поэтому пришлось написать свою обертку над echo.Group, с помощью которой можем получить swagger аннотацию на основании тех путей и с теми параметрами вызова, которые реально зарегистрированы в сервере. О причинах и путях реализации в статье.

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

Умный аналитик – глупый разработчик vs. глупый аналитик – умный разработчик

Reading time10 min
Views25K

Или как понять, когда остановиться

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

— Скажи, а зачем нам вообще нужны аналитики?

— И действительно, зачем? – подумал тогда я и написал заявление

Вопрос этот, как бы крамольно он ни звучал, очень правильный. Системный анализ, как фаза разработки приложения, присутствует всегда (даже если это системы класса «Hello, world»), а вот системный аналитик, как выделенная роль – нет. Выделение отдельной специальной роли работает точно так же, как и разделение труда в обычном производстве: для маленьких задач не целесообразно, для больших задач – оправданно. При таком разделении  системный аналитик забирает на себя часть задач и функций некоего «универсального» исполнителя задачи. Однако, подобное разделение труда имеет свою цену: это потеря знаний при коммуникации, более сложное управление процессом и др. В этой статье я хочу поделиться своим опытом: описать минусы крайностей и дать рекомендации по распределению обязанностей между системными аналитиками и разработчиками.

Итак, нам нужен системный аналитик, который формирует требования и разработчик, который эти требования реализует в коде.

Если спросить у любого разработчика, каким главным свойством должны обладать системные требования, он, скорее всего, скажет: «чтобы было понятно, что делать». И это проблема. 

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

Читать далее
Total votes 18: ↑17 and ↓1+20
Comments24

[Личный опыт] Как просто переехать в Словакию и что там делать IT-специалисту на удаленке

Reading time10 min
Views39K

В Германии инженерам хорошо платят, в Португалии тепло, а в Финляндии много стартапов и низкая конкуренция. Но что IT-специалисту делать в Словакии? Стоит ли туда перебираться, и не получится ли, что переедешь в ту же Россию, только в Европе?


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




Читать дальше →
Total votes 20: ↑18 and ↓2+21
Comments22

Генератор музыки. Web Audio API. Опыт новичка

Reading time12 min
Views12K

Контекст и предыстория


Мне 62. Года три назад решил попробовать написать достаточно сложную систему, до этого было только 20 строк на бэйсике в 1981 г., когда нам на 5 курсе радио-факультета (НГТУ, ранее НЭТИ) воткнули 3 месяца информатики. Профессионалом принято считать того, кто предметом владеет и на нем зарабатывает, так что по факту я — новичок.

С другой стороны, я почти всю жизнь занимался относящимися к музыке алгоритмами, застал процесс развития и железа, и ПО и по мере сил участвовал в нем. В 1978 разработал и собрал синтезатор а-ля Mini-Moog (полагаю, 1-й за Уралом), разработал и выпускал 1-ю в СССР звуковую карту с синтезатором для Агат7(9) — советский аналог Apple II, проектировал модуль FM-синтеза для одного из заводов, сотрудничал с Cakewalk (США), PGMusic (Канада), PowerFX (Швеция) — чаще по схеме: «идеи и воплощение от нас, бюджет — от них», участвовал в международных музыкальных выставках MusikMesse (Германия), NAMM (США) и пр.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments7

Новые карты CUBA

Reading time10 min
Views3.6K

maps


Работа с геопространственными данными и отображение карт являются неотъемлемыми составляющими множества бизнес-приложений. Это могут быть городские и региональные информационные системы, приложения для нефтегазовой отрасли, системы управления транспортной инфраструктурой, а также службы доставки и многие другие. У нас в CUBA Platform для построения подобных приложений помимо базовых возможностей, предоставляемых из коробки, существует довольно обширный набор дополнений и компонентов. Одним из них является Charts and Maps, которое помимо отображения графиков позволяет интегрировать в визуальную часть приложения Google-карты. В прошлом году Google обновил условия использования своих картографических сервисов, что повлекло за собой рост стоимости, а также ввел условие обязательного наличия платежного профиля для использования API. Эти обстоятельства заставили большинство наших клиентов задуматься об альтернативных поставщиках карт, а нас подтолкнули к разработке нового компонента карт.

Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments4

10+ полезных jQuery сниппетов на каждый день

Reading time5 min
Views86K


Спустя годы библиотека jQuery стала неотъемлемой частью в работе каждого web-разработчика. Ведь она простая в использовании, быстрая и имеет очень широкие возможности. В этой статье я собрал список из более чем десяти сниппетов, которые вы можете свободно брать для использования. Их очень легко адаптировать под нужды ваших собственных проектов.
Читать дальше →
Total votes 194: ↑109 and ↓85+24
Comments55
1
23 ...

Information

Rating
2,139-th
Location
Тольятти, Самарская обл., Россия
Date of birth
Registered
Activity

Specialization

Systems Analyst, Business Analyst
Senior