• Друзья с чего начать в python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    5ed88c91ba074853066089.jpeg
    Если что-то непонятно - лезешь в документацию или гугл.
    Ответ написан
    Комментировать
  • Реально ли работать на питоне не понимая сути декораторов?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    В общем пытаюсь учить питон и не могу никак понять суть декораторов.

    Всё зависит от того, насколько давно вы уже пытаетесь их понять и всё никак.
    Если покумекав пару минут уже отчаялись, то наверно программирование - не ваша стезя.
    Если прочитав пару статей не смогли разобраться, то, может быть, следует сделать еще одну попытку. Или вы считаете, что это прям рокет сайнс и раз уж с первого подхода не осилили, то это уж на всю жизнь теперь "работать без декораторов". Судьба.

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

    И нет, на декораторах свет клином не сошелся. Нужно понимать что в питоне функция - это объект первого рода и что это значит.
    Нужно понимать, что такое "замыкание" в контексте функционального программирования.
    Более того, нужно понимать что такое дескрипторы, как работают мета-классы и много-много всего такого.

    Нет, с этими знаниями не рождаются, их нужно осваивать.

    Декораторы - это очень простая концепция.
    Декоратор - это функция, которая принимает в качестве единственного аргумента какую-то функцию. Декоратор что-то делает с этой функцией (где-то регистрирует ее, документирует, оборачивает её вызов в другую функию) и возвращает её изменённую или другую функцию-обёртку.

    Что конкретно вам не понятно?

    Надо заметить, что Декоратор как паттерн проектирования имеет боле еширокий смысл. Декорировать можно объекты, классы, функции, даже модули (постольку, поскольку это тоже объекты). Учиться вам надо, сударь, и не ожидать, что всё прошьётся в мозг мгновенно. Быть программистом - это всегда учиться. Не останавливаясь.

    Примеров декораторов огромное множество: самые простые и понятные - это:
    - замер времени выполнения функции
    - кэширование результата
    - подстановка части аргументов (partial)
    Ответ написан
    4 комментария
  • Как реализовать оптимальную расстановку расписания занятий в уч. заведении?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Ну, это задача из теории расписаний - тема кандидатских и докторских диссертаций.

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

    php666
    @php666
    PHP-макака
    Слишком мало перспектив развития
    "(само)развитие" - это термин девочек из инстаграмм. Нет никакого абстрактного "развития". У человека либо есть четкие цели, либо нет. Вся суть работы - зарабатывание денег на кусок хлеба. Все остальное - розовые сопли. С чего ты решила, что именно программирование дает развитие, а не медицина?
    Рассказать тебе, как я, будучи программистом, порой приходя с работы в пятницу, испытываю лишь желание напиться до чертиков (что раньше активно и делал)? Ибо работа в этой сфере напоминает день сурка и весьма унылую жизнь, которая проходит за коробкой монитора 30х40. Я вижу одних и тех же людей, веду неподвижный образ жизни и решаю практически одни и те же задачи. От того, что я изучил новый фреймворк/технологию я не стал умнее, богаче или моя жизнь кардинально поменялась. Ткни пальцем, где в описанных моментах ты можешь увидеть "развитие"?

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

    и карьерного роста
    Карьера в айти - это максимум должность руководителя отдела/подразделения/управления. К общим задачам кодинга добавляется и еще и обязанность быть прослойкой между программистами и бизнесом. И это все после многих лет работы. Многие в виду профдеформации вообще этим не хотели бы заниматься, ибо у разработчиков такой тип личности - умышленное абстрагирование от лишних коммуникаций. Или ты метишь стать Цукербергом/Джопсом?

    Еще одним фактором является отсутствие даже теоретической или временной возможности удаленной работы.
    ЗАБУДЬ про удаленную работу. По факту её почти нет, её сложно найти.
    Что бы решать задачи сложнее и интереснее, чем удаленное написание мутных систем для мутных заказчиков (что эквивалентно в терминах медицины работе в должности медсестры в типовой коммерческой клинике) нужно работать в офисе. На дядю. По ТК РФ. Как все.
    Ни один серьезный бизнес не нанимает удаленщиков. Никогда. Сотрудники должны быть на местах, что бы тыкать друг-друга носом в монитор и быть частью работающей команды в зоне доступности рабочего графика и часового пояса. Нет никаких причин нанимать какого-то человека за 1000 верст, что бы чатиться с ним в чатике и обсуждать по вотсапу какие-то вопросы. Ни одной причины. Если есть какой-то абстрактный гений - он скорее переедет поближе к работе и также будет ходить на работу с 9 до 18.

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

    И еще Максим Федоров высказал очень правильную вещь. Что бы стать программистом не нужно дипломов и обучения в профильном ВУЗе. Соответственно, таких людей всегда будет значительно больше, чем врачей - людей, прошедших все круги обучения. Теперь подумай - а стоит ли нивелировать себя до уровня этих "простолюдинов"?
    Ответ написан
    25 комментариев
  • Как кластеризовать по схожести массивов?

    LazyTalent
    @LazyTalent
    Data Engineer, Freelancer
    Ответ написан
    Комментировать
  • Нужно ли гуглить если зашел в тупик в задаче?

    Jacen11
    @Jacen11
    Слышал что очень многие относятся к такому негативно, и говорят что нужно напрягать свои мозги без привлечения "информации" со стороны.

    что это за бред?

    вообще то залезть в гугл это первое что вы должны сделать. Собрать всю доступную информацию по проблеме и выбрать лучший вариант. Все хорошие программисты в первую очередь умеют хорошо искать информацию, в гугле, у коллег, в доках, вообще везде где возможно.
    Ответ написан
    3 комментария
  • Нужно ли гуглить если зашел в тупик в задаче?

    paran0id
    @paran0id
    Умный, но ленивый
    Слышал что очень многие относятся к такому негативно, и говорят что нужно напрягать свои мозги без привлечения "информации" со стороны.


    Под этим подразумевается, что полезнее читать документацию, чем how to от Васяна. Но гуглить не грешно, главное, понимать, как работает решение, которое вы нашли.
    Ответ написан
    Комментировать
  • Какой стек выбрать для начала карьеры?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Выбирайте то, что нравится. Если всё равно, выбирайте то, на что спрос выше на локальном ранке труда.
    Ответ написан
    Комментировать
  • Как понять книги Таненбаума?

    sarapinit
    @sarapinit
    Точу водой камень
    Есть книги которые читаются небыстро. Это не художественная литература и не книга про программированию где большой объем занимают листинги кода. Не нужно пытаться сильно быстро скакать вперед. Читайте столько страниц за раз, сколько можете осознать, незнакомые термины и концепции ищите в других источниках. Когда чувствуете перегруз — сделайте паузу и дайте мозгу переварить информацию, потом делайте еще подход. Я бы закладывал на чтение этой книги 4-6 месяцев, в зависимости от вашей начальной подготовки и количество свободного времени. Основной тезис у меня такой — мозг может понять определенное количество информации за раз, поэтому остается только ежедневное повторение посильных подходов к книге.
    Ответ написан
    Комментировать
  • Сколько времени ориентировочно занимает машинное обучение для решения тех или иных задач?

    GavriKos
    @GavriKos
    Для тех или иных задач на том или ином железе с применением тех или иных алгоритмов и с теми или иными параметрами обучение занимает то или иное время.
    Ответ написан
    Комментировать
  • Что не так с циклом For в Python?

    sanya84
    @sanya84
    Фанатик Python 3
    Вообще лучше так удалять дубли из списка
    def main():
        numbers = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
        numbers = [number for number in set(numbers)]
        print(numbers)
    
    if __name__ == '__main__':
        main()
    Ответ написан
    6 комментариев
  • Стоит ли покупать онлайн курсы?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Сугубо из своего учительского опыта.

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

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

    В общем все зависит от вас.
    Ответ написан
    2 комментария
  • Какой путь развития выбрать?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    стоит ли сразу переходить к изучению php?
    да.

    если помимо js добавиться php со своими фреймворками,
    никаких фреймворков, пока не выучите нативно!

    Или лучше освоить NodeJs + БД и начать учить sass,react,webpack и т.п, а уже после закрепления этих знаний переходить к PHP и CMS?
    а тут вообще "ни одного" фреймворка... :))
    Ответ написан
    Комментировать
  • Как подбирать курсовой проект для IT-учеников?

    Griboks
    @Griboks
    Надо дать возможность ученикам самостоятельно выбрать себе задание.
    Ответ написан
    Комментировать
  • Что использовать для обучения на питоне?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    чтобы сеть отличала подачу (как написаны тексты)

    Святая наивность!
    По такой четкой постановке грех не решить задачу одной строчкой вообще.
    Готовой библиотеки для "сравнения подачи текста (как написано)" вы не найдёте.

    Пробуйте посчитать суммарную статистику N-грамм для всех подходящих и неподходящих текстов. Возьмите топ этой статистики (m самых часто употребимых в корпусе размеченных текстов n-грамм), зафиксируйте сортировку n-грамм и формируйте m-мерные вектора для каждого текста.
    На получившихся векторах обучайте многослойную нейронку.
    Экспериментируйте со скрытыми слоями, с размером вектора m, размером обучающей выборки, чтобы избегать переобучения и получить достаточный коэффициент правильных ответов.

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

    А так у яндекса есть какой-то инструментарий.
    Вот еще https://www.nltk.org/
    Либу для нейронок на питоне вообще найти не проблема. Любую берите с которой проще освоиться.

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

    Консультируйтесь со специалистами. Всё на свете нейронками не закидаешь.
    Ответ написан
    4 комментария
  • Какие выбрать онлайн курсы по big data для учебы с околонулевого уровня?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Roadmap:
    1. Научиться гуглить - бесплатно.
    2.Изучить Python по roadmap github - бесплатно +\- если научитесь первому шагу.

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

    PS: я бы Вам посоветовал не грезить голубыми мечтами ворваться в Data Science с нуля, т.к обычно туда уже двигают мидловые питонисты с хорошим знанием математики.
    Ответ написан
    Комментировать
  • Альтернатива вузовскому диплому программиста?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    Альтернатива вузовскому диплому программиста?

    Отсутствует.

    смогу учиться только на зочке, так что качество образования будет так себе.

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

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

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

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    Программисту - да, нужна.
    Веб-формошлёпу - нет.
    Ответ написан
    8 комментариев
  • Как разрабатывать еще быстрее?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Посоветуйте методику разработки, которую используете вы.

    Делегирую часть задач. Как правило, это не сложные и рутинные задачи.
    Ответ написан
    1 комментарий
  • Как разрабатывать еще быстрее?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Без описания задачи невозможно дать ответ.
    Потому что он таки очень сильно зависит от типа задач.

    Судя по формулировке вопроса и принятому ответу, задача - boilerplate разработка по паттернам "фигак-фигак - и в продакшен" и "отдал заказчику и забыл". В этом случае использование конструктора сайтов действительно является адекватным ответом. Рекомендую проверенное временем решение - вордпресс.

    Если же задача состоит в работе над одним крупным проектом, включая в себя поддержку существующего функционала и добавление нового, то тут ответ банален - учить ООП и фреймворки, TDD. Они как раз и придуманы для того, чтобы сделать работу программиста "творческой", позволяя сосредоточиться на алгоритмах, а не технической реализации. И также позволяя вносить правки в существующий функционал минимальными усилиями. О чем некоторые комментаторы здесь не подозревают, искренне полагая что залогом производительности является скорость нажатия на клавиши crtl-c, ctrl-v
    Ответ написан
    4 комментария