• Как мне быть в такой ситуации.Куда двигаться дальше?

    KeySVG
    @KeySVG
    аниматор svg / html5
    Если хорошо разбираетесь в 1С то ройте в направлении стыков технологий с ней. Например интеграция 1С с интернет магазинами. Спрос тут постоянный и стабильный. К тому же сопровождение, постоянное обновление версий. Да и правительство подбрасывает работенку вроде интеграции с онлайн кассами. Монетизируйте старые знания в новой сфере. Можно работать дистанционно по всей стране, есть сообщества в сети, где можно общатся с практикующими людьми из этих сфер. Это лучше курсов.

    В любой сфере где технологии пересекаются, трудно найти спеца который бы разбирался и в том и другом. Я в начале карьеры работал на ТВ, делал анимацию и рекламные ролики. Потом ушел в вэб делать сайты, в итоге сейчас делаю анимацию для вэба, рекламные баннеры. Специалистов которые бы на достойном уровне понимали и в графике и в програмном коде не так уж много, конкуренция совсем не давит. Спецов с опытом которые бы делали рекламу а не иллюстрированные объявления среди баннермейкеров тоже единицы. И тут еще геймдев бешено развивается где о5 таки большой спрос на тех кто может сделать игровую анимацию персонажей с интеграцией с кодом.

    Вспомнить того же Стива Джобса: он работал в типографии, а когда пришло всемя писать собственную ОС он начал сразу создавать графический интерфейс, что было революционо, используя все свои знания о шрифтах. А тогда за слово «кернинг» в IT среде могли и побить ))

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

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

    Для начала неплохо было бы определиться с формой работы (офис, фриланс, удаленка) и стеком технологий (веб, мобайл, десктоп). А дальше нужно просто познакомиться с экосистемой выбранного направления — языки, фреймворки, инструменты — и сделать несколько проектов для себя. Во-первых, это будут реальные проекты, где ты соберешь кучу граблей, а, во-вторых, это будет готовое портфолио. Как немного освоишься — можно попробовать пофрилансить. Но только с умом, конечно же — не надо брать верстку под WP. И после искать нормальную работу.

    Про возраст вообще не заморачивайся. Тебе же не 50 лет. Средний возраст разработчика увеличивается, потому что мы все, начинавшие у истоков, не молодеем.

    И да — у тебя отличный бекграунд. Со своими знаниями ты очень быстро освоишь новую для себя область.

    Удачи!
    Ответ написан
    Комментировать
  • Как мне быть в такой ситуации.Куда двигаться дальше?

    Хреновое у тебя настроение, 33 для програмиста не возраст, мне 42 и я несколько раз проходил путь от джуна до синьора, просто для встряски мозгов, последний раз менял специализацию в 39. Делай упор на английский, с хорошим английским работы море, при чем на удаленке платят больше чем на аутстаффе, правда и риски больше, кстати чтобы устроится на мидла, не запись в трудовой нужна "работал джуном год", а фактическое количество собранных граблей на технологии, на которые ты второй раз не наступишь, на собеседованиях просто спрашивают по матрице, поэтому необходимые навыки ты легко можешь узнать, просто регулярно проходя собеседования и подчитывая и реализуя то, на чем завалился. Завалив собеседование ты не ЧСВ должен понижать, а просто понимать, что ты узнал, что нужно доучить и идти на следующее собеседование.
    Ответ написан
    Комментировать
  • Карты для сайта на основе opensource?

    Zverik
    @Zverik
    Специалист по OpenStreetMap
    Это слишком общий вопрос. Наподобие «мой сайт перестал укладываться в лимиты RuVDS, подскажите, какую альтернативу выбрать». Всё зависит от требований: насколько кастомизирован интерфейс Maps API, сколько пользователей, какой величины компания и сколько можете позволить платить в месяц, какие свойства карты важны и какие нет, насколько умелы ваши программисты в JavaScript.

    Для веб-карты начального уровня советую Mapbox JS или Mapbox GL JS: там неплохая документация, много полезных компонентов из коробки и цена ниже, чем у Google. Если пользователей сотни тысяч и денег нет, можете попробовать найти человека, чтобы поставил локальный тайл-сервер и обойтись LeafletJS.

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

    tema_sun
    @tema_sun
    Я вот нифига не понимаю зачем пихают Докер в каждый второй лендос или микро-магазин. Ок, ну работаешь ты под виндой (я так работаю, например) - поставь Вагрант и запускай дев-сервер под ним. Докер - это нереальный оверкилл в 99% случаев. Т.е. если вы понимаете зачем он вам, то он очень хорош, но если это просто дань моде, то я даже не знаю.

    Лично я на проде использую nginx+uwsgi/gunicorn+supervisor. Supervisor не нужен, но мне с ним удобнее и привычнее. Код подтягиваю из Гита (где-то руками, где-то фабриком).
    Ответ написан
    1 комментарий
  • Я слышал, что goto использовать НЕЖЕЛАТЕЛЬНО. А что насчет while(true)? В функции есть много if'ов, в которых есть return. Моветон ли while(true)?

    makarenya
    @makarenya
    программист
    Последний раз я использовал GOTO в QBasic (можете погуглить). Это был для меня первый язык программирования, а сам я учился в школе, и даже не в старших классах. Без него можно обойтись вообще всегда, хотя иногда это и не так уж и удобно. Но я видел неоднократно его использование в серьёзных проектах. Почти всегда он один единственный на несколько десятков файлов с кодом.

    Отказ от GOTO является одним из принципов структурного программирования. А ещё один его принцип - это единая точка выхода для любой конструкции. По сути - это отказ от return за исключеним случая, когда нужно вернуть какое-то значение в самом конце функции, а ещё и отказ от continue или break в циклах. И... вот так уже не делали ни в одной компании, где мне довелось работать, ни в одном opensource проекте, код которого мне доводилось смотреть.

    Причина, почему один принцип заучивается на зубок всеми программистами, а второй представляет из себя лишь повод посмеяться - это их цена. Программа, богатая на goto, очень быстро становиться нечитаемой, непредсказуемой и неподдерживаемой. Понять - что в ней происходит, становиться невозможно уже после пары сотен строк. А вот с return из середины функции, как и с break из середины цикла - цена невысока. Ими уже так просто программу в трэш не превратить. Читаемость и поддерживаемость не падает, в том числе, и при использовании бесконечных циклов. А в некоторых случаях без них никуда. К примеру, любая программа для микроконтроллера представляет из себя бесконечный цикл и без любой возможности выйти из него.

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

    PS. Выход из кучи вложенных циклов при помощи return из функции - самый простой способ ухода от необходимости в GOTO и одновременно отказа от оверхеда на лишние и ненужные условия. Используется всеми и "на ура"
    Ответ написан
    Комментировать
  • Какую базу данных лучше всего использовать для обучения новичка?

    @bedward70
    H2 database
    1. Написана на java и легко интегрируется как внешняя, или Embedded, или Memory БД;
    2. Поддерживает много диалектов;
    3. Удобство создания;
    4. Удобство архивирования (достаточно архивнуть каталог, где расположена БД);
    5. Удобство переносимости можно перенести каталог.

    Из минусов: если вы меняете версию библиотеки H2 Database - будьте готовы пересоздать базы.
    Ответ написан
    Комментировать
  • Какую базу данных лучше всего использовать для обучения новичка?

    makarenya
    @makarenya
    программист
    Как мне кажется, учиться лучше на той БД, которая часто используется в реальных решениях, так как обучение "в стол" тоже не является самым лучшим. Кроме того, БД должна быть поближе к стандартам и к "старшим братьям" - платным СУБД. И тут на самом деле даже вариантов не видно - PostgreSQL. Она реально используется в боевых системах, как минимум является одной из используемых в Яндексе (кроме неё там используют только самописные NewSQL)! По покрытию стандарта SQL, она опережает тот же MSSQL. Порог входа в неё лишь капельку выше, чем в MySQL, но полученные знания будут куда как ценнее!
    И да - MySQL и SQLite будут немного проще, но простота эта обусловлена отходом от стандартов или урезанию тех или иных фич. То есть за большую простоту обучения вы заплатите более ограниченными знаниями куда как большей сложностью переобучения на любую другую БД.
    Ответ написан
    Комментировать
  • Лучше свой проект или полный объем необходимых знаний?

    makarenya
    @makarenya
    программист
    Никогда не думал, что существуют "классические" пути для junior-ов. Если сильно постараться, можно устроиться junior-ом и на haskell. Тут есть момент: работая в команде, вы обучаетесь намного быстрее, чем в одиночку. Так что как только появиться возможность сменить работу - дерзайте. Но как правило даже от junior-ов требуют определённый объём знаний. Есть такое наблюдение - первые 5 000 строк кода любого программиста - это шлак. Никто не наймёт человека, который пишет шлак. Поэтому вам стоит заняться своими проектами. Ждать от них коммерческого успеха я бы не стал. Вообще ни под каким соусом. Ставьте цели попроще. Получить такое приложение, которое сделает для меня всё супер: это куда как более подходящая цель. А в каком направлении развиваться - фронтенд или мобайл, или бэкэнд, а может быть пойти в BigData или ComputerVision? - тут важно что вам больше нравиться. Что именно вас привлекает - туда и идите. Потому что максимальных успехов добивается тот, кому максимально нравиться то, что он делает
    Ответ написан
    Комментировать
  • Код в парадигме ООП PHP?

    makarenya
    @makarenya
    программист
    Вы сконцентрировались на попытке сделать ваше решение БД-ориентированным, в то время как вас не просили этого делать. Из за БД-ориентированности в вашем коде происходят странные вещи, можно сказать "магия". Некоторые вещи вообще странные, вроде списка статей внутри статьи.
    Вас просили сделать описания классов, методов и свойств класса в формате PhpDoc, а вы этого не сделали.

    Попробуйте ещё раз, но со следующими ограничениями:
    • В классе User оставьте только свойство $name и свойство $articlesList = [] - который будет уже списком статей, которые написал автор. Пусть список храниться внутри объекта пользователя, в ORM типа Doctrine так и происходит. Уберите оттуда $id.
    • Не забудьте добавить методы getName() и setName($newName) для работы со свойством name. Это является правильным для ООП - не позволять клиентам класса работать со свойствами напрямую, а лишь вызывая методы, которые вы предоставляете. Причина проста - в методе вы можете указать какое-нибудь дополнительное поведение, которое требуется при изменении свойства.
    • Также придумайте методы, необходимые для работы со списком статей. Ну вот два уже напрашивается из задания: "возможность для автора создать новую статью" и "возможность получить все статьи конкретного пользователя". Но по хорошему статью ещё и удалить можно...
    • Для статьи вам понадобятся 2 поля - это ссылка на автора (то есть сам объект класса User, а не магический id). То есть $author, и ещё, раз это статья, то ей неплохо бы добавить свойство $text.
    • А теперь главное - не пишите вообще текста методов. Только открыли фигурные скобки и сразу закройте на следующей строке. От вас этого не просили. И даже явно указали этого не делать!


    Если всё ещё сомневаетесь, то советую почитать обучалку по Doctrine. Там они постепенно создают совершенно коректные с точки зрения ООП классы User и Bug. (они это делают последовательно, так что не поленитесь докрутить до самого конца обучалки)
    Ответ написан
    2 комментария
  • 2gis + django как реализовать?

    @dkopitsa
    разработчик-интроверт
    Сделать модель с координатой маркера и доп. информацией для вывода иконки.
    Если ваша БД позволяет - рекомендую использовать gis расширение (Geo Django)
    from django.contrib.gis.db import models
    
    class Marker(models.Model):
        point = models.PointField()
        icon_url = models.CharField(...)
        ...

    Если возможности работать с gis нет - использовать 2 поля lat/long

    остальные аттрибуты в зависимости от задачи.

    В шаблоне в скрипте по отрисовке в цикле добавляете каждую точку.
    <script type="text/javascript">
        var map;
    
        DG.then(function () {
            map = DG.map('map', {
                center: [54.98, 82.89],
                zoom: 13
            });
    
    {% for marker in markers %}
            DG.marker([{{marker.point.x}}, {{marker.point.y}}]).addTo(map);
    {% endfor %}
    
        });
    </script>
    Ответ написан
    3 комментария
  • Перспективы изучения 1С?

    Jump
    @Jump
    Системный администратор со стажем.
    Прав ли я, что помимо языка 1С нужно хорошо разбираться в бухгалтерии и сдавать на очень сложные сертификаты
    Нет, не правы. Предметную область в которой идет разработка знать очень желательно. но во первых не обязательно, а во вторых с чего вы решили что это бухгалтерия???

    легко ли найти работу с минимальными знаниями и навыками? в 1С (как понимаю это франчайзи)?
    Зависит от вас, от вашего умения находить работу, от региона, и кучи других факторов.

    высокая ли конкуренция?
    Смотря с чем сравнивать. Спецов как грязи, куда ни плюнь попадешь в программиста 1с, но найти нормального спеца это целая проблема. В общем примерно как и в других областях.

    какие в среднем зарплаты?
    Как договоритесь. В среднем от 10тыс до 200тыс рублей.

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

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Итак, я учусь на geekbrains веб-разработке.

    Ошибка номер один. Из всех новичков, что я видел, с гикбрайнса самые слабые. Их не учат учиться, их учат повторять, не давая нормальную теоретическую и практическую базу. Задания очень слабые, а курсы поверхностные.
    статьи и пр. это конечно хорошо, но применять на практике то, что прочитал, это совершенно другое, а особенно в боевых условиях

    Пока не будете читать, так и будете практиковать визуальные эффекты на jQuery. Нужна база. В начале 25% теории 75% практики. Читайте https://css-tricks.com , большую книгу css (она немного устарела, гриды не рассматривают, но основная база очень полезная), смотрите Юрия Артюха (если хотите делать крутые анимации), лазьте по https://www.awwwards.com/ и разбирайтесь, как люди так делают. А также практикуйтесь, сделайте себе сайт, сайт другу, сайт девушке - всем.

    UPD: В чем сложно придумать себе близкую к боевому задачу? Боевую задачу вам вряд-ли кто-то даст, т.к. без опыта боевых задач, вы сделаете не боевое решение. Вот там "боевые" задачи.
    1) Сделайте калькулятор произведения матриц - разминочка.
    2) Сделайте игру арканоид, хоть на дивах (а раньше, когда мы учили программирование, новичков привлекала разработка игр, а сейчас почему-то сайты. Раньше было романтичнее как-то).
    3) Сделайте приложение учета личных финансов, в котором есть такие функции
    - личный счет
    - форма добавления денег в личный счет с комментарием и выбором группы доходов (долг, зп, заказ, подарок и.т.д.).
    - форма снятия денег с личного счета с комментарием и выбором группы расхода (вернул долг, купил домой что-то, купил технику, еду, потратил на женщину и.т.д.)
    - Вывод списка доходов и расходов с фильтром, сортировкой и категориями.
    - создание расписания автоматического пополнения (зп) или снятия (аренда, абонентская плата) средств с личного счета.
    - создание простого графика расходов и доходов. Я бы сюда добавил еще прогнозирование доходов и расходов хотя бы через линейную регрессию (да, я люблю машинное обучение),
    - добавление нескольких счетов
    Эта задача норм, и типа боевая, и для себя пригодится, и на гитхаб можно выложить - красота.
    Ответ написан
    14 комментариев
  • Переквалификация из Java в C++?

    @m0nym
    Возможно ли вообще осуществить такой переход и обойтись "малой кровью" без сильной "просидке" по зарплате


    Если сильно повезет.

    С++ нынче большая редкость.
    В отличие от востребованного языка Java.

    Есть желание перейти на с++/server side.


    Вы нам из прошлого века пишете?

    Серверная часть на С++?
    На уровне слухов, что у кого-то типа где-то есть на С++ на сервере.
    Сейчас большая редкость.

    Вообщем хочу узнать как будет относиться работодатель если в резюме будет указан опыт на java?


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

    Действительно ли в реальной жизни синтаксис это не самое важное, а важно знать алгоритмы, писать красивый чистый код со знанием ООП и умения правильно строить архитектуру?


    Язык - это всего лишь инструмент. Как клавиатура или мышь. Всем плевать какого цвета у вас мышь. Если вы выполняете свои рабочие задачи.

    Вы задаете вопросы на уровне студента/джуна, а архитектура это вопросы миддла/сеньора.

    Такое впечатление что вы вообще не понимаете то, о чем пишете.
    Ответ написан
  • Что выбрать: Django или Flask?

    Для начала Django. Во первых генерируется базовая структура проекта, во вторых всё что нужно в комплекте.
    Научитесь писать на джанге- научитесь и на фласке, они очень похожи.
    А как только вы во фласке прикрутите орм, шаблонизатор, wtforms, разнесёте код по отдельным приложениям, то в итоге у вас получится Django
    Ответ написан
    Комментировать
  • Как написать CreateView для модели с ForeignKey?

    @immaculate
    Программист-путешественник
    Во-первых, соблюдайте, пожалуйста PEP-8 и Django Coding Style. Это уважение к тем, кому приходится читать ваш код. Также, обратите внимание, что обычно модели называются в единственном числе: City, а не Cities. Country, а не Countries.

    Во-вторых, при данном использовании CreateView форма создается автоматически. Вам же нужна своя форма, которая будет назначать страну. Создайте форму для City, в конструкторе которой будет сохраняться Country из запроса. А в CreateView вместо атрибута fields используйте form_class для использования вашей формы.
    Ответ написан
    7 комментариев
  • Как построить изучение С++ после С#?

    myjcom
    @myjcom Куратор тега C++
    БЕЗ материала для новичков


    https://en.cppreference.com/w/

    Olsson Mikael. C++17 Quick Syntax Reference
    Olsson M. C++ 14 Quick Syntax Reference

    Swaminathan Jeganathan. Expert C++ Programming

    Modern C++ Programming Cookbook
    Год издания: 2017
    Автор: Bancila M.
    Издательство: Packt Publishing
    ISBN: 9781786465184

    C++17 STL Cookbook
    Год издания: 2017
    Автор: Jacek Galowicz
    Издательство: Packt
    ISBN: 9781787120495

    Clean C++
    Год издания: 2017
    Автор: Roth S.
    Издательство: Apress
    ISBN: 978-1484227923

    Arthur O’Dwyer. Mastering the C++17 STL: Make full use of the standard library components in C++17

    Meyers S. Effective C++ Digital Collection 140 Ways to Improve Your Programming
    Gregoire M. Professional C++ 2018

    Horton I., Van Weert P. Beginning C++17: From Novice to Professional

    Smith R. (ed.) Working Draft, Standard for Programming Language C++ 2017

    C++ Notes for Professionals 2017
    Ответ написан
    1 комментарий
  • Требования к Django разработчику(Стек технологий)?

    1) HTML/CSS/JS - очевидно, знать нужно всем.
    2) XML/JSON - уже зависит от типа сервиса,с которыми нужно пилить интеграции
    3) Django/Django REST Framework - тут подразумевается, что либо бек отдает статику, либо бек дает апи для js-фреймворков
    4) Celery/RabbitMQ - т.е. умение делать задачи в очередь. Встречается очень часто, особенно на проектах, где надо какие-то отчеты формировать, письма отсылать и так далее.
    5) Elasticsearch/PostgreSQL - на маленьких проектах поиск делают прямо через постгрес, на больших уже юзают эластик.
    6) Общее знакомство с библиотекой Python
    7) Deploy: nginx / uwsgi (Gunicorn) / postgres - но зависит от проекта, на больших - это не твоя боль.
    ___

    Дополнительно спрашивают: Flask (Сейчас мода идет на микросервисы)/Tornado/Twisted/Aiohtp - это уже зависит от конкретных вакансий.

    Дополнительно требуется: 1-2 года опыта на php/ruby/node.js/java/.net - к сожалению, Python - это не php, тут не пилят говно на коленке за день, тут делают какие-то большие проекты с датой, интеграциями и прочее. Поэтому изначально предъявляют к кандидатам более высокие требования. В том числе опыт работы на Питоне, либо на похожем стеке.
    Ответ написан
    6 комментариев
  • Где найти WordPress right way?

    @Flying
    Я смог пересилить отвращение к коду Wordpress и начать с ним работать после того как узнал про Timber, всё-таки Twig - это совсем не то что фаршировать куски html :)

    Для формирования интерфейсов (и структур данных) в админке я себя не представляю без ACF. Использую Pro версию т.к. оно того явно стоит, но есть и бесплатная. Более того, в 5-й версии они добавили такую замечательную штуку как Local JSON что делает ACF весьма дружелюбным по отношению к системам контроля версий.

    Для мультиязычности недавно появился developer friendly плагин WP Multilang заточенный в первую очередь под разработчиков. В компании с Loco Translate позволяет весьма удобно работать с мультиязычностью.

    Также обязательно нужно помнить про WP cli, без него разработчику привыкшему к консоли тяжело :)

    Для работы с Composer есть Wordpress Packagist, так что плагины / темы можно ставить прямо через Composer. Я пытался запилить плагин для Composer'а который всем этим делом управляет, но пока качество imho недостаточное для отдачи его в public.

    Также очень рекомендую присмотреться к ребятам из Delicious Brains, у них в блоге немало интересного.

    Поддержка Wordpress есть в PHPStorm, весьма помогает.

    В целом Wordpress, конечно, весьма мутная штука внутри, но обложившись тонким слоем абстракций можно жить относительно комфортно :)
    Ответ написан
    2 комментария
  • Где найти WordPress right way?

    dimasmagadan
    @dimasmagadan
    1. Как все это запихивается под версионный контроль?
    так же как и любой другой код.
    Кто-то любит composer-lock.json/vendors класть в реп, кто-то нет и тп. С WP так же - можно сам движок класть, можно не класть. Зависит от кодстайла/привычек вашей команды.

    2. Где можно посмотреть руководство по эксплуатаци..
    На официальном сайте есть документация.
    Разработка под WordPress не подразумевает ковыряние разработчика в файлах движка. Вам дали фильтры/хуки, дали несколько api, используйте - этого вполне достаточно. Если нет, скорее всего ваш проект выходит за рамки WP, либо вы делаете что-то не так.

    3. Есть ли аналог php the right way...
    На официальном сайте. Там же можно найти и правила для phpcs, как настроить юнит тесты и прочее такое

    4. Советы от людей, которые как и я пришли разбираться с wp после паттернов проектирования.
    А зачем? Вам с чем работать, с этими людьми или с WordPress?
    Если вам надо работать, читайте документацию, там все толково расписано. Если же хотите пообсуждать "какой WP фиговый движок" - то это можно ваще на любом форуме в интернете и не обязательно, чтоб собеседники владели какими-либо паттернами.
    Ответ написан
    Комментировать