• Сборники рецептов jq

    Мы все иногда сталкиваемся с необходимостью вытащить нужную информацию из JSON или YAML файлов. Многие уже познакомились с мощью утилиты jq. Судя по публикациям на Хабре, напр. https://habr.com/ru/post/525808/, и вопросам в qna, тема до сих пор актуальна.

    Мне в очередной раз пришлось вспомнить специфический DSL jq чтобы восстановить накопленные за долгое время закладки в Хроме, не сохранённые при апгрейде. Точнее, файл Bookmarks в формате .json сохранился, но ни в какую не хотел импортироваться в новый Хром. Хочу поделиться рецептом решения этой проблемы, заодно упорядочить собранные в разных местах миниатюрные скрипты для решения похожих проблем.

    JQ в действительности полноценный язык программирования со всеми атрибутами - переменными, типами данных, арифметикой, циклами и условными переходами, массой встроенных функций и возможностью добавления новых. Удивительно, всё это в программке размером 30KB, страницей "man jq" такого же размера и библиотекой libjq размером 300KB.

    Итак, заглянув в свой Bookmarks с несколькими сотнями ссылок, первый вопрос - какова структура этого .json файла? По счастью, я уже знал как быстро её посмотреть и использовать в дальнейших запросах. Вот эта команда:

    Читать далее
  • Что привносит Ethereum 2.0. EWASM

    • Перевод

    В данной статье я рассмотрю важнейшие особенности EWASM(Ethereum Web Assembly) которая приходит на смену EVM(Ethereum Virtual Machine).

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

    Читать далее
  • Что такое FEaaS (Front-End-as-a-Service)

    Примерно год назад я задумался о вопросе смены работы. На тот момент я занимал позицию Senior Software Developer в крупной Enterprise-oriented компании, и примерно 80% своего времени проводил "формошлепствуя" однообразные страницы. компоненты и пр. Ничего интересного и особо нового. Начав шерстить рынок вакансий в поисках чего-то ближе к Team/Tech Leading я наткнулся на вакансию Solution Architect в компанию, занимающуюся разработкой FEaaS.

    До этого я никогда не сталкивался с этим понятием, и первое что "взбрело" в голову - "Ребята пилят FE под заказ, или сделали какую-то абстракцию из которой можно напилить быстро свой FE". В лучшем случае - звучало как очередной framework поверх других framework-ов, в худшем - как банальный site builder. Но интерес взял верх.

    Отправив резюме - я быстро получил ответ с предложением назначить технический звонок с Solution Architect-ом, который уже работает в компании. При подготовке к собеседование я попытался найти информацию о том, что же такое этот ваш FEaaS/FaaS. Но ничего толкового не гуглилось.

    Риад Моар
  • Построение графиков функций на Python. Pygame

    В этой статье я расскажу про то, как можно написать программу для построения графиков функций на python с использованием библиотеки pygame.

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

    Читать далее
  • Настройка IGMP proxy на FortiWiFi 30E версия FortiOS 6.2.5

    Настройка iptv через  роутер (сетевой экран) FortiGate в режиме IGMP proxy. Чтобы можно было смотреть iptv на всех устройствах подключенных к роутеру.

    Читать далее
  • Telegram bot + ML: универсальный алгоритм совмещения

    Пишу модели для кейсов на Kaggle, изучаю чужие и вдохновляюсь. Все статьи с описанием того, как внедрить их в веб-проект, для меня, школьника Junior Frontend'а, дают overhead сложной инфы, я же хочу просто "позаимствовать" любую крутую модель и быстро внедрить в свой сервис. Руки зачесались придумать универсальный алгоритм, так что решение было найдено быстро.

    Читать далее
  • Как получилось, что 0,1 + 0,2 = 0,30000000000000004?

    С детства нас учили, что 0,1 + 0,2 равно 0,3. Однако в загадочном мире вычислений все работает по-другому. Недавно я начал писать код на JavaScript и, читая о типах данных, заметил странное поведение 0,1 + 0,2, не равного 0,3.

    Читать далее
  • Dynamics CRM. Плагин для закрытия сделки

    Закрытие возможной сделки – это внутренний механизм плотно встроенный в кишочки Dynamics CRM и влиять на него до сих пор достаточно проблематично. Каждый второй наш клиент очень хочет добавить что-то своё в момент закрытия сделки, например выбрать из своей базы – какое из подразделений сделку успешно закрыло или кто из конкурентов привёл к её провалу. Буквально каждый клиент хочет в процесс закрытия вмешаться: самое распространённое требование – валидация вводимых при закрытии данных, например, чтобы не выигрывались сделки с нулевым доходом и не проигрывались сделки без объяснительной – что и как. Давайте разбираться со встроенными механизмами и степенью возможности вмешаться.

    А давайте.
  • Чудом научился, теперь научу других

    Посмотри на C++ и посмотри на Python, тебе Python захочется учиться. Знаешь почему тебе захочется его учить? Потому что там ничего нет, и он выглядит как английский язык. Он на программирование вообще не похож. И вот все что он от тебя прячет, C++ не прячет - а ты это должен знать. А ты это не знаешь и пропускаешь намеренно. Какой из тебя получится программист вообще?

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

    И я решил что пора пожаловаться на Вас, профессионалы. Пожаловаться на то, что вы мешаете нам, простым учителям, находить и воспитывать юных гениев. А иногда просто осваивать академически выверенную учебную программу.

    Читать далее
  • Интерпретатор с нуля на Java

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

    Меня давно интересовало устройство интерпретаторов и компиляторов, но я никак не мог их сделать по некоторым причинам. Однако, после изучения Java, я решился создать свой интерпретатор, и сейчас расскажу вам об нём и в частности как я его писал(возможно, это кому-то поможет в создании своего интерпретатора).

    Сайт EPL: Клик.

    Итак, давайте начнём!

    Читать далее
  • Виды власти в менеджменте: используйте по полной

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


    За 15 лет работы главным редактором (из них более 10 лет генеральным директором издательского дома) могу констатировать: официальное назначение не гарантирует точного выполнения распоряжений начальника и тем более проявления инициативы подчиненными. Как следствие, выпуск качественного продукта, его реализация, доход и прибыль будут ниже запланированных. Причина: обретенные полномочия требуют подтверждения — следует позаботиться о своей легитимности.

    Читать далее
  • Эволюция фронтенд разработки на примере использования React

     Для осознания, зачем и почему появился React и подобные ему фреймворки, обратимся немного к истории развития интернет технологий. В 2000-ых годах интернет начал просачиваться в каждый дом и все сферы жизни людей. Привлечения новых пользователей на ресурсы становилось все сложнее и сложнее. Потребители желали видеть что-то новое и удобное. Для того чтобы удовлетворить желания, многие сайты начали использовать flash-player, позволявший создавать, как простенькие игры, так и плееры, и даже целые сайты написанные на нём. Но так продолжалось недолго. С приходом iPhone в 2007 и android в 2008 году, люди стали все больше времени проводить в сети интернет. Из-за чего необходимость в сложных интерактивных приложениях пропала на некоторое время, а первые строчки занимали простота и возможность корректной работы на мобильных устройствах. Одновременно с этим, после 8 лет споров,  официально утвердили ECMAScript 5, упростивший жизнь разработчикам и ставший одной из самых поддерживаемых версий js за всю историю языка. Одновременно с этим появилась библиотека jQuery, которая позволяла удобно и быстро работать с DOM. Но оставалось несколько не решенных проблем.

    Читать далее
  • Свежий взгляд на химические реакции

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

    Свежий взгляд на химические реакции
  • Мой первый опыт с Linux. Настройка Ubuntu Sever 20.04, подключения по SSH и удаленное подключение к базе данных

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

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

    Читать дальше...
  • Создание кубсата: часть первая. Техническая документация (корпус)

    Ноутбук осветил угол небольшой комнаты слепящим белым светом, красным загорелась подсветка на мыши. На рабочем столе горели две большие цифры: 5:59. Что ж, как всегда..

    Первым делом я полез в гугл. И первым делом стал искать сайты не с информацией, а с возможностью купить детали для создания спутника. К примеру, isispace.nl или sputnix.ru Немало "удивившись" стоимости компонентов решил попытаться сделать спутник сам..

    Читать далее
  • Мониторинг блокировок Роскомнадзором доменов на Cloudflare по IP-адресам

    Однажды тестируя один свой проект, я обнаружил, что на проводном интернете на компьютере и мобильнике все работает как часы, а на мобильном интернете — страница не открывается. При проведении расследования обнаружилось, что IP-адрес, выдаваемый домену сервисом Cloudflare при использовании проксирования, попал под блокировку Роскомнадзором, а решение суда по этому случаю было вынесено аж месяц назад. То есть какие-то провайдеры уже блокировали этот IP-адрес, а какие-то еще нет (и может не стали бы никогда). Самое плохое в том, что я узнал об этом случайно, так как из-за особенностей проекта пользователи не дали бы обратную связь что что-то сломалось, они просто не знали как это сделать.

    Читать далее