Как стать автором
Обновить
14
Карма
0.3
Рейтинг
Баталин Иван Анатольевич @Lirein

Пользователь

Два модема

Это было давненько, лет 11 назад. Какая конкретно микросхема ADE использовалась, например, я не помню. Вообще на публикацию подобных историй нужно бы спросить разрешение у начальника отдела АСТУП в ПУ СургутАСУнефть, и нужно время чтобы это описать, включая иллюстрации, без них статья - не статья.
В двух словах там было два контроллера - свой и заказной. Свой мы делали по своему же ТЗ, умел в RMS плюс писал пусковые токи. А вот заказной умудрились прееврать ТЗ по полной, в итоге там был обмен с УСО через Modbus-RTU, со всеми вытекающими, ни о каком RMS не было и речи. Именно с этого проекта у меня прочно осела в лексиконе фраза "Нет ничего не возможного - делайте!". А прозвучала она в ответ на моё возражение что мы не можем записать графики пусковых токов опрашивая УСО через Modbus по RS232.

Два модема

Хабр всё таки торт. Приятно читать такие статьи, как бальзам на душу. С теплом вспоминается время когда мы в Сургутнефтегазе разрабатывали и отлаживали универсальный кустовой контроллер на QNX.

А давайте измерим ток фена

К сожалению индукционный счётчик очень неадекватно реагирует на рекативную составляющую нагрузки. Скорее всего в счетчиках Энергомера и Меркурий стоит какая нибудь ADE, выдающая усредненные значения активной, реактивной мощности, показателей тока и напряжения в единицу времени, и «токовая петля» для снятия показаний нагрузки.

Бизнес обяжут три года хранить переписку в закрытых сетях

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

Бизнес обяжут три года хранить переписку в закрытых сетях

Поверьте, не важно где у вас фактически организовано производство, вы обязаны иметь офис в котором:
1. Есть приточно-вытяжная вентиляция
2. Высота потолков не менее 3.4 метра
3. Помещение прошло аттестацию рабочих мест.
Тогда, да, зарегистрируете. И да, у кого есть на это деньги и кому это надо — не мешает. Мы свой проект свернули, ибо всё это нужно арендовать и поддерживать не менее 5и лет (на срок получения сертификата соответствия), а долгосрочная аренда — это тот ещё геморрой. Особенно если офис вам нахрен не нужен. Проще регаться где нибудь на Кипре и продавать зарубежом, чем мучиться с нашими регламентами и законами, многие из которых ещё с Союза тянутся.

Бизнес обяжут три года хранить переписку в закрытых сетях

Понятно что цена будет обуславливаться R&D на внедрение СОРМ3, хранение данных, ведение журнала аудита и самое главное — сертификацию всего этого дела для УПАТС и декларирование для УАТС. Ценник вырастает в разы, а за такую цену клиентам проще купить что нибудь импортное, чем отечественное. Если бы не блокирующий закон, то и покупали бы. Ещё одна проблема — в РФ фаблесс компания без офиса не может зарегистрировать производимое ей оборудование в реестре российской радиоэлектронной продукции, или тем более получить сертификат/декларацию соответствия, потому что у них нет производственного помещения соответствующего нормам.

Архитектура и особенности процессора Эльбрус 2000

Я думаю лучше задать вопрос напрямую в поддержку МЦСТ (support@mcst.ru), должны ответить в течение дня, отвечают обычно быстро. Но скорее всего пока остаётся по прежнему — SPI NOR Flash, хотя они такого объёма бывают, что в него вся система влезть может и ещё место под пользовательские конфиги останется.

Архитектура и особенности процессора Эльбрус 2000

Да, на оба вопроса. Подробности у техподдержки МЦСТ после приобретения платы. Охотно идут на встречу, особенно разработчикам собственных программно-аппаратных комплексов.
Готовится возможность встраивания ядра Linux+initrd в микрокод загрузчика.

Разработчик пинбола для Windows XP рассказал о том, почему игра не появится в Windows 11

Политика AppLocker по умолчанию не даст этого сделать — запуск разрешен только группе BUILTIN\Administrators и Everyone из путей: С:\Windows, C:\Program Files, C:\Program Files (x86). По этому даже Portable программу с флешки запустить не получится. Доступ в Интернет может при этом контролироваться чтобы .msi и .exe скачать было нельзя.
Ну и зачастую в реальном энтерпрайзе ещё и DeviceLock/Kaspersky IS работают для блокировки не доверенных переносных устройств.

Как написать FizzBuzz на собеседовании

Как написать FizzBuzz на собеседовании

Одно дело прочитать статью, другое — написать решение на СИ. На первое времени уходит куда больше чем набросать кусок кода для FuzzBuzz. К тому же после окончания прочтения статьи начальное ТЗ в полном объёме из головы уже выпало.

Как написать FizzBuzz на собеседовании

На самом деле я не внимательно прочитал задание и первый вариант кода родился буквально за полминуты.

Как написать FizzBuzz на собеседовании

Перепроверил, даже нет необходимости сразу писать деление через умножение, с опцией -O3 уже генерируется оптимальное целочисленное деление через imul/sar

Как написать FizzBuzz на собеседовании

Ниже патч. Цикл со счетчиком for(i=1; i<=100; i++) имеет права на жизнь. Вообще сначала хотел написать на целочисленном делении в степени двойки и умножением, но не вспомнил как получить значение сдвигового регистра на C и забил на это дело.

Ну и до кучи, ещё вариант, уже не такой простой, но работает быстрее, без memcpy.
#include <stdint.h>
#include <string.h>
#include <stdio.h>

int myitoa(int number, char *buf) {
  char *cur = buf;
  int i = 1000000; 
  while(number > 0) {
     int tmp = number / i;
     number %= i;
     i /= 10;
     if(tmp) *cur++ = tmp + '0';
  }
  return cur-buf;
}
int main(int argc, char** argv) {
  int i = 1;
  char d3, d5;
  char buff[255];
  char *start;
  while(i<=1000000) {
    d3 = i%3 == 0;
    d5 = i%5 == 0;
    start = buff;
    if(d3) {
      *start++ = 'F';
      *start++ = 'i';
      *start++ = 'z';
      *start++ = 'z';
    }
    if(d5) {
      *start++ = 'B';
      *start++ = 'u';
      *start++ = 'z';
      *start++ = 'z';
    }
    if(!(d3|d5)) {
      start += myitoa(i, start);
    }
    *start++=0;
    *start='\n';
    fwrite(buff, start-buff+1, 1, stdout);
    i++;
  }
  return 0;
}


P.S. Переменную buff можно ограничить до 10и байт.

Как написать FizzBuzz на собеседовании

Вы сделали мой день!

Как написать FizzBuzz на собеседовании

Почему нет? Перечитайте код ещё раз, нигде нет ветки else, впрочем при трех условиях в цикле предсказатель ветвления будет работать хуже, особенно в тупик его ставит условие !(d3|d5), т.к. если условие стоит как != то на интеле конвеер считает что операция по ветке je маловероятна.

Как написать FizzBuzz на собеседовании

Что может быть проще?
#include <stdint.h>
#include <stdio.h>

int main(int argc, char** argv) {
 int i = 1;
 char d3, d5;
 while(i<=100) {
   d3 = i%3 == 0;
   d5 = i%5 == 0;
   if(d3) printf("fizz");
   if(d5) printf("buzz");
   if(!(d3|d5)) printf("%d", i);
   printf("\n");
   i++;
 }
 return 0;
}


Но про посыл статьи — понятно. Я так и не смог переварить даже функциональное программирование. Императивные, декларативные, транзакционные языки — всё просто. Но вот это уже сносит крышу.

Как написать FizzBuzz на собеседовании

Уважаемые минусаторы, если у вас есть вариант проще и быстрее работающий — приведите его ниже.

Как написать FizzBuzz на собеседовании

Потерял мысль на середине статьи… А не проще было вот так (можно через shr/shl и cout, но классический подход читабельнее и проще для понимания).
#include <stdint.h>
#include <stdio.h>

int main(int argc, char** argv) {
  int i = 1;
  while(i<=100) {
    printf("%d", i);
    if(i%3 == 0) printf("fizz");
    if(i%5 == 0) printf("buzz");
    printf("\n");
    i++;
  }
  return 0;
}

Квалифицированная электронная подпись под macOS

Установите сертификат в хранилище «Личные» КриптоПро.

Информация

В рейтинге
1 632-й
Откуда
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Дата рождения
Зарегистрирован
Активность