Pull to refresh
-1
0
Send message

ИТ с пеленок. 6 игр, которые познакомят детей с программированием. Часть 1

Reading time3 min
Views13K

Если ты влюблен в программирование, перетащить своего ребенка «на эту сторону» тоже однажды захочется. Годовасику про JSON рассказывать, конечно, рано (хотя за колыбельную прокатит), а вот с детьми 4+ уже можно прикоснуться к основам. Помогут в этом специальные игры для детей — 6 из них собрали в этом посте. Некоторые подойдут для дошкольников, другие — для детей постарше.

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

Читать далее

Что нового в мире обхода блокировок Интернета в середине 2024

Level of difficultyEasy
Reading time13 min
Views179K

Представляю вашему вниманию короткий обзор что же произошло в России и в мире в области цензуры интернета и того, как этому противостоят энтузиасты. На всякий случай напоминаю, что статья «Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному» заблокирована на Хабре для пользователей из РФ, но по‑прежнему без проблем открывается через прокси/VPN с иностранных адресов. Ну а мы сейчас разберем, что же изменилось с тех пор.

Сегодня в программе: Замедление YouTube — проблемы с Google Cache или намеренное вредительство? Можно ли заблокировать Shadowsocks и как РКН смог это сделать? Новые транспорты в XRay: HTTPUpgrade и SplitTunnel. Новости из мира Tor, и многое другое.

Читать далее

Ускоряем код на Питоне с помощью расширений на Cи

Reading time7 min
Views14K

Питон — простой, но мощный язык, который заслуженно стал одним из самых популярных. Тем не менее, иногда ему не хватает скорости статически типизированных языков с предварительной компиляцией, таких как Cи и Джава.

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

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

Читать далее

Использование python-docx-template для динамического создания закладок и ссылок на них в документах Word

Level of difficultyEasy
Reading time2 min
Views12K

Я использую модуль python-docx-template для генерации файлов docx по шаблону.

Подробнее о модуле можно почитать здесь.

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

Здесь я предлагаю свой способ вставки закладок (bookmarks) и ссылок (hyperlinks) на них при помощи python-docx-template.

Читать далее

Настройка Git сервера с нуля

Level of difficultyEasy
Reading time12 min
Views21K

Любой начинающий DevOps начинает своё знакомство с Git. Этот инструмент стал неотъемлемой частью рабочего процесса разработчиков по всему миру. Во многих курсах и руководствах по DevOps описывается настройка серверов через популярные платформы, такие как GitLab, а иногда и Gitea. Однако мне стало интересно попробовать другой путь — использовать встроенный в Git инструмент GitWeb.

Подробнее

Автоматизируем создание отчетов в Word с данными из Excel на Python

Level of difficultyEasy
Reading time7 min
Views58K

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

Читать далее

Пишем собственный макрос на Dart 3.5 вместо старого генератора кода

Level of difficultyMedium
Reading time7 min
Views2.5K

В Dart 3.5 большое новшество: макросы. Это как старая генерация кода, но прямо в памяти, без временных файлов, плюс ещё много преимуществ.

В этой статье разбираем пилотный макрос JsonCodable, который команда Dart выпустила, чтобы мы разобрались в новой технологии. И пишем собственный простейший макрос.

Читать далее

В помощь джунам: как легко разместить сайт на VPS

Level of difficultyEasy
Reading time7 min
Views18K


Думаю, ни для кого не секрет, что… Чуть больше года назад именно с этой фразы начиналась наша статья о том, как разместить на виртуальном выделенном сервере свой сайт. Тогда мы на Linux-системе развернули стек LAMP, подняли FTP-сервер и с его помощью скопировали файлы сайта с локального компа на нашу виртуалку. Но всё-таки тема показалась нам недостаточно раскрытой. Как и тогда, данный материал рассчитан на не очень опытных пользователей, на тех, кто ещё только набирается опыта в вёрстке, кто пробует делать свой пет-проект на вебе, кто выполняет тестовое задание в качестве джуна-фронтендера. Речь пойдёт о том, как быстро и безболезненно перенести уже готовый сайт на только что созданный VPS.
Читать дальше →

Механический квантовый компьютер

Level of difficultyMedium
Reading time15 min
Views12K

Квантовые компьютеры постепенно мигрировали от «натуральных» квантовых объектов типа ионов и quantum dots к «искусственным» объектам типа трансмонов, где роль атомных переходов выполняют собственные частоты колебаний LC контуров. К таким контурам прикручены коаксиальные кабели для возбуждения системы, считывания их состояния и регулирования их свойств. Они все еще являются квантовыми объектами и работают при низкой температуре.


Мне стало интересно, а можно ли создать прототип квантового компьютера на основе больших «классических» механических объектов. Я демонстрирую квантовый компьютер сделанный из связанных маятников.


Читать дальше →

Становление стандартов передачи телемеханических данных в электроэнергетике (МЭК 101/104) — особенности разработки

Reading time6 min
Views31K
Здравствуйте! Меня зовут Юрий.

Преамбула

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


Для краткости я введу некоторые сокращения:
  • МЭК -протоколы по ГОСТ Р МЭК 60870-5-101/104
  • МЭК 101, 101-ый — протокол по ГОСТ Р МЭК 60870-5-101
  • МЭК 104, 104-ый — протокол по ГОСТ Р МЭК 60870-5-104


Как все начиналось


Повышение требований к информационным системам в современной Энергетике России привело к развитию средств и технологий передачи данных. В энергетики это направление называется телемеханика. В качестве основы передачи телемеханической информации был взят стек протоколов IEC 870-5-101 и в 2001 году появился его отечественный перевод ГОСТ Р МЭК 870-5-101.
Для его локализации было несколько причин:
  1. на тот момент «развелось» огромное количество разновидностей реализаций протоколов передачи данных и весь этот «зоопарк» все сложнее и сложнее было как-то упорядочивать;
  2. у всех существующих протоколов было большое количество ограничений, по емкости передаваемых данных, по типу передаваемых данных, отсутствовали средства диагностики качества передаваемых данных, не было возможности для расширения и пр.;
  3. на наш рынок постепенно начали приходить зарубежные поставщики решений и оборудования, где процесс стандартизации уже давно шел.

Читать дальше →

Основные типы распределений вероятностей в примерах

Level of difficultyMedium
Reading time15 min
Views58K

Статистические исследования и эксперименты являются краеугольным камнем развития любой компании. Особенно это касается интернет-проектов, где учёт количества пользователей в день, времени нахождения на сайте, нажатий на целевые кнопки, покупок товаров является обычным и необходимым явлением. Любые изменения в пользовательском опыте на сайте компании (внешний вид, структура, контент) приводят к изменениям в работе пользователя и, как результат, изменения наблюдаются в собираемых данных. Важным элементом анализа изменений данных и его фундаментом является использование основных типов распределений случайных величин, от понимания которых напрямую зависит качество оценки значимости наблюдаемого изменения. Рассмотрим их подробнее на наглядных примерах.

Читать далее

Самое понятное объяснение Специальной теории относительности

Level of difficultyMedium
Reading time13 min
Views147K

Специальная теория относительности - удивительная теория, которая опровергла многие представления о мире, в которых человечество не сомневалось всю историю своего существования.

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

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

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

Читать далее

Деплой Flutter-приложений и особенности платформ

Reading time8 min
Views4.5K

Всем привет! Меня зовут Александр Омельяненко, я Flutter-разработчик в AGIMA. Сегодня расскажу про релиз приложений в сторы. И поскольку работаю с кросс-платформой, речь пойдет как про Android, так и про iOS. Уверен, каждый участник команды должен понимать, что происходит с приложением, когда оно готово. Поэтому всё объясняю подробно: какие сторы использовать, каких подводных камней ожидать, что делать, если релиз отклонили.

Читать далее

Жизненный цикл приложения на Flutter

Level of difficultyMedium
Reading time4 min
Views6.8K

Всем привет! Сегодня с вами я, Александр Чаплыгин, Flutter dev Amiga. Расскажу вам одну  интересную тему — отслеживание состояния приложения: в фоне, закрыто или оно не активно. Вы поймете, как обрабатывать переходы в новое состояние. Также  рассмотрим 2 подхода к реализации, которые могут выручить в той или иной ситуации.

Читать далее

Основы компьютерных сетей. Тема №9. Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP

Reading time51 min
Views330K


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

Протоколы «бесшовного» резервирования PRP и HSR

Reading time12 min
Views38K
В промышленности требования к ЛВС становятся все более серьезными, т.к. АСУ ТП берут на себя все больший функционал, и потери данных могут повлечь серьезные издержки.

Например, в энергетике, если на терминал РЗА не попадут вовремя данные от измерительных преобразователей, то это может быть чревато распространением короткого замыкания на смежные участки электросети, что скажется убытками гораздо более серьезными, нежели в случае своевременного отключения участка с КЗ. Поэтому часто в проектах энергетики можно встретить требование «Время восстановления менее 1 мс».
Читать дальше →

Немного про ПИД-регуляторы или «велосипед автоматизации». Часть 3

Reading time10 min
Views18K

Часть 3. Реализация регулятора – вот теперь регулятор.

продолжение практической реализации ПИД-регулятора

Читать далее

Создаем federated plugin для Flutter-проекта

Level of difficultyMedium
Reading time8 min
Views2.8K

Всем привет! Это Мурат Насиров, Flutter-разработчик в Friflex. Мы разрабатываем высоконагруженные мобильные приложения для бизнеса и специализируемся на Flutter. В этой статье я рассказываю о том, как создать federated plugin для Flutter-проектов.

В мае 2022 года на Google I/O был представлен урок по созданию federated plugin в Flutter. Federated plugin — это способ разделения функционала в рамках одного плагина на разные платформы. Он позволяет сегрегировать функционал на зоны ответственности для каждой из платформ. 

К примеру, если мы создаем плагин для работы с bluetooth, тогда нужно будет создавать пакеты отдельно для каждой платформы, то есть: flutter_bluetooth (как пакет flutter), flutter_bluetooth_android, flutter_bluetooth_ios и flutter_bluetooth_platform_interface (интерфейс для работы с платформами). 

Создавая federated plugins для всех платформ, разработчики могут использовать только те из них, которые необходимы. 

Читать далее

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

Level of difficultyEasy
Reading time14 min
Views39K

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

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

Читать далее

Как изучать китайский язык / 怎样学习汉语? Пошаговая инструкция

Level of difficultyEasy
Reading time2 min
Views115K

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

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

И как же?

Information

Rating
Does not participate
Registered
Activity