• Есть ли возможность дать мне небольшую задачу реального проекта?

    Идите в любой опенсорсный проект на Java, который вам по вкусу. В https://bugs.eclipse.org/bugs/ , например, тысячи открытых багов. Выбирайте любой, пытайтесь исправить и шлите пулл-реквесты. Есть довольно простые штуки, до которых просто ни у кого руки не дошли. Даже просто разобравшись в инфраструктуре большого проекта, вы получите ценнейший опыт, да и в резюме будет что написать. Если Eclipse пугает своим размером, есть много проектов попроще. Можно повыбирать, например, на mvnrepository.com . Конкретную задачу сложно посоветовать, не зная ваш уровень и интересы. Может, вы алгоритмы любите, может, интерфейс рисовать, может, графику, может, с базами данных поковыряться.
    Ответ написан
    1 комментарий
  • Как всё успевать и не быть роботом?

    viktorvsk
    @viktorvsk
    - Ничего не нужно, никто никому ничего не должен
    - Работать нужно не минимум 8 часов, а то и больше, - а эффективнее (комплексное понятие)
    - Жить нужно комфортно (так же комплексное понятие, для разных людей включает разные аспекты: кому зарядка с утра, спорт, здоровое питание, кому - красноглазенье по ночам, утро в обед, пиво перед компом...)
    - Саморазвитие - это хорошо, но это так же строго индивидуально - кому книги, кому видео уроки, кому фильмы, кому хобби - если вы связываете вашу работу с интеллектуальной деятельностью, это значит, что вам нужно развивать интеллектуальные способности, а не способности в вашей предметной области. Книжки читать, как не крути - тоже сугубо индивидуально по эффективности. Разве что художественную литературу, на мой взгляд, не помешает читать людям всех профессий.
    - Планы - это неотъемлемая часть жизни. Настолько же неотъемлемая, как и неспособность их соблюдать. Нет, вы не зря составили все эти списки со спортом, здоровой едой, сном и работой по 8 часов и т.д.. И да, у вас не получится соблюсти все пункты. Эти 2 факта нужно принять, осознать и не сдаваться.
    Ответ написан
    24 комментария
  • Что должен уметь веб-программист?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Так что назревает вопрос. Должен ли тру веб-программист, бэк-эндщик (PHP, ASP.NET, Node.js - неважно) уметь следующее:

    1. Компилировать исходный код пакетов - например, Апача того же. Честно признаюсь - 10 лет за компом, а что с исходниками делать - не знаю. Может быть стоит научиться?
    2. Поднимать сервер MySQL, Apache, nginx, настраивать их, ставить модули.
    3. Уметь ставить и работать под ОС Linux. Сам всё еще сижу на винде, так как в принципе работать пока можно, а на изучение Unix уйдут не одни сутки.

    нет. это работа для системного администратора.
    на продакшене вам никто ничего делать не позволит делать самому.
    Ответ написан
    4 комментария
  • Как лучше начать изучать (и что) разработку для мобильных платформ (Android)?

    zagayevskiy
    @zagayevskiy Куратор тега Android
    Android developer at Yandex
    Язык - Java. Не ведись на всякие кроссплатформенный штуки типа Titanium, Phonegap, Xamarin.
    Хороший курс от Google, на udacity: https://www.udacity.com/course/ud853
    Понятный английский, начинают с азов, декларируют, что некоторого опыта в ООП(в то числе питон) будет достаточно. Заставляют искать ответы на вопросы самостоятельно.

    Параллельно изучай Java, смотри непонятные конструкции.
    Ответ написан
    Комментировать
  • Как засунуть n - мерный массив в аргумент функции?

    Как-то так:

    int function(int [2][3][4][5]); // возможно не все размерности нужно указывать, точно не помню
    или
    int function(int ******); // количество звёздочек определяет цену коньяка количество измерений массива

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    но компилятор не проглатывает.

    хихи

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

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Знать не нужно почти ничего - только формулу n-го члена и суммы арифметической прогрессии.
    В этой задаче всё выражается через новый член, добавленный математиком (пусть это -b), количество членов, бывших до того (n) и шаг прогрессии d (натуральное число).
    Слегка поигравшись с формулами, получаете, что изменение разности D=n*b*(2*b+(n+1)*d). Несложно убедиться, что должно быть b>0. Всё, что вам нужно - подобрать натуральные b,d,n, чтобы условие выполнялось.
    Ответы:
    1) -5,-4,-3 (добавлено -2)
    2) не бывает: нужно, чтобы b*(2*b+13*d)=120, т.е. 120/b-2*b было положительным и делилось на 13. Понятно, что b должно быть меньше 8 и быть делителем 120. Перебирая возможные значения (это все числа от 1 до 6), получаем, что решений нет.
    3) n=15, прогрессия -19,-18,...,-5 (добавлено -4).
    В последнем случае перебираете возможные значения b*d (чем оно меньше, тем больше возможно n). Оказывается, что при b*d=1,2,3 решений нет, а при b*d=4 - есть.
    UPD. Выше сказали про "олимпиадные задачки" - боюсь, что это правда. Для олимпиадных задачек особых знаний не нужно - но нужна система знаний, чтобы быстро найти верный путь в лабиринте возможных подходов.
    Ответ написан
    Комментировать
  • В задаче сказано: "возрастающая конечная арифметические прогрессия из различных целых отрицательных целых чисел" - что это должно сказать решающему?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Баллы в ЕГЭ измеряются сначала в одних "попугаях" (первичный балл), а затем переводятся в другие попугаи (тестовый балл).
    Шкала перевода каждый год меняется. В 2014 была такая.
    Сколько первичных попугаев стоит какое задание скорее всего написано в самих КИМ.

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

    @GiperScriper
    Задачи можно придумать себе самому, вот вам реальный пример, реализуйте API , каталог книг, который будет отвечать на основные запросы (GET, POST, PUT, DELETE). уже основываясь от задачи будете углубляться в технологии.
    Ответ написан
    2 комментария
  • Java, куда именно податься?

    AlPsc
    @AlPsc
    Java/high load/big data
    Во-первых, не забудьте после Шилдта прочесть книгу Джошуа Блоха "Effective Java" (в одном из соседних вопросов упоминается её русский перевод, так что он, видимо, существует) – по моему скромному мнению, это обязательное чтиво для любого Java-программиста.
    Во-вторых, если уж выбирать между Android и чем-то ещё, то надо понимать плюсы и минусы обоих путей. Напишу то, что пришло мне в голову, на полноту и истину в последней инстанции не претендую.

    Android:
    Плюсы:
    • Работы много. Очень. В том числе и удалённой.
    • Получить начальные навыки довольно легко – сейчас есть огромное количество статей, пошаговых руководств и прочих материалов, которые как позволяют учиться новому, так и быстро решать типовые задачи/проблемы.

    Минусы:
    • С точки зрения изучения Java эта среда довольно специфическая. Во-первых, используется довольно старый диалект (Java 6). (В комментариях справедливо поправили, что сейчас на Android доступна Java 7.) Во-вторых, набор библиотечных классов несколько отличается от Java SE, и это значит, что при необходимости писать приложения на "настоящей" Java просто взять и переключиться по щелчку пальцев не получится, а какая-то часть "мобильных" навыков и практик окажется бесполезной.
    • Хорошо программировать на Java значит не только знать язык, но и уметь выбирать прочие инструменты (дополнительные библиотеки и т.п.), которыми, конечно, тоже надо уметь пользоваться. В этом смысле Android тоже довольно далёк от того, к чему привыкли разработчики Java SE/EE: всякие вещи типа JDBC/Hibernate/you-name-it на Android либо отсутствуют в принципе, либо не могут быть использованы из-за ограничений среды (тот же нестандартный набор библиотечных классов). Это опять же означает, что, научившись писать на Java под Android, вы не сможете просто взять и начать разрабатывать, скажем, enterprise/backend приложения, и конкуренцию в этой области с кандидатами, у которых есть соответствующий опыт, выдержать вряд ли сможете. (Я бы ничего этого не писал, но у вопроса есть метка "карьера", так что вы сами напросились :) )
    • Большая часть компаний, занятых мобильной разработкой – сервисные, со всеми вытекающими. Лично для меня это минус, т.к. мне продуктовые компании больше по вкусу.
    Java SE/EE
    Плюсы:
    • Работы много. Очень. В том числе и удалённой.
    • Более широкие возможности применения своих навыков

    Минусы:
    • Более высокий порог вхождения
    • Несколько сложнее наработать портфолио, потому что жизненный цикл "больших" приложений зачастую всё же гораздо длиннее, чем в случае мобильной разработки, где очень большую часть работы составляют проекты для сторонних заказчиков, где изначально задана конкретная конечная цель, сразу оговариваются сроки, и т.п. (Сужу по собственному опыту работы в компании, которая занималась как раз разработкой мобильных приложений для заморских заказчиков.) Конечно, в случае с удалённой работой/сервисными компаниями это может оказаться правдой для приложений любых типов.

    Итак, выбирая Android, вы раньше сможете начать зарабатывать деньги, но "чистая" Java, на мой взгляд, даёт больше перспектив. И по сути Android-программист и Java-программист – совсем не одно и то же. Так что выбор профессионального пути зависит от того, как вы вообще видите себя в ближайшем будущем в этой профессии: хотите ли вы быстро освоиться и получить способ зарабатывать деньги, не сильно задумываясь о смене деятельности в перспективе, либо же вам интересны разные области программирования, и вам хочется многое попробовать.
    Ответ написан
    4 комментария
  • Путь в быдлокодеры или как стать программистом с 0?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1) Я упорно отказываюсь называть верстальщиков - программистами.
    На 90% это тупая низкооплачиваемая работа, никакого отношения к программированию не имеющая
    Исключения есть, но не много.
    Для того что бы стать web backend программистом - знания верстки нужны самые минимальные (читай - не нужны вообще, но в процессе все равно появятся), зато нужно например sql которого в вашем списке нет почему то.

    2) Если хочется денег и нет отвращения к дресс-коду - можно пойти в java разработчики.
    По деньгам выиграете заметно, но это в 99% enterprise со всеми вытекающими.

    3) Если хочется денег и свободы - можно пойти в разработчики ios/andoid на выбор.
    Самый правильный вариант если с нуля выбирать профессию.
    Кадровый голод в сфере дикий, в dc берут с 0ми знаниями на неплохие деньги.

    Imho самый правильный вариант для Вас - второй или третий.
    Становиться верстальщиком сейчас - явно не самая хорошая идея.

    UPD
    PolzuizYami: Что за enterprise и что за вытекающие? )
    Какой порог входа для разработчика под мобилки и через сколько я смогу показать результат и что то за это начать получать ? Почему вы не любите fronted? ) И почему становится fronted'ом не лучшая затея(на верстке я как бы не собирался останавливаться, но это основа основ для fronted'a)?

    Enterprise - работа или в крупной компании или в аутсорсере который работает на крупную не IT компанию. Вытекает из этого определенный уровень бюрократии, чинопочитания, формализма, дресскода и прочего, что в какой то мере компенсируется кешем и стабильностью™.
    Опять же не всюду, но очень много где.

    Порог входа для мобильной разработки сейчас достаточно низкий, 0-1-2 месяца самостоятельной практики и можно идти на вакансию junior, в dc платят 40-50 на старте, за год-два можно выйти на 150-250+ с учетом фриланса.

    По поводу фронтенда:
    Сразу небольшой дисклеймер:
    a) не хочу никого обидеть, пишу исходя из личного опыта. b) это справедливо не для всех проектов.

    Итак:
    1) В отличии от backend - сложность и объем задач по frontend не зависит от размера аудитории проекта.
    2) В отличии от backend - работы по frontend выполняются быстро и в отсутствии требований по изменениям - доработкам не подвергаются.
    3) В отличии от backend - текущая работа по frontend сильно менее связана с прошлыми этапами работы, либо погружение в проект требует не много времени (не всегда, но часто)
    4) Следствие из 1, 2, 3: Для запуска развития среднестатистического проекта нужны backend разработчики в команду (штат/длительный аутсорс) и не нужны frontend разработчики в команду (проще и дешевле брать фрилансеров под конкретные задачи)
    5) Вывод: Путь верстальщика это в 90% либо короткая дешевая работа на фрилансе, либо работа в штате по поддержке постоянных маркетинговых хотелок (подвиньте банер на 20px в бок, итд), либо в очень редких случаях - действительно сложные, нагруженные с точки зрения frontend проекты.
    Почему в редких случаях? Потому что таких проектов очень мало :) (и кстати многие из них - enterprise)

    UPD-2
    По поводу мобильной разработки:
    Куда пойдет mobile dev через 5 лет - предсказать сложно. На мой взгляд основная масса проектов сейчас достаточно простая и для успешной реализации требует монотонной аккуратной работы (70-80% времени это собирание верстки и анимаций, подключения к внешним апи). Адские зарплаты сейчас обусловлены дикой нехваткой людей. Но есть мнение что пик уже прошел.
    С другой стороны появляются новые мобильные платформы - и разработчики нужны уже под них) Непрерывный процесс саморазвития как он есть)

    UPD-3
    Собственно, почему Веб ,а не мобильная или Java. Ориентировался чисто по вакансиям своего города, к сожалению живу не в DC и да же не в DC2, а наверно DC 666 (Владивосток).
    Вся прелесть бытия IT специалистом - в нашей широкой востребованности. Не нужно ориентироваться на свой город, да и на DC по большому счету не стоит. Перед тобой вся планета.
    да и маме сайт сделаю
    ппц мотивация для выбора жизненного пути.
    Ну а про потолок верстальщика - я расписал ниже.
    Ответ написан
    28 комментариев
  • Можно за три месяца чистого времени подготовиться к java junior?

    @suslik2015
    Можно. Около 2 месяцев мне потребовалось, чтобы перейти с низкоуровней сишечки (работал с сетевым оборудованием в Дэлинк) на Java EE. Java вообще сам по себе очень простой язык. Тысячи индусов подтверждают).
    Как изучать:
    1. Главное писать код. Нужно "привыкнуть" к коду. Иногда отлаживаешь чужой код и взгляд сам выцепляет ошибки. Я не знаю как это работает. Практика и еще раз практика.
    Так, что идите на стартандройд.ру, но не тупо повторяйте уроки, а вносите изменения.
    2. Джавараши, образовательные центры очень полезны... их создателям и учителям. Нам пользы от них - только самооценку помогут повысить. Но законченная, пусть даже элементарная собственная программа, повышает ее гораздо лучше.
    3. Читайте книги. Но любая глава должна быть закреплена практикой. По джаве - Хорстманн и Корнелл, если с инглишем гуд - Эккель. По андройду - Рето Майер. Если совсем бегиннер - Head First.
    4. Нужно понимать ООП. Понимаешь ООП - знаешь java. Java - ООП в чистом виде.
    Знать алгоритмы и контейнеры. Читаешь википедию (английскую), либо любую книгу по алгоритмам (чем тоньше, тем лучше) - реализуешь бинарный поиск, сортировку пузырком)), быструю сортировку, список (односвязный, двухсвязный), хеш таблицу, бинарное дерево, красно-черное дерево. Затем находишь аналоги в стандартной библиотеке и используешь их).
    5. Ну и самое главное - гугл, javatalks.ru, java2s.com. На все ваши вопросы уже есть ответы.
    Ответ написан
    1 комментарий
  • Какие ЯП будут более востребованными через 10-15 лет?

    mrRontgen
    @mrRontgen
    Scala lover.
    Изучай алгоритмы и структуры данных. Они будут жить вечно! А когда понадобиться, то применишь эти знания на любом ЯП (возможно даже на новом), и цены тебе не будет!
    Ответ написан
    Комментировать