• Имеет ли смысл начинать с Си?

    @balamut108
    Py
    Во всём мире начинают с Python. В принципе, Вы можете проигнорировать этот опыт и начать с Си.
    Ответ написан
    Комментировать
  • Как спрогнозировать следующую дату визита клиента?

    @nirvimel
    Хотелось бы чтобы методика игнорировала случаи когда и клиент уехал в отпуск или еще что то.

    Модель сможет предсказывать вероятность того, что клиент вернется после продолжительного отсутствия (уехал в отпуск) только если это клиент раньше уже возвращался после продолжительного отсутствия или если этот клиент отнесен в группу клиентов, для которых прежде было характерно подобное поведение.
    Ответ написан
    Комментировать
  • Есть аналоги Wordpress но попроще?

    Antonoff
    @Antonoff
    Разработчик
    Ответ написан
    Комментировать
  • Что такое select?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Представьте себе, что вы пишите web сервер. И к нашему серверу подключено 100 юзеров. И это, к примеру, чатик.

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

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

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

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

    Ну короч как-то так. Если вам хочется больше информации, не привязывайтесь к python, эта штука есть в любом языке программирования и работает одинаково. Так же помимо select есть еще poll и epoll.
    Ответ написан
    10 комментариев
  • Стажировка/летняя практика для айтишника?

    Aniriksiy
    @Aniriksiy
    Интересуюсь биржей и акциями
    Комментировать
  • Как в питоне работать с многомерными массивми?

    @KIN1991
    Python, PHP developer
    Многомерный какого рода?
    такого?
    D[key1][key2][key3]?
    Да и вообще переходя на Python c Php нужно забыть о том как вы все делали на Php
    Ответ написан
    Комментировать
  • Где лучше изучать машинное обучение и анализ данных?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    на русском, наверно, самый доходчивый вариант

    1490916316c.jpg
    Ответ написан
    4 комментария
  • Как распределить нагрузку?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Ответ написан
    Комментировать
  • Как вы освоили шаблоны проектирования?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Когда начался бум и восторг вокруг концепции паттернов проектирования, выкрики "GoF рулит!" и так далее, я озадачился тем, чтобы понять, что за шум?

    По своей сути - паттерны - это обычные шаблоны проектирования. Заимствовано у обычных архитекторов (те, которые зданиями занимаются). Суть проста. В работе архитектора есть задачи, которые удобно решать одним или несколькими проверенными способами.

    По аналогии в проектировании софта имееются свои архитектурные вопросы вроде разбиения приложения на компоненты/модули, организации зависимостей между ними, распределение функциональных обязанностей и т.п. Как ловко подметили авторы книжки из этой банды четырех (The "Gang of Four") в нашей индустрии можно также выделить некоторе количество типовых шаблонов, проверенных на практике, чтобы тем самым не наступать на уже обойденные другими грабли.

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

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

    К изучению паттернов я дам такие советы:

    1) Прочтите пару книжек, чтобы понять, что это за зверь и с чем его едят. Можно взять одну из вариаций книжки GoF или какие-то производные для вашего стека разработки - познакомиться с основными популярными шаблонами. Сразу после этого я посоветовал бы прочесть книжку "Горький вкус Java" (Брюс Тейт) - она про анти-паттерны. Это чтобы понять обратную сторону их использования. Мне понравилась и уберегла думаю от многих проблем. То что на примере Java - неважно. Речь идет о шаблонах, так что представителям других стеков (к которым отношусь и я) будет просто понять все равно.

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

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

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

    Я даже пожалуй посоветовал бы подойти к освоению айтишной архитектурной мудрости с другой стороны - со стороны нефункциональных требований или так называемых "-ilities" - их много. Тут вот описаны 7 штук. А вообще их десятки.

    Среди прочих - такие как maintainability (простая поддержка кода), scalability (масштабируемость), extensibility (расширяемость), availability (устойчивость ) и тп. Если, проектируя свое приложение, вы задумываетесь об этих "илитях" и стараетесь их обеспечить в необходимом проекту объеме, то, как правило, ваше приложение будет иметь отличную архитектуру. При этом шаблоны проектирования в ней появятся лаконично сами собой.

    Поскольку идея использовать шаблоны - это попытка опытных программных инженеров дать десяток готовых рецептов менее опытным, чтобы пока они не научились варить "вкусную кашу", они не варили уж что-то совсем несъедобное. :) Учитесь "готовить", разбирайтесь в -ilites :) и все будет хорошо
    Ответ написан
    6 комментариев
  • Почему выходит за пределы списка?

    sim3x
    @sim3x
    for item in result23[:10]:
        print(item)
    
    print(result23[:10])


    Не надо говнокодить в моем питоне
    Ответ написан
    1 комментарий
  • С чего начать когда Руководитель ИТ отдела уволился без отработки и дела не передал?

    Я бы начал с инвентаризации...глобальной инвентаризации
    1. Оборудование, рабочие места, серверная и т.д.
    2. Текущие открытые проекты и задачи (если нет какого либо специального ПО-надо развернуть что нибудь бесплатное, сам использую руководитель)
    3. Связь - провайдеры, договора, счета и т.д.
    4. Взаимодействие с клиентами и смежными подразделениями
    5. Список открытых вопросов - разослать всем кто к ним причастен, клиентам, менеджерам, руководителям других подразделений

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

    как то так на мой взгляд.
    Ответ написан
    Комментировать
  • Стоит ли расселить ПМ и разработчиков?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    А вы, простите, кем работаете, раз вопросы такие задаёте? Точнее "а вы вообще работаете?".

    Само собой, людям лучше работать в тишине без отвлекающих факторов. Тем более в профессиях творческих. В идеальном случае вообще 1 кабинет = 1 команда.
    Ответ написан
    Комментировать
  • PyCharm c root привилегиями?

    @AVKor
    М-да.

    Оба участника - один делает странное, другой хочет не менее странного.
    Ответ написан
    Комментировать
  • Какие есть бесплатные сертификаты Python?

    Atanvar
    @Atanvar
    Frontend developer
    а зачем они нужны? Никто на приёме на работу у вас их не спросит.
    Ответ написан
  • Хороший IDE для Python на Mac OS X?

    ali_aliev
    @ali_aliev
    Разработчик на Django/Python, JavaScript
    Лично я пользуюсь вимом, больше никуда не хочется. За все это время испробовал практически все, Sublime, PyCharm, Atom, TextMate, PyDev, но все равно возвращался в свой любимый редактор. Попробуйте связку vim + jedi-vim, уверен не пожалеете. К тому же он очень активно развивается.
    Ответ написан
    4 комментария
  • Почему в школах до сих пор преподают Pascal а не Python?

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

    Прост в освоении, прост сам со себе и абсолютно со своими задачами справляется.
    Ответ написан
    1 комментарий
  • Как оставить Django включенным?

    un1t
    @un1t
    Есть разные варианты деплоя, можно конечно закостылить через nohup или supervisor/django-supervisor, чтобы дев сервер работал. Но нормальный вариант для прода это связка uwsgi + nginx, либо gunicorn + nginx.
    Чтобы заставить работать при закрытии консольки и на 80 порту, самый простой и костыльный вариант такой
    nohup ./manage.py runserver 0:80 &
    Ответ написан
    1 комментарий
  • Работа в IT без образования?

    opium
    @opium
    Просто люблю качественно работать
    Да тут в кого не плюнь попадешь в человека без вышки.
    Ответ написан
    2 комментария
  • Как улучшить производительность скрипта python?

    kivsiak
    @kivsiak
    software engineer
    Ответ написан
    Комментировать