Задать вопрос
  • Как изучить Python после C++?

    aRegius
    @aRegius
    Python Enthusiast
    Nexeon, я тоже хотел бы помочь вам с рекомендацией. Одно но... Я, в силу своей природы, лучше всего воспринимаю материал в виде книг (печать либо pdf). Ни видеокурсы, ни онлайн tutorial (скомпанованные в виде справочной информации, в коем ключе я их и использую) мне не "идут". Поэтому, ни первого, ни второго я посоветовать не могу, ибо не знаю/не пользовался (справочный характер использования официального Python-tutorial не в счет).

    Но по книгам подскажу:

    1. Для быстрого "погружения" - Think Python (2-издание 2016 год)
    2. Для основательного - Learning Python (5-издание 2013 год)

    P.S. В скобках я специально пометил издание/год. На это нужно всегда обращать внимание, поскольку книга может переиздаваться и, логично, выбирать стоит более свежую версию. Первая книга на русский не переведена, вторая - переведено издание 2009 года.
    Конечно, лучше читайте в оригинале. Обе, погуглите, были в открытом доступе.

    P.S. Информация для всех: недавно вышла отличная книга Fluent Python (2015 год). (Nexeon, с нее, думаю, начинать не стоит). Так вот, я-то начал ее читать сразу в оригинале, потом, узнав, что вышел русскоязычный перевод (что большая редкость для такой оперативности), я, любопытства ради, пролистал... Мне настолько нечего сказать по этому поводу, что просто в тысячный раз отмечу уже избитую истину - английский, это наше всё. Кстати, для сравнения, и справедливости ради, Learning Python ("Изучаем Python") 2009 года переведен отлично.
    Ответ написан
    2 комментария
  • Какую версию Python изучать в конце 2015 года?

    @zedxxx
    В первую очередь, вы должны знать Python 2, потому как на нём написано много легаси кода и множество полезных библиотек, без которых, вы возможно не сможете обойтись. К тому же, он до сих пор популярнее третьей версии. Да, есть тенденция к мигрированию на третий питон и новые проекты стоит начинать на нём, но только в том случае, если вы уверены, что библиотеки, которые вы собираетесь использовать, уже портированы на него. В каких-то специфичных случаях вы можете не найти нужных вам библиотек под третий питон, так что жизнь заставит использовать второй.

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

    @nirvimel
    Профессионал должен хорошо знать и 2 и 3, их особенности и различия. Иначе можно надолго залипнуть над поиском ошибки в случайном фрагменте кода, который часто оказывается просто не под ту версию. На минорные версии, конечно, не стоит обращать внимания, а просто изучать последние.
    Ответ написан
    11 комментариев
  • Как раскрутить клиента на поддержку?

    @LiguidCool
    Работайте качественно.
    Вам вёдь наверное при походе в гости не понравится хозяин, тыкающий в вас шприцом герыча? И вы наверное хрен пойдете туда снова?
    Ответ написан
    Комментировать
  • Компактный блок питания 5V для встраивания в подрозетник: Как выбрать?

    Jump
    @Jump
    Системный администратор со стажем.
    Я что то не понял вам USB зарядник в розетке нужен или что?
    www.allcables.ru/legrand_770270_Valena.html?from=m...
    Ответ написан
    1 комментарий
  • Где найти работу по удаленке в 40+ лет?

    Jeiwan
    @Jeiwan
    Никак.
    Почему все думают, что в интернете можно зарабатывать без навыков? Вы же не можете устроиться на обычную работу без навыков. Интернет тут ничем не отличается: это обычная работа, только удаленная. Нет навыков = нет работы.
    Ответ написан
    5 комментариев
  • 3 * 2 = 4 каким образом можно получить?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Вообще можно переопределить операцию умножения. Исторически так сложилось, что умножение это взять первого числа второе число раз. А мы с вами договоримся и никто нам не сможет помешать в этом, что при умножении нужно будет обязательно взять налог на операцию в размере трети от результата, тогда:

    3 * 2 = 4
    3 * 3 = 6
    6 * 6 = 24
    Ответ написан
    1 комментарий
  • Как правильно администрировать VPS?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ни в коем случае не ставить никаких ISP Manager / Vesta / CPanel, иначе никогда не научитесь тому, чему хотите научиться. Кроме того, они жрут ресурсы. Даже Vesta, которая самая легкая, их жрет прилично, а я сильно сомневаюсь, что у вас VPS c 8+ Gb памяти.

    Изучать надо по урокам и статьям, читая мануалы и best practices по каждому package. Порядок, плюс-минус, таков:

    - развернули ось
    - сделали сразу апдейты
    - создали и настроили swap
    - поменяли пароль рута на что-нибудь супер-мега-сложное (его мы использовать все равно не будем)
    - создали себе обычного юзера с паролем нормальной сложности (он будет использоваться для sudo)
    - дали юзеру права sudo
    - закрутили гайки по SSH - сменили порт, запретили вход руту и вход по паролю (только по ssh-ключам), разрешили вход только одному своему новому логину
    - настроили UFW - простой, но эффективный firewall на основе iptables - default deny, allow http, https, свой кастомный ssh-порт. Если логиниться будете только из нескольких мест (офис, дом) - можно вообще ssh разрешить только на эти IP.
    - sudo dpkg-reconfigure tzdata чтобы установить свою временную зону, так логи потом легче читать и понимать
    - настроили logrotate
    - настроили logwatch
    - настроили Postfix, чтобы сервер вам письма мог слать (мы его настраиваем на внешний мейлер, например Mandrill, чтобы все письма точно в спам не падали)
    - настроили fail2ban (потом, после установки и настройки веб-сервера и сайтов, в fail2ban можно дополнения писать, например мы на WordPress-сайтах мониторим попытки авторизации в админку и блочим тем же fail2ban)
    - дальше ставим все что нужно - Git, Nginx, HHVM, PHP5-FPM, MariaDB, Memcached/Redis и так далее.

    Регулярно заходите на сервер, делайте apt-get update && apt-get dist-upgrade.

    p.s.: это по ubuntu/debian, для других систем все то же самое, но packages и команды могут немного отличаться
    Ответ написан
    26 комментариев
  • Книги по электронике и программированию под микроконтроллеры?

    vagrantnotes
    @vagrantnotes
    Embedded-разработчик
    Сам работаю с микроконтроллерами и пару лет назад так же столкнулся с задачей поиска толковых обучающих материалов. Вот несколько советов (разумеется, субъективных) на этот счёт:

    1. Большая часть книг в стиле "Разработка встраиваемых приложений" или "Пишем на ассемблере под PIC" - пустая трата времени. Не то что бы они совсем бесполезны, но зачастую они сильно устарели, а информация в них избыточна и излишне детализирована. Я не нашёл ни единой книги, которую не захотелось бы забросить после пары десятков страниц.

    2. Я очень рекомендую цикл статей "AVR. Учебный курс" на сайте easyelectronics.ru. Там и железо, и ассемблер, и регистры - простым и доступным языком. Очень рекомендую, даже если работаешь не с AVR. Там изложены основные принципы и самих контроллеров и периферии - то, с чем каждый день сталкиваешься в реальных проектах.

    3. Без знания C в микроконтроллерах - никуда, поэтому рекомендую книгу Кернигана и Ритчи - "ANSI C". Это и учебник, и справочник под одной обложкой. Рассказывается всё просто, кратко и без лишних рассусоливаний.

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

    5. Не ограничивайся только книгами. Сейчас доступно множество открытых онлайн-курсов о встраиваемых системах на любой вкус. Это потрясающая форма обучения, которая совмещает в себе текстовый материал, видеолекции и практические лабораторные работы. Минус - всё это удовольствие на английском языке. Пожалуй, лучший пример, это Embedded Systems - Shape The World - встраиваемые системы - от самых азов, до ретро-игр на контроллере. В комплекте дают доступ к хорошему интерактивному учебнику C. Прекрасный курс с упором на практическую составляющую. Сессия совсем скоро завершится, но доступ к видеоматериалам ещё должен остаться.
    Ответ написан
    Комментировать
  • Иллюстрация "Кипящий суп"?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Ну есть хорошая математическая модель всего этого процесса. Для ее обсчета необходим кластер эдак на 512 ядер и метод конечных элементов. Но результат будет физически достоверным.

    Вам насколько достоверно нужно?
    Ответ написан
    2 комментария
  • Как восстановить знания по C++ на сегодняшний день?

    @Koss1024
    0. Прочитайте Страуструпа последнее издание (англ). Если язык вы знали то это лучшая книга чтобы обновить знания

    1. C++11 C++14, в производстве чаще пока еще С++03
    2. Лучший компилятор clang++ (поддерживает любой стандарт и любую платформу)
    3. boost это набор библиотек на все случаи жизни самый хорошо сынжинереный. Стоит писать не под него а с использованием
    4. пункт 3
    5. C++ для задач требующих точного понимания стоимости каждой операции, это embedded DSP Server computing
    Math много чего еще

    Учтите, С++ это инструмент который нужно учить постоянно

    Дополню
    -----------
    С++ мультипарадигменный
    А так же много уровней абстракции поддерживает

    На нем можно писать как на чистом С - это самый низкий уровень
    Можно ООП и абстракции
    Можно паттерны
    А можно функциональный стиль

    С С++ в этом и проблема что знать нужно очень много.

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

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

    Потом Страуструп (тогда это было издание по стандарту 03). Здесь я дополнил свои знания деталями которые пропустил при самостоятельном изучении. Тут стоит отметить что Страуструп весьма странная книга и написана тяжело. Секцию же ООП вообще там лучше не читать (самая последняя).

    Где-то рядом я прочитал Гради Буч - ООА и ООП с примерами применения. Очень хорошая кика чтобы понять к чему все это придумали вообще. Сильно выправляла мозги

    Потом был Керниган и Ричи Язык программирования С. Эту я прочитал просто от безделья, но теперь считаю что это было необходимо. Здесь можно понять зачем придумали именно С. И насколько там все просто, задумано.

    Следом пошли техники: Герб Саттер Решение сложных задач на С++ и Новые сложные задачи С++
    читать обязательно, разобрано много костылей и проблем языка. Дано очень много дельных советов

    С Мейерс - Эффективное использование С++ туда же. Прекрасный разбор.

    Макконнел - Совершенный код. Очень крутая книга. Она отшлифует уже почти бриллиант.

    Помимо всего прочего я работал над проектами и постоянно читал всяческие форумы, блоги, дискутировал с коллегами. Решал задачки разных собеседований.

    Отдельного внимания заслуживает книга Банды четырех (Паттерны).
    Я ее с трудом дочитал, читал ее я уже аж после всего перечисленного и после примерно 7-8 лет опыта С++.
    Я уже давно был Senior dev. и наконец нашел таки время и для нее. Она мне показалась до ужаса скучной и очевидной, поскольку почти все предложенные решения я придумывал и сам неоднократно. Кроме того, большинство этих решений неоправданно тяжелы, и очень запутывают код. Тема холиварная и спать надо много, но я пожалуй остановлюсь только на том что в моей практике, худшими с точки зрения цены ошибок были разработчики которые учились начиная с этой книги. Их код недодерживаем запутан и очень плохо поддается рефакторингу. Такой код имеет самые долго отлеживаемые ошибки.

    Где-то рядом я прочитал Фаулера - Рефакторинг. Вполне себе неплохо. Рекомендую. Но тут стоит к опытному коллеге обратиться. Идея то проста Тесты - Маленькие комиты - YAGNI KISS и SRP но детали лучше познавать на практике.
    У меня был хороший лид, который меня в конце концов научил :)

    Совсем забыл! Александреску же! Скажем так - не так страшен Александреску как тот кто его начитался :)
    Фана доставил много, а так же дал возможность на эти игрища потерять около 3-х месяцев работы. Даже не знаю
    стоит ли читать. Наверное стоит, но нужно помнить что на практике лучше не использовать если вы уже не эксперт.

    Остальное С++ не касается, но чтобы стать профессионалом Вам потребуются алгоритмы и структуры данных (Кормен, Кнут), многопоточность (Энтони Уильямс), другие языки(питон, JS, java), оптимизация и профилирование.
    и много много разных специфических знаний

    Удачи Вам в этом нелегком но, безусловно, интереснейшем пути :)
    Ответ написан
    7 комментариев
  • Как подключенить ардуино к домофону?

    Teivaz
    @Teivaz
    Ответ написан
    Комментировать
  • Что можно использовать для быстрого изучения промышленного python?

    Если проект будет делаться на python/django, то не надо изучать GIL, sqlalchemy, pytest и т.д.

    А надо изучать django. Не побрезгуйте стандартной документацией к django - она хороша. Потом можно какую-нибудь книжку, например twoscoopspress.org
    Ответ написан
    Комментировать
  • Какое есть ПО для автоматического создания блок-схем python3?

    wiygn
    @wiygn
    борец с ветряными мельницами
    Может быть подойдет Pyreverse
    Ответ написан
    Комментировать
  • Шифрование. Надеяться ли на то, что алгоритм никому не известен?

    @BearUA
    Первое чему учат в любом курсе криптографии - НИКОГДА не используйте проприетарных или самописных крипто-алгоритмов или их реализаций. Только открытые и проверенные на стойкость к взлому крипто-библиотеки могут гарантировать надежность. Учитывая, что эти библиотеки открыты и бесплатны, крайне трудно придумать причины для изобретения собственных велосипедов.
    Ответ написан
    2 комментария
  • Шифрование. Надеяться ли на то, что алгоритм никому не известен?

    bak
    @bak
    Нет, не стоит. Такой подход называется security through obscurity и это антипаттерн криптографии.
    Ответ написан
    Комментировать
  • Шифрование. Надеяться ли на то, что алгоритм никому не известен?

    Защищенность информации должна основываться только на знании ключа и не зависеть от того, известен алгоритм или нет (Принцип Керкгоффса, XIX век).
    Ответ написан
    Комментировать