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

Администрирование

Сначала показывать
Порог рейтинга
Уровень сложности

Спасаем Google Shared Drives от санкций (дополнение спустя два года)

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

Ровно два года назад, 16 марта 2022 года, ваш покорный слуга рассказал про нехитрые телодвижения, которые с помощью rclone позволяют сохранить локально ваши корпоративные Google shared drives (не путать с личным Google Drive).

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

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

Новости

Где изучать DevOps. Бесплатные курсы, книги и полезные материалы

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

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

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

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

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

Эти источники позволяют выбрать наиболее подходящий подход к обучению и материалы для своего учебного процесса. Некоторые из них включают в себя курсы по Docker, Kubernetes, Ansible, Jenkins, Git и другим инструментам, необходимым для успешной работы в области DevOps.

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

В статье я собрал большой список курсов, книг, репозиториев и ресурсов, которые помогут вам стать DevOps-инженером🧑‍💻.

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

Как потерять управление оболочкой… Расследование

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

image


Несколько недель назад я занимался хаком языковых серверов в Zed, пытаясь заставить Zed определять, когда заданный бинарник языкового сервера, например gopls, уже присутствует в $PATH. Если так, вместо загрузки нового бинарника Zed должен использовать его.


Трудность: часто $PATH динамически изменяется такими инструментами, как direnv, asdf, mise и другими, которые позволяют в данной папке установить определённый $PATH. Почему эти инструменты так делают? Потому что это даёт возможность, скажем, в начале $PATH добавить ./my_custom_binaries, пока вы находитесь в my-cool-project. Поэтому нельзя просто использовать $PATH, связанный с процессом Zed, нужен $PATH, как он есть, когда выполняется cd в каталог проекта.


Легко, подумал я. Просто запусти $SHELL, выполни cd в проект, чтобы запустить direnv и всё такое, запусти env, сохрани окружение, выбери $PATH, найди в нём бинарники. И это было легко. Вот часть кода, та часть, которая запускает $SHELL, cd и получает env:


fn load_shell_environment(dir: &Path) -> Result<HashMap<String, String>> {
    // Получает $SHELL
    let shell = std::env::var("SHELL")?;

    // Конструирует команду, которую хочется выполнить в $SHELL
    let command = format!("cd {:?}; /usr/bin/env -0;", dir);

    // Запускает $SHELL как интерактивную оболочку (чтобы использовались файлы пользователя rc).
    // и выполняет `command`:
    let output = std::process::Command::new(&shell)
        .args(["-i", "-c", &command])
        .output()?;

    // [... проверка кода выхода, получение stdout, превращение stdout в HashMap и т. д. ...]
}

За исключением одного: после запуска экземпляра Zed в терминале, который выполнял эту функцию, я больше не мог убить Zed, нажав Ctrl-C.

Что?
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 0

Инженер-аналитик или дата-инженер: Как выбрать нужного специалиста? | Census

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

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

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

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

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

Истории

ShIoTiny5 — OTA, часы, Encoder и прочие новости от v0.26 до v0.32

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

Это продолжение цикла статей о хобби-проекте ShIoTiny5 - встраиваемой системе графического программирования микроконтроллеров семейства ESP8266.

Изменения, новшества, планы - за последние несколько месяцев.

Для тех, кто не знает о чём речь

Для тех, кто слышит о проекте ShIoTiny5 впервые - можно посмотреть сайт проекта и там же найти подробную инструкцию прошивки v0.32 и саму прошивку.

Кроме того, в конце статьи есть ссылки, которые помогут понять о чём речь.

Для написания программ для ShIoTiny5 не нужно ничего, кроме интернет-браузера и модуля на базе ESP8266, соединённого с компьютером или ноутбуком по WiFi.

Если интересно, то жми сюда!
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 4

Дополненная реальность на производстве: как МТС и компания «Дайгер» ПО для промышленных AR-очков создавали

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

Привет, Хабр! В сегодняшней статье расскажем о том, как команда МТС совместно с компанией «Дайгер» под руководством её технического директора Сергея Головина разработали специализированное ПО для устройств дополненной реальности, используемых на промышленных объектах. В «Дайгер» появилась идея проекта, после чего её команда стала его реализовывать. Команда МТС принимала активное участие в работе с середины 2023 года.

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

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

Юзабилити-тестирование сайта

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

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

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

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

Септик и автономная канализация. Часть 1. Основы

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

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

Погрузиться в чтение
Всего голосов 19: ↑14 и ↓5 +9
Комментарии 36

И вновь KolibriOS! И вновь ассемблер!.

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

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

Но далеко не всё так плохо как кажется! В KolibriOS есть готовый редактор кода с подсветкой CEdit, и он поддерживает подсветку для нескольких языков программирования. Но я не уверен что он умеет компилировать под все эти языки. Но как минимум текст набрать можно. Fasm поддерживается полностью и собирать/запускать/отлаживать приложения можно "используя" данный редактор (не совсем, редактор запускает отдельно компилятор и так же запускает отдельно отладчик), что и позволяет полноценно разрабатывать программы.

Я бы хотел сразу предупредить, практически ни какого обучения в статье не будет. Всё рассчитано на то, что вы уже хотя бы немного знаете ассемблер x86 и уже создавали простые программы под данную архитектуру (под Windows, Dos, Linux, а так может и MacOS).

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

Сэм Альтман: создатель искусственного интеллекта, который боится восстания машин

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

Если к вам неожиданно подойдет на улице блогер с видеокамерой, и попросит назвать имена основателей или руководителей крупнейших технологических корпораций, вы наверняка вспомните Билла Гейтса, Стива Джобса, Сергея Брина, Илона Маска, Марка Цукерберга, и, возможно, даже Джефа Безоса. А вот сходу озвучить фамилию соучредителя руководителя компании OpenAI, создавшей ChatGPT и DALL-E, смогут далеко не все. Хотя Сэмюэл Харрис Олтмен, (которого у нас чаще называют Сэм Альтман) считается одним из самых авторитетных и известных деятелей Кремниевой долины.
Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 3

Её величество Плоская таблица

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

Слева красиво! Но ничего не понятно. Куча объектов с непонятными связями. Каша, какая-то.

Справа техническая красота :) Всё разложено по полочкам, всё находится под контролем. Никакие детали не могут ускользнуть от нашего внимания.

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

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

Пиррова победа Domain-Driven Design

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

TL;DR: DDD неизбежно ведёт к избыточному (на порядки больше минимально необходимого) количеству саг в проекте, которые, в свою очередь, неизбежно ведут к нарушению целостности данных в БД.

DDD вполне успешно решает поставленную задачу: дать разработчикам инструменты, которые позволят им справится (корректно реализовать и поддерживать) со сложной предметной областью. Но эта победа оказалась пирровой: инструменты, обеспечивающие корректность данных в памяти, оказались неспособны гарантировать корректность данных в БД. А что толку от изначально корректных данных в памяти, если со временем (после их сохранения в БД и последующего чтения) они перестают быть корректными? По сути, у DDD есть фатальный недостаток: DDD неизбежно приводит к нарушению целостности данных (инварианта бизнес-логики) в БД.

Читать далее
Всего голосов 24: ↑22 и ↓2 +20
Комментарии 49

Проверь себя: Ты — знаток мира BI?

Уровень сложности Сложный
Время на прочтение 2 мин
Количество просмотров 900

Привет, Хабр! А сейчас у нас на кону интересное развлечение. Мы предлагаем вам угадать двух тайных экспертов марафона по визуализции “Ничего Лишнего”, которые будут принимать участие в двух днях работы с участниками. Под катом — краткие характеристики наших героев, а также варианты ответов. Проверьте себя, насколько вы знаете мир BI (или проверьте свою интуицию, что тоже забавно).

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

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Клонируем ноутбук при помощи NVME over TCP

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

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

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

Курс «Континент 4 Getting Started 2.0»

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

Название этого курса не зря кажется вам знакомым: эксперты из команды инженеров и отдела маркетинга ГК TS Solution решили обновить небезызвестный «Континент 4 Getting Started». Предыдущей версии этих материалов уже совсем скоро исполнится 3 года!

Вместо обычного обновления мы также решили дополнительно расширить программу обучения.

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

SQL HowTo: один индекс на два диапазона

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

В прошлой статье я показал, как условие с парой однотипных неравенств, плохо поддающееся индексации с помощью btree, можно переделать на эффективно gist-индексируемое в PostgreSQL условие относительно диапазонных типов, а наш сервис анализа планов запросов explain.tensor.ru подскажет, как именно это сделать.

Но что делать, если неравенств у нас не два, а целых четыре, да еще и с разными типами участвующих полей? Например, для целей бизнеса это может быть задачей вроде "найди мне все продажи за декабрь на сумму 10-20K", что на SQL будет выглядеть примерно так:

dt >= '2023-12-01'::date AND dt <= '2023-12-31'::date AND

sum >= 10000::numeric AND sum <= 20000::numeric

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

Марафон DataYoga “Ничего лишнего” — кому будет полезна неделя лучших практик визуализации данных

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

Привет, Хабр! Сегодня мы хотим поделиться одним интересным событием, которое не может оставить равнодушным никого из сферы BI и визуализации данных. Марафон  будет проходить с 18 по 22 марта в онлайн-режиме (разумеется бесплатно) и включит в себя наработки ведущих визуализаторов и дата-йогов. Это будет настоящее погружение для тех, кто уже в BI и аналитике, а также для тех, кто еще только думает о расширении своих компетенций (или пока вообще не понимает, почему за “построение диаграмм” сегодня обещают хорошие зарплаты). Все подробности о Марафоне и ссылка на регистрацию — под катом.

Хочу стать дата-йогом!
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 1

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

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

Поскольку блокировки интернета в РФ в последние недели и месяцы многократно активизировались, а госмаразм все крепчает и крепчает, стоит еще раз поднять тему обхода этих самых блокировок (и делаем ставки, через сколько дней на эту статью доброжелатели напишут донос в РКН чтобы ограничить к ней доступ на территории страны).

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Всего голосов 356: ↑349 и ↓7 +342
Комментарии 173

Энергетика большой страны. Почему  мы все не можем отапливаться электричеством?

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

Кто и как нам обеспечивает постоянное наличие 220 вольт в розетке и тепло в батареях зимой?

В википедии по запросу  «Энергетика Москвы» можно узнать следующую информацию:

«По состоянию на начало 2021 года, на территории Москвы эксплуатировалась 41 электростанция общей мощностью 10 865 МВт, в том числе три гидроэлектростанции, 32 тепловые электростанции (в том числе 16 энергоцентров, обеспечивающих энергоснабжение отдельных предприятий), три мусоросжигательных завода с попутной выработкой электроэнергии, две электростанции на биогазе и один пневмоэлектрогенераторный энергоблок. В 2019 году они произвели 52 559 млн кВт·ч электроэнергии[1][2][3]. Основное топливо: природный газ.

Общая тепловая мощность источников теплоснабжения, расположенных на территории Москвы, составляет 54 86 1 Гкал/ч.»

По информации из этой обзорной статьи мы имеем две цифры мощности: 10 865 МВт  электрической  и 54 86 1 Гкал/ч тепловой генерации , которые надо сравнить.

Нужно ещё сделать  пересчёт для разных единиц мощности МВт и 1 Гкал/ч, чтобы сравнивать в единой размерности.

 1 Гкал/ч - это мощность, равная  энергия для нагрева 1 миллиарда грамм воды на 1 градус за один час, что эквивалентно  мощности электрической энергии:

  Nэл  =1*4,19*10^9/3600 =1,164 МВт /( Гкал/ч)

Тогда тепловая мощность  при переводе на МВт будет равна:

54 861 Гкал/ч = 54 861*1,164=63 858МВт

То есть в г Москве мощности на отопление и  электроэнергию относятся как:

=63 858/10 865= 5,88

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

Читать далее
Всего голосов 45: ↑40 и ↓5 +35
Комментарии 139

6 важных принципов GDPR

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

Привет, Хабр!

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

GDPR выступает не как какой-то набор ограничений, а как стимул для повышения качества работы с данными.

Санкции за несоблюдение GDPR могут быть очень большими, в некоторых случаях доходя до 10 миллионов евро или 2% от общего мирового годового оборота за предыдущий финансовый год, а в других случаях — до 20 миллионов евро или до 4% от общего мирового годового оборота. Размер штрафа оценивается индивидуально и зависит от множества факторов, как серьезность нарушения, степень причиненного ущерба, наличие умысла, и многое другое​​.

В этой статье мы рассмотрим несколько основных принципов GDPR.

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