• Что почитать для поднятия духа?

    kenny_opennix
    @kenny_opennix
    Может Вам подойдет Адамс Путеводитель по Галактике для автостопщиков, или Дюна.
    Ответ написан
    Комментировать
  • Что почитать для поднятия духа?

    titulusdesiderio
    @titulusdesiderio
    IT-специалист
    насчёт книг — не знаю
    Но совсем недавно посмотрел фильм "Indie Game: The Movie" Там несколько моментов с хардкорным программированием просто за душу взяли. Очень воодушевляющий фильм. Обязательно посмотрите.
    Ответ написан
    2 комментария
  • Что почитать для поднятия духа?

    @gromozeka1980
    Понедельник начинается в субботу :)
    Ответ написан
    2 комментария
  • Предсказание переходов

    В GCC есть расширение для этого. Называется __builtin_expect.

    Пример использования:
    if (__builtin_expect (ptr != NULL, 1))
        foo (*ptr);
    
    Ответ написан
    2 комментария
  • Материалы по алгоритмам и структурам данных

    isxaker
    @isxaker
    Седжвик Р. — Фундаментальные алгоритмы на C++ — 2001
    Много интересного здесь
    Ответ написан
    Комментировать
  • Снаряд не попадает 2 раза в одно место — а как с точки зрения теории вероятности?

    m08pvv
    @m08pvv
    Всю теорию смотреть по словам «эллипс рассеивания», ну а вкратце тут.
    Ответ написан
    Комментировать
  • Чем на сервере пережать видео?

    demimurych
    @demimurych
    вот в два прохода
    битрейт замените на свой
    $1 исходный файл
    $2 целевой
    ffmpeg -y -i "$1" -an -pass 1 -vcodec libx264 -vpre fastfirstpass -b 800K -bt 1600K -threads 4 -s 640x360 $2_360p.mp4
    ffmpeg -y -i "$1" -pass 2 -vcodec libx264 -vpre hq -b 800K -bt 1600K -threads 4 -s 640x360 -acodec libmp3lame -ab 96K -ar '44100' $2_360p.mp4

    в конце неплохо бы метаданные перенести чем нить вроде yamdi
    Ответ написан
    2 комментария
  • [].map и String.prototype.trim

    Лучшим же решением, конечно же, является комбинация предложений от egorinsk и Aingis. Добавлю просто как выкрутится с прототипами:
    function clearTags(str){
        var trim = String.prototype.trim.call.bind(String.prototype.trim);
        return str
            .split(',')
            .map(trim);
    }
    

    Но в данном случае лучше так не делать.
    Ответ написан
    3 комментария
  • Что говорят правила русского языка?

    stasxp
    @stasxp
    А пока можешь погадать, что это. Возможно, так.
    Ответ написан
    3 комментария
  • Использование decltype или…?

    @vScherba
    template< class RandomAccessIterator >
    void sort( RandomAccessIterator first, RandomAccessIterator last )
    {
        sort( first, last, std::less< std::iterator_traits<RandomAccessIterator>::value_type >() );
    }
    
    Ответ написан
    2 комментария
  • Еще раз. Выбор ВУЗа?

    Vurtatoo
    @Vurtatoo
    Lead Software developer
    Даже когда что-то говорят по экономике в новостях, меня это раздражает. Сам не знаю почему так. Ну и еще, в ПИ как раз математики мало. Много меньше чем на МАТМЕХЕ и меньше чем в МФТИ. Я считаю, что для хорошего программиста нужна хорошая математическая база, а лучше, даже отличная.

    1. Было аналогичное отношение к экономике (1 в 1, даже слезу смахнул). За время обучения кардинально изменилось и сейчас второе высшее скорее всего будет экономическим.
    2. Математики у нас зачастую дают пожалуй больше чем нужно. Правда я говорю про факультеты, где ты еще и «математик» на выходе. Для программиста нужна математическая база, но на подобных факультетах готовят скорее ученых, нежели программистов. Сложно объяснить, но это так.
    3. Доп курсы: мне кажется с курсерой и прочим, легче учиться самому. Курсы есть, а вот действительно КРУТОГО препода ты за время обучения встретишь всего пару раз.

    В общем советы. Не гонись за математикой. Куча теоретической математики немного прокачает твои мозги, но по сути ее применения ты можешь так и не найти (в полном объеме). А тот объем в котором ты будешь ее применять будет вызывать у тебя самого смех.
    Лучше параллельно обучиться чему-то, что ты совсем не понимаешь. Например экономике. Поверь, хороший программист + экономист — ценится еще больше. Как в принципе и любые смежные специальности.
    Программирование. Все реально выучить самому. Скажу проще, программирование выучить гораздо проще самому. Поэтому факультеты на которых в основном программирование (и допустим высшая математика одним предметом 2 семестра) тоже не ок. К сожалению у нас почти везде перекос или в сторону математики («Ой, да что там ваше программирование, дома книжку почитаете, вот тервер сдали, это я понимаю!») или программирование (где объясняют суть кучи языков зачастую не самым лучшим образом).

    В целом русское образование хромает сразу в нескольких местах:
    Преподавательский состав.Я видел аспирантов, которые объясняют материал отменно. Я видел профессоров РАН, которых можно применять как снотворное. У нас почему-то преподавать идут в основном за заслуги перед наукой (или желание эти заслуги получить в будущем), своего рода жертва, минимальная зарплата и т.д. Зато статусно. Я проходил много курсов на курсере и том же юдасити и мне реально обидно. Там преподают люди (опять же, насколько я могу судить) у которых талант. А у нас почему-то не понимают, что чтобы быть преподавателем, нужно еще и уметь объяснять. А не просто монотонно читать лекции из книжки (пусть которую ты сам и написал).
    Научный подход. Готовят не специалистов в какой-то области, готовят ученых. Не уверен, что ясно выразился, но возможно ты с этим еще встретишься.
    Слишком широкий профиль. У нас готовят «на все руки мастеров». А это не правильно. В итоге даже после хорошего факультета хорошего вуза, если все что ты делал — усердно учился, ты можешь стать скорее научным сотрудником, чем ценным специалистом в области.
    Слишком сложно / высокий темп на ранних курсах. 15% курса сдает экзамен с первого раза? Треть отчисляется за первый год? Это вполне стандартная ситуация для многих факультет. Вопрос, зачем (или может за что? :) )?

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

    betony
    @betony
    Ответ написан
    Комментировать
  • Что изучать веб-программисту самоучке, кроме самого языка?

    Нужно изучать то, что требуется. Если задались таким вопросом, значит почувствовали, что вот тут что-то делаете не так. Возьмите и загуглите "<язык программирования> как сделать <вещь>". Но при этом не забывайте изучать более полно, а не ограничиваться одной статьей и рваться в бой. Прочитали про технологию, прочитайте еще пару статей. Постарайтесь понять какие минусы и недостатки, как и где эта технология применяется. Как оптимизировать ее. Это и есть база. Плюс этого способа в том, что не требует сразу тратить много времени. По сути, вы будете делать тоже самое, что и сейчас, но более полно, более основательно подходить к изучению. Со временем накопиться тот самый бэкграунд.

    А всякий матанализ скорее всего и не пригодится. Дискретка еще возможно, но тоже редко. Согласитесь, 80% кодинга — рутина :) Если вы не используете этого в работе, то они вам не помогут, а когда столкнетеся с реальной задачей, то, наверняка, сами захотите ее загуглить.

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

    Если хотите самой-самой базы, то возьмите книгу по интересующему языку — это лучший способ. Просмотрите все системные функции (не заучивайте, а просто просмотрите, чтобы представлять возможности языка). У php-программистов частая ошибка — писать свои велосипеды (особенно по обработке массивов), хотя есть очень много нативных функций, которые работают быстрее.
    По алгоритмам — читайте то, что используете. Например, в вебе нужны сортировки, редко что-то сложнее. Поэтому погуглите алгоритмы сортировки.
    Изучать то, что вы не используете полезно, но скучно и быстро забывается.
    Прочитайте про паттерны, хотя инфа о них, как правило, трудно воспринимается, кроме тех, что используете реально. Например, active record для работы с базой. Последнее и будет полезным.
    Для улучшения практического скилла советую читать чужой код и смотреть скринкасты опытных людей. Такие вещи часто богаты мелкими-оптимизациями. А если автор еще и озвучивает ход своих мыслей при проектировании функционала, вообще замечательно. (Именно этим полезны курсы по питону на udacity, например.)

    p.s^ Старайтесь знать все о чем-то и что-то о всем :)
    p.s.s^ длинновато вышло :(
    Ответ написан
    2 комментария
  • Что изучать веб-программисту самоучке, кроме самого языка?

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

    Что касается веба (но применима к любому языку, да и не только)
    Изучили php — посмотрите как оптимизировать. Как закэшировать и тд
    Изучили MySQL — изучите оптимизацию запросов.
    Изучили JS — найдите как более рационально его применить.
    Оптимизируйте сервера, в общем все что только можно.

    Извиняюсь за излишнюю эмоциональность. Просто наболело и надоело видеть кучу тормозного кода.
    Начиная от сайтов заканчивая приложениями.
    Ответ написан
    1 комментарий
  • Javascript module pattern и ошибка jshint. Как починить?

    @egorinsk
    Второй способ лучше (на мой взгляд), так как в нем явно понятно, что вы хотите сделать, а первый поставит незнакомого с ним человека в тупик. Зачем там отрицание? Что автор хотел этим сказать? Согласен с jsHint, это плохо.

    > В интернете пишут что первый способ вроде как более предпочтительный

    Это частное мнение. Я так, например, не считаю.
    Ответ написан
    7 комментариев
  • Где опубликовать IT-статью на английском?

    max_mara
    @max_mara
    На news.ycombinator.com
    Плюс ее сразу же переведут и запостят на хабр :D
    Ответ написан
    Комментировать