Задать вопрос
  • Как лучше и быстрее выучить C#?

    @andoral
    ULEARN.ME
    Ответ написан
    Комментировать
  • Стоит ли выносить конфиги Django в ini?

    sim3x
    @sim3x
    Нет

    Секретные переменные нужно вынести в env

    Если требуются корректировать настройки в зависимости от окружения (дев, тест, прод), то файл settings преобразуют в модуль и внутри модуля делают несколько файлов для каждого окружения, которые модифицируют основной конфиг

    settings
    ├── dev.py
    ├── __init__.py
    ├── settings.py
    └── test.py


    внутри __init__.py можно организовать автоматическое определение окружения по переменным окружения
    Ответ написан
    Комментировать
  • На какую зп можно рассчитывать работать на удаленке QA-инженером?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Я прекрасно понимаю, что единственный вариант, когда они будут нанимать человека из СНГ региона - это более низкая зп.

    Вообще нет. На более низкую ЗП проще нанять удаленного индуса. Или вообще местного.

    Единственный вариант, когда они будут нанимать человека из СНГ региона - хорошие знания и профессионализм, которых нельзя найти поближе. А деньги - дело вторичное.
    Ответ написан
    1 комментарий
  • Почему происходит ошибка при установке symfony?

    BoShurik
    @BoShurik Куратор тега Symfony
    Symfony developer
    Поправили: https://github.com/symfony/recipes/pull/445

    Что касается symfony/flext - они там часто последнее время что-то ломают, так что сначала лучше заглядывать в их репозитории: https://github.com/symfony/recipes и https://github.com/symfony/flex, особенно если "раньше всё работало"
    Ответ написан
    Комментировать
  • Как вы интегрируйте 1с и rails?

    IvanTheCrazy
    @IvanTheCrazy
    У меня был вот такой опыт для интеграции с интернет-магазином:
    - заказчик предоставил формат выгрузки (xml)
    - эту выгрузку реализовали на бекенде с упаковкой в zip
    - заказчик руками загружал ее
    Как сгенерировать xml - думаю знаете.
    Насколько мне известно, можно этот xml отправлять в 1с по http, либо настроить 1с на периодическое "стягивание" этой выгрузки, но у нас такой задачи не было.
    Ответ написан
    Комментировать
  • Как вы интегрируйте 1с и rails?

    @Dementor
    программист, архитектор, аналитик
    А в чем состоит суть вопроса? О какой интеграции идет речь?

    Со стороны 1С есть ряд открытых интерфейсов для взаимодействия - OData, COM, SOAP и REST, которые могут использовать программы написанные на Ruby.

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

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

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

    @bkosun
    Думаю стоит посмотреть серию видео-уроков по изучению PSR-7 микрофреймворков. В результате Вы научитесь с нуля создавать собственный компонентный фреймворк.

    https://elisdn.ru/blog/113/psr7-framework-http

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

    verkhoturov
    @verkhoturov
    Frontend Developer
    Я устроился джуном во фронтенд почти в 30 лет, мой друг в 31 год. Вы молодой активный мужчина с приличным бэкграундом.
    Главное ваши навыки и способность приносить пользу.
    Ответ написан
    Комментировать
  • Как мне быть в такой ситуации.Куда двигаться дальше?

    coderisimo
    @coderisimo
    Просто начните и продолжайте карабкаться. Не сдавайтесь. Я , оказавшись в патовой ситуации Где найти работу по удаленке в 40+ лет? от безысходности полез на апворк и не жалею. Тем более, если у вас есть опыт с WP , можно брать это направление, как максимально конъюнктурное там.
    Параллельно начинайте ковырять английский, если с ним не ахти. Это важно, у меня с ним был (и пока увы остается) полый алес капут , но выжить удалось. Легко не будет , это точно , но и скучно тоже.
    33 года - детский возраст!
    Ответ написан
    Комментировать
  • Как мне быть в такой ситуации.Куда двигаться дальше?

    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 комментария