• Какой язык программирования подходит для заработока?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Какой язык программирования подходит для заработока?

    Любой, кроме наверное, эзотерики типа брэйнфака.

    пофрилэйнсить

    бр...

    посоветуйте на какой язык перейти

    вы бы хоть сказали какая сфера интересует, WEB, мобильщина, все... а так... смотрите на вики любой язык программирования на ваш вкус. Мэйнстрим сейчас это java, c++, php, ruby, python, javascript...

    Java к сожалению не дается... Слишком она уж тугая после C# и справка на английском меня убивает....

    Может быть проблема в вас? Или вы хотите сказать что по Java, одному из самых популярных языков программирования в мире, мало литературы на русском?

    p/s: реально ли в ИТ сфере без английского?)

    Реально но тяжко. Так или иначе придется освоить.
    Ответ написан
    8 комментариев
  • Как в Yii2 вернуть Active Record в виде json с зависимостями?

    Antago
    @Antago Автор вопроса
    Нашел сам решение - делать выборку asArray()

    $model = Post::find()->with('comments')->asArray()->all();

    В этом случае в json переводятся и дочерние объекты.
    Ответ написан
    Комментировать
  • Как работать в связке Yii2 и angular.js?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Я думаю вам будет проще организовать просто два проекта. Один на Yii2, где будет просто REST Api и возможн админка, и другой - приложение на angular. Два разных приложения, которые ничего особо не знают друг о друге, их связывает лишь HTTP и REST.

    Вообще плюс подобных подходов в том, что разные методы можно делать на разных фреймворках, языках программирования, разносить на разные сервера... короче кучи всего в угоду производительности делать. Да и так проще организовать проект будет вам.
    Ответ написан
    4 комментария
  • Завтра собеседование на сисадмина, а я программист. Что делать?

    amf1k
    @amf1k
    моя зависть в 18 лет.... черт.
    Ответ написан
    Комментировать
  • Как реализовать самоуничтожение сайта?

    sim3x
    @sim3x
    0. Сайт утвержден, на твоем хосте
    1. Сайт оплачен
    2. Сайт перенесен на хост заказчика
    Ответ написан
    Комментировать
  • (MySQL) Где и что исправить ?

    Кодировка. Проверьте соответствие кодировки в пхп и в базе. (вероятнее в базе). Если это вируальный хостинг и хорошая поддержка, то просто обратитесь в саппорт за решением.
    Ответ написан
    Комментировать
  • Стиль - двухцветная подложка, как сделать?

    romanzhak
    @romanzhak
    Mathematician
    background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 50%,rgba(225,225,225,1) 51%,rgba(246,246,246,1) 100%);
    Ответ написан
    Комментировать
  • Как грамотней перевести текст в нижний регистр русский текст?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Что вы подразумеваете под многобайтным текстом? Все встроенные в php функции отлично оптимизированы и будут работать быстрее чем любой код написанный вами.
    Ответ написан
    6 комментариев
  • Как грамотней перевести текст в нижний регистр русский текст?

    @stas3572
    mb_strtolower($string, 'utf-8');
    или даже без указания, если у вас внутренняя ютф-8
    php.net/manual/ru/function.mb-strtolower.php
    Ответ написан
    2 комментария
  • Как лучше реализовать код?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    $taskManager = new TaskManager(); // вынести инстанцирование во вне а еще лучше использовать DI
    // таск есть таск, имеет он при себе родителя или нет
    // по сути у нас обычное дерево
    $parentTask = new Task();
    $subTask = new Task($parentTask);
    $subSubTask = new Task($subTask);
    // вся логика по сохранию тасков инкапсулируется в менеджер тасков
    $taskManager->addTask($parentTask);
    $taskManager->addTask($subTask);
    $taskManager->addTask($subSubTask);


    Если используете Doctrine в качестве ORM, то в менеджере вы должны делать только persist записи. flush в идеале должен быть только один (коммит транзакции), и желательно его делать в каком-нибудь так же даже не в контроллере, а сделать глобальный обработчик, мол если у нас не возникло ошибок во время обработки http запроса - делаем flush. Таким образом мы никогда не забудим закоммитить изменения в базу.
    Ответ написан
    7 комментариев
  • Как лучше реализовать код?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Если уж ударяться в ООП - я бы сделал отдельный класс который делает эту хитрую логику с подзадачами и вызывал бы его из контроллера.
    Ответ написан
    5 комментариев
  • Что изучать, на что тратить свободное время, чтобы в будущем стать востребованным программистом с нормальным заработком?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Ответ на вопрос будет сильно зависеть от того, в каком направлении вы думаете развиваться.
    Будет ли это сетевое программирование? Тогда это си, в основном.
    Может быть, веб-программирование? Тогда тут могут быть php, javascript, python, ruby.
    Захотите разрабатывать программы на десктоп? Вам нужны c# или java.
    На мобильные платформы? тогда java и objective c (плюс swift).
    Или податься в разработку игр? Тогда либо c++, либо с# (для Юнити - наверное, самой популярной платформе).
    Хотите экзотики? Приглядитесь к функциональным языкам - Erlang и Haskell.
    Разработка железа и драйверов для железа? тогда си (без плюсов) и ассемблер.
    Определитесь, что вы хотите, потому что всё объять не получится. Выберите один (или два) направления и добейтесь хорошего уровня в нём. А потом вам будет уже легче двигаться дальше.

    Мой совет - попробуйте изучать C# или Java (они во многом похожи) для софта, или Javascript и php/python для веб-приложений и сайтов.

    Добавлю, что очень правильный совет дал @tsarevfs - помимо языка программирования, хороший программист должен знать несколько инструментов - и в первую очередь, это система контроля версий, например, git. Плюс юнит-тестирование (хотя это можно начать изучать позже, через годик-два). Плюс - нужно хорошо знать свою IDE, в которой работаете; не вздумайте работать в блокнотиках!

    Ещё помимо практики нужно знать теорию - читайте Макконнелла, Фаулера, Мартина, Бека.
    Подпишитесь на хабре на пару десятков хабов и регулярно читайте всё подряд. Через годик ваш уровень понимания статей сильно вырастет.

    Я сам преподаватель программирования в колледже, и, к сожалению, таких желающих изучать там очень мало. Пишите мне в личку, если будут вопросы.

    UPD. Важное дополнение из обсуждения в комментариях (спасибо @Argentum88 @Deerenaros )
    Чтобы стать профессионалом и "востребованным программистом с нормальным заработком", нужно очень хорошо понимать внутреннее устройство тех систем (платформ, фреймворков), на которых идёт работа.
    Для этого нужно заглядывать вглубь. Изучив различные мейнстрим-инструменты, посмотреть на аналогичные менее популярные системы. Изучать исходный код используемых open-source библиотек. Написать свою подобную систему. Для web - написать свою CMS (хотя бы базовую). Для десктоп-программ - попробовать программировать без навороченных библиотек, которые делают рутинную работу за программиста. Для разработчика игр - сделать простую игру на базовом инструментарии платформы, где всё придётся делать своими руками.
    Всё это даст возможность проникнуться, почему всё делается именно так, даст понимание взаимосвязей разных частей программы.
    А потом, осознав это, выбрать один из уже готовых инструментов, и продолжать писать на нём, уже обладая более глубоким его пониманием.
    Ответ написан
    21 комментарий
  • Что делать с "письмом счастья" из Германии?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Сходить в юридическую консультацию для начала.
    Но в целом скорее всего разводка.
    При наличии реальных претензий Apple блочит приложения практически мгновенно.
    Ответ написан
    Комментировать
  • Как лучше обрабатывать результат?

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

    Что бы сотрудники по одному не бегали к начальству и не клянчили "А вот Вася получает больше меня а делает меньше"!
    Ответ написан
    Комментировать
  • Стоит ли использовать малоизвестные технологии при разработке, чтобы "привязать" к себе заказчика?

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

    Помимо этого есть вопрос репутации. Довольный клиент рассказывает 1-2 людям. Недовольным - 10рым.
    Это относится к вообще любым серым приемам. Можно и исходный код зашифровать, что уж стесняться.
    Ответ написан
    Комментировать
  • Есть ли рускоязычная среда програмирования?

    Awake
    @Awake
    Рулю разработкой ;-)
    Учите английский, нафиг не нужна русскоязычная среда программирования.
    Ответ написан
    Комментировать
  • Есть ли рускоязычная среда програмирования?

    А дальше вы куда с этими программами? Учите английский не смешите людей ))
    Ответ написан
    Комментировать
  • Есть ли рускоязычная среда програмирования?

    Color
    @Color
    Golang SWE, Cloud & DevOps
    Вы мне напомнили человека, который хочет научиться водить машину, но вместо того, чтобы учить ПДД, учится крутить руль и жать педали и возмущается, что на дороге ему не комфортно.

    Множество сред программирования написаны скорее для облегчения создания интерфейсов(дизайн) или для облегчения написания кода с помощью подсветки и авто подстановки, но все они написаны для людей уже знающих язык.

    IDE это не способ написать программу, это инструмент, который упрощает ее написание. Писать можно хоть в блокноте, а зачастую большего и не требуется.

    Также даже со всеми такими подсказками совершенно не понять как например нарисовать простейший пиксель на экране. Нужно сначало лезть по документации изучить язык, затем узнать что существуют библиотеки(opengl например) затем научиться с ними работать, затем узнать что есть всякие api(winAPI или qt) , и научиться работать с ними. И только потом вывести пиксель на экране. И ведь для всего мне придёться читать документацию (javaJDK openglSDK MSDSN qt-доки) и всё на иностранном для меня языке.


    Так и есть. Хотите пользоваться OpenGL - изучите его специфику. Опять пример с машиной.
    Конечно, можно просто скопировать кусок и вставить, но если потом придется что-то править, без понимания Вы можете порушить всю архитектуру программы

    Русскоязычные пользователи вынуждены лезть в google и искать, перелопачивать тонну информации ради маленького фрейма. Англичанам проще их инструкции написаны на понятном им языке.


    Так уж сложилось, что программирование зародилось в англоязычной среде. И никакой патриотизм к этому отношения не имеет. У меня был опыт написания программ на языке с русским синтаксисом, и я проклял все как раз из-за конструкций вида <имя><знач.>[<зн.оп.><знач.>].
    Если не знаете английский, купите книжку типа "<ВыбранныйЯзыкПрограммирования> для начинающих" или "Введение в <ВыбранныйЯзыкПрограммирования>", там все на русском и понятно. Все так начинали.

    Не пытайтесь вести машину, не зная ПДД. Не пытайтесь готовить, не зная рецепт. Не пытайтесь программировать, не зная языка программирования. Все это приводит к плохим результатам.
    Ответ написан
    3 комментария
  • Есть ли рускоязычная среда програмирования?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    я не думаю что вам будет понятнее такой код:
    класс ПростойКласс {
        приватно:
            свойство строка названиеПеременной
        публично конструктор (строка названиеПеременной) {
             контекст.названиеПеременной = названиеПеременной;
        }
        // ...
    }
    
    ПростойКласс[] массивКлассов = создать ПростойКласс[10];
    пока (беззнаковое целое итератор = 0; итератор < 10; итератор++) {
        массивКлассов[итератор] = создать ПростойКласс("строка передаваемая в конструктор);
    }


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

    Тут так же. Знание самого языка не поможет вам понять смысла конструкций типа for.
    Ответ написан
    3 комментария