• Свой клиент для логов kubernetes на Python

    Привет всем!

    Хочу поделиться кейсом: как я реализовал свой мини-проект.

    На работе для деплоя мы используем kubernetes. Сам кубер - шикарный инструмент, но вот с фронта его панель управления работала, мягко говоря, медленно. Помимо этого, нашему тестировщику нужен был способ программно получать логи сервисов, развернутых на кубере. Я начал искать всякие библиотеки для того, чтобы решить эту задачу. В итоге пришел к тому, что у кубера есть API, с которой можно легко и очень быстро взаимодействовать. И мне захотелось реализовать простой клиент на Python, который бы общался с этой API. Для начала – чтобы просто доставать логи сервисов.

    Немного покопавшись в документации, я нашел все нужные end-point-ы, параметры, и начал писать своего рода ядро клиента. Добавил авторизацию, всякие вспомогательные методы. Потом я загорелся идеей сделать GUI для этого клиента на PyQt.

    Так на свет появился kubick – клиент для просмотра логов. Рассказал коллегам про свою разработку, показал в действии. Они заинтересовались и тоже захотели попользоваться.

    Читать далее
  • ЮВХ, ЮР, МЗП — факты и ложь

    Московский завод полиметаллов (МЗП) располагается на холме на высоте 150 метров, склоны холма образуют овраги.

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

    Читать далее
  • Социальная уязвимость криптовалюты

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

    Читать далее
  • Python — средний цвет

    Резко пришла идея написать программу, для распознавания среднего цвета на фотографиях.
    Код был написан за буквально за 15 минут, так что, если нашли какие то минусы, то пишите, исправлю.

    Суть программы: на выход дать средний цвет и фото out.jpg

    Читать далее
  • Linux в AD, подводный камень

    Здравствуйте.

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

    Водные данные следующие. Основная работа пользователей происходит на терминальной ферме RDS, соответственно домен у нас от Microsoft. Можно было бы остановится на решении типа WTware, но подразумевается, что пользователи изредка или в экстренных случаях могут работать локально. Поэтому выбран стандартный дистрибутив Ubuntu 20.04 LTS + некоторый набор стандартного ПО. В качестве клиента rdp используем remmina.

    Итак ввели мы компьютер в домен, аутентификация пользователей работает, сетевые папки монтируются, rdp работает, а компьютер регистрируется в доменной DNS и обновляет свою запись. Однако принтеры подключенные к компьютеру в терминальную сессию не пробрасываются. В частности у нас это этикеточные принтеры. После недолгих раздумий выяснили причину подобного поведения системы. Дело в том, что перед вводом компьютера в домен ему назначается FQDN имя, командой вида:

    Читать
  • Принцип подстановки Барбары Лисков (предусловия и постусловия)

    ❓ Почему у многих возникают проблемы с этим принципом? Если ли более простое объяснение?

    ❗️ В данной статье мы НЕ будем рассматривать общие примеры данного принципа, о которых уже есть много материалов (пример с квадратом и прямоугольником или управления термостатами). Здесь мы немного подробнее остановимся на таких понятиях как «Предусловия», «Постусловия», рассмотрим что такое ковариантность, контравариантность и инвариантность, а также что такое «исторические ограничения» или «правило истории».

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

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

    Читать далее
  • Как я 30 дней авто обновление валюты чинил Opencart 3.0

    Я новичок, в прошлом году, только начал изучать JavaScript, HTML, CSS и вот я web-администратор в офисе.

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

    И тут я понял что меня ждет очень сложная и почти не выполнимая задача. Ведь я совсем не секу в PHP и с Opencart только месяц как знаком. «Сделаю, конечно!», ответил я, не бить же в грязь лицом.

    Как у меня это получилось
  • Laravel Builder и подзапросы

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

    Читать далее
  • Новые возможности стандарта беспроводной связи IEEE 802.11bf. Теперь WiFi следит за тобой оффициально

    • Перевод

    И так как некоторые из вас, я стараясь найти решение проблемы обращаюсь к общественным стандартам. Во время решения одной из таких проблем занесло меня на сайт ieee.org и завела меня мышка в дебри этого сайта, а природная любознательность закопала в будующих стандартах.

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

    Семейство стандартов IEEE 802.11 ™, основная технология, лежащая в основе Wi-Fi®, постоянно модифицируется и улучшается, чтобы удовлетворить отраслевые потребности в надежной и надежной беспроводной связи. Недавно утвержденный проект IEEE 802.11bf ™ для определения WLAN обещает еще более широкое использование технологии 802.11.

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

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

    Читать далее
  • Подключение PuTTy по SSH-ключу в один клик

    Не так давно я арендовал небольшой сервер под Ubuntu для того, чтобы потренироваться разворачивать на нем свои поделки на Java (небольшие веб-приложения). Я специально не стал пользоваться готовыми решениями, а решил научиться самостоятельно настраивать окружение на удаленном linux сервере.

    Для подключения к серверу я использовал многим известную программу PuTTy. И мне было жутко неудобно запускать её и загружать сохраненную настройку. Я задался вопросом запуска в один клик. Скажу сразу, я не сильно искушенный человек в такого рода вопросах и большую часть жизни необходимости использования данного инструмента не было. В связи с чем, возможно, я не начал поиск там, где надо, и в итоге не нашел готового решения и изобрел велосипед. Надеюсь, другим людям с подобным вопросом поможет этот пост.

    Читать далее
  • «Радужная» перспектива работы разработчика, ожидание / реальность

    Сейчас профессию разработчика довольно сильно романтизируют: график как ты хочешь, удаленная работа (особенно в период пандемии довольно актуально), делаешь интересные задачи и развиваешься, высокая зарплата. Работы мечты, не так ли? Если ты недавно начал работать или только учишься, то эта статья может быть для тебя интересна.

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

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

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

    Читать далее
  • Проверка гипотезы равенства средних при неравной дисперсии в R

    Задача определения равенства средних при условии равных дисперсий - классическая задача математической статистики, которую решают в техникумах и ВУЗах. Однако МС как наука очень похожа на болото - при попытке спрыгнуть в сторону с кочки классически решаемой задачи можно увязнуть или вовсе утонуть

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

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

    Читать далее
  • Поиск максимальной повторяющейся подстроки в символьной строке с помощью SQL

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

    Читать далее
  • Способы логирования Hibernate

    Hibernate — это прекрасный инструмент для работы, особенно когда функционирует быстро и исправно, но когда возникают проблемы — необходимо посмотреть, что происходит под капотом. Примеры конфигурации будут приводится на Spring.

    Читать далее
  • Core Web Vitals – обновленный фактор ранжирования в Google. Как подготовиться и на что обратить внимание

    Привет всем! Меня зовут Роман Лазуренко, я SEO Expert в компании Softserve. В данном материале, я хочу рассказать про новый (обновленный) фактор ранжирования в поисковой системе Google и на что обратить внимание, если вам важен органический трафик.

    Анонс Core Web Vitals

    В мае 2020 компания Google объявила об обновлении фактора ранжирования Core Web Vitals. Они заявили, что положительный опыт взаимодействия пользователя с сайтом, напрямую влияет на конверсию и поэтому с мая 2021 данный фактор будет влиять на ранжирование вашего сайта в поисковой системе Google. Как по мне, и без анонса, данный фактор применялся и бывалые оптимизаторы всегда обращали внимание на пользовательский опыт.

    Читать далее
  • Написание плагинов на Spigot/Bukkit

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

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

    Читать далее
  • Как 3D-печатные слуховые аппараты тихо захватили мир?

    3D-печать захватила рынок пользовательских слуховых аппаратов. Сегодня почти 100% таких аппаратов печатается на 3D-принтерах. По оценкам, общее количество используемых 3D-печатных слуховых аппаратов составляет более 10 миллионов. Только швейцарская компания Sonova, мировой лидер в области производства решений для улучшения слуха, утверждает, что произвела более 1 000 000 единиц в 2016 году. И похоже эта «революция» осталась без внимания.

    Почему вы впервые слышите о 3D-печатных слуховых аппаратах? Чтобы ответить на этот вопрос, нужно вернуться к истокам появления этих замечательных устройств.

    Принцип работы слухового аппарата заключается в том, что он улавливает звуки из внешнего мира, а затем усиливает их в ушах слабослышащих людей, по существу, делая эти звуки просто громче. Современные слуховые аппараты бывают разные по форме и дизайну. Но только изготовленные на заказ типа внутриушных In-the-Ear (ITE) и канальных In-the-Canal (ITC) используют технологию 3D-печати. Остальные, включая более распространенные заушные слуховые аппараты (BTE), все еще продолжают производиться традиционным способом.

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

    Читать далее
  • Реализация односвязного списка на c++

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

    Односвязный список - это динамическая структура данных, состоящая из узлов. Каждый узел будет иметь какое-то значение (я буду использовать строку) и указатель на следующий узел.

    Читать далее
  • Простое решение для раздачи файлового архива через временные WEB-ссылки

    Недавно в нашей организации возникла задача предоставления различным пользователям доступа для загрузки объемных видеоматериалов из нашего внутреннего видеоархива. Штатное корпоративное "облако" на базе сервиса SeaFile, как оказалось не вполне подходит для работы с файлами такого размера (в несколько десятков гигабайт).

    Короче возникла острая потребность в простом и неприхотливом решении для раздачи содержимого директории файлового сервера через индивидуальные временные Веб-ссылки. Поначалу я был в полной уверенности, что в течение пары часов найду в сети что-то, что можно легко прикрутить для своих нужд. Однако результат меня слегка разочаровал: попадались либо монстры типа OpenMediaVault, либо приложения для десктопов на базе Windows. Пара решений которые более-менее подходили имели проблемы с русской кодировкой, что в эпоху utf8 выглядит немного странно.

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

    Читать далее