Задать вопрос
  • Как вы смотрите на замену mysql на mongodb?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Судя по всему вы не до конца понимаете для чего они нужны.
    Хотя после опыта с mongodb я тоже не понимаю, для чего она вообще может быть нужна.
    Ответ написан
    Комментировать
  • Как вы смотрите на замену mysql на mongodb?

    afiskon
    @afiskon
    Скорее всего вам это не нужно. Вряд ли у вас миллионы запросов в секунду и скорее всего вам нужны вьюхи и нормальные транзакции, чего вам не даст mongodb. Если на 100% не уверены, что вам для вашей задачи нужна mongodb, это скорее всего потому что она вам нахрен не нужна.
    Ответ написан
    Комментировать
  • Почему arduino не может умножить дальше пятизначного числа?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Потому что int на ней -- 16-битный, и может принимать только значения от -32768 до 32767. Замени int на long, а 1000 * 100 на 1000l * 100l и будет тебе (временное) счастье.
    Ответ написан
    Комментировать
  • Позволяет ли лицензия GNU GPL v2, под которой идет Git, создать и пользоваться собственной системой контроля версии в организации?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Основные положения GPL V2:
    - предоставляешь пользователю бинарник - предоставь исходный код или письменное обязательство предоставить его по первому требованию;
    - берёшь исходный код, выпущенный под GPL и используешь его в своих продуктах - лицензия конечного продукта должна быть GPL;
    - нельзя передавать продукт пользователю, который не сможет по каким-либо юридическим (судебное постановление, местные законы) причинам распространять его дальше под той же лицензией.

    Лицензия Apache 2.0:
    - продукт может распространяться без исходных кодов;
    - требуется обязательное указание использования открытого кода с перечислением использованных продуктов (библиотек, движков...).
    - в использованных продуктах запрещается менять название и исключать информацию о копирайтах и/или патентах.
    Ответ написан
    Комментировать
  • Как решить интеграл с прямой вертикальной линией?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Это решение по формуле Ньютона-Лейбница.
    opredelennye_integraly_primery_reshenij_
    Вертикальная черта не несет какого-либо смысла, и есть ни что иное, как отчеркивание. За чертой стоят верхний и нижний пределы интегрирования.
    Ответ написан
    Комментировать
  • Заработать на программировании

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Тебе намного выгодней вкладывать силы в обучение. Скажем, если научишься побеждать в олимпиадах, то вполне реально поступить в хороший вуз в Москве или Питере, первые пару курсов жить на стипендию, а потом пойти работать в Яндекс или еще куда нибудь.
    читайте:
    Т. Кормен "Алгоритмы построение и анализ" (За лето первые 100 страниц - уже здорово)
    Тренируйтесь:
    acmp.ru/
    Пишите для себя: почему бы не решать домашние задания по алгебре на python
    Подумайте о том, чтобы провести следующее лето в ЛКШ
    Ответ написан
    2 комментария
  • Какие формы товарищества, кроме ИП и ООО, подходят для IT? НКО?

    lsoul
    @lsoul
    Неожиданно - юрист
    Вы очень сильно не понимаете те слова, о которых говорите.
    Некоммерческая организация для Вас вообще не вариант.Это совершенно другая тема для других дел и вещей. Вы же бизнес делаете, а не детям в приютах условия улучшаете.
    Слово Товарищество вы вообще не к месту употребляете - товарищества давно никто не создает кроме собственников жилья и дачников.Это не вариант ведения бизнеса.
    Из вариантов - оставить ИП или зарегистрировать ООО.
    Ответ написан
    2 комментария
  • Какую выбрать IDE для linux с большой поддержкой языков?

    @FoxInSox
    Intellij
    Ответ написан
    Комментировать
  • Выполнение скрипта раз в 5 секунд Linux

    @starosta6123
    Вспомнил:
    # watch --interval=5 /var/filter.sh

    еще полезное применение watch
    nsk.lug.ru/poleznye-sovety/poleznye-sovety-komanda...
    www.opennet.ru/man.shtml?topic=watch&category=1&ru...

    Можно вывод направить в /dev/null
    # watch --interval=5 /var/filter.sh > /dev/null

    Не совсем подходит под вашу цель, но возьмите на заметку.
    Запускает с интервалом в 5 секунд ваш скрипт.
    Единственное учтите, если ваш скрипт не будет успевать выполниться за пять секунд, то может быть эффект "лавинного рождения новых процессов". Особенно может возникнуть, если скрипт использует блокировки.

    А со sleep очень просто ru.wikipedia.org/wiki/Sleep

    /var/filter.sh
    #!/bin/sh
    echo "Начинаем..."
    while (true) 
    do
     echo "Ваш скрипт";
     sleep 5; # пауза 5 секунд
    done;
    Ответ написан
    1 комментарий
  • Как назвать агентство - вебстудия, Digital, интерактивное?

    @ifaceman
    Здравствуйте!

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

    Называть агентство стоит исходя из его целей агентства, а также из соображений эффективности:

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

    *Кроме того, задайте вопрос тому, кто ведет переговоры с потенциальными клиентами: "Как ты сможешь наиболее уверенно нас назвать, чтобы ты сам всей душой верил в это и продажа состоялась?"

    *Если хотите еще более глубоко понять суть проблемы, составьте таблицу с агентствами, их названиями, спектром, услуг, клиентами и, самое главное, успешностью. Станет все более понятно.
    Сделаете все 3 - больше вопросов не возникнет.

    По личному опыту скажу, что у нас малый и средний бизнес как раз лучше воспринимает digital агентства, а слово интерактивный вызывает смешанные ассоциации.
    Ответ написан
    4 комментария
  • Как назвать агентство - вебстудия, Digital, интерактивное?

    @ChemAli
    Нам бы ваши проблемы.
    Ответ написан
    Комментировать
  • Каков диапазон заработков веб-дизайнеров на odesk и elance?

    Ivnika
    @Ivnika
    "НовЕчкам" там делать нечего. И очень хороший совет- не считайте деньги в чужих карманах :), думайте как наполнить свой.
    Ответ написан
    Комментировать
  • Как узнать, является ли число иррациональным?

    Иррациональное число может быть представлено в виде бесконечной непериодической десятичной дроби.

    В компьютере ВСЕ числа конечны. Сколько бы большой размер числа мы не ставили, он будет конечен. А значит, что все числа в компьютере рациональны. Да, они могут быть приближены с какой-то точностью с какому-то иррациональному числу, но не более.
    Ответ написан
    Комментировать
  • Как на erlang прочитать file.txt в массив, а потом записать массив в файл?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Прочитать примерно так:
    read_file_by_lines(Name, Mode, Array) ->
        {ok, Device} = file:open(Name, Mode),
        read_each_line(Device, []).
    
    read_each_line(Device, Accum) ->
        case io:get_line(Device, "") of
            eof  -> file:close(Device), array:from_list(lists:reverse(Accum));
            Line -> read_each_line(Device, [Line | Accum])
        end.

    Записать можно так:
    write_file_by_lines(Name, Mode, Array) ->
        {ok, Device} = file:open(Name, Mode),
        lists:foreach(
            fun(Line) -> io:write(Device, Line)
            end, 
            array:to_list(Array)),
         file:close(Device).
    Ответ написан
  • Как (чем) парсить огромный JSON-файл?

    К счастью существует отличная библиотека для парсинга больших JSON файлов: https://github.com/kuma-giyomu/JSONParser

    Вот еще одна:
    https://github.com/salsify/jsonstreamingparser
    Ответ написан
    Комментировать
  • Кто что думает о перфекционизме в работе?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    В общем, нужно знать меру


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

    buttersmai
    @buttersmai
    Юридически, на мой взгляд, вы описали теневой бизнес. Легально может что-то продавать из интернет-магазина либо ИП, либо ООО(и прочие организации). Если физическое лицо совершает действия, направленные на систематическое получение прибыли, то это смахивает на незаконное предпринимательство.

    Про подводные камни:
    1. Команда существует лишь на договоренности(но не юридически). Соответственно, неясно, к кому на работу(в юридическом смысле) вы нанимаетесь(если уж все являются физ. лицами).
    2. Опять же, ваши 15% с дохода можно интерпретировать как угодно. Это могут быть 15% с дохода, или 15% с "доход-расходы", и так далее.
    3. Вы бы, помимо процента, попросили еще и некий фикс за работу(либо фикс в месяц, либо фикс в час). Понимаете, продажи в электронной коммерции зависят от многих факторов. В упрощенном варианте это (трафик)*(конверсия). То есть, количество посетителей помноженное на процент купивших товар. Первый параметр зависит от SEOшников и/или людей, настраивающих контекстную рекламу, и прочих. Второй зависит от дизайнера, веб-аналитиков, цены на товар. Кратко: на ваши 15% от продаж вам, как серверному программисту, очень сложно повлиять. Если вышеупомянутые специалисты будут не очень компетентны, вы можете получить 15% от нуля, потратив силы впустую.
    Ответ написан
    Комментировать
  • Вы в браузере набрали адрес сайта, нажали Enter. Расскажите максимально подробно о технических процессах происходящих далее?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Действительно, уважаемый. Это слишком. Вряд ли я затрону все тонкости, но попробую наметить примерный путь:

    0) Пользователь вбивает в адресную строку браузера адрес сайта (нажимая клавиши на клавиатуре, которые замыкают определённую дорожку в матрице, по которой происходит определение нажатой клавиши, что через шину USB в какой-то момент передастся OS, где это поймает HID-драйвер и вызовет определённое прерывание, что OS передаст как событие/или_ещё_как в программу, которая вызовет соотвествующую функцию из API менеджера окон, которая изменит содержимое строки и в результате когда-то будет перерисован UI-элемент, а если нажат был Enter, то начнётся следующее).
    1) Браузер вытащит из input'а строку с запросом и посмотрит, похоже ли это на адрес. Если да, то добавит недостающие уточнения (например, http или file протокол, порт и подобные довольно стандартные вещи). Если нет - то скорее всего создаст запрос в поисковую систему, установленную по умолчанию (я более не буду опускаться до таких бессмысленных деталей, как вызовы API-функций, иначе я буду набирать это сообщение ОЧЕНЬ долго). В любом случае на выходе мы по сути получим URL, который надо загрузить. Протокол file:// мы рассматривать не будем, ftp далеко не везде есть, https:// на не хватит вечности, так что остановимся на http, который по сути есть tcp/ip по умолчанию на 80 порту с определённым форматом общения.
    2) Окей, url есть. Теперь нам нужен адрес, к которому обращаться. Так как http это tcp/ip - нам нужен ip адрес. Здесь нам помогают dns-сервера. Обычно, нормальный провайдер устанавливает у себя кэш-сервера dns, которые не обращаются по стопицот раз за vk.com к ответственному серверу com-зоны. Давайте не будем отвлекаться на то, как происходит там общение, если что - вот (вики тем хороша, что часто содержит внизу релевантные ссылки). Скажу лишь то, что на выходе мы получаем ip адрес(а).
    3) Имея адрес мы можем запросить страницу. Собственно, всё что после первого слэша - это как-бы параметры для http-сервера: какую именно страницу запрашивать, он всё же не телепат. Конечно, можно было бы немного схитрить и отправить читать про tcp/ip, но ведь существует и shared-hosting. Ограничемся лишь его упоминанием. Собственно, по полученному адресу отправляется GET запрос, который и обрабатывает сервер, находящийся по полученному IP-адресу.
    4) Сервер же, получив адрес, начинает распарсивать строку, медленно вытягивая нужные данные из баз-данных и настроек, выполняются сотни скриптов, иногда делается ещё не одна сотня различных запросов на другие сервера (здесь и разного вида метрики и разного вида HADOOP и т.д.). Пройдя сквозь скрипты и темплейторы в самом конце мы получаем html-страницу, готовую к употреблению. Её-то сервер и отправит в ответе (после заголовков, конечно).
    5) Вот и началось самое интересное. Получив html страницу браузер начинает жутко надругаться над CPU, HDD и GPU, попутно сжирая тонны RAM и мусоря в swap. Виной всему нереальные для полного соблюдения стандарты от небезызвестной w3c.org. Для облегчения многие делают костыли, вроде webkit, а некоторые и вовсе забивают на него и пилят свой стандарт с преферансом и картёжницами (впрочем, в последнее время становиться лучше). Здесь снова начинаются сотни вызовов API ОС, windows manager'а и прочих библиотек, вроде boost, qt или libpng. В ходе работы в RAM строится макет, по которому потом строится нечто вроде PDF (тоже сильно векторный), что, потом, обрабатываясь быстрыми шейдерами на GPU, выдаётся на экран. Опять же, многое пропущено, но вряд ли кому-либо, кроме парня в свитере с оленями, действительно интересно, как работает GDI, DirectX или OpenGL.
    6) Ах да, мы же забыли про тысячи js-скриптов, миллионы картинок и анимации с котиками, а также о таких дополнительных плюшках, как flash-player или java-weblets. В кратце, что js, то и flash и java - это виртуалка, со специальной архитектурой. Они, виртуалки, конечно разные (хотя flash и js довольно похожи, ещё бы - ECMAScript один и тот же). JS - самый интегрированный внутрь браузера, он же и самый медленный чисто визуально (ибо последние два имеют доступ к быстрому GPU), хотя самый быстрый в попугаях. Второй постепенно вымирает и представляет из себя, так же как и третий специальную shared-библиотеку, о которой браузер как-нибудь узнал и которой скармливает специальное содержимое помечанное специальным тегом html. Третий уже почти умер и встречается лишь изредка или в каком-нибудь энтерпрайзед со страшным legacy-базой. Ну здесь из сылок разве только гугл. Ибо сколько всего - даже не сообразишь. Да и вообще, эта тема ещё скучнее GDI, DirectX и OpenGL и к свитеру с оленями требуются ещё очки с толстенными стёклами, дающие стопицот к терпению и задроству над матаном. Если в кратце, то в случае JS, всё что было загружено в память и не думает выгружаться и формирует этакое дерево - DOM, над которым с помощью специального API и происходят модификации. При этом, перед тем как исполниться, весь JS-код компилируется, в нативный для VM байт-код. То же самое в общем-то и со вторым и третьим, разве только они не имеют доступа к DOM и организовать его - дело тех ещё костылей. Ах да, забыл ещё про Silverlight (или как оно там пишется), который сдох, не успев родиться. Так же как и Java, жив в серьёзном энтерпрайзе, не поскупившийся не "дешёвую" поддержку MS.
    7) Ну... А дальше пользователь нажимает на нужную гиперссылку и всё по новой.

    За кадром остались такие костыли, как ajax, websockets и прочая асинхронная ересь. С ней всё в миллионы раз сложнее. И к очкам со свитером потребуется ещё и... а чёрт их знает, что они там ещё носят. Ну да ладно, я искренне завидую тем парням (и девушкам), которые разбираются во всей этой машине. Целиком. Ибо это лишь верхушка айсберга. Разбавленная не лучшей памятью и ужасным гуглом.

    P.S. Не бейте сильно за грамматические и синтаксические ошибки. Спеллчекер приказал долго жить, да и 5 утра как никак.

    UPDATE
    На хабр выложили неплохой перевод дающий некоторое представление, как браузер ругается над памятью и процессором. Хотя и весьма поверхностное, автор оригинала в общем-то не плох.

    Крутая пикча с простов интернетов:

    6785e19051e1e423345487.jpeg
    Ответ написан
    26 комментариев
  • Какими условными операторами лучше воспользоваться если функция имеет 2 определенных сценария и третий сценарий по умолчанию?

    shineblu
    @shineblu
    Добрый день,

    +1 за switch-case, т.к. мало ли какие-новые параметры/типы книг Вы захотите добавить

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