• Как растянуть контент по высоте?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    min-height: calc(100vh - 100px);
    Ответ написан
    6 комментариев
  • Как равномерно распределить отступы?

    AppFA
    @AppFA
    Frontend developer at Yandex
    Используйте flex-box:
    https://jsfiddle.net/kuswwh77/1/
    Ответ написан
    Комментировать
  • Как равномерно распределить отступы?

    sadisme
    @sadisme
    font-size:30rem
    ul{
    display: flex;
    justify-content: space-between;
    }
    Ответ написан
    Комментировать
  • Как добавить web проект в VS?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    добавляются только файлы корневого каталога

    Не совсем понял, о чем речь. Возможно, в Visual Studio 2015, если делать вставку из проводника, файлы могут не включаться в решение, будут добавлены только каталоги. Их придется включать вручную. Для этого нужно включить показ всех файлов:

    89d8e00e769e41808eab50484b01860e.png
    И затем выбрать недостающие файлы и папки и включить их в проект через контекстное меню:

    110986bb5b81446e980dce674c107b4f.png

    В Visual Studio для PHP я использую PHP Tools for VS.

    С TypeScript в рамках Visual Studio проект PHP дружить так и не захотел.

    Самое простое решение - сделать отдельный проект для TypeScript (в рамках одного решения).

    В bundleconfig.json (BundlerMinifier) можно прописать вывод собранных файлов в любую папку, в том числе в папку с проектом PHP.

    Вот тут можно посмотреть пример, как это может быть.

    460884d980314ab4902ecdd101ad5888.png
    Структура решения:
    /Решение
    -- FrontEndScripts - проект TypeScript
    -- SmallServerAdmin - проект PHP, в который, помимо прочего, собираться клиентский код

    bundleconfig.json
    [
      {
        "includeInProject": false,
        // вывод js делаем в проект SmallServerAdmin
        "outputFileName": "../SmallServerAdmin/Content/compiled.js",
        "inputFiles": [
          // файлы, которые должны входить итоговую в сборку
          "libs/jquery-1.11.2.js",
          "libs/jquery-ui.min.js",
          "libs/jquery.json.min.js",
          "libs/jquery.caret.min.js"
          // ...
        ]
      }
    ]


    TypeScript компилируется в JavaScript в тоже место, где находятся файлы TypeScript. Каждый файл прописывается в bundleconfig.json. Затем все это собирается в итоговый файл /SmallServerAdmin/Content/compiled.js.

    Плохое, но простое решение.

    Еще можно попробовать в настройках проекта TypeScript (Проект -> Свойства проекта) указать параметры сборки и папку вывода (путь может быть относительным).

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

    {
      "compilerOptions": {
        "outDir": "./куда делать вывод компилированных файлов",
        "sourceMap": false,
        "noImplicitAny": true,
        "module": "CommonJS",
        "target": "es5"
      },
      "files": [
        // файлы проекта
        "./init.ts"
      ]
    }


    С WebPack можно сделать больше, но это будет существенно сложнее. Пример решения (TypeScript + PHP) можно тут посмотреть.

    Для WebPack потребуется:

    • Node.js
    • Webpack Task Runner
    • NPM Scripts Task Runner

    Управление сборкой TypeScript можно оставить студии, это проще всего. А все остальное прописывается в webpack.config.js. Но все может быть очень сложно, на получение оптимальной конфигурации можно угрохать пару десятков часов :-)
    Ответ написан
    2 комментария
  • Есть ли способ взаимодействовать с vk api не создавая приложение?

    riot26
    @riot26
    <:З )~~
    1) парсить
    2) использовать только методы с плашкой "Это открытый метод, не требующий access_token." пример
    Ответ написан
    Комментировать
  • Куда идти: радиоэлектронщик или веб-программист?

    Будь я на вашем месте с сегодняшим мышлением и идеалами, с радостью пошел бы на радиоэлектронщика. Веб-программирование - не программирование как таковое даже, настоящие программисты, что пишут на c++, просто смеются. Тупиковый путь развития, при том, что программисты становятся инженерами ПО в гуглах и майкрософтах, а уровень абстракции растет.

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

    Чтобы быть веб-программистом будущего, нужно быть кем-то гораздо большим, чем профессионал сегодня. Полагаю, основа - производительность высоконагруженных систем, big data, ux (и психология пользователя), ну и немного привычной верстки, привычного js.
    Ответ написан
    Комментировать
  • Как решить проблему "соскакивания" паралакса?

    hahenty
    @hahenty
    ('•')
    По событию "mousemove" только запоминать координаты мыши, а вычислять позицию слоев паралакса в какой-нибудь функции, которая запускается по таймеру и при этом ограничивает перемещение слоев так, чтобы достигать необходимой позиции постепенно в несколько шагов.

    Собственно jsfiddle.net/69r4L5d4/2
    можно по-другому сделать вычисление анимации, тут по предпочтениям.
    Ответ написан
    2 комментария
  • Студент и Низкоуровневое программирование?

    @k_levin
    Разработчик ASIC
    Не могу полностью согласиться со всеми высказавшимися.

    Да, в среднем высокоуровневое программирование оплачивается выше чем разработка железок. На счёт уровня зарплат могу судить лишь по Москве (для молодого специалиста с 0.5-1 годом стажа на старт большинство фирм дают ~40 - 50 т.р.). Плюс некоторые готовы брать людей и без опыта, если голова варит.

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

    Да, в большинстве случае будете прямо или косвенно работать на государство. Косвенно - это когда фирма частная, но участвует в разработке по ОКР.

    Но!
    Если говорить о разработке железа (прототипирование на ПЛИС/разработка ASIC), то в сфере наблюдается кадровый голод. Если выучите SystemVerilog, UVM/OVM/Assertions и что-нибудь из комплекта C/C++, Tcl, bash Вам цены не будет как верификатору. Потому что верификация разработки это самая трудозатратная часть. Можно ещё и разработчиком быть - на Verilog-е писать. Везде свои прелести. В итоге поработав лет 10 можете заиметь весьма реальные шансы уехать поработать куда-нибудь. Но тут очень много разных факторов и что будет через 10 лет сказать сложно.
    Ответ написан
    6 комментариев
  • Есть ли у кого пример нейронной сети с обратным распространением ошибки?

    @cthulhudx
    Прошу обратить ваше внимание на вот эту книгу:
    Программирование искусственного интеллекта в прило...
    Там есть как раз таки то, что вы ищете - никакого ООП, никаких сторонних библиотек.По алгоритму обучения нейронных сетей с обратным распространением там целая глава + удобно читаемые листинги на чистом си.
    Файлы к книге
    Ответ написан
    2 комментария
  • Как преподать обычным людям технические вещи?

    donneo
    @donneo
    Ремонт смартфонов, планшетов, ноутбуков
    Только разбавлять примерами из понятных простым людям ситуаций и вещей.
    Ответ написан
    Комментировать
  • Где в СПБ заказать печатные платы?

    kirillseme
    @kirillseme
    Индукция
    Резонит? Вроде бы у нас работают. Калькулятор есть на сайте. А если нет проблем с подождать - aliexpress.
    C малыми партиями везде туго.
    Ответ написан
    3 комментария
  • Где быстро заказать платы в Китае?

    softmart
    @softmart
    Разработчик
    pcbtut.com (Украина), две недели от заказа до получения. Причем за доставку платить не надо. Видимо у них регулярные поставки чего-то из Китая, потому доставка размазывается и выходит бесплатна.
    Ответ написан
    3 комментария
  • Где быстро заказать платы в Китае?

    @UA3MQJ
    itead studio
    23 дня от отправки герберов до получения на почте. Делал месяц назад.
    Узнал о них из статьи alex-exe.ru/radio/technology/make-plat-china-itead...
    Ответ написан
    2 комментария
  • Как затактировать stm32 от внешнего кварца?

    AlanDrakes
    @AlanDrakes
    Странно. У меня запускался нормально.
    Попробуйте перенести настройку Flash памяти ДО смены основного тактового генератора.
    Помнится, на высокой рабочей частоте данные просто не смогут выбраться.
    В остальном в коде, похоже, всё в порядке.

    Если работаете в отладчике - можете прямо в процессе выполнения идти по инструкциям где-то после:
    RCC->CR |= RCC_CR_PLLON; // Запустить PLL
    И точно увидите, где возникает проблема.

    Кстати, либо можете перенести строки
    RCC->CFGR &= ~RCC_CFGR_SW; // Очистить биты SW0, SW1
    RCC->CFGR |= RCC_CFGR_SW_PLL; // Тактирование с выхода PLL
    while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_1); // Ожидание переключения на PLL
    непосредственно после flash->acr
    Ответ написан
    Комментировать
  • Как настроить ШИМ для сервопривода в STM32?

    @Eddy_Em
    1. Выбросить "куб"!
    2. Выбросить SPL, HAL и прочую мерзость!
    3. Читать reference manual до прояснения!

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

    72МГц — нормальная внутренняя тактовая частота для, скажем, STM32F1xx. Какой чип? Плясать от этого надо.
    Открываем reference manual в разделе RCC и читаем. Скажем, у STM32F1xx TIM2 тактируется от APB1. APB1 — от AHB, а тот — напрямую от SYSCLK. Если тактировать от внешнего кварца на 8МГц, то нужно в конфигурации в качестве входа для PLL выбрать HSE, а в качестве входа SYSCLK — PLL (кстати, при тактировании от внутренней RC-цепочки максимальная частота SYSCLK будет 36МГц) и выставить нужным образом предделители AHB, APB1 и TIM2_PSC. Еще нужно не забыть разрешить тактирование всей этой периферии.

    Если предделители AHB и APB1 выставить в 1, а множитель PLL — в 9, то получим 72МГц на входе тактирования TIM2. Если регистр TIM2_PSC выставить в 6, то частота будет делиться на 7 — получится "кривое" число.

    Что такое 50Гц ШИМа? Частота повторения импульсов? Если так, то нужно плясать от требуемой точности коэффициента заполнения. Если нужен ШИМ на 50Гц с восьмибитным заполнением, то частота таймера должна быть в 256 раз больше, чем 50Гц, т.е. составлять 12800Гц. При тактировании TIM2 напрямую, т.е. 72МГц, в TIM2_PSC надо будет записать число 5624 — тогда его частота будет ровно 12800Гц. В TIM2_ARR запишем 255, а в TIM2_CCRx (x зависит от того, какая нога выбрана выходом ШИМ и как к ней подключен таймер) будем писать число от 0 до 255 в зависимости от требуемого заполнения.
    Ответ написан
    5 комментариев
  • Почему глючит сервопривод в FreeRTOS?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    #define SERVO_180 8200
    #define SERVO_0 1800
    void set_pos(uint8_t pos) {
      uint32_t tmp = (SERVO_180 - SERVO_0) / 180;
      TIM2->CCR2 = SERVO_0 + tmp * pos;
    }

    Фуфуфу, сначала умножать, потом делить, иначе потеряете в точности и получите большой недобор на больших углах.
    Кроме того, сдаётся мне, что эта формула должна выглядеть так:
    uint32_t tmp = ((SERVO_180 - SERVO_0) * pos) / 180 + SERVO_0;
      TIM2->CCR2 = tmp;

    не?
    сервопривод начинает сходить с ума

    Вы бы описали, как именно.
    Ответ написан
    5 комментариев
  • Как преподать обычным людям технические вещи?

    justeen
    @justeen
    Объясняйте все на бытовых примерах, покажите жизненные истории, помогайте себе жестикуляцией и харизмой, выберите 2-3 человек из аудитории и переключайтесь взглядом между ними.

    Понимаю, что вам тяжело представить сейчас жизненные истории о RTOS, поэтому не стесняйтесь проводить параллели: мол деду раньше замыкало спину уже на второй грядке, но с вживленным микроконтроллером он стал как терминатор обрабатывать по 2 Га в день. Согласен, пример грубый, но не стесняйтесь! Импровизируйте!

    Ваши сухие речи никому не нужны.
    Ответ написан
    Комментировать