Ответы пользователя по тегу Программирование
  • Создание лицензии для движка, что прочитать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Я решил взяться за это дело нормально и подарить миру нормальную cms.

    Удачи. Получится как обычно.

    Не рассматривали схему, которую выбрали всякие gitlab, магенты и и т.д.? open-source + энтерпрайз редакции + суппорт.
    Ответ написан
    1 комментарий
  • Какие есть *DD? И какую-когда лучше использовать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    TDD + DDD + BDD. Причем все эти *DD можно применять вместе, и даже лучше применять вместе, так как тот же BDD это не столько про тесты, сколько про процесс разработки в целом а DDD это для более качественного проектирования и для того, что бы на митингах все говорили на одном языке (и внутри команды так же, и да, продукт-оунер тоже будет вас понимать). TDD же очень общая идея, мол тесты перед кодом. Это позволяет лучше проектировать код в небольших масштабах, но можно и на интеграционных тестах TDD построить.
    Ответ написан
    Комментировать
  • Как правильно определять начало фрейма в mp3-файле?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    "free" means free format. The free bitrate must remain constant, an must be lower than the maximum allowed bitrate. Decoders are not required to support decoding of free bitrate streams.


    www.mp3-tech.org/programmer/frame_header.html

    Это кастомный формат. То есть то как данные хранятся не регламентируется в спецификации. Вам не обязательно поддерживать обработку таких фреймов.

    Основная соль этих фреймов то, как хранятся данные. А хранятся они тупо в стриме, а не пакетами фиксированной длины. Это позволяет задавать более высокий битрейт (до 640 килобит в секунду) и делать какие-то кастомные штуки для своих кодеков.
    Ответ написан
  • Как открыть файл .cpp .h и прочие в программе на С?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Эм... ну так открывайте. это все те же текстовые форматы, на расширение файла вообще плевать.
    Ответ написан
  • Dependency Injection (Какой способ лучше использовать)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1-ый вариант валиден если бы было так:
    Handler(ServiceFactory factory) {
            this.factory = factory;
            this.service = factory.createService()
        }

    если оба сервиса существуют в единственном экземпляре - то второй вариант. Если нужно делать шаблоны типа Registry и хранить там пул сервисов, то тогда опять же как и в случае с фабриками - первый вариант.
    Ответ написан
    5 комментариев
  • Как создать GUI на чистом C?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Берете Qt, осваиваете C++ а на сях пишите только библиотеки.

    p.s. сишные программы должны быть только под консоль, ибо это тру.
    Ответ написан
    2 комментария
  • Как декодировать mp3 в PCM ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Подскажите пожалуйста, как его разобрать в импульсно-кодовую модуляцию?

    насколько я понял это она и есть, попробуйте так:
    System.out.println(Short.valueOf(next));
    Ответ написан
    Комментировать
  • Какую выбрать тему для дипломной работы?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    если брать PHP то вот какие вещи нужны народу:
    - замена морально устаревшему phing-у (есть robo как альтернатива, но мне лично не очень нравится). Можно провести хорошую исследовательскую работу и составить решение достойное нынешних дней.
    - фабрики фикстур (framework-independent с возможностью интеграции). На данный момент существует только phactory из достойных (еще есть PHPMachinist из достойных). Есть мысль запилить авторесолвинг блупринтов для этих библиотек что бы было проще интегрировать в проект и рулить фикстурами. Так же можно продумать более упрощенное API для быстрой разработки. И да, ключевой момент тут - производительность и возможность ресетить все добавления в базу (что бы уменьшить время прогона тестов).

    Собственно вот... это то чего мне не хватает. Остальное относится с корее к тех-процессам. Скажем я пока не знаю как наладить процесс автоматизированного деплоя с ansible + docker (какую роль должен вы полнять ансибл) но тут не думаю что вы поможете. Хотя у моего знакомого темой диплома была тулза для конвертации форматов контейнеров для различных облачных сервисов. Может можно подумать и в этом направлении.
    Ответ написан
    2 комментария
  • Есть ли аналоги coffescripta для php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Есть проекты типа snowscript, но как по мне это децкие забавы. Имхо я не вижу причин, по которым в PHP нужен препроцессор. Что вы собираетесь сокращать? Сахар над классами не нужен (в js он все же нужен и появится в ES6), сократить запись объявления функций/методов, возможность писать геттеры/сеттеры аля c#, возможно. Но видимо пока никому это не нужно, так как IDE генерят все это дело за вас если уметь ими пользоваться.

    Опять же, если вам не нравится синтаксис PHP, посмотрите в сторону Ruby. Или реализуйте свой препроцессор.

    Еще есть:
    mammouth.wamalaka.com

    И знаете какой будет недостаток у подобных решени? Ни одна IDE не знает синтаксиса этих языков.
    Ответ написан
    4 комментария
  • Как называется формат изображения?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    обычно все то же самое делается по принципу спрайтов с png/bmp.
    Ответ написан
    Комментировать
  • На каком фрейморке лучше писать магазин: Phalcon, Codeigniter, Yii, Zend, Symfony?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Берем ваш список, выкидываем мертвые проекты, то есть CI, и тыкаем пальцем. А еще лучше - отдать на откуп разработчикам.

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

    Для Symfony есть Sylius который можно взять за основу. Хотя я бы писал с нуля в любом случае, по возможности реюзая какие-то модули, например обработка платежей.
    Ответ написан
  • Архаично ли обучать школьников программированию в консольном режиме?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Не согласен.

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

    GUI имеет смысл преподавать уже после консольки, при чем объясняя такие вещи как отзывчивость интерфейсов, как не допускать подвисаний интерфейсов. асинхронная работа с IO и т.д. Тогда толк есть.

    Что до робототехники, контроллеры типа arduino, можно, но когда человек разберется что такое микроконтроллер, научится эффективно их использовать и все такое прочее. Все же разрабатывать коммерческие проекты на базе ардуино не очень то выгодно, обычно это просто хобби, побаловаться. Есть кучи более дешевых аналогов, от тех же Texas Instruments которые позволяют и разобраться, и не иметь дела со скучным ассемблером а писать уже на Си и делать прикольные штуки. Так же есть DSP процессоры и кучи других прикольных вещей.
    Ответ написан
    2 комментария
  • Сжатие строчных данных на PHP, чем?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    php.net//manual/ru/function.gzdeflate.php

    Либо в вашем случае делать base_convert по частям.
    Ответ написан
    Комментировать
  • Как послать заголовок несколько раз?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Никак. Один заголовок указывающий кодировку на страницу. Решение - приводить куски страниц в разной кодировке к одной.
    Ответ написан
    Комментировать
  • На каком языке-фреймворке легче написать кроссплатформенное gui-приложение?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    C++ голенький с STL и свои библиотеки. Универсальное - жирное все. Можно сделать чуть менее жирным используя API целевой платформы, но сами понимаете что вам просто придется реализовывать часть Qt.

    Вообще если брать десктопы, то только Qt. Все остальное - детские шалости какие-то. Вы напишите приложение сначала, а потом ищите способы как уменьшить его размер. С 5-ой версии они неплохо разбили его на отдельные библиотечки, так что можно неплохо ужать размер дистрибьютива. Да и что сегодня 70-80 метров для приложения? Так, чих.
    Ответ написан
    Комментировать
  • Разработка приложений для десктопа на HTML/CSS/JS, какие альтернативы есть у Adobe Air?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    node-webkit пожалуй единственная вменяемая альтернатива AIR-у. Единственный минус, UI полностью кастомный, если только под одну платформу то не критично. Ну и такой небольшой минус как жирный размер проекта (~70 мегабайт) за счет того что с собой таскается и V8 и webkit.

    - Возможно встраивание в приложение фрейма со страницей на сервере для прохождения аутентификации и обмена данными с ним (хотя бы чтение данных из фрейма и текущего адреса)

    Может лучше нормальное API с OAuth?
    Ответ написан
  • Почему в Новой Зеландии самые высокооплачиваемые программисты?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    У меня некоторые сомнения вызывают приведенные в статье цифры.
    Ответ написан
    Комментировать
  • Какой язык учить первым, если ориентируюсь на веб?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    php учить первым не советую

    Почему интересно... Говнокодить по началу будете всеравно, что на php, что на ruby, что на js.

    javascript можно взять как первый язык только потому что в web особо нету альтернативы (клиентская часть).

    А так.... просто ткните пальцем в тот вариант, который вам больше по душе. Разницы вообще нету.
    Ответ написан
    Комментировать
  • А вы знаете стандартные структуры и алгоритмы?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    пузырек не напишет только тот, кто не знает что это такое. Ну и да, нужно знать примерно как они работают и сложность различных алгоритмов для различных случаев что бы писать более эффективный код.

    Вообще все упирается в знание сложности алгоритмов, из этого вытекает что вы должны знать хотя бы примерно как эти алгоритмы работают. Скажем вы должны знать что при таком-то случае, с которым у вас чаще сталкивается программа, алгоритм А имеет сложность O(N) а другой при таком же случае всего то O(logN).... при том что в большинстве других задач тот же самый алгоритм A c определенными допущениями может иметь сложность O(1).

    Алгоритмы базовые обычно связаны со структурами данных (вставка/выборка из хэш таблицы, вставка/выборка в деревья и т.д.) На алгоритмах сортировки просто удобнее объяснять все это дело и учить людей разрабатывать алгоритмы, определять их сложность и т.д.

    Сейчас вот собираюсь перечитать Кромена, "Алгоритмы: построение и анализ". Ибо поймал себя на мысли что я уже плохо помню все это дело.
    Ответ написан
    6 комментариев