
Возможны ли иные операции на графах кроме тех, что уже используются? Возможны.
Рабы нажимают минус, свободные люди — плюс
Примерно полгода назад мы с моим другом рассуждали о рынке IT в Черноруссии (вымышленной стране из серии видеоигр Armed Assault), сравнивая его с другими отраслями. Мы пытались понять: почему на западе врачи, учителя и инженеры зарабатывают хорошо, а в Черноруссии нет? Почему добиться чего-то было можно только получив профессию в сфере информационных технологий? (Предпринимательство и блогерство я профессиями не считаю, если что). Почему "в Черноруссии есть только 3 пути: вебкам, закладки и IT"? Тогда мой друг просто сказал мне: программистов, в отличие от врачей, учителей и прочих бюджетников, не успели приучить к бедности за время существования Советского Союза. Я тогда не согласился с этим: в СССР небольшая IT-отрасль всё же была, пускай и советские компьютеры отставали от западных, а круг специалистов в области информатики был немногочисленным. Тем не менее, этих людских и технологических ресурсов хватало для автоматизации производственных мощностей и обороны. И вот сейчас я наконец-то понял истинный ответ на заданный тогда вопрос.
Привет, друзья!
Сначала три абзаца с предысторией:
1. С самого запуска Хабра на нём появились правила, многие пункты которых неизменны до сих пор. Одно из них звучит так: «Хабр не для политики». Кто-то улыбнётся и напишет грубое «так она давно уже не работает у вас, вы где были, алло?!», а кто-то тут же добавит «если игнорировать политику, то она займётся тобой». А ещё через 10 минут пользователи начнут на эмоциях оскорблять друг друга, минусовать и вешать ярлыки, обобщать и искать идеологических врагов между строк комментариев. Увы, некоторые пользователи способны устроить подобную дискуссию в любом посте вне зависимости от его темы.
2. Любые политические и околополитические дискуссии приводят к тому, что пользователи как носители разных взглядов ссорятся между собой. Они забывают про правила сайта, не видят предупреждающего информера перед комментариями, иногда игнорируют личные обращения модераторов. В итоге приходится переводить их в режим ReadOnly, хотя в профильных дискуссиях они могли бы быть по-настоящему полезными. Поэтому давайте уважать друг друга, а также правила и концепцию Хабра.
3. Внутри Хабра своё предназначение мы видим как раз в объединении людей, увлечённых IT и всем, что связано с IT. Мы не хотим, чтобы кто-то использовал Хабр как рупор для провокации наших же пользователей, даже если новости IT-мира уходят на второй план на фоне новостей мирового масштаба. Наоборот — чем больше в мире разобщённости, тем важнее нам сохранять сплочённость внутри сообщества.
Теперь три абзаца о ситуации вокруг и нашем отношении к ней.
Миллионы людей используют веб-приложения, построенные на основе ASP.NET Core. Поэтому мы решили улучшить работу PVS-Studio при анализе таких проектов. Для демонстрации результата нашей работы мы проверим несколько open source проектов и представим топ срабатываний.
О хуках в фронтенд-разработке на Хабре писали уже не раз, и в этой статье мы не сделаем великого открытия. Наша цель другая – рассказать про React Hooks настолько подробно и просто без трудной терминологии, насколько это возможно. Чтобы после прочтения статьи каждый понял про хуки всё. Эта статья будет полезна как начинающим React-разработчикам, так и тем, кто хочет, не уходя в глубины документации, получить практическую информацию в сжатом виде.
Дмитрий Зимин был великим человеком, прожившим три глубоких жизни: инженера, бизнесмена и филантропа. Легче всего его сравнить с Биллом Гейтсом.
Сначала родившийся в 1933 году потомок старообрядческого купеческого рода Дмитрий Зимин сделал блестящую инженерную карьеру, став к закату СССР лауреатом крупных премий, руководителем по разработкам в ведущем радиотехническом институте и замом главного конструктора системы противоракетной обороны вокруг Москвы. Ведь он отлично разбирался в фазированных антенные решётки + был сильным организатором. Тут немного воспоминаний коллеги из тех времён.
В посвободневшей России 58-летний Зимин занялся амбициозными стартапами.
Цитата из Википедии:
"На фоне резкого сокращения оборонных заказов, 6 марта 1991 года зарегистрировал на базе Радиотехнического института малое предприятие КБ «Импульс». Первой разработкой фирмы стала система спутникового телевидения, которая была запущена в серийное производство на Вильнюсском заводе радиоизмерительных приборов (ВЗРИП) и продавалась в московском магазине «Эфир» на Тверской улице, но почти никакой прибыли этот проект не принёс. Следующим проектом была система кабельного телевидения АС-600, она также была запущена в серию и уже принесла небольшой доход. В 1991 году организовал группу технических экспертов внутри Радиотехнического института по разработке сотовой телефонной связи. В 1992 году было создано акционерное общество «Вымпел-Коммуникации», где Зимин стал президентом и генеральным директором"
Ого, три пивота за 1991 год: из оборонки в спутниковое тв, потом в кабельное тв, потом в сотовую связь.
Ранее в статье "Самый простой (для знающих Linux) и дешевый способ разместить IP-камеру на сайте для небольшой аудитории" я уже делился с сообществом своим видением, как быстро и просто разместить видео с камеры на своем сайте. Минусов у того подхода, к сожалению, было много. Это и запуск исключительно под Linux, и отсутствие полноценной поддержки Safari и Яндекс.Браузера для MacOSX, и необходимость проделать дополнительную работу, чтобы привести скрипт в боевое состояние. Установить Apache, PHP, FFMpeg. Сгенерировать вручную ссылки (немного не актуально – я недавно выложил генератор ссылок для того скрипта). В общем, в новом году хочется чего-то совсем простого, что настраивается в пару кликов и работает почти везде. Плюс в комментариях к статье были справедливые упоминания о технологии HLS. Вот такую программу я и написал, чем с вами сегодня и поделюсь.
Добрый вечер, уважаемые жители хабра. Из моих постов написанных ранее, понятно что я программист, но немного увлекаюсь генетикой, и хотел бы задать вопрос тем, кто в этом разбирается лучше. Как программисту встраиваемых систем, мне часто приходится использовать контрольные суммы данных, для определения целостности при передаче. Возможно ли применить CRC в интронах для предотвращения размножения ретровирусов и раковых клеток?
В этой небольшой статье мы с вами напишем свое простое приложение по типу "заказа еды". Само приложение если что будет статичным и здесь главный упор будет сделан на использование компонентов Vuetify и рассмотрение того как именно они работают. Также добавлю что здесь мы не будем рассматривать отдельную библиотеку Bootstrap Vue которую использует Vuetify чтобы строить гриды.
Время это одно из измерений окружающего нас мира, а любая определяемая сущность или находится (условно) в состоянии покоя, или изменяет своё состояние в течение времени. И, естественно если нет возможности контроля времени, что-то существенное сварганить не получится. Поэтому первое, что должно быть - это решение в виде таймера.
Для Linux в Си в настоящее время есть следующие функции:
unsigned int sleep(unsigned int __seconds); ,
объявленная в файле <unistd.h> и
int nanosleep(const struct timespec *req, struct timespec *rem); ,
объявленная в файле <time.h>
Обе выполняют одну задачу, приостанавливают работу потока в котором была вызвана функция на заданное время, поэтому с данными функциями очевидным является простое решение (как говорится «решение в лоб») выделить для таймера отдельный поток.
Есть ещё функция clock_nanosleep(), можно включить режимы SHED_FIFO или SCHED_RR для более точной работы, всё это конечно хорошо, но я решил ограничиться только выше указанными.
Таймер должен соответствовать следующим требования: должен минимально потреблять вычислительные ресурсы, должен мгновенно включаться/выключаться, при этом сбрасывать своё состояние и обязательно быть достаточно точным.
Для начала я разберу пару решений которые конечно будут работать, отмечу их плюсы и минусы, но так делать не надо! А в конце покажу решение которое меня в принципе полностью удовлетворяет, реализовано в рамках правил определённого ранее шаблона и надеюсь может быть использовано в дальнейших проектах.
— Всё в порядке, Лёня?
Динамики отрегулированы на максимум, я морщусь, отвечаю:
— Да. Тише звук.
— Звук — тише, — соглашается «Виндоус-Хоум», — тише, тише…
— Хватит, Вика
С.Лукьяненко, «Лабиринт отражений»
Несколько дней назад, я решил провести реверс-инжиниринг прошивки своего роутера используя binwalk.
Я купил себе TP-Link Archer C7 home router. Не самый лучший роутер, но для моих нужд вполне хватает.
Каждый раз когда я покупаю новый роутер, я устанавливаю OpenWRT. Зачем? Как правило производители не сильно заботятся о поддержке своих роутеров и со временем софт устаревает, появляются уязвимости и так далее, в общем вы поняли. Поэтому я предпочитаю хорошо поддерживаемую сообществом open-source прошивку OpenWRT.
Скачав себе OpenWRT, я так же скачал последний образ прошивки под мой новый Archer C7 с официального сайта и решил проанализировать его. Чисто ради фана и рассказать о binwalk.