Программирование, Путешествия, Покер

Последний пост:1 апреля
810
Статистика
Всего постов
3225
843,258 просмотров
Новых постов
+0
1 в день
Лучшие посты автора
27.09.2022 +233
21.12.2019 +196
22.02.2023 +169
04.01.2023 +166
13.07.2019 +154
Лучшие посты читателей
inpace +111
justpus7 +98
vsobakekot +88
Gtrdy +85
s4ekotilla +78
Самые активные читатели
1 3 4 5 6 25 162
  • strkk, То во что превратился javascript в последнее время страшно смотреть. А ведь как раньше было просто, скачал библиотеку, или воспользовался cdn вставил <script> на сайт и себе пользуешься на здоровье. Теперь же фронт-енд разработка начинается с установки node, дальше npm...зависимости и всё прочее. Что ещё хуже, что это всё сделано в манере командной строки, что само по себе является прошлым веком. Нововведения изменяют язык до не узнаваемости, в результате чего он начинает быть похожим на статически типизированные языке, однако с динамической типизацией. И тут на арену выходит Microsoft который создает typescript, который в чём то очень похож на c#. Да, на нём писать удобнее, но эта генерация, и ведь надо постоянно таскать исходники с сгенерированным кодом. Пишу сейчас на нём проект под ангулар2, который безусловно концептуально своего предшественника, однако, если вы просто откроете папку node_modules и пересчитаете кол-во файлов их выйдет гдето 30к. А это всё node с их зависимостями.
    Думаю это отражает всю печальность ситуации, при том что уже на подходе 2017.
    Мне становиться тошно, когда слышу, что на javascript хотят уже и микроконтроллеры программировать, разве мало провально революционной идей с сервером. Ну и может кто на хабр заглядывает, и тут ещё
    Сам стажируюсь, вернее на следующей неделе представлять проект. Но уже уверенности слишком много, тем более что фулл-стек разработчик нужен везде, не плохо так для второкурсника? :) Ах да, пишу на c#.
    Спасибо за интересный блог, подпишусь.
    1/4
    Ответить Цитировать
    1
  • Только сегодня увидел это)

    — Эй, я бы хотел научиться писать крутые веб-приложения. Слышал, у тебя есть опыт.

    — Да, я как раз занимаюсь фронтендом, юзаю пару тулз.

    — Круто. Я щас делаю простое приложение — обычный TODO-лист, используя HTML, CSS и JavaScript, и планирую заюзать JQuery. Это норм?

    — Не-не-не. Это олдскул. Джиквери мёртв — никто не использует его теперь! Тебе нужен React. Это будущее.

    — Окей, лады. А что это?

    — React это новый способ разработки веб-приложений. Оно базируется на Virtual DOM и позволяет писать JSX-код.

    — Virtual-что? JSX? Что это за..?

    — JSX — это HTML на стероидах. Это расширенная версия JavaScript, где вы смешиваете XML и JS в одном коде. VirtualDOM означает, что у тебя есть дерево объектов представляющих часть реального DOM, и оно дает возможность манипулировать им очень быстро без необходимости работать с DOM напрямую.

    — Зачем смешивать XML и JS?

    — Ну как зачем. Реакт это будущее. Он позволяет создавать переиспользуемые компоненты.

    — Типа как в Backbone, да?

    — Нет. Бэкбон мёртв. Щас теперь все будет на компонентах.

    — Ну так мне не нужно заморачиваться про JSX или VirtualDOM?

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

    — Окееей, я начинаю слегка теряться. Итак, у нас есть некая шняга для написания компонентов, называется React. Могу я использовать её с JQuery?

    — Ну, ты можешь написать одну часть приложения на React, а другую на чём захочешь. Но я ж говорю тебе — JQuery мёртв. Кстати, тебе стоит обратить внимание на Webpack, чтобы склеивать компоненты вместе при сборке.

    — ОК. Что это такое?

    — Это бандлер модулей. Ты пишешь кучу файлов, как если бы это были модули Node — и затем комбинируешь их в один монолитный файл (или разбитый на части) для отправки клиенту. Тебе даже не понадобятся react-tools, можешь обойтись одним Babel для компиляции JSX.

    — Babel?

    — Ага, Babel. Это клевая хрень, которая транспилирует твой ES6+/JSX код в читабельный ES5 код, с поддержкой sourcemaps. Это широко распространено, даже в Фейсбуке это используют.

    — ES6+?

    — ES6/ES2015 это следующая версия ECMAScript, там очень много новых фич, типа классов, стрелочных функций, Maps, Sets и так далее… Щас почти все юзают ES6+.

    — Это настолько хорошая вещь?

    — Спрашиваешь! ES6+ + транспиляция это будущее.

    — Ну ладно. Как мне это заюзать?

    — Начни с установки Node...

    — Установить Node? О, нет. Ты ведь говорил что-то про React и компоненты.

    — Ну да. Дальше ты берешь Flux архитектуру и начинаешь создавать actions, stores и компоненты.

    — Flux?

    — Во Flux ты выстраиваешь свое приложение как набор stores, actions и view, где данные «текут» в одном направлении. Views вызывают actions, они проходят через dispatcher, а stores подписываются на события dispatcher и выдают change events, на которые подписан view.

    — Ага. Как в MVC?

    — Нет. MVC мёртв. Flux это будущее. Сейчас очень много реализаций flux.

    — Что? Реализаций Flux?

    — Да, ведь Flux это просто паттерн. Зырь, Alt, Flummox, marty, fluxxor, fluxible, и т.п… И даже есть фейсбучная реализация Dispatcher.

    — Мне нужно это все использовать?

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

    — Ладно. Мне бы не хотелось писать эту жесть самому.

    — Я ж говорю, реализаций дофига.

    — А что насчёт Angular?

    — Фу.

    — Фу?

    — Фу.

    — Смотри. Мне реально не хочется возиться с установкой, настройкой и допиливанием чего-то сложного.

    — Ваще-то это легко. Существуют готовые киты/репозитории для новичков, или можешь заюзать генераторы Yeoman, которые сделают это за тебя.

    — Мне нужен генератор? Yeoman? Что это еще такое?

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

    — У меня будет только одно приложение, одна страничка, один компонент, одно что-угодно. Только одно.

    — Нет. Изучи комбинируемые компоненты. Это то, как мы делаем всё сейчас. Тебе нужно разбить всё на компоненты — по одному на каждую отдельную маленькую фигню.

    — Кажется, что это избыточно.

    — Это единственный способ добиться аккуратности, удобства и производительности. Ты сможешь использовать штуки вроде горячей перезагрузки (hot reload)...

    — Hot Reload? Типа как livereload?

    — Не. Webpack поддерживает эту замечательную фичу, она называется горячей перезагрузкой модулей, и есть плагин react-hot-loader для реакта, так что ты сможешь менять код отдельного компонента без перезагрузки всей страницы. А вместе с Flux ты сможешь делать ваще башнесрывные вещи типа прокрутки истории изменений в данных туда-обратно — одновременно с горячим редактированием кода.

    — Итак. Теперь у меня десятки различных инструментов и библиотек для упаковки, сборки, транспилирования и чего угодно. Еще что-то?

    — Как я уже говорил, Flux дает возможность выстраивать хорошую архитектуру приложений. Но с Observables и Immutable.js данными всё становится намного лучше и интереснее.

    — Observable? Мне нужен Immutable?

    — Тебе нужны observables чтобы удобно работать с событиями и асинхронностью, а Immutable.js нужен для персистентности, эффективности и простоты. Observables это типа как массивы, только асинхронные. Они возвращают значения с помощью async-генераторов из ES2016.

    — Что за async generator?

    — Ну смотри, обычный генератор дает возможность функции возвращать серию значений, а с модификатором async ты можешь возвращать значения в будущее. Правда, автор этого, Джафар Хусейн, уже отозвал свой proposal и работает с Кевином Смитом над более узкоспециализированным es-observable для ES7.

    — Кхм. Я просто хочу запустить простое приложение. Насколько же глубока кроличья нора?

    — Ну, ты можешь использовать RxJS, который ближе к оригинальным observable. Оно широко распространено и годится для продакшена.

    — RxJS? Чем же он полезен?

    — Работает с твоими уже написанными promises и событиями. Ты можешь создать Observable из любого асинхронного кода, и работать с ним как с обычным значением. Но вообще-то, если ты ищешь что-то по-настоящему реактивное и интересное, позырь фреймворк Cycle.js, разработанный Andre Staltz.

    — WTF. Мне всего лишь нужно написать и запустить простое приложение. Смогу я сделать уже это или нет?

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

    — Окей, «сегодня мы многое поняли». Спасибо за объяснения.

    — Отлично! Нет проблем.

    — Давай я повторю тогда, чтобы мы удостоверились, что я все правильно понял. Итак, мне нужно разбить код своего приложения на actions, stores и компоненты, выстроить однонаправленный dataflow, писать ES6+ код чтобы поиметь все последние языковые фичи, позволяющие мне писать чистый код, затем использовать Babel для транспиляции этого ES6+ кода в ES5 код, пригодный для всех браузеров, использовать webpack, чтобы склеить все части моего приложения, написанные как модули node в один файл, использовать ImmutableJS для представления моих данных и подключить RxJS для описания событий и других асинхронных функций.

    — Да. Разве это не восхитительно?

    — И, да, я еще кажется забыл про статику и минификацию.

    — Не проблема вообще. Webpack умеет импортировать их. Все что тебе нужно, это настроить несколько загрузчиков, плагинов — и вот уже почти и всё. Ты можешь импортировать CSS и картинки. Кстати, есть еще альтернативы CSS, которые позволяют описывать стили в JS...

    — Я возвращаюсь к JQuery.
    4/10
    Ответить Цитировать
    7
  • Для тех кто сравнивает фрилансерство и компанию. Я фрилансер, программирую на Java и PHP. Так вот толково программировать научат только в компании. Только там тебе объяснят что ты делаешь не так и почему. При этом надо попасть еще в хорошую компанию, ну или в хорошую команду. Фрилансером я стал тогда когда научился сам искать свои косяки и сам ставить себе задачи по улучшению качества кода и по улучшению процесса разработки. Для этого я 5 лет проработал в 3-х разных фирмах. Ну и не забывайте что для того чтобы быть фрилансером надо уметь договариваться с заказчиками, желательно забугорными.
    1/39
    Ответить Цитировать
    15
  • just_pro, мне кажется, что дело просто в отсутствии определенных стандартов и увлечении всякими новомодными штуками в ущерб надежности.
    В итоге какой-то зоопарк технологий, и они просто не могут все быть одинаково хороши.
    Вот мне интересно, есть ли такой набор технологий в JS для какого-то абстрактного приложения, глядя на который, можно сказать что это стандарт?
    39/1049
    Ответить Цитировать
    0
  • В прошлый раз я пытался популярно написать про кодировки, теперь расскажу о другой занятной штуке - обфускации.

    Обфускация

    Обфускация - это метод защиты софта на уровне исходного кода, который заключается в замене имен классов/переменных/методов и т.д. на другие, как правило, не особо читабельные символы.
    Зачем это нужно?
    Все дело в том, что в Java исполняемый файл содержит в себе инструкции в виде байт-кода, который является промежуточным звеном между исходным кодом и машинными инструкциями. Этот байт код можно преобразовать во вполне читабельный вид. Там отсутствуют комментарии и могут быть проведены определенные автоматические оптимизации, однако, при определенном опыте, восстановить исходный код программы и проанализировать его вполне реально.
    А следующий шаг после анализа и понимания - это модификация. Мы можем подменить исходный байт-код на свой собственный, прилепив туда каких-нибудь своих функций (к примеру, отправляем информацию на анализ боту или подменяем ее) или эксплуатируя найденную дыру в безопасности.

    Знаете ли вы, что клиент онгейма написан на Java? И ничего не мешает проделать с ним описанные выше операции.
    Так вот, при попытке импорта кода, выглядеть он будет как-то так:
    BgMzxgI.png


    В примере выше я взял геолокационный модуль, который не обфусцирован.
    А теперь можно сравнить с обфусцированным кодом, который я взял из того же онгеймовского клиента.
    Сможете понять, зачем нужен данный класс? :) Даже название проекта радует (подчеркнул красным)
    exQhN9e.jpg


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

    Такие дела.
    40/1049
    Ответить Цитировать
    8
  • strkk, Вопрос что подразумевается под безопасностью. Клиентский код который выполняется прямо в брузере ничем не защитить, то есть мы можем спокойно подменить код. Самой лучшей защитой в итоге остаётся серверная часть. А серверная часть JS это отдельная история, по которой я в принципе мало что могу сказать, так как пишем её на C#.
    Стандарта де-факто нету, потому на столько всё плачевно. Если раньше сайт выглядел jquery+bootstrap, то сейчас node+npm+(commonjs/broserify/webpack)+(observable/primise)+(es5?/es6?/es7?)+какой нибудь фреймворк. Причём сам это фреймворк разделён на кучу модулей, каждый который надо подключать по отдельности по мере необходимости.
    Ну и насчёт моднявости спорный вопрос. Почему стали использовать json вместо xml? Мода? Отчасти да, но ведь он действительно удобнее и экономичнее. Ну а дальше REST приложения, то же модно, ну а зачем тратить ресурсы пользователя на перезагрузку страницы, дай мы лучше отправим асинхронную заявку на сервер.
    Уследить в таком многообразии качественный продукт сложно. Идеологии программирования выносились всегда в отдельный язык, потому на свете их такое большое кол-во. В случае же с клиентской частью, аналога JS поддерживаемый браузерами просто нету, вернее есть но процент ничтожен и зависит мало того ещё и от браузера. В итоге получаем на выходе кучу библиотек с разными концепциями или же языки компилируемы в JS, наподобие typescript, coffeescript.
    2/4
    Ответить Цитировать
    1
  • Раз уж пошла тема про обучение. Я бы порекомендовал https://www.pluralsight.com/, да весь контент на нём платный, но ресурс действительно в себя впитал лучшие курсы от ведущих программистов. Прежде чём меня закидают камнями и мыслями, что программирование должно быть бесплатно, скажу что есть возможность получить бесплатную подписку на 3 месяца от visual studio. И для этого вроде бы вовсе не обязательно скачивать этого гиганта, достаточно зарегистрировать аккаунт на сайте майкрософта и дальше уже по ссылке в аккаунте перейти на сайт плуралсайт и открыть себе аккаунт там. Немного мороки, но поверьте полученным контентом вы останетесь довольны. Более подробное описание придёться нарыть в гугле, сам так же зарегистрировался примерно один месяц назад. Ну вообще начинающим программистам надо привыкать искать информацию, работа с гуглом неотъемлемая часть
    3/4
    Ответить Цитировать
    5
  • Здравствуй Андрей. Сегодня специально зарегестрировался здесь чтобы написать тебе. Тоже планирую в корне поменять профессию, хочу податься в программирование. Я не могу написать тебе в личку в течении 6 часов. Хотел посоветоваться.
    1/1
    Ответить Цитировать
    1
  • Цитата (just_pro @ 23.8.2016)
    Вопрос что подразумевается под безопасностью.

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

    --------

    Всю неделю не было толком времени для написания осмысленных текстов, так что откладываю это до воскресенья. Завтра собираемся съездить на день в Выборг, бывший финский город на территории Лен.области, почти на границе с Финляндией. Думаю, выложу сюда небольшой отчет.

    Еще могу порекомендовать оформлять итальянские шенгены - сегодня получил шенген на 3 года, что обошлось в 5.5к рублей.
    У них очень удобная политика - в случае, если были 3 любые шенгенские визы в паспорте, или две с одной итальянской - выдают на 3 года. По дефолту ставят на год или два.
    Также все очень быстро - подал документы в понедельник, в четверг виза была готова.
    Моя прошлая виза тоже была итальянской и была двухлетней.
    Собираемся в небольшое путешествие по северу Италии в начале октября.
    41/1049
    Ответить Цитировать
    8
  • Дайджест полезных ресурсов для изучения, часть 2.

    Первая часть

    Цитата (just_pro @ 23.8.2016)
    Я бы порекомендовал https://www.pluralsight.com/, да весь контент на нём платный, но ресурс действительно в себя впитал лучшие курсы от ведущих программистов. Прежде чём меня закидают камнями и мыслями, что программирование должно быть бесплатно, скажу что есть возможность получить бесплатную подписку на 3 месяца от visual studio. И для этого вроде бы вовсе не обязательно скачивать этого гиганта, достаточно зарегистрировать аккаунт на сайте майкрософта и дальше уже по ссылке в аккаунте перейти на сайт плуралсайт и открыть себе аккаунт там. Немного мороки, но поверьте полученным контентом вы останетесь довольны.


    Обучающий сайт.
    Цитата (MomchilUnak @ 20.8.2016)
    https://ru.hexlet.io


    Еще одни видеокурсы.
    Цитата (УзкийРусский @ 21.8.2016)
    https://www.youtube.com/user/pro100fox2/videos


    Видео по общим моментам программирования на русском. Если с английским дружим, то лучше смотреть английский вариант
    Цитата (kazkachi @ 22.8.2016)
    для людей, которые хотят с нуля обучится программированию вот очень хорошие видео http://javarush.ru/cs50.html


    Цитата
    Неделю назад наткнулся на книжку Хорстманна "Big Java Early Objects"
    http://maintracker.org/forum/viewtopic.php?t=5178033
    После того, как я начал ее читать, программирование заиграло новыми красками. Настолько все красочно расписано и проиллюстрировано и плюс есть тестовые задания, которые можно решать по ходу изучения и проверять на http://horstmann.com/codecheck/bj4cc.html.


    От себя -

    Недавно наткнулся на курсы какого-то финского университета. Есть теория и практические упражнения. Глубоко не вникал, но выглядит полезным.
    Ссылка

    Еще один сайт с подробными туториалами по различным темам. Не только по Java. Также можно скачать код примеров и поиграться самому.

    Сайт с примерами кода для различных задач.

    Очень полезный сайт для изучения различных веб-технологий (JS, html, css и т.д.) и серверных штук с примерами - w3schools. Базовые вещи даются, сам регулярно захожу туда когда нужна справочная информация.

    Много видео по Java на любой вкус.

    Продвинутые штуки из моего to-read листа -

    Всякие best practices разной степени полезности

    Большой лонгрид про JMM от А. Шипилева.

    Немного про JIT-компиляцию. И еще.

    Туториал по потрохам сервера Tomcat.

    Ну и главное - если где-то что-то непонятно, всегда можно найти альтернативный источник информации.
    42/1049
    Ответить Цитировать
    29
  • Уже спросили несколько раз на эту тему, поэтому перенесу еще один пост с прошлого блога, дополнив событиями с момента написания.

    Таймлайн моего обучения Java, с нуля до текущего момента.

    Стоит отметить, что реальные затраты по времени оценить сложно, т.к. все это было достаточно давно и обучение на каком-то этапе было немного бессистемным. Да и многие моменты успели забыться.

    Примерный таймлайн моего изучения джавы до поступления на работу:
    конец июля 2014 - начало августа 2014. Начало. Решил изучать язык, начал искать материалы, устанавливать IDE и гуглить курсы в питере.
    Старался каждый день смотреть хотя бы 1.5 часа видеокурсов, которые привел в посте про полезные ссылки для изучения. Одновременно пытался сам ручками попробовать то, о чем там рассказывали.

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

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

    ноябрь - уже достаточно уверенно мог написать что-то. Поискал тестовые задания по вакансии Java Junior, начал решать их. К концу месяца начал безуспешно рассылать резюме. Примерно в это же время мне в скайп написали с просьбой сделать рандомайзер, с чем я успешно справился. (посмотрел код, там стоит дата 05.11.2014), т.е. с начала обучения и до написания рандомайзера прошло 3 месяца.

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

    январь 2015 - пока находился в Мурманске, получил тестовое задание в джава-школу. Легко справился.
    Затем прошел собеседование в T-Systems и был зачислен в школу.
    Одновременно с этим в очередной раз разослал резюме - все тихо. Анализируя те события, думаю что рассылка резюме в то время была несвоевременной, поскольку из-за кризиса, курса доллара и нового года найм зеленых джуниоров не был в списке приоритетов у компаний :)

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

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

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

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

    февраль 2016 Сдал сертификацию на Java 7 Associate, начал плотно изучать JavaScript и неплотно Unix.

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

    июль Еще один левел-ап в зп и должности, начало проекта с обучением.

    To be continued...

    В целом могу сказать, что занимался я достаточно лениво до джава-школы. Если проводить аналогию с покером, то до школы я занимался обычной каткой со всеми вытекающими - катаешь когда тебе хочется, мотивации (помимо внутренней) нету, на обучение хочется подзабить.
    После поступления в школу все пошло иначе - начался "отмыть бонус суперновы до дедлайна" - Я стабильно сидел писал свой проект почти каждый день по 2-4 часа, иногда и больше. В итоге он оказался одним из лучших, что было приятно для ЧСВ.
    В целом, по прикидкам, около 500 часов вполне достаточно для уверенного прохождения интервью на позицию джуниор джава разработчика

    За год с небольшим работы очень сильно прокачался в плане личного скилла, взаимодействия с коллегами и, самое главное, отношения к задачам. Если раньше оно было из серии "Омг, я не знаю что это, впервые вижу такую технологию/фреймворк/подход.метод на 2 тысячи строк и т.д. ЧТО ДЕЛАТЬ ААААААА SOS", то сейчас это скорее "Какая-то неведомая херня, которая работает непонятно как? Какой-то старый убогий кривой код? Задача где из ее описания нихрена не понятно? Ну давайте сюда, разберемся и запилим все в лучшем виде"

    Буду рад, если кому-то эта информация будет полезна.
    43/1049
    Ответить Цитировать
    66
  • Действительно интересно, и интересно пишешь. Спасибо. А можно ещё? Что нибудь для начинающих что попросту время зря не терять. Что нибудь ещё полезного. Заранее ещё раз спасибо.
    1/1
    Ответить Цитировать
    1
  • Цитата (strkk @ 29.8.2016)
    Таймлайн моего обучения Java, с нуля до текущего момента.
    Буду рад, если кому-то эта информация будет полезна.


    Действительно, может быть кому-нибудь полезно, например, тому, кто начинает с нуля и вообще не понимает, когда может начаться хоть какая-то отдача..
    1/1
    Ответить Цитировать
    0
  • А что насчёт английского? В требованиях указывают необходимый уровень Itermediate(разговорный). По факту, кроме чтения документации, он где-то ещё нужен? Например при общении с коллегами, написании комментариев, javadoc и т.п.?
    2/3
    Ответить Цитировать
    2
  • Цитата (vsevo1od @ 30.8.2016)
    А что насчёт английского? В требованиях указывают необходимый уровень Itermediate(разговорный). По факту, кроме чтения документации, он где-то ещё нужен? Например при общении с коллегами, написании комментариев, javadoc и т.п.?

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

    Тема методов изучения английского избита просто до невозможности, поэтому советов никаких давать по этому поводу не буду.
    44/1049
    Ответить Цитировать
    9
  • Странно, что эта ссылка еще здесь не промелькнула. Гуглдок файл, которые заполнялся различными людьми на предмет информации по изучению Java, файл называется: Актуальные Java тренинги
    1/4
    Ответить Цитировать
    9
  • Привет еще раз)

    Хочу поделиться отличным переводом, на мой взгляд, очень отрезвляющей статьи для тех кто только собирается начинать:

    https://habrahabr.ru/company/hexlet/blog/251411/

    Заодно и в защиту хекслета - как раз этой статьей и зацепил меня, в отличие от всех сайтов/курсов которые дают какие-то гарантии.

    Кстати там есть пробные курсы и по основам программирования (за основу взят JS) - https://ru.hexlet.io/courses/free

    Но откровенно говоря тяжело определиться, в какую сторону грести - направлений по сути (поправь меня если я не прав) всего 4:

    1) фронтенд (PHP, JS и т.д.)
    2) бэкэенд (Java, C, C# и т.д.)
    3) базы данных (пока для меня темный лес)
    4) разработка мобильных приложений

    Поделись своим видением развития данных областей на ближайшее будущее (если что, я понимаю что на 5+ лет это просто не реально)))

    Отталкиваясь от таймлайна ТС и статьи ссылку на которую бросил выше, слабо представляю, каким образом за год что-то успеть сделать если при этом еще и играть.

    P.S. В моем случае еще печальней т.к. играю МТТ и времени/сил/желания после 7+ часов катки просто не остается.
    2/4
    Ответить Цитировать
    2
  • xx600, о, вот это вообще королевская ссылка - оба моих поста-портянки в одном документе :) Спасибо, сохранил себе в закладки.
    Приду домой - добавлю что-нибудь от себя еще, если там нету.
    Единственный недостаток - часть ссылок ориентирована только на Украину.
    45/1049
    Ответить Цитировать
    0
  • статья конечно огонь, как будто про себя читал)
    5/10
    Ответить Цитировать
    0
  • Цитата (MomchilUnak @ 1.9.2016)
    Хочу поделиться отличным переводом, на мой взгляд, очень отрезвляющей статьи для тех кто только собирается начинать:

    https://habrahabr.ru/company/hexlet/blog/251411/


    Рациональное зерно есть, однако волков бояться - в лес не ходить :)
    Кстати, сегодня на хабре появилась пара статей по теме.
    Различные курсы от мэйлру:
    https://habrahabr.ru/company/mailru/blog/230985/
    Про стажировки:
    https://habrahabr.ru/post/309044/

    Цитата (MomchilUnak @ 1.9.2016)
    1) фронтенд (PHP, JS и т.д.)
    2) бэкэенд (Java, C, C# и т.д.)
    3) базы данных (пока для меня темный лес)
    4) разработка мобильных приложений


    На мой взгляд, не стоит так сильно запариваться с выбором.
    Во-первых, никто не запрещает попробовать все перечисленное и остановиться на том, что приглянулось.
    Во-вторых, есть куда более весомые причины - наличие вакансий и востребованность в конкретном регионе, уровень зарплат, порог входа и т.д.
    Лично для меня выбор был простым - т.к. начинал я нуля, ни с одним из языков знаком не был, поэтому я посмотрел где больше платят и где есть джуниор вакансии у нас в СПб. Java так Java, затем втянулся и теперь очень доволен своим выбором.
    В-третьих, многие вещи взаимосвязаны и изучать, к примеру, базы данных и SQL придется с вероятностью около 100%. Тоже самое применимо и к основам фронтенда.
    Цитата (MomchilUnak @ 1.9.2016)
    Поделись своим видением развития данных областей на ближайшее будущее (если что, я понимаю что на 5+ лет это просто не реально)))

    Можно взглянуть на рейтинг языков программирования и делать выводы :)
    Разработка мобильных приложений сейчас очень актуальна и в ближайшее время уж точно не станет менее востребованной. Ну и фронтенд с джавскриптом (кстати, интересно ли вам, чем он отличается от джавы?) тоже никуда не денутся.
    Единственное, что не стоит бросаться на всякие новые-модные-молодежные языки/технологии типа всяких Go, TypeScript, ангуларов и т.п. - любая технология должна сперва устояться и не умереть в суровом ИТ-мире.
    Цитата (MomchilUnak @ 1.9.2016)
    слабо представляю, каким образом за год что-то успеть сделать если при этом еще и играть.

    Самое главное - система. Каждый день смотреть хотя бы по часу видео, без отмазок про лень, скуку и т.п. Это одновременно просто и ненапряжно, но и дико сложно.
    46/1049
    Ответить Цитировать
    6
1 3 4 5 6 25 162
1 человек читает эту тему (1 гость):
Зачем регистрироваться на GipsyTeam?
  • Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
  • Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
  • Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
  • На каждой странице будет видно, где появились новые посты и комментарии.
  • Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.