Задать вопрос
  • Есть ли ключ для запуска Chrome в новом окне?

    @Flicker
    *-coder
    Прошёл год, но в поиске этот вопрос выдает на 4й позиции.
    Может кому пригодится, список ключей: peter.sh/experiments/chromium-command-line-switches
    Ответ написан
    Комментировать
  • Книги, похожие на K&R?

    Neznayka1979
    @Neznayka1979
    Интересы - IT, психология...
    Лучше учебника, чем Стивен Прата пока не видел по С:
    «Язык программирования Си. Лекции и упражнения» Стивен Прата
    Ответ написан
    Комментировать
  • Как вы управляете своей базой знаний? Какие инструменты для этого используете?

    Prognosticator
    @Prognosticator
    TODO: Здесь будут ворованные умные мысли, типа мои
    В первую очередь рекомендую вам прочесть книгу - "Как разобраться с делами", Дэвид Ален.
    Для организованности в целом, книга позволит дополнить/развить вашу уже существующую систему или основательно ее перетряхнуть.

    Моя "система хранения знаний":
    • Каталог книг - "Calibre", пользуюсь программой много лет.
      Позволяет хранить любые файлы, добавлять любые кастомные поля, сортировать, искать, обрабатывать, расшаривать книги на устройства.
      Касательно ваших требований, это систематизация и возможность отметить прочитанное, установить приоритет и составить план чтения, выставить свой рейтинг, добавить теги, комментарии, "прикрепить" файлы и много другое.
    • Закладки браузера - для хранения ссылок. Как систематизированные ссылки, так и "на потом". Всегда есть что почитать в образовавшееся "окно" в графике.
    • Google Keep - заметки. Удобно, практично, при наличии смартфона, заметки всегда под рукой.

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

    @Hexe
    Я сначала пробовала изучать по научным статьям, но знания получались поверхностные. Зато усвоился академический английский.

    Потом была куплена на амазоне большая книга Fundamental Neuroscience 4-th edition, Larry R.Squire. Она дает общие знания по всей ЦНС "с нуля", не требует бекграунда в химии, физике, биологии и математике, язык изложения не очень сложный. Формул в ней нет, только текст, картинки и графики. Картинки качественные. Страниц больше 1000. Из минусов для меня - воды многовато и нет глав по осцилляциям в нейросетях. Возможно, есть учебники и лучше.

    Про статьи. Если нужно найти статьи по определенной теме, то, как обычно, Google Scholar. Если хочется читать журнал, то можно, например, Frontiers In (journal.frontiersin.org ). Там есть большой раздел neuroscience (Journals -> Science -> Neuroscience)и в нем много более узких разделов типа:
    journal.frontiersin.org/journal/synaptic-neuroscience
    journal.frontiersin.org/journal/neural-circuits
    и т.п. Это не самый крутой журнал по импакт-фактору, но зато полностью бесплатный. И сам сайт грамотно устроен.

    Напоследок про анатомию. Лично мне по картинкам и срезам мозга сложно было представлять, как это все выглядит в 3д. Что рядом с чем и под чем. А при чтении статей/учебника это лучше представлять себе. Поэтому рекомендую анатомию начать с этого: www.finr.net/files/brain/index.htm Там можно в выпадающем списке выбирать нужную структуру, и она будет поrказана в 3д модели мозга, которую можно так и сяк крутить.
    Ответ написан
    1 комментарий
  • Олимпиадное программирование за 2 дня?

    Olej
    @Olej
    инженер, программист, преподаватель
    Я школьник.

    и там много лишнего

    Мне вот это всегда больше всего нравится, до умиления: всяк школьник (или студент) всегда точно знает что и в какой книге лишнее...

    Как жаль, что все люди, которые лучше других знают как управлять государством, уже трудоустроены и работают парикмахерами и таксистами!
    Ответ написан
    Комментировать
  • Путь от junior к web backend developer?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) учим C# + алгоритмизацию (вы как минимум должны знать что происходит при вставке в хэш-таблицу и хотя бы примерно понимать что такое куча, на бэкэнде структуры данных знать очень полезно)
    2) учим ООП (читаем паралельно Фаулеров, Кентов Бэков, Бобов Мартинов)
    3) постепенно берем ASP MVC и вперед к свершениям.
    4) асинхронное/паралельное программирование

    Каждый пункт сдобрим практикой
    Ответ написан
    Комментировать
  • Путь программиста.Стоит ли?

    Andrey_Pletenev
    @Andrey_Pletenev
    Pletenev.com
    Есть 2 способа получения образования:
    1) Методом push - это когда в тебя запихивают, хотя оно не лезет и ты сопротивляешься. Этот подход используют все формальные структуры образования школы, училища, вузы.
    2) Методом pull - это когда ты сам с жадностью ищешь и изучаешь то, что тебе действительно интересно и нужно.
    Судя по "Образование в школе не очень", "пытаться" и "бал", история "в хороший вуз на бюджет" - кончится обычным "куда угодно лишь бы диплом" или "клянчить деньги с родителей" на платное. Поскольку ты этого не хочешь - рекомендую тебе опцию 2.
    Ответ написан
    Комментировать
  • Путь программиста.Стоит ли?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Не важен путь, который выберете вы. Важно то, как вы его пройдете.
    Самообразование - ключ к любой профессии. Никто и никогда вас не станет ничему учить. Забудьте об этом, все только сами.
    Как, по-вашему люди из самых запдрыпанных мест становятся великими? Трудом.
    Учитесь тому, что интересно. Хотите GameDev? Без проблем. Сейчас осень, впереди зима и весна. Садитесь за Java или Swift. Напишите к лету приложение и разместите его в магазине. Будет настоящий незаменимый опыт. Потом еще и еще. Не сразу, но начнете на этом зарабатывать. Было бы желание, остальное приложится.
    И к экзаменам тоже можно подготовиться. И сдать их на отлично самому. Не смотрите на ленивцев вокруг. Они вас кормить не станут. Они так и дальше будут сосать пиво из бутылочки и сидеть на шее у родителей до последнего.
    Или вы тоже хотите пойти на стройку, чтобы зарабатывать на пиво? Тогда вперед.
    Ответ написан
    Комментировать
  • Учебник по математике, при почти нулевых знаниях?

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

    Дискретная математика

    Есть здоровская книжка Андерсона "Дискретная математика и комбинаторика". Она довольно толстая, но главы можно читать почти в случайном порядке. Некоторые математики жалуются, что она не очень строгая и много воды, но для начала самое то.

    По дискретной математике есть русский онлайн-курс на Stepic-е.

    Если идти чуть глубже, есть неплохая книжка Кнута и др. "Конкретная математика".

    Алгоритмы и структуры данных

    Кормен "Алгоритмы: построение и анализ" в переводе А. Шеня. Осилить первые две главы, потом можно идти почти в случайном порядке. Написано достаточно просто и понятно.

    Дасгупта, Пападимитриу, Вазирани "Алгоритмы".

    Онлайн-курс по алгоритмам.

    О математике

    МЦНМО свободно распространяет много интересных книг: www.mccme.ru/free-books
    Посмотрите там в первую очередь Шеня и Арнольда. Например, В. И. Арнольд. Задачи для детей от 5 до 15 лет.

    И разумеется не упустите замечательного писателя Мартина Гарднера "Математические головоломки и развлечения".

    Задачники

    Попрактиковаться в решении с проверкой можно здесь.

    www.braingames.ru -- по математике
    https://projecteuler.net/ -- среднее, ближе к программированию
    acm.timus.ru -- по программированию

    Очные программы

    Умение самоорганизоваться -- это хорошо, но иногда нужен ментор и готовая программа.
    Если вы живете в Москве или Петербурге, попытайте счастье в этих двух организациях:
    https://yandexdataschool.ru/
    https://compscicenter.ru/
    Если нет, но есть возможность на два года уйти в учебу, попробуйте поступить в магистратуру СПбАУ на SE-направление:
    mit.spbau.ru

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

    Удачи!
    Ответ написан
    3 комментария
  • Стоит ли идти после специалитета в магистратуру?

    arutyunov
    @arutyunov
    Mooza.ru — Делаем сайты
    Странно как-то спрашивать у абсолютно незнакомых людей, что делать со своей жизнью: еще 2 года просидеть на шее у родителей и заниматься онанизмом в стенах университета или найти работу и получать практические навыки.

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

    По веб разработке в магистратуре вы врятли узнаете много нового, поскольку это динамично развивающееся направление, и наша неповоротливая система образования просто не успевает менять программу. Да и преподавателям в большинстве случаев это не надо. У нас в универе (на ИСиТе, кстати) как учили лет 5 назад верстать фреймсетами, так до сих пор и учат.
    Ответ написан
    Комментировать
  • Книги по математике для программистов?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Книги по математике для программистов...
    Широкое понятие и того и другого...
    Математика - большая наука, в ней много разделов.
    Программисты тоже бывают разные.
    Как наиболее востебованные для людей, в той или иной степени связанных с программированием можно определить следующие подразделы по математике и анализу:
    алгебра, анализ данных, булевы алгебры, временные ряды, численные методы, графы, дискретная математика, дисперсионный анализ, комбинаторика, криптография, линейная алгебра, математический анализ, математическая логика, теория алгоритмов, числа, нейронные сети, нечеткая логика, погрешности, принятие решений, прогнозирование, распознование образов, рекурсия, системный анализ, статистика, теория вероятностей, игр, множеств, эконометрика и другие...
    Если взять каждое из приведенных слов как ключевое, ввести в поисковике, задав критерии с тегами "литература", "книги", "основы", то можно получить большое количество хорошей информации полезной для любого программиста, ну и просто для общего развития, прокачки естественно-аналитических и математических способностей.
    Как наиболее в последнее время мне попадавшиеся книги по математике, которые могут вам пригодиться, приведу несколько, но это не панацея:
    Ван дер Варден. Алгебра.
    Шафаревич. Основные понятия алгебры.
    Курош. Общая алгебра.
    Барсегян. Технологии анализа данных.
    Эсбенсен. Анализ многомерных данных.
    Подзоров.Булевы алгебры.
    Кук. Компьютерная математика.
    Алексеев. Графы. Модели вычислений. Структуры данных.
    Басакер. Конечные графы и сети.
    Зубов. Справочник программиста. Базовые методы решения графовых задач и сортировки.
    Кристофидес. Теория графов. Алгоритмический подход.
    Бессонова. Основы дискретной математики.
    Иванов. Дискретная математика. Алгоритмы и программы.
    Виленкин. Комбинаторика.
    Ахо. Структуры данных и алгоритмы.
    Гильберт. Основания математики.
    Кнут. Искусство программирования.
    Рояк. Математическая логика.
    Горбань. Нейронные сети.
    Тэрано. Прикладные нечеткие системы.
    Мальцев. Алгоритмы и рекурсивные функции.
    Афифи. Статистический анализ.
    Феллер. Введение теорию вероятностей ее приложения.
    Хассе. Лекции по теории чисел.
    Ой, ну это только единицы из всей многотысячной библиотеки книг по математике. Также не забывайте изучать зарубежные труды, так как иностранная литература, периодика очень часто бывает на шаг впереди российской, особенно в этих отраслях. Определите в какой области вам придется работать, что там более применимо, что необходимо, на такую литературу и ориентируйтесь. Но основы и вообще основные понятия по математике должен знать каждый уважающий себя программист, да и вообще просто образованный человек, инженер, специалист, менеджер, аналитик...
    Ответ написан
    Комментировать
  • За счет чего Тостер может составить конкуренцию русскоязычному Stackoverflow?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Воспользуюсь случаем передать привет своей семье написать пару замечаний.

    1. Убрать отметку ответа решением
    а) Не с руки бегать за пользователями, задающим вопросы, с требованием «анугад цени время других». Ни модераторам, ни отвечающим. В конце концов, расчёт на поисковую выдачу и долгую жизнь тем.

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

    Пример: Как работает свойство display с его разными значениями?
    Хоть кол на голове теши — что проще, то и верно.

    2. Ввести минусование ответов
    Не всем, а как на стеке — только с рейтингом не менее ... (скажем, >20 по тэгу). Чтобы тупые ответы опускались вниз. Может, и скрывать ответы при наборе ... (скажем, -5) отрицательных отметок.

    3. Рейтинг
    Нередко встречаю умных и грамотных людей, не имеющих времени на надрачивание рейтинга. Как вариант, просто недавно зарегистрировавшиеся участники. Нужен механизм оценки «авторитетов» (в хорошем смысле этого слова) для повышения рейтинга.

    4. Оценка комментариев
    Достаточно часто комментарии дополняют ответ, делают его более объёмным, и заслуживают своей оценки. Почему нет возможности оценить такой вклад?

    5. Ввести тэги по вопросам
    Зачастую вопросы называют так, что найти их или очень трудно, или просто невозможно.
    Пример: Как отследить появление новых элементов в DOM?
    В итоге люди тратят время, в то время как ответы уже есть на Тостере Как отловить создание нового IFrame на странице?

    Можно предлагать при публикации вопроса список тэгов и это (возможно) даст возможность найти ответ на вопрос до его опубликования. После публикации тэги могут выбрать остальные.
    Другая польза от тэгов — поиск для повторных вопросов (см. ниже).

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

    7. Плюсы для отвечающих
    Почему бы не использовать связь с хабром для раздачи плюшек отвечающим? Например, членство, карму etc.

    8. Библиотека решений
    Иногда кажется, что грамотный и хорошо оформленный ответ просто тонет в куче мусора и нет никакого смысла ни в расписывании хода мыслей, ни в оформлении.
    Пример #1: CSS: Почему происходит смещение изображения при line-height идентичной высоте блока?
    Пример #2: Почему при добавлении тега appendChild'oм, контент не отображается?
    Пример #3: Разница между background: url('...') и background: url(...)?
    И много-много других, к которым я не имею никакого отношения.

    Почему не сделать по тем же тэгам (см. п. «Ввести тэги по вопросам») ссылки на основные решения. Которые можно обсуждать, комментировать, модифицировать без принадлежности к авторам (просто список участников с вкладом в решение).

    9. Технические доработки
    Поиск — нет введённого запроса в поле поиска.
    Ответ — нет горячих клавиш для форматирования.
    Комментарий — нет возможности форматировать текст.
    Комментарий — как быстро получить ссылку (тема + якорь)?
    Текстовое поле для комментария — делаешь такие примеры codepen.io/cleric/pen/oBwqn и не понимаешь, почему его подстройка по высоте поля на Тостере не слишком-то корректно работает.
    Поле с кодом — вроде несложно добавить white-space: pre-wrap; Для элемента pre, чтобы не было горизонтальной прокрутки для непереносимых строк.

    Пы.Сы. Отдельное спасибо Сергею Протько за веру в этот ресурс.
    Ответ написан
    34 комментария
  • C++ как вызвать метод потомка, не определоного в предке?

    В класс А добавить виртуальный деструктор:

    class A
    {
    public:
    virtual ~A(){}
    };

    после этого:

    void foo(A& a)
    {
       if (B* b = dynamic_cast<B*>(&a))
          b->getSome();
    }
    Ответ написан
  • Сложно ли создать игру с командой 3-5 человек типа Fear, Silent Hill, Анабиоз?

    @mamkaololosha
    Можете сделать 1 уровень. От начала и до конца. Со всеми моделями, текстурами, звуками и прочее. Вполне возможно, что на создание близкого в идеалу уровня на 15-30 минут игры у вас уйдет 1-2 месяца. Ну а там уже сами прикинете сроки.
    Ответ написан
    Комментировать
  • Есть ли основные правила супер оптимизации?

    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). Минусами таких решений являются потеря универсальности и значительное усложнение программы, а также то, что на специализированных ускорителях, как правило, хорошо работает далеко не каждый алгоритм.
    Ответ написан
    Комментировать
  • Стоит ли продолжать учиться?

    SanchelliosProg
    @SanchelliosProg
    Java, Android, Software Testing
    Товарищ, учитесь, терпите, на это есть причины:

    1) Хороший программист с "бумажкой" выглядит убедительней, чем без неё.
    2) ВУЗ как армия - учит терпеть и бороться, что в жизни пригодится. Плюс ВУЗа в том, что вас не бьют по башке сапогами.
    3) Математика - лучший стероид для мозгов. В жизни мы слышим много предрассудков, в стиле "не всем нужна математика". Если бы математику учил каждый - мы бы жили в идеальном Мире.
    4) математика не раз поможет Вам в программировании.
    5) не торопитесь на работу, если у вас есть возможность посидеть на шее)) Но учитесь при этом усердно! Очень усердно!
    Короче, учитесь дальше! Жизнь полна боли и страданий, ВУЗ это цветочки, наслаждайтесь учёбой!!! Не делайте глупостей, как я, например. Вам уже повезло, что вы учитесь на программиста!!
    Ответ написан
    3 комментария
  • Как вы управляете своей базой знаний? Какие инструменты для этого используете?

    @andrew011010
    Front-end разработчик
    Использую такую связку:
    1. Evernote
    2. Xmind
    3. Google Drive (+ Google Docs)
    4. Quizlet
    5. Бумажный блокнот
    6. Закладки браузера

    Evernote
    1. Материалы по категориям. К сожалению, в Evernote ограничена глубина вложенности, есть только Блокноты и Наборы блокнотов, но можно обойтись и этим. Наборы использую для общих категорий (например: Frontend). В рамках каждой категории определяю блокноты-подкатегории (Например, для Frontend: CSS, JS, node.js, Оптимизация, ...). В каждом блокноте выделяю темы, куда собираю ссылки с описаниями. Здесь же можно проводить сравнительный анализ, категоризацию, вести список вопросов, идей для экспериментов/проектов и т.п.
    2. Списки книг, фильмов, вариантов подарков, мест, средне-долгосрочные to-do и тд.
    3. Ежедневник, цели, планы.

    Xmind
    Mindmap здорово помогает описать предметную область, структуру книги, список книг по направлению в разрезе тем и тд.

    Google Drive
    Хранение книг. К проработанным книгам прилагается mindmap и/или конспект (docx или Google Docs). Возможна совместная работа, доступен простой шэринг.

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

    Бумажный блокнот
    Для задач на день, записей и пометок в течение дня. Вечером, то, что необходимо, переносится в Evernote. Можно и сразу в Evernote, но мне так комфортней.

    Закладки браузера
    1. Любимые источники по областям (Web, Новости, Город, Наука, ...)
    2. Папка с подпапками-темами, не требующими глубокого знания, но представляющими интерес (Музыка, Бег, История, ...)
    3. Папка для сохранения интересных материалов в течение недели, которые в конце недели либо перечитываются и удаляются, либо отправляются в хранилище.
    Ответ написан
    Комментировать
  • Как вы храните накопленные знания?

    Использую Microsoft OneNote. Можно создавать отдельные книги, в них разделы, далее по страницам, со всем офисным функционалом - выделение цветом, курсив, ссылки, таблицы и т.п. В панели быстрого запуска - открыл, вставил заметку, закрыл
    Ответ написан
    Комментировать
  • Какую книгу по assembler посоветуете?

    3vi1_0n3
    @3vi1_0n3
    Пильщиков. Книжка достаточно старая, но очень хорошая
    Ответ написан
    Комментировать