• Как найти четвертую вершину квадрата, видимого под углом, зная первые три и длину стороны?

    @gleb_kudr
    Однозначное решение задачи без знания взаимного расположения камеры и плоскости принципиально невозможно. Проиллюстрирую.

    square.png
    Черными метками - известные нам точки, красной - валидные варианты расположения четвертого угла при разных положениях камеры.
    Ответ написан
    Комментировать
  • Создание лицензии для движка, что прочитать?

    Я решил взяться за это дело нормально и подарить миру нормальную cms.

    927_v4.png
    Ответ написан
    5 комментариев
  • Какую cms использует toster.ru?

    Symphony
    @Symphony
    Статический хтмл, вся команда ТМ вручную отлавливают посты, и быстренько создают хтмл-файлы, для поиска подключают чуваков из хабры
    Ответ написан
    Комментировать
  • Какую cms использует toster.ru?

    hell0w0rd
    @hell0w0rd
    Просто разработчик
    joomla
    Ответ написан
    Комментировать
  • Чем заслужил свою популярность Laravel?

    @CAMOKPYT
    Это Rails для тех кто не осилил поставить Ruby, но хочет иметь ЧСВ и продуктивность как у рубистов.
    Ответ написан
    3 комментария
  • Как создать плагин сканирования документов для Chrome или любых других браузеров?

    RUSgrigoryev
    @RUSgrigoryev
    Можно зайти с айфона в браузер и нажать одновременно HOME и блокировку
    Ответ написан
    Комментировать
  • Как побороть боязнь чистого листа?

    Meehalkoff
    @Meehalkoff
    Просто перестань придумывать отговорки и начни уже делать то, что нравится. Соберись, тряпка! Жизнь слишком коротка, чтобы тратить ее на свои страхи и комплексы ;)
    Ответ написан
    Комментировать
  • В чем разница импорта библиотек (import *)?

    ptitca_zu
    @ptitca_zu
    Programmer. Reader. Introvert
    Мне очень понравилось разъяснение, которое давалось в курсе на CodeAcademy, если мне память не изменяет. Там было так.

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

    1. import box
    Принеси мне коробку box, я сам буду брать из нее нужные инструменты

    2. from box import tool
    Принеси мне tool из коробки box, я буду им пользоваться, не залезая в коробку

    3. from box import *
    Принеси мне коробку box и достань из нее все инструменты

    Вообще, в больших проектах лучше использовать 1 (или 2) и стараться избегать 3.
    Ответ написан
    Комментировать
  • Почему не получается сгенерировать Python XML?

    @Vader
    import lxml.etree
    xmlns = "http://www.ixtens.com/xml/mp/override/R1.1"
    xmlns_xsi = "http://www.w3.org/2001/XMLSchema-instance"
    xsi_schemaLocation = "http://www.ixtens.com/xml/mp/override/R1.1 http://support.ixtens.com/mp/R1.1/product/override.xsd"
    NSMAP = {None: xmlns, 'xsi': xmlns_xsi}
    new_feed = lxml.etree.Element('feed', nsmap=NSMAP)
    new_feed = lxml.etree.Element('feed')
    new_feed.set('xmlns', xmlns)
    head = lxml.etree.SubElement(new_feed, 'data')
    new_feed.set('{http://www.w3.org/2001/XMLSchema-instance}schemaLocation', xsi_schemaLocation)
    print(lxml.etree.tostring(new_feed, pretty_print=True, encoding='utf-8', xml_declaration=True))
    Ответ написан
    2 комментария
  • Что нужно для создания нового языка программирования, какие средства и какие языки программирование нужны будут участвовать при создания нового языка?

    tsarevfs
    @tsarevfs
    C++ developer
    Компилятор можно написать на любом языке. Код будет состоять из нескольких модулей.
    1. Лексер - преобразует исходный текст в последовательность токенов.
    a = b + 1; превратит в что-то типа {variable("a"), assign, variable("b"), add, number("1")}
    2. Парсер строится на основе грамматики. Преобразует последовательность токенов в дерево.
    .       assign
          /          \
    var('a')       add
                   /     \
              var('b')   number(1)

    3. Далее обходя полученное дерево генерируем код

    Различные методы расписаны в dragonbook.
    Ответ написан
    3 комментария
  • Перевод кода с python на php?

    @DuD
    $cookies = 'my_cookies.txt'; //путь к файлу с куками
    $url = 'http://site.com/login.php';
    $post = ;//сюда данные POST запроса
    $useragent = 'Opera/9.25 (Windows NT 6.0; U; ru)';
         
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt ($ch, CURLOPT_USERAGENT, $useragent);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    curl_setopt($ch, CURLOPT_COOKIEJAR,  $cookies);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($ch);
    curl_close($ch);
    Ответ написан
    Комментировать
  • Как при заходе на страницу site.com/name отображать содержание страницы name.py из раздела cgi-bin?

    @ruslanbat
    почитай mod_rewrite
    для данной задачи попробуй создать в корне такой файл
    .htaccess
    RewriteEngine on
    RewriteRule ^(.*)$ cgi-bin/$1.py [L,QSA]

    должно открывать по запросу
    site.com/name -> site.com/cgi-bin/name.py
    site.com/test -> site.com/cgi-bin/test.py
    Ответ написан
    Комментировать
  • Как лучше организовать архитектуру онлайн-библиотеки?

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

    1) ядро, хранит базовые сущности (книги, авторов, коллекции, категории, серии, издания, итд) и их связи. Предоставляет такие сервисы как GetBookById, GetListByCategory, GetListByAuthor, GetListByCollection... если проект большой и распределенный к к ядру идут несколько "декораторов" - они подбирают и сериализуют полученные данные в требуемое представление (JSON/XML для предоставления API, объекты разной степени детализованности для внутреннего использования)

    Крутится как правило на стандартных базах, т.к. набор фич ядра довольно примитивен а паттерны доступа простые. Ну а кодит кто на чём горазд. Каждой сущности таблица, связи как правило n-m так что сразу заводите единый реестр XtoY (ну или для каждой пары свой если хотите).

    2) индексатор берёт данные из ядра и генерирует на их основании метаданные (графы, полнотекстовые индексы, prediction индексы, стоплисты итд). Поиск по этим метаданным значительно более эффективный чем выборки их базы на сложных и запросах. Также индексатор позволяет осуществлять быстрый полнотекстовый поиск по описаниям данным и даже внутренностям книг и делать выборки типа "дай мне книги на немецком, изданные между 1920 и 1940 на исторические темы авторами чьё имя начинается на А и которые имеют рейтинг не менее 4 а стоят не более 20 баксов, нго только те у которых в описании есть слово любовь а в тайтле либо ненависть либо смерть".

    тут использ-уют как правило спец демоны типа sphinx/lucene

    3) Фасеточный поисковик собтвенно умеет убращаться к индексаторам и из полученных в прошлом модуле метаданных получать полезные функции типа "какие книги похожи на эту", "какие авторы в разделе наиболее популярны", накладывать фильтры на листинги сущностей итд

    4) Фронт-энд - собственно логика отображения сайта, код состоит по большей части из запросов к ядру и фасеточнику и шаблонизатора который их ответ завернёт в красивый лейаут

    5) CDN - хранилище и система доставки статических файлов. Обложки книг, семплы, сами книги итд. Ресайзилка картинок, управление кешем, защита от скачивания итд итп. На высоконагруженном проекте тут логики может быть довольно много. На маленьком сайте достаточно тупо складывать файлики в папочку ))))

    6) Редакционная система - книги товар с огромным количеством важных метаданных, критичных для юзера (если книги научные), иногда нужна серьёзная система сбора и модификации этих метаданных

    В общем говорить можно долго, если решите всерьёз заняться - пишите. Поделюсь опытом и наработками
    Ответ написан
    Комментировать
  • Почему сайт с простейшими sql запросами "валит" VPS уже при 50 активных посетителей?

    @Masterme
    А я вот раньше ездил на автобусе и за 20 минут доезжал до работы. А неделю назад купил машину, так в ней в пробки попадаю, и едет она медленно. В сервисе сказали, что машина оптимизирована для езды, должно быть всё в порядке. Вот графики моих поездок на машине
    [картинка жпг]
    а вот на автобусе раньше
    [картинка жпг]
    Пожалуйста подскажите, в чём может быть проблема.
    Ответ написан
    2 комментария
  • Как дальше развиваться PHP программисту?

    Напиши свою реализацию языка PHP с блдж и шлхми... =)
    Ответ написан
    Комментировать
  • Какой выбрать монитор для графического дизайна?

    Makin
    @Makin
    Web designer
    Зачем такой большой? Для полиграфии вполне хватает 23-24 дюйма. Вообще посмотрите в сторону HP. У них адекватная цена, более менее честная цветопередача и у некоторых моделей всякие фишки типа вращения монитора на 90 градусов и дока под ноутбуки(иногда удобно).
    Ответ написан
    Комментировать
  • Какие есть библиотеки для работы с сетью?

    alekciy
    @alekciy
    Вёбных дел мастер

    Я использую MultiCurl. Запускаю 100 загрузок, через bash запускается 20 копий скрипта (IPC реализовано через очередь в Redis). 18кссылок отрабатывает за 10 минут (около 30 в секунду). Но скрипт не просто качает, он проводит анализ страницы, перекодирует в требуемую кодировку, строит DOM страницы и через XPath вытягивает нужные данные. При этом каждая копия жрет где-то 50МБ. Схема простая и легко масштабируемая горизонтально.

    Кстати, нужно понимать/разделять процесс скачки страницы и её парсинг. Первое может легко и непринужденно делать wget.

    Сишные либы дадут в принципе один плюс - экономию ОЗУ (т.е. nelis заблуждается). В остальном больше времени уйдет на взаимодействие с сетью и записи данных в базу.

    file_get_contents без задания контекстов использовать категорически нельзя. Ибо 1) это блокируемая функция, 2) не содержит таймаутов.

    Ответ написан
    Комментировать
  • Какие есть библиотеки для работы с сетью?

    EugeneOZ
    @EugeneOZ

    99% времени уйдёт на скачивание контента (5000000 страниц это не хухры мухры). Тут хоть на бейсике писать можно. Ну, конечно, C++ будет быстрее, но в абсолютных величинах, по итогам выполнения этой задачи, это вряд ли будет заметно.

    Ответ написан
    Комментировать
  • Укажите ошибку 2-х дневному программисту?

    brevis
    @brevis

    Т.к. на вопрос уже ответили -- разрешите пошутить старую шутку:

    Подходит 2-х дневный программист к senior'у и показывает неработающую программу: 
    - Подскажите, пожалуйста, где у меня ошибка? 
    - В ДНК, - вздыхает senior. 
    

    (без обид, just for fun)

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