• Как изучать математику для Data Mining, Machine Learning и тп?

    @lightcaster
    Начните с теории вероятности, попутно пройдетесь по комбинаторике. Потом статистика.
    Параллельно - заглядывайте в функциональный анализ и линейную алгебру.

    Можно сразу же начать читать что-то вроде Мерфи или Бишопа по машинному обучению, чтоб было веселей.

    ps если вы гурман, добавьте общую алгебру на десерт :).
    Ответ написан
    Комментировать
  • Как поступить, если скоро переезд в европу?

    Похоже, многие комментаторы пытаются лишить вас уверенности :) Правило 10 тыс часов, упомянуто ранее не совсем к месту, на мой взгляд. Действительно, чтобы стать мастером экстра-класса в любой области вам потребуется по версии Малкольма Гладуэлла, автора книги "Гении и аутсайдеры", около 10 тыс часов. И не просто 10 тыс часов (иначе все водители были бы "шумахерами"), а 10 тыс часов вдумчивой, преднамеренной практики с постоянным усложнением задач. Но вы же не ставите перед собой такую цель, как стать лучшим в мире программистом, так что все становится несколько проще.

    ***

    Я бы определился с тем, что интересно. Если хотите писать программы для iPhone, тогда учить придется язык Objective-C и фреймворки Apple. Подходящих книг немало. В iTunes U есть бесплатный курс Стенфордского университета по программированию для iPhone и iPad. Проработайте пару книг по Objective-C (например, "Objective-C. Программирование для iOS и MacOS"
    Арона Хайлгесса, "Программирование под iOS. Для профессионалов"
    Дж. Конвэй, А. Хиллегасс), затем приступите к этому курсу. Хотите писать приложения для Java? В Сети еще больше курсов, руководств и просто уроков.

    Хотите создавать веб-приложения? Начните с простого - выучите язык разметки текстов HTML и стилей CSS. Перейдите к языку программирования Javascript, изучите варианты применения библиотеки jQuery. Дальше, если не потеряете интерес, можно приступить к "серверной" части. Тут выбор огромен, широкое пространство для холивара :) Но, уверен, если будете знать Python, Ruby или PHP, без работы не останетесь. После Python, Ruby или PHP потребуется изучить работу с базами данных (тоже холиварная тема).

    ***

    Как вы уже, наверное, поняли, ограничиться изучением одного только языка не получится. Важнее научиться мыслить как программист. Когда такие навыки появляются, изучение нового языка — вопрос времени, порой пары недель.

    ***

    1 января стартует бесплатный онлайн-курс Гарвардского университета — CS50. Он интересен сразу по нескольким причинам:
    1. не предъявляет к учащимся никаких требований, кроме умения включать компьютер
    2. основан на настоящем гарвардском курсе
    3. Учит основам C, PHP, JavaScript, SQL и HTML с CSS.
    4. Очень крутой профессор :)

    Запишитесь, попробуйте. По итогам 13 недель у вас будет минимальный набор необходимых знаний. А потом можно пройти Harvard CS75 (Building Dynamic Websites - PHP, Ajax, высокие нагрузки + безопасность) и Harvard CS76 (создание мобильных приложений).

    ***

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

    @kazmiruk
    Ваш вопрос звучит примерно так: как ничего не делая начать зарабатывать миллионы?
    З\п в 100-120 тысяч доступна в основном мидлам (редко)\сеньорам. Т.е. наша цель - стать миддлом. Но есть одно но: миддлом никогда и никто не возьмет человека без опыта работы в реальных проектах. Тут все и рушится.
    Варианты: учить стек технологий, как только почувствовали в себе силы - увольняемся с работы менеджера и идем устраиваться программистом на джуниора (продолжая много учиться дома после работы). Через 6 месяцев старательной работы (очень старательной, а не просто на отвали) пытаемся устроиться на миддла (и все равно продолжаем учиться). Снова очень старательно работаем и через год пробуемся на сеньора. Данный вариант возможен, если Вы реально талантливый человек. Я никогда не видел сеньора с опытом работы в 1,5 года.
    А вообще Ваш вопрос меня немного обижает даже. Вы считаете, что программисты сильно не напрягаясь зарабатывают гору денег и при этом не привязаны к офису? Так-то каждый из нас годами учился и продолжает учиться до сих пор, чтобы угнаться за очень динамичным миром ИТ.
    Ответ написан
    6 комментариев
  • Может быть, еще не поздно изменить свою жизнь и заняться тем, чем всегда хотелось?

    @nerudo
    анекдот:
    встречаются в открытом море плывущие на встречу друг-другу паромы: Хайфа-Одесса и Одесса-Хайфа
    и пассажиры обОих крутят пальцем у виска,показывая на проплывающих...
    Ответ написан
    Комментировать
  • Какие выбрать очки для работы с компьютером?

    Anonym
    @Anonym
    Программирую немного )
    Есть такие. Покупал в оптике за 500р. Эффект есть, глаза меньше устают, цвет становится более теплым.
    Но не ждите какого-то волшебного эффекта. Глаза устают всё равно, хоть и медленнее. Плюс лично мне в очках неудобно (возможно оправа такая).
    Ответ написан
    Комментировать
  • Сложная жизненная ситуация у девушки, решившей стать программистом. Что делать?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Поддерживаю @Anonym, нас с братом отправили в СПб, а в семье нас четверо, первые два года помогали, потом сами стали зарабатывать. Сейчас понимаю, что зарабатывать могли начать с первого курса. Работы для студентов много, лишь бы не лениться. Это конечно если Вы способны поступить на бюджет. Если нет - то все разговоры пустые.
    И рекомендую в 16 лет не писать про то, что родители ничего не добились. У Вас по всей видимости есть интернет, компьютер и Вы, видимо, не голодны. А родители еще и настаивают на образовании, что тоже о многом говорит. Я свой первый компьютер увидел на втором курсе института, зарабатывал на него летом, и тем не менее, очень благодарен своим родителям.
    Ваши родители прошли через 90-е, а Вы их даже не застали. Так что попридержите свои выводы.
    Ответ написан
    7 комментариев
  • На каком web ресурсе лучше задавать вопросы касательно фундаментальных, естественных и технических наук?

    Boomburum
    @Boomburum
    Местный
    Вообще, за основу системы тегов Тостера был взят рубрикатор с Хабра - именно он и там и тут очерчивает (с некоторой погрешностью) направленность проектов. Так вот, хаб "Математика" на Хабре есть, а значит и тег "Математика" тут - думаю, никто не будет против обсудить возникаемые математические вопросы.

    Но вопросы "Pss парни, помогите решить систему уравнений, я на последней пересдаче на матане!" будут выпиливаться.
    Ответ написан
    Комментировать
  • Какой уровень знания математики нужен фронт-энд программисту?

    myrslok
    @myrslok
    Нельзя отрицать, что на практике куче народа с лихвой хватает знаний на уровне 8 класса очень средней школы.

    Я думаю, что разумный минимум примерно такой: немного мат. анализа, немного линейной алгебры (скажем, столько, сколько нужно для вывода формулы для чисел Фибоначчи), немного теории вероятностей и статистики (формула Байеса, ЦПТ), немного теории графов, немного комбиматорики, немного логики (типа как написать отрицание выражения с "и" и "или"). Это проходят на первом-втором курсе в технических вузах.
    Ответ написан
    Комментировать
  • Какие ачивки придумать для IT отдела?

    @artishok
    кратко
    Начальник дурак
    Ответ написан
    Комментировать
  • Какие ачивки придумать для IT отдела?

    coxx
    @coxx
    Спросите команду. Они будут играть, если это будет их игра.
    Ответ написан
    Комментировать
  • Есть ли списки базовых функций в Python?

    tsarevfs
    @tsarevfs
    C++ developer
    В питоне есть замечательные функции help и dir, дающие справку из консоли. А множество печатных шпаргалок можно найти по слову cheatsheet.
    Ответ написан
    Комментировать
  • Выбор книги по алгоритмам: Кормен или Скиена?

    Стоит Кормен 2012го, и два Седживика "Алгоритмы на Java" и "Алгоритмы на С++" - в принципе одинаковые. Кормена будет тоже "много" как и Кнута, начните с Седжвика. Скиена мне не понравился - довольно поверхностен, и русский перевод довольно хреновый. Вообще прежде чем читать Кнута нужно почитать его "Конкретную математику".
    Ответ написан
    Комментировать
  • Что можно реализовать на разных языках программирования? С++ Java Python на какие ОС?

    В первую очередь нужно научится "думать как программист"... но это все бредни)

    Если хотите реально чему-то научится то стоит начать с основ.
    Это Керниган Ритчи "Язык программирования Си".

    С++ не очень сложный язык. Он очень неоднозначный - одна задача может быть решена разными способами и у каждого из них будут свои недостатки. Тем более требует довольно специфических хаков против всяких там SFINAE и constant cast'ов.
    Особенно в последнее время стандартов С++ наплодилось...

    Учить С++ стоит, но до конца разобраться во всём будет очень сложно.
    По минимуму можно прочитать Герберта Шилдтa
    У него есть другие толковые книги по С# и Java - тоже можете глянуть.
    Ну и мне нравится Подбельский.

    С++ хорошо подходит для десктопных приложений.
    Тут можно почитать Макса Шлее Qt 4.8
    При этом особых сверхъестественных навыков С++ не нужно.
    Если хотите ити в "про" уровень - учите коллекцию библиоте boost.

    Java в последнее время очень хорошо себя зарекомендовала в вэбе.
    Хватит первого тома Core Java. Из фреймворков могу посоветовать Grails и Play2.

    Python / JS можно выучить на курсах Codecademy за 2-3 недели. Там же можно разгребсти html/css.

    Если хотите пойти в вэб...
    Желательно разобраться в haml sass compass stylus jade grunt bower yeoman bower angular библиотеках.

    Желательно разобраться с шаблонами проектирования, и почитать Мартина Фаулера.
    Есть ещё книги из серии Pragmatic Programmer самое интересное что у этого издательства нет ни одной плохой книги.

    Вообще по программированию и методологиям в целом стоит почитать совершенный код.
    Можно ещё почитать чистый код, и идеальную архитектуру.

    Для кроссплатформенных мобильных приложений можно разобраться с Air и Flex.
    Ответ написан
    Комментировать
  • Идеи для Javascript приложений

    madmages
    @madmages
    Человек прямоходящий
    я разбирался на практике используя chrome api. делал всякие расширения на хром, оч познавательно, так же потом сделал небольшой проект на vk api
    Ответ написан
    Комментировать
  • Технологий много - как найти время на все? Стоит ли дергаться, изучая параллельно несколько?

    CheshireCat
    @CheshireCat
    full-stack developer
    Приветствую,
    Мне тоже 24 и я по-прежнему хожу по тем же самым мукам. Постоянная тяга к новым знаниям заставляет пробовать новые технологии, так и не достигнув уровня гуру в уже пройденном. Начинал с Delphi и HTML/PHP. Сейчас активно обучаюсь iOS разработке (т.е. Objective-C) и хочу заняться геймдевом под мобильные платформы с помощью Unity3D, попутно изучая C# (который я начинал учить и забросил еще в 2004).
    Так вот, о чем это я?
    Правильный ответ на твой вопрос лежит в аналогии с девушками... можно любить разнообразие, постоянно перебирая себе подруг, пока не решишься жениться, чтобы познавать этого человека долгие годы.
    Любопытство - это хорошо, нужно быть в курсе современных технологий, не бояться пробовать их, но стоит влюбиться во что-то одно и копать его вглубь все дальше и дальше, чтобы была своя специфическая ниша, в который ты станешь специалистом.
    Я понимаю, что мой ответ просто зеркалит твой вопрос, но для меня самого эта тема открыта. И вряд ли кто-то даст 100% ответ что тебе нужно сделать. Стоит учитывать, что есть два типа людей - те, которые любят оттачивать свой навык в чем-то до предела, а другие просто по природе своей - универсалы и такие специалисты тоже востребованы.
    Ответ написан
    2 комментария
  • Что делать, если Google Play забанил разработчика?

    itspers
    @itspers
    Там когда банят, в письме написано "не пытайтесь зарегить новый акк разработчика", так что все честно работает
    Ответ написан
    3 комментария
  • В Python выдает ошибку UnicodeEncodeError

    KlonKaktusa
    @KlonKaktusa
    Можно просто переопределить built-in функцию : )
    import codecs
    def open(path, mode):
    	return codecs.open(path, mode, 'utf-8')


    Для парсинга обычно используют суп:
    www.crummy.com/software/BeautifulSoup/bs4/doc

    Файлы обычно открывают так:
    with open("filename", "w") as f:
      f.write(something)

    docs.python.org/3/tutorial/inputoutput.html#methods-of-file-objects
    Ответ написан
    1 комментарий
  • Изза чего проблема с русскими буквами в puthon 3.3?

    qmax
    @qmax
    программер
    Преобразование происходит из-за несоответствия кодировки stdout тому что вы туда пишете.
    Проверьте sys.stdout.encoding. Если там что-нибудь левое или вобще пусто, попробуйте установить кодировку насильно:
    import sys, codecs
    sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())


    Ну и скажите потом, как же это у вас так раскрячилось, что stdout так пишет.
    Ответ написан
    1 комментарий
  • Стоит ли первым языком (после школьного Pascal) выбирать node.js?

    ramntry
    @ramntry
    Я поддержу JS и Python.

    Первый, потому что благодаря node.js он позволяет программировать и фронтент, и бекенд - одним языком вы убьёте двух зайцев, быстрее сможете начать что-то делать для своего проекта. Возможно, даже трёх зайцев, так как некоторые NoSQL базы данных используют подмножество JS в качестве языка запросов, а NoSQL-подход в изучении попроще классического реляционного (в конце концов, вы автоматически получите представление о JSON, которому в большинстве случаев удаётся эффективно замещать значительно более тяжёлый XML).

    Второй, потому что он прост и очень много умеет, как в веб, так и в области автоматизации системного администрирования. Значит, в процессе его изучения вы сможете применять получаемые знания на практике, прямо на рабочем месте. Python вам подарит Django, который до поры до времени вообще скроет от вас премудрости работы с базами данных (благодаря ORM). Проще он потому, что имеет простую объектную модель, предлагает большой набор встроенных структур данных с хорошо продуманными интерфейсами (туториал на офф.сайте сразу вам скажет, что dict - ассоциативный массив, подробно расскажет, как им пользоваться. В JS можно умом двинуться, пока поймёшь, что Object и есть ассоциативный массив и как его в таком качестве эксплуатировать).

    Но JS для фронтенда всё равно придётся выучить.

    Ruby не стану советовать. Для вас Ruby в связке с Ruby on Rails будет тем же тандемом Python + Django, только 1) ощутимо более сложным для изучения 2) практически неприменимым на основном месте работы 3) перегруженным в смысле конкуренции на рынке труда не хуже PHP.

    Ко всему вышенаписанному прошу отнестись с разумной долей скептитизма, так как я не являюсь веб-разработчиком.

    А ещё есть такое предложение: может быть, вам лучше оглядеться на работе по сторонам, найти веб-разработчика в своей компании и по душам перетереть этот вопрос с ним? Так вы и больше узнаете, и источник ваш будет иметь надёжность, вам понятную (в отличие от анонимных товарищей из сети), и, в идеале, получите наставника.
    Ответ написан
    Комментировать
  • С какого языка начать изучать программирование?

    foxmuldercp
    @foxmuldercp
    Системный администратор, программист, фотограф
    Начать программировать можно и на shell/powershell, в зависимости от того, что у Вас за ОС - *nix или Windows.
    А вообще нормальная и самая логичная и правильная практика - выбирать средства для решения задач, а не использовать классическое решение по забиванию гвоздей микроскопом.

    Потому как средства выбираются в зависимости от того, под что Вы хотите программировать:
    микроконтроллеры вроде Atmega/Arduino или еще какие-то системы управления на тех же заводах - свои языки.

    Система управления заводами/фабриками и вообще производствами - обычно мега шикарный язык Scala с о всякими хитрыми контроллерами, датчиками, механизмами и прочими девайсами из производства/энергоснабжения, знание и разработка на котором и работа с АСУТП на каком-нить производстве или поставщике какого-то ресурса обычно дает очень хорошие зарплаты.

    Мобильные платформы - .Net, html, css, js, java, варианты С в зависимости от экосистемы.
    Веб платформы - тоже в общем html, css, js + та же Java/.Net в зависимости от того, на чём пишется back-end.
    Десктоп - тут все еще шире - почти все интерпретаторы и компиляторы есть под все популярные платформы, и писать на том же питоне или руби можно хоть под MacOS, хоть под Windows.
    Ответ написан
    Комментировать