Ответы пользователя по тегу Программирование
  • Если бы у вас была возможность выбора, какой язык и стек технологий вы бы выбрали?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    я бы выбирал в зависимости от задачи и только так. Личные предпочтения уже на втором плане.
    Ответ написан
  • Что нужно знать при написании мессенжера на node.js?

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

    switch/case это дурной тон. Есть конечно варианты при которых без этого никак, но явно не в вашей задаче.

    Используйте deferred объекты что бы убрать мешанину из каллбэков.

    Сделайте отдельную функцию провайдер данных и вынесите из этого треша SQL. У вас тут нету классов, по сему нету и сингелтонов. Просто отдельный метод провайдер, причем он так же должен быть асинхронным.

    Сделайте обертки вокруг сокетов внутри которых уже обрабатывайте исключения что бы ваш контроллер не распухал от количество try/catch блоков, ну и опять же используйте deferred объекты. Например библиотеку Q
    Ответ написан
    5 комментариев
  • Как оценить реальную стоимость проекта?

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

    И еще один момент — добавляйте риски. Мол оцененное время умножайте на некий коэффициент. По началу можете взять этот коэффициент равный двойке и постепенно его меняйте исходя из статистики.

    Ну и больше пользуйтесь готовыми решениями, библиотеками, в свободное время старайтесь оптимизировать эти библиотеки под свой процесс работы, под свои задачи. Словом запоминайте все что делаете и пытайтесь в следующем проекте минимизировать временные затраты.
    Ответ написан
    Комментировать
  • Было бы интересно, чтобы я написал статью про radix tree, PATRICIA, PAT tree?

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В PHP есть XPath, есть библиотеки аля PhpQuery, ну и т.д. Есть возможность запускать одновременно несколько запросов через multi curl. Так что можно организовать это все худо бедно нормально. Все то же самое и даже больше есть в питоне да и в любом другом языке. Так что для этой задачи подойдет любой язык, который вы знаете.
    Ответ написан
    1 комментарий
  • Анализатор темпа песен?

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

    Когда проводили небольшой ресерч находили работы каких-то выпускников по поводу классификации музыки по жанрам, но там только теория. Есть так же сервисы предоставляющие «похожую музыку» но они основываются на данных пользователей, хотя и дают неплохой результат.
    Ответ написан
  • Шаблонизатор на PHP

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Twig. Причин несколько. Очень удобный и понятный синтаксис, фильтры/функции, компиляция шаблонов, наследование шаблонов. Реализован он при помощи AST парсера, так что расширять синтаксис довольно удобно.
    Ответ написан
    Комментировать
  • А есть ли онлайн помощь гуру / просто помощь / хз как назвать

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    А чем подобный сервис будет отличаться от того же стакоферфлоу? Тем что вопросы будут не сформулированы? В чем тут смысл? Пусть человек пытается сформулировать четко свой вопрос. Обычно четкий вопрос это как минимум половина ответа.
    Ответ написан
  • Как переквалифицироваться с desktop на web

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Если у вас есть опыт работы с C# было бы логично попробовать .NET ASP MVC, думаю освоение оного проблем у вас не составит. Работа с базами — различные ORM (от стандартного Entities Manager до Hibernate и прочее). Если говорить о бэкэнде то даже не вижу смысла использовать еще что-то такое эдакое. Разве что для задач реализации REST API и прочего. Фронтенд — тут уже чуть сложнее. HTML5/CSS верстка довольно простая штука, но тут опыт нужен. Знал много верстальщиков которые хорошо знали и особенности поведения тегов и свойств, но не понимали концепции (у них разметка зачастую была привязана к оформлению страницы, а это уже плохо). Но в целом это много легче чем C++/Boost/SPL. Javascript — тут стоит владеть функциональным программированием.

    Вообще, разница между программированием для десктопов и для WEB (если касаться серверной части и реализовывать на C#, PHP или Java) не сильно различается. Знать огромное количество фреймворков не обязательно, достаточно выбрать какой-то один. А потом взять другой будет все же достаточно просто.

    Удачи в ваших начинаниях.
    Ответ написан
    8 комментариев
  • Как из изображения графика вытащить координаты?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) определить в пикселях поле где расположен граффик
    2) задать масштаб (сколько пикселей приходится на одну еденицу значения)
    3) идем по полю и ищем зеленую или синию линии (пиксели) и помечаем координаты в массив (идти только нужно по вертикали, при поиске точек на графике)
    Ответ написан
  • Вопросы, которые вы не узнали в школе/вузе, но стоило бы знать? (из сферы IT)

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

    Вобщем, суть в том, что бы показать что для решения одной задачи можно использовать координатно другой способ.
    Ответ написан
    1 комментарий
  • Какие методы вы применяете для отдыха после работы?

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    htmlbook.ru — там есть раздел с заданиями, он довольно полезен
    Опять же для верстки лучше поискать знакомых которые могли бы устраивать ревью кода. А потом уже просто… сидеть и делать. Параллельно читать книжки, но толку от них не будет если вы не будете пробовать.

    Язык, вот тут можно просто посмотреть на что вы ориентируетесь. В корпоративном мегменте засел .NET, вообще царствует PHP, питонисты просто тихенько себе хорошо живут.
    Мой совет — посмотрите все мейнстрим языки (их не так уж много, особенно под WEB). Можно корелировать приоритеты языков со средней ЗП на рынке.

    А потом, как попробуете, выберете для себя понравившийся вам. Возможно их будет несколько.

    По изучению — самый самый продуктивный способ, просто берите и пишите, хоть что-нибудь. Можно просто попытаться скопировать какой-то небольшой сайтик и постепенно увеличивая объемы. Причем желательно браться за что-то на порядок сложнее ваших знаний, иначе они будут медленно приходить.
    Ответ написан
    Комментировать
  • Асинхронный TCP сервер на C#. Что прочитать? Решен

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Вопервых за бесконечные циклы стоит сжигать на кострах. Тут нужно обработчики событий писать/использовать, ибо потребление процессорного времени с бесконечными циклами будет просто ужасно.

    У вас тут должны быть делемы вида «как максимально быстрее передать данные из потока листенера в поток обработчик» а не public/private. Данными можно через колбэки обмениваться. Все радость написатья TCP сервера это калбэки, сихнронизация потоков и прочее.

    А вообще — дочитайте статью. Там вроде бы все эти вопросы рассматриваются.
    Ответ написан
  • Как сделать область видимости в javascript?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Возможно я не совсем понял вопроса, но…

    var data = (function(){
        var a = "provate string";
        var b = "public string;";
    
        return {
            a: a
        };
    })();
    


    следующим способом обычно достигают имитации приватных свойств. Обычно используется для приватных методов/свойств и экспортирует объект содержащий геттеры и сеттеры.

    Если вам необходимо иметь доступ ко всем внутренним переменным, то имеет смысл публиковать их через this.prototype. Тогда вам останется лишь создать инстанс вашей функции и обращаться к опубликованным свойствам. Возможно можно ограничиться лишь this но тут я вам точно не скажу. Надо пробовать.
    Ответ написан
  • Первая книга по программированию

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Начинать надо не с конкретного языка, а с принципов алгоритмизации. По сути язык программирования не нужен, нужно лишь понимание алгоритмов и умение их разрабатывать.
    Ответ написан
    3 комментария
  • Интернет-магазин и ООП?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    раздели систему на компоненты, исходя из задачи. Скажем, если исходить из паттрена MVC — должны быть объекты для работы с базой (Order, Client и т.д.), класс занимающийся репрезентативной частью и контроллеры (OrderController (Причем для пользовательской части можно наследовать от Controller а для админки AdminController), ClientController, CatalogController). Магазин можно грубо разделить как минимум на каталог и корзину. Есть еще доставка, оплата и т.д. Все эти части можно разнести по модулям (в случае доставки и оплаты — это будут контроллеры и модели)…

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Я бы порекомендовал для начала чисто Си. Когда набьется рука реализацией алгоритмов основных (задачки на строки, сортировка массивов, очереди и стэки… что там еще...) можно постепенно переходить к C++. На C++ уже можно набивать руку в плане объектно-ориентированных программ (в универе у меня был такой замечательный предмет как ООПП, который фактически мне ничего не дал. Но для начинающего программиста предмет будет довольно полезен. Литературы по этой дисциплине валом.)

    Собственно — ставьте себе задачи и решайте их.
    Ответ написан
    Комментировать