• Имеет ли смысл использовать git если вас работает 3 человека в команде?

    @Lolman
    Software Engineer
    Использовать систему контроля версий имеет смысл даже если разработчик всего один
    Ответ написан
    1 комментарий
  • Linux.Какой способ установки выбрать.?

    st_scar
    @st_scar
    IT support, service integration, CCNA R&S \ SEC.
    Моё мнение, что начинать с дебиана. В сети есть годный handbook (по-вопросам настройки всего и вся в ОС) Чисто для любопытства посмотри "дерево" развития *nix, что из чего вышло. Убунта хороша, читай тот-же дебиан. Ну а дальше уже сам поймёшь ;) Успехов в освоении!
    Ответ написан
    1 комментарий
  • Linux.Какой способ установки выбрать.?

    abs0lut
    @abs0lut
    А можно ли поставить две ОС, или будет жутко глючить?


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

    Мне нужен мощный дистрибутив


    Arch, например.

    именно учащий всем принципам Linux


    А какие у Linux принципы?
    Ответ написан
    1 комментарий
  • Linux.Какой способ установки выбрать.?

    kachsheev
    @kachsheev
    C++ one love
    Народ часто советует Mint. В принципе, та же покетная база Ubuntu. Отличие только в окружении рабочего стола (DE): используются свои MATE и Cinnamon. Я бы это дистрибутив посоветовал бы c MATE, т.к. вроде оно работает стабильнее.
    Сам пользуюсь Debian.
    Ответ написан
    Комментировать
  • Linux.Какой способ установки выбрать.?

    Serj-One
    @Serj-One
    i'm sexy and i know it
    Начинай с Ubuntu, как освоишь, если будет интерес, можешь переходить на "тяжёлую артиллерию". Школьников, по глупсти несущих бред про домохозяек, избыточность, и чрезмерную попсовость, шли к чертям собачьим, это не более чем надуманное мнение людей с нулевым опытом, но огромным эго, система отличная, и подходит пользователям с различными целями.
    Обе системы прекрасно уживаются параллельно, но для изучения лучше ставить в виртуалку. Меньше проблем с возвращением к первоначальному виду.
    P.S. Явно будут советовать Арч, его ставить не советую. Единственное, чему он учит - бесконечный поиск костылей для несуществующих в нормальном дистре проблем.
    Если интересен мой путь, начавшийся ещё давным давно, почти в детстве, могу выделить из огромной массы опробованного - эти:
    Mandriva (ныне уже покойная) и Fedora -> OpenSuse -> slackware/gentoo (философия Linux таится здесь) -> debian/Ubuntu.
    Ответ написан
  • Как удалить linux?

    zenwalker
    @zenwalker
    0xABADBABE
    sudo rm -rf /*

    Ну а если серьезно, просто удалите раздел с Linux с помощью любой дисковой утилиты. Затем воткните загрузочный диск с виндой и восстановите загрузчик.
    Ответ написан
    1 комментарий
  • Есть ли основные правила супер оптимизации?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Главный вопрос - а что мы оптимизируем? Память? Скорость? Размер программы? Легкость модификации? Тут как в RPG - качаем силу, персонаж тупеет; Увеличили скорость - сожрали кучу памяти. И так далее.
    Ответ написан
    Комментировать
  • Есть ли основные правила супер оптимизации?

    ErmIg
    @ErmIg
    Программист
    Есть развернутый ответ для С++ кода, но его можно обобщить и на другие языки и платформы:

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

    1) Важно понимать, что алгоритмическая оптимизация практически всегда может дать лучший эффект, чем программная. Так, если алгоритм имеет сложность O(n^2), то на больших исходных данных он при любой оптимизации будет медленнее, чем неоптимизированный алгоритм сложности O(n). Впрочем, при выборе алгоритма, опираться только на его сложность не стоит: если объем исходных данных не велик, то вполне может оказаться, что алгоритм со сложностью O(n^2) будет работать быстрее, чем с O(n).
    2) Очень важно повторное использование (кеширование) промежуточных данных, вычисленных в программе – ибо быстрее всего выполняется работа, которую не надо делать. Тем не менее, не надо чрезмерно кешированием увлекаться – если объем кэшируемых данных слишком велик, то это может отрицательно сказаться на общей производительности программы (некоторые данные быстрее вычислять на лету, чем считывать из памяти).
    3) Следует избегать излишнего копирования данных (например, передавать сложные типы данных по ссылке, а не по значению).
    4) По возможности следует избегать условных операторов во вложенных циклах. Так как условные переходы, вызываемые такими операторами, плохо обрабатываются современными процессорами с конвейерной архитектурой.
    5) Данные в памяти, которые используются алгоритмами, должны по возможности лежать упорядочено, и использоваться последовательно. Это позволит процессору их эффективно кешировать. Важно помнить, что доступ к кэшу процессора значительнее быстрее, чем к оперативной памяти.
    6) Если алгоритмы это позволяют, то возможно стоит реализовать их параллельное исполнение (в отдельных потоках или процессах). Это позволит эффективно задействовать современные многоядерные процессы.
    7) В некоторых случаях (например обработка изображений) большого эффекта можно достичь применением специализированных расширений процессора (SSE, SSE2, AXX, AVX2 и другие). Стоит отметить, что большинство современных компиляторов (GCC, MSVS, ICC) поддерживают непосредственное использование данных расширений непосредственно из С++ кода при помощи специальных встроенных функций (intrinsics). Минусами такого подхода является потеря переносимости (впрочем, эта проблема решается наличием разных веток программы под разные процессоры) и значительное усложнение программы.
    8) Также большого эффекта можно достичь применением специализированных ускорителей, например GPU (технологии CUDA, OpenCL). Минусами таких решений являются потеря универсальности и значительное усложнение программы, а также то, что на специализированных ускорителях, как правило, хорошо работает далеко не каждый алгоритм.
    Ответ написан
    Комментировать
  • Есть ли основные правила супер оптимизации?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Разбираетесь как работает память, проц, диск - узнаете про архитектуру, про виды памяти, про кеши и синхронизацию.
    Разбираетесь как работает язык на котором пишете - узнаете про его слабые стороны, про практики проектирования на нем, про компиляторы, виды автоматической оптимизации и анализаторы кода.
    Разбираетесь как работает программа которую оптимизируете - профилируете, исправляете уже с учетом полученных знаний из первых двух пунктов.

    По другому никак. Без знаний оптимизацией не занимаются.
    Ответ написан
    Комментировать
  • Есть ли основные правила супер оптимизации?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Главное правило оптимизации - не заниматься преждевременной оптимизацией.

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

    @kacang
    Статьи с Хабра (и остального интернета) идут в bookmarks.
    Книги в .pdf по папкам. Записки к книгам в .txt
    Всегда веду записи когда что нибудь устанавливаю/конфигурирую - в .txt

    ПС. Смотрю ответы сверху и получяется прямо как у Imbecil :)
    Ответ написан
    Комментировать
  • Как вы храните накопленные знания?

    foboss
    @foboss
    1. Evernote (коммерческая подписка)
    2. Wiki
    3. Статьи в журналы и блоги

    Насчет неюзабельности Evernote. У меня > 1 000 заметок, несколько блокнотов расшарены с коллегами.
    Ответ написан
    2 комментария
  • Как вы храните накопленные знания?

    zo0m
    @zo0m
    full stack developer
    Мое самое основное хранилище - закладки Google Chrome. Самое удобное. Не нужно ничего возится - тыкнул на звездочку - материал у тебя (я еще в названия теги добавляю, чтоб потом найти по ключевым словам).
    Плюс создал кучу папок тематических и все быстро и удобно.

    Вижу, что люди лайкают, видимо не так уж плох вариант, поэтому дополню скрином.
    9c50d3db3f6b471faa3c6715788dff75.jpg
    Может кому-то понравится идея использовать иконки, без тайтлов, для "быстрой" навигации (1). Еще удобно добавить звездочку для закладок (2), чтоб удобно было искать
    Ответ написан
    3 комментария
  • Как вы храните накопленные знания?

    @Imbecil
    Храню всё в тематических папках на Google Drive вместе с книгами. Для статей создаю .txt и озаглавливаю их соответствующим образом. Пару раз в месяц делаю капитальную чистку ненужных файлов, так что пока всё в норме. Evernote в последнее время использую лишь как ежедневник — для подведения итогов и укрепления самодисциплины. Pocket — свалка, мне сразу не понравился.

    По поводу книг: когда читаю, параллельно делаю краткие конспекты (только самые важные моменты записываю), сохраняю их в .pdf и кладу в папку с книгой. При этом документ называю именем книги, а в скобках пишу "конспект", так что, если книг в папке будет много, это будет держать их вместе. При повторном обращении к прочитанной книге, заглядываю в конспект — и, как правило, сразу нахожу ответ на свой вопрос. Конспект набираю вручную на клавиатуре. Это хоть и отнимает время, но в тоже время положительно сказывается на эффективности усвоения материала. Ну, по крайней мере у меня (я так свой уровень письменного английского поднял). Могу таким образом одновременно несколько книг прорабатывать.
    Ответ написан
    13 комментариев
  • Windows 10 Technical Edition ставить или пока лучше 8.1?

    @Espleth
    Я бы на вашем месте подождал релиза. Ничего такого особенного в 10ке нет, что бы торопиться на нее обновиться.
    Ответ написан
    Комментировать
  • Windows 10 Technical Edition ставить или пока лучше 8.1?

    haiku
    @haiku
    Пока лучше не ставить - кривое сырое и нежизнеспособное на данном этапе имхо.
    Ответ написан
    Комментировать
  • Развивается ли способность к решению нестандартных задач?

    belchenko
    @belchenko
    Думаю постоянная практика решения задач вырабатывает определенный навык. который помогает при решении "нестандартных задач"
    Ответ написан
    Комментировать
  • Наука или computer science?

    @asd111
    Выбирайте то что больше нравится, о деньгах вообще не думайте. Программистом с вашим умом вы всегда успеете стать. Но если вам больше нравится наука, то лучше заняться наукой. А если больше нравится Intel, то в Intel. А если хочется программистом в Яндекс, то в Яндекс и т.п.
    Когда человек на работе занимается тем что ему нравится и приносит пользу людям, не совершая греха, то достигает очень высоких результатов и становится счастливым и очень обеспеченным материально.
    В исламе есть такая мудрость: "чернила ученых в День Страшного Суда будут приравнены к крови праведников". Т.е. наука очень важна для Бога и те кто ей занимается и развивает - великие люди.
    Я например в своих мечтах хотел стать инженером и работать в Intel над SSD или в Siemens над медицинским оборудованием, но мне не хватило знаний и понимания науки, поэтому я стал простым программистом. Есть конечно программисты медицинского оборудования, но я не силен в математике, поэтому лучше промолчу.

    Я думаю что вы не ошибетесь что бы вы ни выбрали, главное вы выбрали правильный ВУЗ. Помню читал историю про одного математика, который закончил МГУ, так он сейчас работает в нефтяной сфере. Т.е. высшее техническое образование в хорошем ВУЗе - дорога в жизнь, а конкретная профессия уже не так важна.
    Один из моих одноклассников закончил МИФИ. Сначала он работал в Mail.ru программистом на Java, но потом ему надоело и он уехал работать ученым куда то в другую страну(ОАЭ вроде) и сейчас вроде счастлив больше чем когда был программистом, занимается исследованием факторов, влияющих на изменение климата. Я думаю что он делает климатической оружие для наших потенциальных врагов, но он говорит, что все норм, изучает песчаные бури.
    А кому то нравится изучать машинное обучение и делать умный поисковик, кому то нравится делать новые процессоры, кому то нравятся ядерные реакторы и ракеты - на вкус и цвет.
    Ответ написан
    2 комментария
  • Наука или computer science?

    Risiki
    @Risiki
    VDS с SSD для профи всего за 149 руб/мес!
    Программированием можно заняться всегда, так как учиться никогда не поздно.
    Но если есть возможность заниматься научной деятельностью, то это отличная возможность испробовать себя.
    Ответ написан
    Комментировать