• Что отличает freelance программиста от корпоративного?

    Тут сложный момент. Не рискну говорить за всех, но расскажу о своём личном опыте и опыте моего друга.
    Мне на данный момент 33 и я всю жизнь проработал в офисе, никогда ни одного дня не фрилансил. Хотя понимаю, что во фрилансе больше денег. Но. Находясь в офисе ты находишься во взаимодействии с коллегами, а значит возможен очный обмен опытом, который, как ни крути, более интенсивен и более значим, нежели заочное общение на форумах. Просто потому что очно общаться проще и продуктивнее. Кроме того, для фриланса важна сильная самодисциплина: слишком много дома есть отвлекающих факторов и, лично мне, трудно находясь дома сосредоточиться на работе; далее, я разделяю среду обитания: на работе я работаю, а дома я отдыхаю. Ввиду таковой психологической установки мне трудно дома переключиться на рабочий режим. Ну и плюс к этому, о доходе в полмиллиона деревянных мне можно лишь мечтать, но меня деньги не интересуют как таковые, а потому мотивацией являются не деньги, а делание полезного и большого продукта, т.е. относительно маленькие проекты (с ограниченным сроком разработки и поддержки) меня не интересуют. Потому я всегда работал в ай-ти-шных интернет-компаниях над большими проектами, но никогда не рассматривал возможность трудоустройства в студию.

    Далее про друга. Он фрилансит уже более 10 лет. И, когда начинал, то немного троллил на тему "а я вот не работаю на дядю". Спустя 5 лет, он понял, что всё-таки работает. Но только на много разных дядь.
    Далее, есть момент в сложности самообразования: когда он не взаимодействует с большим коллективом таких же умных людей, то обмен опытом происходит гораздо слабее (писал выше), а потому знания необходимо самостоятельно подчерпывать из разных источников (хабр, англоязычные статьи, книжки, блоги умных разработчиков, и т.д.), но вот ведь вопрос: а когда это всё читать?, и каким образом это можно опробовать (если только не вести собственный(ые) опен-сорс проектики)? А значит, если нет жажды знаний, то варясь в зафиксированном стеке технологий начинается профессиональная стагнация. На что друг стал жаловаться мне 3 года назад: он понял, что очень много не знает, что появилось много нового и интересного, но он из-за того, что "просто решал прикладные задачи конкретного заказа" пропустил это всё. Было интересно за ним наблюдать, когда рассказывал ему про Git, DIC, модульное тестирование и т.д. --- то были удивлённые глаза ребёнка.
    Кстати, о детях. Упомянул выше, что для фриланса нужна сильная самодисциплина. У него тоже было такое: когда начал фрилансить, то он уже жил с девушкой (ныне женой) и она никак не могла понять почему нельзя отвлекать: ну вот же он!, что такого, чтобы помочь что-нибудь сделать по дому по-быстрому (например помыть посуду или вынести мусор): работа ж не убежит?, а что такого, чтобы подойти и спросить что он хочет на ужин? В конечном итоге проблема решилась тем, что договорился с ней о том, что в период с 2-х часов дня до 6-ти часов вечера, она к нему даже близко не подходит, не спрашивает, не отвлекает и вообще старается не шуметь. Вроде, всё стало хорошо... пока не родился ребёнок, а вот там уже не объяснить ребёнку, что папа работает и не надо мешать. Поэтому всё закончилось тем, что он снял комнату в офисе и теперь каждый день, как и многие другие люди, ездит работать в офис.

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

    @gunsmyth
    И запрос поправьте.
    Функция ПолучитьЦены(Контрагент, Товар)
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
        	|	ЦеныКонтрагента.Цена КАК Цена
        	|ИЗ
        	|	Справочник.Контрагенты.Цены КАК ЦеныКонтрагента
            |ГДЕ
        	|	ЦеныКонтрагента.Ссылка = &Контрагент
        	|	И ЦеныКонтрагента.Товар = &Товар";
      Запрос.УстановитьПараметр("Контрагент", Контрагент);
      Запрос.УстановитьПараметр("Товар", Товар);
      Результат = Запрос.Выполнить().Выбрать().Следующий(); 	
      Возврат Результат.Цена;
    КонецФункции
    Ответ написан
    Комментировать
  • Как получить значение из результата запроса в 1С?

    nki
    @nki
    bezkart.ru готовая система лояльности
    все банально
    РезультатЗапроса = Запрос.Выполнить();	
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    Цена = 0;
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    	Цена = ВыборкаДетальныеЗаписи.Цена;
    КонецЦикла;


    Имейте ввиду, что если в результате запроса возвращается несколько строк, то вы получите результат последней строки.
    Ответ написан
  • Как вывести поле из полной новости в анонс?

    @ilyarsoftware
    Любое поле или группу любой страницы можно получить через протокол UPage, пример вывода значения поля content:

    <xsl:value-of 
      select="document(concat('upage://', @id, '.content'))//value"
      disable-output-escaping="yes" />

    @id это идентификатор страницы которое можно получить в текущем контексте, а также можно использовать путь страницы.

    Суть примера сводится к построению запроса: concat('upage://', @id, '.content')) в результате будет обращение по адресу upage://1.content (при @id=1), а //value обращение к ноде результирующего XML.

    Протокол UPage можно тестировать в браузере, например: http://site.com/upage/1.content или http://site.com/upage/1 для получения всей страницы.
    Ответ написан
    1 комментарий
  • Как эффективно изучать JS?

    iliapro
    @iliapro
    Веб-разработчик
    По опыту знаю, что учишь-учишь, но без опыта экспертом не станешь. Придумай себе какой-нибудь проект, в ходе работы будут появляться вопросы, придётся ползти в справочники или искать решение на форумах, только так сможешь выучить язык в совершенстве.
    Ответ написан
    6 комментариев
  • Не работает правильно RewriteRule для ЧПУ. Ребята кто знает ответ?

    Defman21
    @Defman21
    Кривая регулярка. Точку надо экранизировать. (\.)
    Ответ написан
    Комментировать
  • Хотим создать мобильное приложение и позже сайт, как быть с БД?

    Akdmeh
    @Akdmeh
    PHP, Yii2, Music
    Напишите сразу REST API, не усложняйте жизнь разработчикам.
    Ответ написан
    Комментировать
  • Как из строки содержащей html, вытянуть все значения атрибута нужного тега?

    GreenBee
    @GreenBee
    ASP.NET программист
    По какой причине не подходит Html Agility Pack? Он как раз умеет это хорошо делать.

    Можно, конечно, написать регулярное выражение, но проблема с HTML в том, что он нерегулярный. Т.е. у атрибута могут быть кавычки, могут не быть, может одна быть. Тэг может быть закрыт, а может нет.
    Все это придеться учитывать в регулярном выражении.

    var matches = (new Regex("<form.*?action=(\"[^\\\"]+?\"|'[^\']+?'|[\\S]+?).*?>"
    , RegexOptions.Singleline | RegexOptions.IgnoreCase)
    ).Matches("HTML CODE <form action=1><form action='2'><form action=\"3\">");
    foreach(Match m in matches)
    {
    	var actionValue = m.Groups[1].Value.Trim(new char[]{'\'','"'});
    }

    Вот так к примеру: https://dotnetfiddle.net/Iuuy56
    Ответ написан
    4 комментария
  • C# Почему программа зависает при запуске других программ?

    ImmortalCAT
    @ImmortalCAT
    C# loving
    System.Threading.Thread.Sleep() - это СОН!
    не юзай его и всё.
    Ответ написан
    3 комментария
  • Комп зависает в некоторых играх. Что может быть?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Возможно перегрев видеокарты или недостаточная мощность блока питания.
    Ответ написан
    8 комментариев
  • Почему нет поддержки ссылок вида "smb://..." на браузерах под Windows?

    karabanov
    @karabanov
    Системный администратор
    Так автору это и нужно! И он не понимает, почему под Windows это не работает. А не работает это из-за того, что SAMBA - это свободная реализация протокола которая к майкрософту отношения не имеет, зато имеет совои фишки вроде ссылок вида SMB:// на которые можно повесить обработчик в браузере (собственно ссылки такого вида, по сути, тоже к протоколу отношения неимеют, такое для чего угодно можно реализовать). Под *NIX такое "прокатыват".
    Ответ написан
    2 комментария
  • Почему нет поддержки ссылок вида "smb://..." на браузерах под Windows?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Потому что ссылки вида smb:// это не HTTP протокол и не FTP протокол. Браузеры работают с веб, а smb это родная windows шара, которая должна открываться через проводник.
    и указывать надо не smb:// а просто \\

    Это в линуксах, которые не знали изначально что такое \\, прикрутили самбу, чтобы можно было пользоваться windows shared resources
    Ответ написан
    3 комментария
  • Почему нет поддержки ссылок вида "smb://..." на браузерах под Windows?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    что мешает набрать просто \\имя_сервера\имя_шары ?
    хром это сам преобразовывает в file://имя_сервера/имя_шары и замечательно работает
    Ответ написан
    Комментировать