• Как учиться новому после рабочего дня?

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

    Через год начинайте ходить на собеседования. Вас пугают требования в описании вакансии? Когда я читаю требования на работе, где сейчас тружусь, то задаюсь вопросом "кто этот бред писал? и на хрена нам вот это все что там написано?". А все потому что пишут тексты HRы со слов "кого-то из отдела", сказанных несколько лет назад.
    В реальности по моим наблюдениям можем отказать довольно сильному разработчику потому что просто в данный момент вакансия не горит, а иногда, когда отдел завален работой, берем вполне себе средних, просто потому что срочно нужен. Аналогичная ситуация была и на предыдущей работе. Поэтому лично мое мнение - чтобы устроиться на работу надо обладать не только и не столько перечисленными в вакансии навыками, а скорее откликнуться в удачное время :) Ну и что-то знать конечно.

    И самое главное: два-три месяца работы в компании с более высоким уровнем разработки, чем у вас в данный момент, дадут вам больше, чем год бессонных ночей после работы. Поэтому не стоит пытаться сначала дорасти до определенного уровня, а потом устраиваться. Скорее всего не дорастете, только время потеряете. Изучайте базу и в бой!
    Ответ написан
    7 комментариев
  • Где пройти обучение Android разработке?

    GTRxShock
    @GTRxShock
    SA
    Подписался, в надежде увидеть что-нибудь интересное, но похоже придется самому поделиться ресурсами :)

    Русский быстрый старт по основам вы найдете в курсе Start Android
    startandroid.ru/ru/uroki.html
    https://www.youtube.com/playlist?list=PLyfVjOYzuju...

    Следом, довольно интересный материал есть у ребят из Devcolibri
    https://www.youtube.com/playlist?list=PLIU76b8Cjem...

    А если с английским не проблема, пройдите курс старого доброго Адама Портера :)
    https://www.coursera.org/learn/android-programming (там 2 части)

    p.s. Если еще что-то толковое вспомню - потом дополню)
    Ответ написан
    Комментировать
  • Как не засыпать при чтении?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Вы пытаетесь себя обмануть, говоря что эта книга (с большим количеством информации) вам интересна.

    На самом деле нет, не интересна. Может быть полезна, может быть развивает, но неинтересна.
    + банальная усталость.
    Ответ написан
    3 комментария
  • С каких пор появился фронтенд?

    @dmtrrr
    Backend developer
    В 2006 году появился AJAX, это сильно изменило мир фронтенда. Тогда и начался перелом.
    Ответ написан
    4 комментария
  • С каких пор появился фронтенд?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    По пунктам:
    Почему в университете стало популярней разрабатывать сайты, ежели учить C++ и писать "толстые" клиенты.
    Потому что скриптовые языки дают существенно бОльшую скорость разработки чем C++ что собственно является главным аргументом. Разработчики стоят дороже железа условно.
    С++ остается в каких-то узко-специфических задачах со сложной математикой где производительности скриптовых языков не хватает. Писать на C++ интерфейс не актуально года с 2000 пожалуй что.

    Когда произошла точка перелома, что "тонкие" клиенты теперь популярней и почему? Хотя ведь мобильные приложения, это ведь тоже "толстый" клиент

    И мобильное приложение, и фронт сайта - могут быть и тонким и толстым клиентом, зависит от конкретного проекта.
    Это всегда баланс между бизнес-хотелками и затратами.
    Толстый клиент - лучше отзывчивость интерфейса, можно вынести часть нагрузки на железо клиента, дороже поддерживать (дорогие ios/android/angular/... разработчики, специфические проблемы синхронизации данных).
    Тонкий клиент - все наоборот :)

    UPD Если трактовать вопрос в стиле "почему веб более популярен чем десктоп":
    1. Как показывает практика любой софт который физически крутится у пользователя можно взломать и получить бесплатно. Если софт не лежит на торентах - скорее всего он никому не нужен.
    2. Многие сервисы сейчас продаются по модели ежемесячной-ежегодной подписки - это даёт существенно лучшие экономические показатели чем продажа платных обновлений.
    3. Интернет становится все более доступным и по географии и по $, все более быстрым.

    Все это делает модель SAAS и её наследников весьма привлекательным.
    Я бы сказал так - сейчас нужны какие-то ОЧЕНЬ веские причины не использовать SAAS.
    Ответ написан
    13 комментариев
  • Как избавиться от привычки усложнять задачу?

    romy4
    @romy4
    Exception handler
    Этот процесс называется определение milestones. Вы сперва определяете MVP (minimal valuable product) — то есть тот уровень завершённости (без рюшечек и плюшек), при котором можно получать выгоду и дальше вы уже строите отталкиваясь от MVP
    Ответ написан
    Комментировать
  • Не убьёт ли WebAssembly node.js?

    AMar4enko
    @AMar4enko
    Как уже написали, WebAssembly это возможность использовать оптимизированный байткод для критичных к производительности участков. И, неожиданно, это может привести к еще большему распространению ноды, потому что в рамках реализации стандарта эту фичу запилят непосредственно в v8, откуда она мигрирует в ноду, что позволит использовать WebAssembly на сервере, местами заменив им node-gyp, который не всегда корректен в плане кроссплатформенности.
    Ответ написан
    1 комментарий
  • Как узнать свой уровень в кодинге?

    @kirill-93
    Это все в пределах конкретной компании ведь. Тимлид в конторке по разработке сайтов != тимлид большой международной компании. В целом примерно так:
    Джуниор не может сам полностью выполнять таски, ему нужны советы и контроль.
    Мидл может сам выполнять таски без контроля и советов, кроме исключительных случаев.
    Сеньор - тот, на ком все держится и к кому все обращаются.
    Тимлид может быть мидлом или даже джуном в другой компании.
    Что конкретно нужно знать вам никто не скажет, да и всего знать невозможно. Если речь идет именно о каких-то технологиях, то это не важно, важно уметь находить решения, а не знать их наизусть.
    И еще, лучше быть крутым джуниором/мидлом, чем хреновым тимлидом. Очень смешно смотреть, как человек с двумя годами опыта гордо рассказывает всем, что он тимлид. Этим любят пользоваться хитрые начальники, типа: "Давай ка мы тебя тимлидом называть будем, а ты поработай сверхурочно и по выходным, ты ведь теперь сеньор-помидор!", а молодежь ведется.
    Ответ написан
    3 комментария
  • Существует ли "карта программиста"? Что и за чем учить?

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

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

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

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

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

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

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

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

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

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

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

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

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

    В любом случае я за критерий истины держу платежеспособный спрос.
    Ответ написан
    3 комментария
  • Каков набор утилит для компьютерной помощи?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Уже доводилось отвечать здесь на подобный вопрос. Но раз он возник заново, повторю свой тогдашний ответ.
    Да, использовал когда-то Hiren's BootCD. Но вот уже несколько лет применяю сборку Multiboot, существующую в форме как LiveDVD, так и LiveUSB, и имеющую следующие фишки:
    1. Не один, а аж целых 4 разных WinPE - на базе WinXP, Serwer 2008, Win7 и Win8.1. Выбор - в стартовом меню grub4dos. Если на данном железе не заводится одна - пробуем вторую, какая-нибудь да заведётся!
    2. В каждую WinPE интегрирован пакет 2k10 из пары сотен утилит на все случаи жизни.
    3. Есть и внесистемные утилиты и тесты с доступом сразу из grub4dos.
    4. И наконец, на борту присутствуют чистые дистрибутивы Windows - XP, 7, 8.1. "Семерка" и "Восьмерка" - во всех вариантах (выбор при старте установки), всегда можно подобрать "родной" для данного аппарата, если ключ зашит в BIOS.
    Для компьютерной "скорой помощи" более чем достаточно!

    UPD. Обнаружил, что существует ещё более современная инструментально-восстановительная сборка LiveUSB - это Jinn'sLiveUSB x86/x64 UEFI [Ru] (текущая версия 5.2). В ней добавлена инструментальная сборка Линукс PE Parted Magic, новая версия пакета 2k10, содержащая вместо двухсот более 400 утилит, а дистрибутивы Windows дополнены Win10. Требуемый объём флэшки - 16 ГБ или более. К сожалению, запускается только через UEFI, на привычной MBR не работает. Всё это я выяснил из её описания, и поскольку на практике ещё не пробовал эту сборку, безошибочности этой информации не гарантирую.
    UPD2: Опробование сборки Jinn'sLiveUSB показало, что включённые в её состав дистрибутивы Винды - не чистые, автор сборки загрязнил их многочисленными добавками и активаторами.
    Ответ написан
    4 комментария
  • Каков набор утилит для компьютерной помощи?

    @nirvimel
    В изолированной системе энтропия не уменьшается - закон физики.
    Засранная система не станет чистой - закон Microsoft.

    Самый быстрый и правильный вариант:
    0. Забыть про всякие чистильщики, настройщики и прочую легальную вирусню, которую некоторые еще ставят себе добровольно.
    1. Сгрести все ценное на внешний диск (если под это не отведен специальный раздел, т.е. хард нарезан цельным куском).
    2. Отформатировать хард (заодно правильно нарезать, чтобы под ОС шел ОТДЕЛЬНЫЙ раздел).
    3. Поставить чистую ОС.
    4. Вернуть все ценности на место (неактуально, при наличии отдельных разделов под это и под ОС).
    5. Убрать админские права с юзера и запаролить админа - защита от 90% вирусни.
    6. Настроить инкрементальный бекап всего юзерского профиля - защита от оставшихся 10% вирусни.
    7. Поставить (анти)вирус, чтобы комп стал тормозить как раньше.
    Ответ написан
    6 комментариев
  • Что умеет настоящий senior/lead developer кроме знания какого-то языка и его фреймворков?

    Что умеет настоящий senior/lead developer кроме знания какого-то языка и его фреймворков?
    Что бы вы ни изучали, вы выйдете из вуза джуниором. Сеньорами становятся не выучив синтаксис 10 языков программирования, а сделав 10 крупных проектов. Как и на чём они сделаны не так важно, главное - это те уроки, которые разработчик с них вынес.

    Чему стоит научиться за первые курсы для того чтобы повысить свою "цену" как разработчика в будущем?
    Исходя из написанного выше: изучите "какой-то язык и его фреймворки" на высоком уровне, чтобы сразу при устройстве на работу начать приносить пользу и получать опыт реализации проектов, а не борьбы с компилятором java. Изучите свою IDE, используйте её эффективно. Ну и посматривайте в смежные области, чтобы расширять кругозор: графический дизайн, UX, другие парадигмы программирования.
    Ответ написан
    Комментировать
  • Чем отличаются нейронные сети?

    Luonic
    @Luonic
    Студент, Unity3d, DotNet, Xamarin
    Перцептрон позволяет подобрать примерно такую функцию, которая позволит классифицировать данные или предсказывать то, какими будут неизвестные признаки у данных, обучившись на данных, для которых искомые признаки уже известны.

    Сверточный слой в нейронной сети - просто слой, который позволяет уменьшить размерность карты признаков (признаки называтся features в англоязычной литературе и лекциях). Свертки не являются противоположностью глубоких нейронных сетей, глубокие нейронные сети - это просто нейронные сети с большим, по сравнению с перцептроном, количеством слоев, только и всего. Для классификации изображений используют в основном несколько основных типов слоев: сверточный (convolutional), max pooling, ReLU (Linear Rectifier Unit), и в качестве нескольких последних слоев, для проведения самой классификации, используют полносвязные слои, как в перцептроне, а количество выходов = количеству классов для классификации.

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

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

    Для работы с сетями существует несколько основных фреймворков, а это Caffe (пожалуй, самый распространенный), Torch, Theano, TensorFlow. И еще есть CNTK, он подкупает тем, что может работать на 4 gpu одновременно на одной машине. Но большинство из них работают с питоном, среди data scientist'ов для управления нейросетями больше распространены скриптовые языки, или матлаб.

    В качестве совета, как изучать эту непростую тему скажу следующее: не нужно тянуться к коду и практике, пока не будет достаточно четкого понимания в теории, как все работает. Каждое видео, каждую статью нужно разбирать до слова, чтобы разжевать все, что не понятно. Что-то не ясно, гуглим, читаем, осознаем, возвращаемся к статье. Рекомендую начать с видео лекций на ютубе, там проще понять принципы работы слоев, не загружая себя математикой, так как от математики толку не будет, пока не понятны основы.

    Вот несколько ссылок:
    scs.ryerson.ca/~aharley/vis/conv - отличная интерактивная демонстрация работы сверточной сети для распознавания цифр, обученная на наборе MNIST
    https://www.youtube.com/watch?v=2aF_yhVtlH0 - вот это отличный ролик для начала
    https://www.youtube.com/watch?v=VhmE_UXDOGs
    https://youtu.be/CLSy5WlaWKc - немного скучно, но позновательно
    https://www.youtube.com/watch?v=ByjaPdWXKJ4&index=... - суперинтересно и познавательно, но после осознания основ
    Ответ написан
    5 комментариев
  • С чего начать изучение нейронных сетей на python?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Keras, Teano, Tensorflow (посложнее и попроще одновременно)

    есть примеры - уроки, даже на русском

    нейронные сети нельзя изучить, не зная математики,
    но можно вполне успешно использовать
    Ответ написан
    3 комментария
  • С чего начать изучение нейронных сетей на python?

    MAKAPOH
    @MAKAPOH
    многостаночник
    На stepic.ru есть курс - Нейронные сети, попробуйте начть с него. Сам я его ещё не смотрел но судя по оглавлению практика там есть.
    Ответ написан
    3 комментария
  • С чего начать изучение нейронных сетей на python?

    @asd111
    Куча математики - так оно и есть. Машинное обучение по сути это большое количество матриц, векторов, производных и т.п., другими словами это больше математическая дисциплина чем дисциплина области компьютерных наук.
    Лекции Яндекса
    Примеры ski-kit
    Доки ski-kit
    Доки pybrain
    Книга machine learning in python
    Курсы edx
    Курсы Stanford university те же что и на coursera
    Курсы udacity
    Самая современная библиотека для machine learning от google -
    tensor flow
    Ответ написан
    1 комментарий
  • С чего начать изучение нейронных сетей на python?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Библиотека для практических задач: scikit-learn.org

    Но лучше все-же с теории начать, что бы понимать что к чему.

    Рекомендую coursera - machine learning: https://www.coursera.org/learn/machine-learning
    Ответ написан
    8 комментариев
  • Актуальная информация по GeekBrains?

    pm_wanderer
    @pm_wanderer
    junior-HTML
    Если прям совсем с нуля, то можно пройти. Хотя есть и бесплатные аналоги. Я прочитал почти все книги по css и html что выходили в 2015 году и пришел к выводу, что самые лучшие ресурсы для самообучения это mdn и whatwg.org. Иными словами - практически документация от тех, кто задает стандарты. Проблема всех курсов для новичков в том, что после них придется переучиваться заново скорее всего. Они стремятся быстрее ввести вас в курс дела не рассказывая о подводных камнях и давая лишь поверхностную информацию в "игровой" форме. Сужу по паре курсов, что проходил давно на codeacademy и еще каком то зарубежном сайте аналогичной направленности. Там все примерно одинаково - пишем элементарный код под диктовку (почему он работает именно так особо не обьясняют), зарабатываем ачивки и выкладываем их на фэйсбук. Я бы посоветовал просто на ютубе посмотреть несколько бесплатных видосов про самые основы, и если прям будет интересно, то начинать читать mdn, google webdeveloper и прочие серьезные сайты
    Ответ написан
    1 комментарий