• Существует ли "карта программиста"? Что и за чем учить?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Я программист с 15-летним стажем активной работы. Программирование - это инструмент для разработки ПО. Такой же как умение ходить для свободного перемещения из точки А в точку Б. Когда ребёнок рождается, нет никакой карты, в которой бы было указано - в какой последовательности он должен изучать ходьбу, чтобы стать в итоге полноценным человеком. Так и в разработке ПО - нет никакой последовательности. Вам нужно изучать всё сразу, понемногу. Причём не теоретически, а практически. Ребёнок не читает книг по развитию умения ходить, не слушает лекции от родителей. Он сразу пробует. Падает, и снова пробует. Пока не научится. С разработкой ПО в точности так же.

    Нет никакого смысла читать книги по изучению конкретного языка. Ставьте задачу - "переместиться из точки А в точку Б" (сделать какое-то конкретное приложение) и гуглите по каждому непонятному моменту, пока программа не будет написана. Научитесь правильно строить поисковые запросы.

    После того как вы с большим трудом запустите свой первый продукт. вы уже будете знать и уметь в десятки раз больше, чем студент, окончивший пятилетний курс по специальности "программирование" и прочитавший пару толстых теоретических книг.
    Ответ написан
    6 комментариев
  • Заказчик не закрывает fixed-price контракт третий месяц. Ждать до победного или закрыть самому?

    z0rg
    @z0rg
    senior developer / devops
    Закрываешь milestone успешно с оплатой, а сама работа пусть висит Fixed price. При новых работах просто открываешь новые этапы, с нужной суммой внесения escrow. На статистику влиять не должно, по крайней мере не заметил ничего плохого.
    Ответ написан
    Комментировать
  • Заказчик не закрывает fixed-price контракт третий месяц. Ждать до победного или закрыть самому?

    lamo4ok
    @lamo4ok
    Программист
    Заказ можно без проблем закрыть самому, ничего плохого в этом нет. Просто не заказчик будет первым, кто оставил отзыв, а вы. Деньги при этом автоматически спишутся вам на баланс по прошествии необходимого времени.

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

    eugene_leshchinskiy
    @eugene_leshchinskiy
    я уже спрашивал подобный вопрос, теперь поделюсь опытом)
    1. Перевсти все свое окружение на английский: ос, телефон, вк, сервисы гугла и прочее
    2. Lingvist.io мне очень нравится, 150-200 слов каждый день прогоняю. Сайт хорош тем, что там можно прослушать и повторить за роботом и как-то тренировать свое произношение. штук 500 слов за 2 месяца добавил в словарный запас тут, честно. хайли рекоменд
    3. Перейти на англоязычную музыку, переводить понравившиеся треки, слушать желательно в наушниках и следить за словами, а потом открывать текст и сравнивать
    4. Подписаться на пару пабликов в вк по анлийскому (сомнительная эффективность, но там часто бывают подборки слов, иногда глаза зацепятся, уже неплохо)
    5. Перейти на англоязычный контент на ютьюбе.
    6. Добавить переводчик в закладки и ВСЕ непонятные слова туда вбивать.
    7. Я иногда себе устраиваю собеседование, задаю и отвечаю на вопросы по-английски.
    8. Пытайся писать на английском - статусы, на стене, в твиттере - где ты обитаешь, ты увидишь, что совсем ничего не знаешь, и придется лезть на форумы узнавать правила, как пишется та или иная конструкция.

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

    maxt888
    @maxt888
    Fullstack developer
    Нет ничего плохого в этом не будет. Главное, чтоб отзыв был хороший. А так таких контрактов полно за 50$ с длительностью в полгода :) Просто такие нерадивые заказчики.
    Ответ написан
    Комментировать
  • Заказчик не закрывает fixed-price контракт третий месяц. Ждать до победного или закрыть самому?

    opium
    @opium
    Просто люблю качественно работать
    Да забейте
    Ответ написан
    Комментировать
  • Существует ли "карта программиста"? Что и за чем учить?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Нет одинаково эффективного пути для всех и каждого.

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

    Тут главное - настолько сильно хотеть достичь результата, чтобы любые препятствия только добавляли азарта. Чтобы ночами спать не мог и думал о задаче. Это ключевой момент обучения. Все остальное - декорации, способы, инструменты...

    Второй этап - осознание, что слона целиком заглотить невозможно в принципе, придется делить на части, т.е. декомпозиция. Причем задачу делить нужно неоднократно, до тех пор, пока решение конкретного участка задачи не начнет укладываться в пару страниц кода - модуль.

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

    Далее из модулей, как из кубиков лего пытаешься собрать функциональные блоки. Тут важно понимать, что чем более автономные модули и блоки у тебя получаются, тем лучше, особенно для целей тестирования. Если ты забиваешь болт на тестирование, то тебе нечего делать в разработке.

    На первых порах, тестирование будет занимать до 99% времени и сил. Заодно подтягивается синтаксис используемых языков (вообще не важно каких), вырабатывается внимательность, концентрация, тренируется память и пр.

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

    С этим не рождаются, это выкристаллизовывается за сотни и тысячи часов жесткого баттхерта от неспособности найти, где ты забыл поставить запятую... Когда код из 10 строк прочитан сотни раз вдоль, поперек и наискосок...

    Только так, только жесткий хардкор! Если ты не прошел эту фазу, то ты либо родился гением, либо тебе нечего делать в профессии... Это как детские болезни - ими нужно переболеть в детстве.

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

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

    Ах да, обложись справочниками по любому инструменту и научись быстро вникать и подхватывать необходимый минимум. Обычно достаточно на 20% владеть инструментом, чтобы решать 80% задач.

    В любом случае я за критерий истины держу платежеспособный спрос.
    Ответ написан
    3 комментария
  • Как устранить ошибку microsoft visual c++ 10.0 is required (unable to find vcvarsall.bat)?

    @Andy_U
    Запомните url: www.lfd.uci.edu/~gohlke/pythonlibs, где вы найдете уже скомпилированный модуль/пакет для вашей версии питона и разрядности, скачаете его и инсталлируете командой pip install file .whl (lxml там точно есть).
    Ответ написан
    5 комментариев
  • Увидим ли мы C# на Linux?

    dordzhiev
    @dordzhiev
    Если говорить кратко, то под линукс есть две основные реализации CLR и BCL: Mono и .NET Core.

    С Mono все понятно, сторонняя реализация возглавляемая Мигелем де Икаса (один из основателей GNOME). Mono уже переболела свои детские болезни, и очень даже хорошо справляется со своей задачей. Более того, с открытием исходников .NET, разработчики постепенно заменяют свой код для большей совместимости с MS-реализацией.

    Но не так давно Microsoft объявила о разработке своей собственной реализации под названием .NET Core. Грубо говоря это привычный нам CLR (CoreCLR) и урезанная BCL (CoreFx), но не требующая установки и с открытым исходным кодом. И самое главное - кроссплатформенность. Официально портируется на Linux и Mac OS X, но разработчики с радостью принимают пулл-реквесты, так что силами сторонних разработчиков постепенно делается поддержка Free BSD.

    Параллельно с этим ведется разработка ASP.NET 5 и EF7, которые будут работать и на .NET Core. Так что да, в скором времени ASP.NET и консольные приложения будут хорошо себя чувствовать и на Linux, и на других ОС.

    Более того, совсем недавно Microsoft объявила о начале работы над LLILC - компилятор IL -> IR, что позволит для работы .NET приложений использовать LLVM вместо CLR. Что это даст? Больше поддерживаемых платформ, .NET приложения смогут работать на всех архитектурах, поддерживаемых LLVM.

    Хотите узнать как обстоят дела? Следите за гитхабом: .NET Core и ASP.NET. Оба проекта принимают пулл-реквесты, так что вы всегда можете помочь проектам.
    Ответ написан
    2 комментария
  • В чем суть ошибки Python?

    valerium
    @valerium
    Изобретая велосипед
    Python офигенно крут в том числе тем, что дефолтные исключения очень понятно описаны.

    File "C:\Python27\lib\site-packages\grab-0.6.21-py2.7.egg\grab\spider\base.py", line 767, in process_network_result_with_handler_mp
        for something in handler_result:
      File "C:\Python27\Proekt\primer.py", line 28, in task_initial
        yield Task('habrapost', url=elem.get('id'))
    AttributeError: 'XpathSelector' object has no attribute 'get'

    Здесь написано что в строке 28 Вы пытаетесь обратиться к методу get объекта XpathSelector, но у этого объекта нет такого метода.
    Ответ написан
    1 комментарий