• В нашей стране проводят научные исследования в IT? И возможно ли туда попасть?

    Foror
    @Foror
    Графоман
    Заходите вот сюда https://github.com Находите, например, https://github.com/cloudius-systems/osv Переходите сюда https://github.com/cloudius-systems/osv/commits/v0.01 листаете до сюда https://github.com/cloudius-systems/osv/commits/v0... - открываете сырцы последовательно коммитам и пытаетесь въехать, что парни мутят. Года через 2, когда разберетесь, можете начинать заниматься научными исследованиями. Иначе, и без вас велосипедостроителей хватает.
    Ответ написан
    Комментировать
  • Какой выбрать фреймворк для высоконагруженного Python web-приложения?

    maxaon
    @maxaon
    nichol.as/benchmark-of-python-web-servers
    Gevent если надо очень шуструю работу. Django если надо быстро разработать.
    И 10 раз подумайте перед тем как использовать MongoDB.
    Ответ написан
    1 комментарий
  • Python - как в namespace функции распаковать переменные?

    Вот здесь: stackoverflow.com/questions/8028708/dynamically-set-local-variable-in-python указывается, что locals менять нельзя. Кроме некоторых извращённых случаев, которые работают далеко не всегда.

    Как я понимаю, у Вас есть словарь, притом довольно небольшой, и Вы хотите распаковать его в локальные переменные. Но зачем? Почему бы не обращаться просто к словарю? mydict['myname'] не намного длинней, чем myname.

    В принципе, можно использовать OrderedDict для того, чтоб гарантировать порядок значений, и зная этот порядок, написать что-то вроде

    myvar1, myvar2 = mydict.values()

    Но нужно ли. Потом разбираться в случае появления багов, откуда и что взялось. Explicit is better than implicit.
    Ответ написан
    Комментировать
  • Как подключить adblock к своему сайту (не браузеру)?

    mlnkv
    @mlnkv
    JavaScript Developer
    пользоваться платным хостингом - самый лучший выход)
    Ответ написан
    1 комментарий
  • Где еще кроме веба используется Python?

    sevka_fedoroff
    @sevka_fedoroff
    Не знаю как в мире, но я использую для:
    1. Консольные утилиты. То, что раньше писал на bash и php, теперь пишу на Питоне.
    2. Плагины для некоторых программ (например Nautilus)
    3. Самые настоящие десктоп приложения с GUI на GTK

    Я пользуюсь Ubuntu, а здесь половина системы на Питоне написана.

    А вот в вебе я Питон толком и не пробовал. Ну только поковырял Django немного через их тестовый сервер. Даже не знаю, как написать hello world, чтобы оно через Apache работало.
    Ответ написан
    Комментировать
  • Golang и highload

    EugeneOZ
    @EugeneOZ

    Недавно Cloudflare писали статью о том, как они попробовали Go и теперь всё переписывают на нём. Отличный пример highload. А также Iron.io и Disqus.

    1. Мгновенная компиляция, хорошая производительность, удобная параллелизация процессов.

    3. Динамично развивающийся язык, уровень вхождения сопоставим со скриптовыми языками, всё больше проектов из highload его хвалят.

    Ответ написан
    Комментировать
  • Странное поведение массивов в Си

    @mickvav
    Programmer, system and network administrator
    Тут, видимо, фокус в том, что вы создали константный массив при инициализации. Что-то мне подсказывает, что такое поведение (адрес указателя равен адресу самого массива) характерно именно для такой ситуации-компилятор решает, что раз массив-константа в стеке, зачем под ее адрес отдельную память выделять? Там же на стадии компиляции все известно… Но скорее всего данное поведение-compiler-specific example of bad code ;)
    Ответ написан
    2 комментария
  • Как научиться Test Driven Development вместо Test First Development?

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

    Материалы я думаю вы без труда найдете — их завались по этой теме.
    На мой взгляд самое главное следующее — для TDD требуется особый подход к мышлению во время написания кода. И именно этот подход делает его эффективным. Заключается он в том, что вы не пытаетесь полностью выстроить в голове работающий метод, который создаете. Вместо этого вы выделяете отдельные бизнес составляющие метода — и создаете их поэтапно.

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

    Например вы делаете метод который вычисляет корень из числа… Напишите простой тест подавая туда число 4 и ожидая что на выходе будет 2. Далее имплеминтируете функционал добиваясь чтобы тест прошел.
    Но ничего лишнего там писать не стоит. Потом пишите следующий тест например на реакцию на отрицательные значение — далее имплементируете функционал. И так далее.

    То есть это метод мышления. Самому к этому прийти не получится — самый лучший вариант — нанять человека который уже это умеет и научится сидя с ним в паре. Если это не возможно — попытайтесь понять стиль такого кодирования использую пособия на реальных ситуациях вроде этого.

    Вот тут описаны проблемы при использовании подхода.

    TDD — это не метод тестирования — а метод разработки. Он требует архитектурной готовности системы.
    При тестировании модуля (например метода или класса) обязательно избавьтесь от всех внешних зависимостей путем мокирования.
    Лучше ввести это как жесткое правило — потому, что оставлять такие зависимости можно только в редких случаях и когда вы уже прошарены в теме и что называется знаете — где правила можно нарушать.

    Не ленитесь разрабатывать по шаблону — соблюдая мельчайшие и даже самые странные правила — даже если вы видите потерю эффективности — и со временем вы научитесь применять данный инструмент.
    Ответ написан
    1 комментарий
  • Алгоритмы и Программирование?

    un1t
    @un1t
    Да все нормально, просто опыта не хватает, алгоритмы тут не причем. Нужно больше практики. И чужой код смотреть полезно.
    Ответ написан
    Комментировать
  • Кто использует GO в продакшене?

    Lerg
    @Lerg
    Defold, Corona, Lua, GameDev
    Можете смело делать на GO. Если будут вопросы есть форумы и irc канал #go-nuts.
    Сам использую его в качестве сборщика статистики с приложений, нагрузка маленькая, но писать было не сложно и работает стабильно.
    На хабре была статья, где описывался крупный проект с бэкендом на GO, не помню какая именно.
    Ответ написан
    1 комментарий
  • Си в качестве «первого» языка

    Fastto
    @Fastto
    Начинай сразу с objective-C, с реального приложения. Нет ничего хуже, чем отсутствие заинтересованности, даже если сейчас чешется, удержать это ощущение на долго не получится, а живой проект будет отличным мотиватором.
    Язык — это лишь способ реализации определенных задач, если цель твоя iOS — просто глупо начинать с C. Я лично не вижу ни одного «за». А глубокие материи ты и на С все равно так вот сразу не познаешь, все прийдет с опытом.

    Из литературы посоветую — Фаулер «Рефакторинг. Улучшение существующего кода.» — поможет сразу писать код более правильно и ускорить процесс «вникания в высшие матери»
    Ответ написан
    3 комментария
  • Как можно повысить мозговую активность?

    gene4000
    @gene4000
    Сахар при интенсивной работе. И тренировки.

    Глицин вообще плацебо, фено-чего-нибудь подходит, если есть нарушения физиологического плана.

    Есть лекарства, которые вводятся внутремышечно или внутривенно. Требуется курс лечения. Результата ощутимого «я стал лучше запомнить» не будет. Просто улучшение работы мозга, которые нельзя заметить.

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

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Настоящий программист должен знать достаточно, чтобы пройти собеседование ;) Шучу, конечно. С такого вопроса начинаются священные войны. «Что должен знать программист?» Да ещё и настоящий?



    Предлагаю зайти с другой стороны — а чего не должен знать настоящий программист? Эйншейн играл на скрипке (хотя я и не слышал) и хоть это и не относилось к физике, но и не помешало ему стать известным. Думаю, что ответ на вопрос надо искать не в перечислении знаний, относящихся к программированию. Так сказать ответ на вопрос лежит не здесь и не сейчас. В любой работе важно терпение и труд. И не только в профильной области. Готовься к тому, что надо будет работать по 12-14-16 часов в сутки возможно и не один год. Почти на износ, пока «догонишь» острие прогресса и поймёшь смысл поговорки «нужно очень быстро бежать, чтобы оставаться на месте, но чтобы двигаться вперёд надо бежать ещё быстрее». Пройдёт некоторое время и ответ на этот вопрос тебе не понадобиться, т.к. настоящие программисты, а точнее профессионалы, уже ответили себе на этот вопрос ;) Удачи.
    Ответ написан
    Комментировать
  • Что должен знать настоящий программист?

    Zorkus
    @Zorkus
    Добавлю к перечисленному — еще настоящий программист должен (ящитаю) знать хотя бы основные структуры данных (массив, связный список, стек, очередь, деревья, графы) и алгоритмы, все это не привязываясь к конкретному языку. А так же понимать хотя бы минимально понятие ассимптотической сложности (О-большое) по времени и по памяти.

    Без этого трудно писать не-быдлокод.
    Ответ написан
    Комментировать
  • Математика для программиста

    Termos
    @Termos
    Азы линейной алгебры, дискретную логику, и аналитическую геометрию знать обязаны

    Из постоянно нужного: статистика (на хорошем углублённом уровне), численные методы.

    Это подъёмно изучить за 1-2 месяца. А далее сами разберётесь — по необходимости

    Если вы в ладах с матаном — учите оценку сложности алгоритмов. Это настоящий третий глаз для программиста. Если с матаном не в ладах — учите матан :)

    Специальные теории вроде теории графов, теории алгоритмов или нейронных сетей — не так эффективны при изучении без знаний математики

    А для программирования — учите программирование.
    Ответ написан
    Комментировать
  • Математика для программиста

    @Neir0
    >для программиста это непростительно
    Небольшой оффтоп. Для 90% программистов уровня 9 класса с головой хватает. Предвижу возгласы представителей илиты, дескать, математику нужно учить если не хочешь быть кодирующей обезьянкой блаблабла. Тема «нужна ли математика программисту» дискуссионная, можно за копейки использовать хардкорную математику в каком-нибудь нии, а можно выполнять скучную, сильно абстрактную работу квонта за зарплату в 2 раза выше рынка, в общем математика как самоцель не очень хорошо ИМХО.
    Ответ написан
    5 комментариев
  • Каков список базовых книг по математике?

    думаю, что книга Грэхэма и Кнута «Конкретная математика.» — именно то что вам нужно.
    Ответ написан
    1 комментарий
  • Каков список базовых книг по математике?

    @Adamax
    Посмотрите в сторону Курант, Робинс «Что такое математика?»
    Ответ написан
    1 комментарий