Задать вопрос
  • Объясните мне пожалуйста что оно от меня хочет?

    @skygliderus
    Excel, HTML, CSS, JS, PHP, adaptive design
    Перечитал кучу форумов, чтобы решить проблему.

    А оказалось нужно просто внимательнее "курить мануалы", прокручиваем до Configuring VM Acceleration on Windows и смотрим п.2:
    After the download completes, execute /extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.exe

    Это означает, что скачанный через SDKManager пакет не готов к использованию - он ПРОСТО СКАЧАН. Т.е. необходимо зайти в папку и запустить на исполнение файл intelhaxm.exe, правда в моём случае - использую Android Studio, файл назывался intelhaxm-android.exe. Для решения проблемы у автора вопроса читаем чуть ниже в указанном мануале, что нужно сделать, чтобы работало на AMD процессоре.
    Запускается привычный интерфейс установки msi, достаточно везде нажимать Далее.
    После завершения установки - в командной строке набираем sc query intelhaxm.
    Если в ответ получаешь:
    Тип : 1 KERNEL_DRIVER
    Состояние : 4 RUNNING
    (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
    Код_выхода_Win32 : 0 (0x0)
    Код_выхода_службы : 0 (0x0)
    Контрольная_точка : 0x0
    Ожидание : 0x0
    Значит всё в порядке и можно работать!

    Удачи!!!
    Ответ написан
    2 комментария
  • Как пишется псевдо ИИ в играх?

    begemot_sun
    @begemot_sun
    Программист в душе.
    В общем случае читайте про принцип минимакса.
    Вы должны:
    1. описать игровое пространство, что можно делать и чего нельзя.
    2. описать возможные действия бота (ход вправо, влево, стрелять и т.п.)
    3. описать функцию оценивающую текущую обстановку на поле (с учетом положения и состояния всех игроков на поле, или только той части что известный боту)
    4. Руководствуясь принципом минимакса выбрать лучший ход для бота в текущий момент.
    5. Оптимизировать процесс с учетом того, что у вас будет комбинаторный взрыв возможностей.
    Ответ написан
    2 комментария
  • Почему не стоит вызывать методы в конструкторе?

    @smozhaykin
    На самом деле вызывать не стоит только виртуальные методы. Т.к. если класс наследник его переопределит, то возникнет ситуация, когда метод работает до вызова конструктора класса-наследника. И если в этом методе используются какие-нибудь поля класса-наследника, они могут быть еще непроинициализированы.

    А так как в Java

    In Java, all non-static methods are by default "virtual functions." Only methods marked with the keyword final, which cannot be overridden, along with private methods, which are not inherited, are non-virtual.


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

    Ниже C# код (т.к. работаю в основном с этим языком), иллюстрирующий это.

    void Main()
    {
    	new B("name");
    }
    
    class A
    {
        public A()
    	{
    	     Method();
    	}
    	
    	protected virtual void Method()
    	{
    	}
    }
    
    class B : A
    {
        private string Property { get; set; }
    	
    	public B(string value)
    	{
    	    Property = value;
    	}
    	
        protected override void Method()
    	{
    	    Console.WriteLine(Property.Length);
    	}
    }


    Результат: Object reference not set to an instance of an object.

    StackTrace
    at UserQuery.B.Method()
    at UserQuery.A..ctor()
    at UserQuery.B..ctor(String value)
    at UserQuery.Main()
    Ответ написан
    Комментировать
  • Как развить программистское мышление?

    Как ни странно, нужно программировать. И мыслить при этом.
    Ответ написан
    1 комментарий
  • Стоит ли становиться "чистым" программистом?

    @766dt
    "Программирование" это не область производства, это инструмент, помогающий решать различные задачи в разных производственных областях.

    Если "чистый программист" это тот кто только пишет код, то это как человек, который владеет инструментом, но пользуется им только по инструкции. Человек который не может ничего сделать сам никогда и не будет по настоящему востребован.

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

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

    zolt85
    @zolt85
    Программист
    Хватит болтать, покажи нам свой код! (с)

    Я с Вас поражаюсь, Вы действительно на столько круты, что можете выбирать? Даю палец на отсечение, что Вы ни черта не знаете в программировании (без относительно языка программирования). Делить разработчиков на frontend/backend это какая-то модная чушь, от стартаперов-хипстеров. Разработчик прежде всего должен быть инженером! Универсалом, если хотите.

    Перестаньте спрашивать "Что делать?" на тостере, а просто идите и делайте то, что считаете нужным!

    Ладно, это старческое ворчание. По существу. Вы правы, все хотят middle или senior разработчиков на java вакансиях, и это обоснованно. Т.к. беря junior-а, Вы прикладываете усилия на его обучение. Скажу за себя (я такой твердый middle с обязанностями senior-a), если я вижу, что junior свалит как только я его научу, я его сам выгоняю. А многие junior-ы прямо говорят - я пришел к Вам набраться опыта, перед покорением других вершин. Ну и зачем мне такой junior? Мне нужны люди, которые будут тащить проект, выводить именно мой проект на новые вершины! Вам в первую очередь должно быть интересно само ремесло программистское, и если Вам оно интересно - Вы будете на расхват в любой конторе, на любом стеке технологий.

    Удачи!
    Ответ написан
    10 комментариев
  • Есть ли фриланс ближе к 30?

    Imperial777
    @Imperial777
    веб-юниор
    Вот идут всякие в IT только ради бабла, пилят проектики в энтерпрайзиках, придумывают скрамы всякие, аджайлы и прочую манагерскую хрень - да только толку нет, как пилили гуано, так и пилят.... ИМХО люди в IT должны идти не из-за желания заработать на "хлеб с икрой" и с "поддержкой жены", а потому, что им нравится создавать, потому что душа лежит. Самый лучший разработчик - тот, который с горящими глазами готов сутками сидеть за кодом и не ждать отдачи за первые n (нужное подставить - недель, месяцев, лет). Джуниорство в программинге для тех, кто готов полностью забить на окружающий мир и сутками сидеть и что-то делать (чтобы продвинуться - технологии меняются, и с каждым днем надо знать все больше и больше). Вам семью надо кормить, забить на все уже не получится. Программинг не для вас, раз вы хотите 4х часовой рабочий день. Этим надо жить.
    Знаю несколько человек, которые в преклонном возрасте пришли в программинг (одному так вообще за 40) - но у них ни детей не было, ни жен, которым, в конце концов, надоедает маленькая ЗП и "невниманяшки". А индусов на одеске хватает.
    Накипело.
    Ответ написан
    11 комментариев
  • Поздний старт в ИТ - есть ли шансы?

    beardedjack
    @beardedjack
    Ничего не бойтесь, дружище! Понимаю Ваши опасения. Ваш возраст - это ерунда.
    Самому уже 33. Всего-лишь пару месяцев назад получил должность, связанную с управлением проектами в области разработки ПО.
    До этого 11 лет в госконторе. Там начинал с эникейщика. Компы таскал. Админил все что можно. Много работал с людьми. Дорос до нач. отдела. Свободное время тратил на самообучение, фриланс. Потом добавилось получение второго высшего образования заочно по ит-специальности (голая математика, программирования было мало).
    Уже давно стало понятно, что надо менять сферу деятельности. Причем очень быстро. Мозг "закисает" на работе совсем... Вот и решился на экстренные меры.
    Да, здесь актуален вопрос психологического характера...
    Мотался по собеседованиям. Претендовал на должность Java junior-developer (выбрал джаву как ниболее интересную для меня в тот момент, хотя опыт был в иной области). Из этих собеседований вынес много нужного и интересного для себя. За это время подучился основательно. Мало спал. Много читал/писал/пробовал...
    Да, я был готов так поступиться со своим самолюбием: уйти с "престижной" должности и начать все "с нуля".
    На одном из ранних проваленных мною собеседований, интервьюер (технический специалист) задал вопрос: "А не поздновато ли ты, парень, решил резко так сменить сферу деятельности? Уйти с такой должности. Да на такую низкую должность... Возраст уже... Вот я б не рискнул...". На что получил ответ: "Это мои проблемы, парень. И мне решать как мне с этим жить".
    Все мои долгие попытки трудоустройства все-таки привели к положительному результату. В результате - имею очень интересную и хорошо оплачиваемую работу. И готов тратить свободное время на самообучение.
    Ответ написан
    Комментировать
  • Поздний старт в ИТ - есть ли шансы?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Если для того, чтобы кем-то стать, вам нужно сидеть и ждать чьего-то совета, и вас все время пугает то, что окружающие знают больше и они моложе - можете уже спиваться. С таким отношением и взглядами ничего не поменяется.

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

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

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

    Если Вы боитесь, что у Вас нет знаний, а Ваши проекты были Вашими и делались на коленке(без обид, просто предполагаю) и когда Вам дадут реальную задачу - Вы не справитесь, то это другой вопрос - "Где взять знания?".
    Ответ написан
    1 комментарий
  • Поздний старт в ИТ - есть ли шансы?

    zo0m
    @zo0m
    full stack developer
    какой-то вы неуверенный слишком
    я собеседовал достаточно много студентов и возраст скорее играет на вас
    "Что делал? тебе столько лет, а где опыт?", конечно спросят, только не для того чтобы вас топить, а для того чтобы понять что за человек сидит.
    Если на собеседованиях будете хорошо отвечать -- у вас нет причин не попасть куда-угодно.

    псц, ПОЗДНИЙ СТАРТ в 26 ??? я видел взрослых мужиков за 40 полностью меняющих работу на IT, а вам 26...

    чувак иди проспись
    Ответ написан
    6 комментариев
  • Стоит ли начинать заниматься программированием в 30+ если до этого не программировал?

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

    @Yuriy2014
    программист - это в первую очередь математика, алгоритмы и структуры данных. по сути - вышка в ВУЗе.
    а языки, среды разработки, модули и библиотеки - это кодер.
    программисту достаточно листа а4 и карандаша в общем случае, дальше работа кодеров.

    поэтому определяйтесь)
    Ответ написан
    Комментировать
  • Что изучать, на что тратить свободное время, чтобы в будущем стать востребованным программистом с нормальным заработком?

    @gangstarbeiter
    Мои пять копеек:

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

    Колледж это пустая трата времени. Ценится только диплом о ВЫСШЕМ образовании. Для работодателя выпускник колледжа это то же самое, что человек без формального образования вообще. Говорю как работодатель.

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

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

    4. Если есть возможность, практикуйтесь. Спросите знакомых - может быть, кому-то нужен сайт. Сделайте его с нуля на какой-нибудь несложной CMS (joomla, wordpress). Попробуйте сделать простенькую игру или приложение для мобильного. И так далее. Лучший способ что-то изучить - применить это в деле.
    Ответ написан
    2 комментария
  • Что изучать, на что тратить свободное время, чтобы в будущем стать востребованным программистом с нормальным заработком?

    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 комментарий
  • Как вы (программисты) учились в ВУЗах?

    @Kokcuk
    Никак не учился, уважал свое время и предпочитал зарабатывать :)
    Ответ написан
    Комментировать
  • Как запоминать хотя бы половину того, что читаешь?

    MercuryShine
    @MercuryShine
    1. Не пить кофе, алкоголь.
    2. Не курить траву, сигареты.
    3. Спать 7 часов 22:00 — 5:00.
    4. Заниматся спортом.
    Ответ написан
    Комментировать
  • Что должен знать Senior C++ Developer?

    afiskon
    @afiskon
    Советую найти работу — удаленную или на пол ставки. Студентов, готовых работать за 10-20к разбирают, как горячие пирожки. В связи с этим можешь сразу пойти на собеседование в 3-5 мест и найти наиболее интересное/удобное для тебя. Опыт и особые знания не нужны, главное — мозги.

    Только (очень важно!) советую сразу искать место, где будет интересно работать после получения диплома. А также, где имеет место командная работа (в смысле — настоящая, с документацией, svn и тп) и желательно — иногда говорят на английском. Если к этому всему прибавить высоконагруженные проекты — вообще супер. К окончанию института уже будешь иметь и знания и продакшн-опыт.

    Как программист C++, ты обязан хорошо разбираться в STL и Boost, отладочных средствах и API под платформу, под которую пишешь (UNIX/Windows), а также десятке кроссплатформеных библиотеках (Crypto++, cURLpp, Qt, wxWidgets, ...). Знание ассемблера не повредит. Ну и изучай процессы разработки, правила написания читабельного и легкого в сопровождении кода, UML, сети и тп.
    Ответ написан
    3 комментария