Задать вопрос
  • В чем могут помочь js фреймворки(React, Angular)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    C MVC фреймворками все понятно, но они меня не интересуют. А что делать с инструментами, нацеленными больше на фронтенд (React, Angular) ?


    Открою вам страшную тайну - MVC фреймворки как раз на фронтэнд и нацелены, а не на бэкэнд.

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

    Angular - полноценный фреймворк, к которому можно подключить тот же React для вьюх. Используют его в основном при реализации Single Page Application-ов.

    Были ли у вас практические задачи, с которыми мог справиться только js фреймворк? Какие?

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

    Могут ли быть полезны данные инструменты в совместной работе с Rails, например?

    Если брать ангуляр - я его использую только в контексте SPA. Это может быть не все приложение а только какая-то его часть но все же... А для SPA разницы нет вообще на чем бэкэнд реализован. От бэкэнда нужна только апишка.

    Реакт же можно использовать в принципе для построения view на клиенте. Так что можно и его юзать. Зависит от задачи. Скажем если в задачи входит организация работы жирной формы - то лучше взять knockout.js. А если вам нужно рендрить какие-то данные в реалтайме - можно вооружиться реактом.

    Нужно ли вообще тратить время и искать себе задачи, которые можно решить привычным jQuery, который в большей степени знают все (вопрос дальнейшей поддержки) ?

    Куча народу знает jQuery но не знает JS. И это грусть и печаль. Скорее всего если у вас в задачах стоит реализовать слайдер какой или что-то такое то ни Angular ни React вам не нужны. Ну или в контексте сайтиков тоже не особо есть от них польза (только в специфических случаях). А вот если пишите приложения какие-то, можно уже задуматься ибо если вам придется реализовывать весь бойлерплейт, да еще и не будет DI то с высокой долей вероятности (все же нормальные разработчики существуют) вы получите шматок гуано дико связанный и приносящий боль при рефакторинге. А еще использование только jQuery это на 99% отсутствие каких-либо тестов на фронтэнде.

    p.s. Я на ангуляре пишу админки к примеру для своих проектов. Ну и все все все что вписывается в концепцию SPA. Реакт планирую использовать как альтернативу phonegap (react-native вышел), поскольку он является слоем абстракции над формированием представления (за счет промежуточного виртуального DOM).
    Ответ написан
    1 комментарий
  • Как автоматически посчитать людей в вагоне метро при помощи видеокамеры?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Даром не нужно таких извращений. Вагон прекрасно знает, сколько в нем народу - у него "весы" есть на каждой тележке. Вычитаем тару вагона из показаний весов, делим на 75 - 80 и получаем количество человек.
    Ответ написан
    6 комментариев
  • Правильно ли я понимаю принцип работы веб-сервера?

    @polozad
    Nginx стартует как мастер-процесс, который форкает количество воркеров, описанных в конфиге. Воркер - это дочерний независимый процесс, в каждом из которых один поток обрабатывает данные. Итого, если у вас в конфиге указано два воркера, nginx по сути работает в трёх процессах, но логика веб-сервера обрабатывается именно двумя.

    Далее, про unicorn - это бэкенд. Его существование никак не связано с nginx вообще.

    Типичная схема - nginx стартует с количеством воркеров, равным количеству процессоров в системе. Далее, он висит на 80/443 порту и слушает. Приходящие соединения он обрабатывает согласно логике конфигов. То есть, либо сам что-то отдаёт, либо проксирует дальше на бэкенд, снабдив нужными хидерами. Бэкендом уже выступает, например, unicorn, и nginx'у в принципе без разницы, жив он там или нет, он покажет 200 в нормальной ситуации и 504 если unicorn отвалится.
    Ответ написан
    Комментировать
  • Системное программирование, какой язык программирования выбрать?

    @raiboon
    Ну стоп, системное программирование и "утилитки для себя" разные понятия. Системное - это С и С++ - низкоуровневые штуки.
    Для утилиток, в последнее время, стал популярным Го. Весная классика - питон. В мастдайке бывает пишут небольшие скрипты на c#.
    Ответ написан
    Комментировать
  • Почему все новые устройства такие медленные?

    Jump
    @Jump
    Системный администратор со стажем.
    Раньше был минимум нужного функционала написанного на ЯП низкого уровня и прилично вылизанного.
    Сейчас топовые смартфоны морально устаревают за год.
    Поэтому производители не могут позволить себе терять время, разрабатывая на ЯП низкого уровня и вылизывая код.
    В основном приоритете время разработки, а не время выполнения!
    Если производитель будет вылизывать и оптимизировать свой код, он просто вылетит с рынка.
    К тому же сейчас кроме кода от производителя, на него устанавливаются сторонние программы, а это вообще тихий ужас.
    Большинство приложений с андроид маркета написано людьми которые с трудом представляют что такое алгоритмы и с чем их едят. Какая там оптимизация? Любой студент берет готовый фреймворк, рисует пару кнопок, пишет десяток строчек кода и в маркет.
    Ответ написан
    5 комментариев
  • Почему все новые устройства такие медленные?

    @onepavel
    Консультация и разработка мобильных приложений
    Раньше писали нативные приложения, не было виртуальных машин, фреймворков, DI и рефлексии в целом, не было 100500 сервисов проверяющих фейсбуки и твиттеры. У меня был палм от сони, черно-белый экран и никакой анимации. Ну и конечно качество кода упало.
    Ответ написан
    Комментировать
  • Как найти известный маркер на изображении?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Я для поиска таких маркеров (правда, без внешнего полукольца) начинаю с того, что для каждой точки строю "окружность" с центром в этой точке, состоящую из 20 точек (радиус может варьироваться) и проверяю, насколько она симметрична. Если средний квадрат разностей яркостей симметричных точек заметно меньше дисперсии, то это кандидат на маркер. Потом проверяю на подобие (беру окружность вдвое меньшего радиуса). Если оба критерия прошли - идёт проверка уже по площадям (опять же, проверяется симметрия, самоподобие и однородность белого и чёрного). Границы приходится распознавать только для определения центра с субпиксельной точностью (достигается точность 1/10 пикселя).
    К сожалению, процесс довольно медленный. Особенно, если заранее размер маркера неизвестен, и приходится проверять разные масштабы.
    Про яркостную границу можно предложить прогнать алгоритм, основанный на выделении границ, для нескольких порогов яркости. Какой-нибудь да сработает. Но как описать и быстро распознать ситуацию "при сканировании пройден центр маркера", я ещё не придумал.
    Ответ написан
    Комментировать
  • Клиент много задает вопросов, как быть?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Если эти вопросы не касаются вашей половой жизни, а относятся к работе, то стоит на них отвечать.
    Разжевывая все, что бы клиенту было понятно. Или говорить так, что бы клиент интуитивно понимал, что вы правы и так надо.
    Ответ написан
    Комментировать
  • Клиент много задает вопросов, как быть?

    newross
    @newross
    Product owner
    Отвечать на эти вопросы, если это занимает немного времени.
    Хуже когда клиент не задает вопросов. Скорее всего он начнет задавать их после окончания работы и перед оплатой.
    Ответ написан
    Комментировать
  • Клиент много задает вопросов, как быть?

    podust
    @podust
    Вести повременную тарификацию работы и общения с клиентом. Если клиенту это не понравится и он отпадет — тогда и к лучшему, ибо себе дороже тратить свое время (которое, как известно, = деньги).
    Ответ написан
    2 комментария
  • Оптимальный набор алгоритмов в задаче по Computer Vision?

    tsarevfs
    @tsarevfs
    C++ developer
    А может проще будет печатать qr код? Там и надёжность лучше будет. И библиотеки готовые найти можно.
    Ответ написан
    2 комментария
  • Как собрать дистрибутив на базе Debian?

    Spetros
    @Spetros
    IT-шник
    Желательно понимание английского языка.
    https://wiki.debian.org/DebianCustomCD
    Но если искать информацию в интернете не умеете, то никак.
    Ответ написан
    1 комментарий
  • Какие разделы математики актуальны в сфере нейронных сетей и ИИ?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Никакие и все.

    Немного лирики. Дело в том, что нейронные сети штука очень непонятная. Она неплохо классифицирует, вроде бы умеет учиться. Но вот принимать решения она почти не умеет. То есть, в каком-то смысле она принимает решения, во время классификации, соотнося образ к паттерну, однако на деле всё как-то печальнее. А ещё она совершенно не умеет выполнять алгоритмы в классическом смысле слова. Ну и получается, что вся суть нейронной сети, всё, что она будет делать определяется её параметрами и входными данными. Вроде бы и похоже на алгоритм, но алгоритм можно определить 1) без входных параметров (классический), 2) не параметрами, а набором действий. Нейронная сеть более... Аналоговая.
    Отсюда мы подходим к тому, что нам обязательно нужен будет дифференциальный и функциональный аппараты. К сожалению, современные компьютеры не способны адекватно работать с бесконечно малым и большим, поэтому нам обязательно потребуются методы приближения: это и сами вычислительные методы, и некоторые методы оптимизации (они и по другим причинам потребуются). Да и совсем не лишними будут теория чисел, статистика, мат.логика и определённо более общие теории вероятностей и случайных процессов.

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

    Но стоит понимать, что все эти разделы очень тесно переплетены. Не получиться поднять какую-то одну часть отдельно от другой. Всё взаимосвязано. Вообще, очень рекомендую khan academy - наикрутейшая штука. По всей видимости, есть всё, что я здесь описал.

    Нажал ctrl+enter рановато...
    Как можно заметить, в общем-то нужна вся математика. Если какой-то раздел не указан, то он скорее всего будет затронут в других разделах.

    Однако, нейронные сети очень новая... Практика. По сути они работают примерно так: мы берём туеву хучу интегральных и дифференциальных уравнений, берём какое-то приближение и реализуем "квантуя" и "дискретезируя", а потом запускаем. Причём в момент отсчётов всё вроде бы хорошо - процессы идут, ошибка обратно распространяется, однако... Есть небольшая проблема в том, что между этими обновлениями нашей модели как бы и не существует. И если в реальном мире частота дискретизации ну невероятно высока, настолько, что мир кажется гладким (впрочем, есть возможность, что он такой и есть - сейчас не совсем понятно, какой мир и в самом деле), однако в нашей модели эта частота получается ну очень низкой. Поэтому учёные просто молятся, чтобы ничего плохого между этапами существования их модели не произошло. Честно говоря - сомнительное занятие.

    Так что, если не желаете продвигать науку вперёд, очень советую бросить это дело. Можете построить пару простейших перцептронов, однако на большее советую не рассчитывать. Сыровато.
    Ответ написан
    8 комментариев
  • Как оптимально хранить в бинарном файле сортированные целые числа?

    maaGames
    @maaGames
    Погроммирую программы
    Сперва хотел рассказать про хранение WAV файлов в формате PCM, но передумал. Вы собираетесь экономить на печеньках - не правильный подход.
    Предлагаю оптимальный вариант + его модификацию.
    1. Раз данные пишутся и читаются последовательно, то вам Бог велел использовать потоковое сжатие (это если файл в оперативную память весь не влезает, иначе тупо зиповать можно было бы). Не зная языка программирования не могу подсказать библиотеку. На C++ можно декорировать файловый поток архиватором, чтобы на лету данные паковать. Самому архиватор писать не стоит, лучше поищи готовую реализацию.
    2. Так как числа упорядочены, то вы правильно предложили хранить разницу между соседними числами, это обеспечит очень много повторяющихся величин, которые должны отлично сжаться любым архиватором.

    Как правило архиваторы считают контрольную сумму кодируемых данных, поэтому дополнительной проверки не должно потребоваться. Если при закачки на/из облака данные повредятся, то при распаковке это должно будет выясниться.
    Ответ написан
  • Как сделать чтоб при команде cp file file показывался прогрусбар?

    @Eddy_Em
    По-моему, приятней и удобней использовать mc.
    Ответ написан
    Комментировать
  • Как сделать чтоб при команде cp file file показывался прогрусбар?

    @throughtheether
    human after all
    Попробуйте pv.
    Ответ написан
    Комментировать
  • Можно обучить нейронную сеть монтажу видео?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Я сильно сомневаюсь что тут нужна нейронная сеть...

    www.disneyresearch.com/wp-content/uploads/Project_...
    Ответ написан
    2 комментария
  • Практичное использование orm. Где? Модель? Контроллер?

    SilenceOfWinter
    @SilenceOfWinter
    та еще зажигалка...
    В парадигме MVC работа с данными ведется в модели.
    Я бы описал MVC это как небольшую фирму в которой есть С - секретарша, которая принимает заказ и передает его M - боссу, он в свою очередь говорит V - художнику что и как нарисовать. Полученный шедевр V передает С, которая отдает его клиенту.

    "Студентов и школьников прошу продолжить играть в Dota и не отвлекаться на мой вопрос."
    Яркий пример предвзятого отношения от которого стоит избавляться..
    Ответ написан
    10 комментариев
  • В каких сферах программирования активно используется математика?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Навскидку:
    1) обработка изображений, компьютерная графика и зрение - геометрия и алгебра
    2) поиск - теория графов
    3) искусственный интеллект - матстатистика, тервер, теория игр
    4) моделирование, робототехника - вот здесь как раз матан, численные методы, теория управления

    И зря вы так о матане, просто пока еще не дошли до логического применения этого предмета. Венцом его использования считается теория управления, которая в свою очередь применима к программированию сложных механических контроллеров (турбины аэс, генераторы тэц)
    Ответ написан
    2 комментария
  • В каких сферах программирования активно используется математика?

    newross
    @newross
    Product owner
    Кто сказал что в программировании матан редко применяется? Если продвинуться чуть дальше сайтов-визиток, то без матана будет тяжко.
    Любая цифровая обработка сигналов полна адового матана. При разработке систем высокочастотного трейдинга и систем финансового анализа очень много математики и экономики. Системы мониторинга Глонасс/GPS для разработки дополнительных фич тоже требуют некислых знаний матана и геометрии.
    В общем, проще выбрать интересующую область и искать себе применение в ней.
    Ответ написан
    1 комментарий