Задать вопрос
  • Как писать сайты с адаптивным дизайном?

    Можно, читайте в сторону CSS media queries
    Ответ написан
    Комментировать
  • Что значит i:r, d:r и т.д. в ER-диаграммах в БД?

    @kn0ckn0ck
    Продюсер
    Если словосочетание "правила обеспечения ссылочной целостности" не вызывает отторжения, то это они :)
    D:R - delete restricted
    U:R - update restricted
    ну и т.д.
    Ответ написан
    Комментировать
  • Как в python принять арифметическую операцию как строку?

    @trofimovdev
    Python
    a = raw_input()     # 111+2 (можем не ставить кавычки, python 2 сам преобразует в строку)
    a = input()         # "111+2" (ставим кавычки при вводе)

    В python 2 для ввода строки необходимо ставить кавычки при вводе, либо использовать raw_input().
    В python 3 input() изначально является строкой, поэтому можно использовать его без дополнительных функций.
    Ответ написан
    Комментировать
  • Какой объект object ко мне пришел?

    @KeyJ
    Используйте ключевое слово instanceof

    public MyClass(Object o){
       if (o instanceof Integer) {
          //Действия для Integer
       }
       if (o instanceof Double) {
          //Действия для Double
       }
    }


    Но если вам требуется реализация подобного условия, то, скорее всего, у вас имеется где-то ошибка в архитектуре приложения.
    Ответ написан
    6 комментариев
  • Стоит ли использовать сервер в качестве рабочего ПК?

    Jump
    @Jump
    Системный администратор со стажем.
    Стоит ли использовать сервер в качестве рабочего ПК?
    Это уж вам решать стоит или нет.

    Сильно дешевле, например, сервак: Dell PowerEdge T30 T30-AKHI-001
    При стоимости в 32 000 рублей имеет ОЗУ на 8ГБ и процессор Intel v5 на 3,3ГГЦ.
    Вы шутите? Где вы нашли серверное железо дешевле десктопного? Разве что Б/У.

    Но запустить кейколлектор в 50 потоков, фотошоп или скажем отрендерить видеоролик на таком можно не хуже чем на ПК с такими параметрами?
    Не хуже конечно. Но какие видеоролики и рендеры с 8Гб памяти? Это норма для офисного ПК - ворд, эксель и браузер.
    Ответ написан
    Комментировать
  • Испугает ли заказчика сайт на Django?

    pxz
    @pxz
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    Для клиента чаще всего не важна внутренняя структура проекта, главное, чтобы это было удобно (админка, UI) и выполняло задачи бизнес-логики.
    Ответ написан
  • Можно ли сверстать сайт без psd макета?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Я Вам больше скажу, можно и без картинки. Не вижу в этом проблем. Photoshop - это удобно, но совсем не обязательно.

    Какие инструменты (онлайн сервисы) могут помочь в этом?

    Базово нужен только блокнот, а дальше идут способы облегчить себе жизнь. Их оооооочень много, тут не перечислить.
    Ответ написан
    6 комментариев
  • Как предотвратить спам через форму обратной связи?

    villiwalla
    @villiwalla
    HTML-верстка
    Первое, проверка корректности данных должна быть на клиенте и на севере, а не только на клиенте как у вас.

    Второе, спам может пройти проверку корректности на клиенте и сервере, а поскольку спам машина, ей можно подписать инпут с display: none; и именем типовым типа last_name. Проверяем на клиенте и сервере поле, если заполнено то не отправляем, можно ещё код 200 вернуть для бота, а если и это проходит то тогда капчу Гугла вешайте невидимку или галку на форму.
    Ответ написан
    Комментировать
  • Что лучше WebSockets или socket.io?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    socket.io работает на websocket протоколе.

    бензин или машина, что выбрать? Грубо говоря
    Ответ написан
    4 комментария
  • Разве Composer бесполезен в 2017?

    search
    @search
    мама говорит что я особенный
    Композер - это, пожалуй, лучшее что произошло с пхп 5й версии.
    Валить или переубеждать тимлида - это по сути одно и тоже, если присмотреться. Просто демонстрация вашей неспособности брать на себя ответственность.

    Года 3 назад на моей прошлой работе в команду пришел очень толковый проактивный человек, который никого не стал переубеждать. Он просто стал делать правильные вещи. Без объяснений. И без приглашений. Коммитеть юнит тесты. Подключать линтеры. Деклайнить неудачные пулл-реквесты. В итоге он сам стал тимлидом где-то через год.

    Такие дела.

    Не у всех, правда, стальные яйца. Но за проактивность никогда еще не увольняли. Если вы уже создали пулл реквест, то "переубеждение" становится задачей тимлида.
    Ответ написан
    3 комментария
  • Как пристает налоговая?

    @BorisKorobkov
    Web developer
    Если налоговой все и так ясно - просто начислят налог. Иногда пени и штрафы.

    Если не все ясно - пришлют по почте уведомление с просьбой явиться к ним и объяснить непонятное. Не явитесь или не сможете убедительно доказать свою точку зрения - начислят по-максимуму.

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

    Теоретически налоговая может провести выездную проверку на дому. Например, убедиться, что покупка квартиры у родной тетки - не уход от налогов, а действительно покупка, то есть тетка оттуда съехала, а вы въехали. Постучатся, вежливо попросят. Если их пустите - заглянут и уйдут. Если не пустите - пойдут в суд. Или просто начислят по-максимуму и уже вам придется бегать по судам.

    "Менты стучатся в дверь" - это уже при уголовном деле в "особо крупном размере". Например, при Как перевести большую сумму без ИП?
    Ответ написан
    Комментировать
  • Знатоки протокола TCP/IP нужна ваша помощь (алгоритмы отправки и приема данных)?

    vvpoloskin
    @vvpoloskin Куратор тега Компьютерные сети
    Инженер связи
    Прочитать книжку Таненбаума "Компьютерные сети", раздел "Транспортный уровень", пункт TCP
    Ответ написан
    1 комментарий
  • Есть ли видеокурсы jQuery для более опытных?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Курсы для начинающих - это отличный бизнес для тех, кто не может почитать документацию.
    Не нужно слишком много знаний, чтобы создать базовый курс по чему-либо. И при этом это отлично продается налево и направо. Ну и понятно, что на волне массовых курсов, есть достаточно много подобного в инете бесплатно.

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

    Поэтому есть мнение, что таких курсов нет и вряд ли будет. Максимум - под названием "продвинутые курсы" будут курсы для тех, кто уже один раз jQuery видел, отличаться от курсов для начинающих будут почти ничем.

    Просто случайные видео - можно попробовать поискать js-вблоггеров. К сожалению конкретные ссылки не подскажу.
    Ответ написан
    2 комментария
  • Есть ли видеокурсы jQuery для более опытных?

    @grmnshphrd
    Бери и делай, видеокурсы здесь незачем.
    Ответ написан
    Комментировать
  • Как перестать кодить и начать программировать?

    BuriK666
    @BuriK666
    Компьютерный псих
    Если ваш старый код, для вас выглядит ужасно, то значит вы развиваетесь. Бейте тревогу когда начнете "идеально" писать.
    Ответ написан
    11 комментариев
  • Как и можно ли запустить приложения на телефоне с помощью картинки на сайте?

    @Zbiten
    Для Viber:
    <a href="viber://add?number=79xxxxxxxxxx">
    Для Whatsapp:
    <a href="whatsapp://send?phone=79xxxxxxxxx">
    Ответ написан
    Комментировать
  • Как работают исключения?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Может ли кто нибудь объяснить на низком уровне, пошагово, то как работают исключения в с++?

    Вот описание части Itanium ABI связанной с раскруткой стека:
    https://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html

    ABI процессоров других архитектур устроены в этом месте точно так же.

    Вот подробное описание структур, используемых при раскрутке стека в коде генерируемом gcc:
    www.airs.com/blog/archives/460
    www.airs.com/blog/archives/464

    Документы по ссылкам достаточно сложны для восприятия. Для облегчения понимания можно откомпилировать простой С++ код выбрасывающий и ловящий исключение и найти в нем части описанные в первом документе.
    Например
    void e_destructor();
    void s_destructor();
    
    struct E {
            int code;
    
            E(int c): code(c)
            {
            }
            ~E()
            {
                    e_destructor();
            }
    };
    
    struct S {
            ~S()
            {
                    s_destructor();
            }
    };
    
    void f(int v)
    {
            throw E(v);
    }
    
    int g(void (*p)(int v), int v)
    {
            try {
                    struct S s;
                    p(v);
            } catch(struct E e) {
                    return e.code;
            } catch (int i) {
                    return i;
            } catch (...) {
                    throw;
            }
            return 0;
    }

    после g++ -O2 -S превращается в следующие фрагменты:
    функция f:
    _Z1fi:
    .LFB9:
            .cfi_startproc
            pushq   %rbx
            .cfi_def_cfa_offset 16
            .cfi_offset 3, -16
            movl    %edi, %ebx
            movl    $4, %edi
            call    __cxa_allocate_exception
            movl    $_ZN1ED1Ev, %edx
            movl    %ebx, (%rax)  <---- инициализация E::code
            movl    $_ZTI1E, %esi
            movq    %rax, %rdi
            call    __cxa_throw
            .cfi_endproc

    Здесь видны вызовы __cxa_allocate_exception, конструктора объекта класса E и __cxa_throw
    функция g:
    _Z1gPFviEi:
    .LFB10:
            .cfi_startproc
            .cfi_personality 0x3,__gxx_personality_v0
            .cfi_lsda 0x3,.LLSDA10
            pushq   %rbp
            .cfi_def_cfa_offset 16
            .cfi_offset 6, -16
            pushq   %rbx
            .cfi_def_cfa_offset 24
            .cfi_offset 3, -24
            movq    %rdi, %rax
            movl    %esi, %edi
            subq    $8, %rsp
            .cfi_def_cfa_offset 32
    .LEHB0:
            call    *%rax  <--- вызов функции по указателю
    .LEHE0:
    .LEHB1:
            call    _Z12s_destructorv  <--- вызов деструктора объекта s при нормальном выходе из блока try
    .LEHE1:
            xorl    %eax, %eax
    .L17:
            addq    $8, %rsp
            .cfi_remember_state
            .cfi_def_cfa_offset 24
            popq    %rbx
            .cfi_def_cfa_offset 16
            popq    %rbp
            .cfi_def_cfa_offset 8
            ret

    Хвост с обработчиками исключений:
    .L13:
            .cfi_restore_state
            movq    %rdx, %rbx
            movq    %rax, %rbp
            call    _Z12s_destructorv
            movq    %rbx, %rdx
    .L6:
            cmpq    $1, %rdx
            je      .L8
            cmpq    $2, %rdx
            jne     .L22
            movq    %rbp, %rdi
            call    __cxa_begin_catch
            movl    (%rax), %ebx
            call    __cxa_end_catch
            movl    %ebx, %eax
            jmp     .L17
    .L14:
            movq    %rax, %rbp
            jmp     .L6
    .L22:
            movq    %rbp, %rdi
            call    __cxa_begin_catch
    .LEHB2:
            call    __cxa_rethrow
    .LEHE2:
    .L8:
            movq    %rbp, %rdi
            call    __cxa_get_exception_ptr
            movq    %rbp, %rdi
            movl    (%rax), %ebx
            call    __cxa_begin_catch
    .LEHB3:
            call    _Z12e_destructorv
    .LEHE3:
    .LEHB4:
            call    __cxa_end_catch
    .LEHE4:
            movl    %ebx, %eax
            jmp     .L17
    .L16:
            movq    %rax, %rbx
            call    __cxa_end_catch
            movq    %rbx, %rdi
    .LEHB5:
            call    _Unwind_Resume
    .LEHE5:
    .L15:
            movq    %rax, %rbx
            call    __cxa_end_catch
            movq    %rbx, %rdi
    .LEHB6:
            call    _Unwind_Resume
    .LEHE6:
            .cfi_endproc

    Здесь видны вызовы __cxa_begin_catch и __cxa_end_catch, __cxa_rethrow повторно выбрасывающий пойманное исключение, __cxa_get_exception_ptr и _Unwind_Resume, вызываемый если блок catch не ловит это исключение.

    Дальше идёт структура LSDA описанная в третьем документе.

    Сама раскрутка стека в этом коде отсутствует. Она выполняется следующим кодом libgcc: фаза 1 и фаза 2.
    Ответ написан
    Комментировать
  • Как скоро можно заменить действующию системы криптозащиты?

    gobananas
    @gobananas
    finishhim.ru
    Мировая экономика перестроится РАНЬШЕ чем появятся такие системы, потому что как только будет первый настоящий образец готовый к запуску в серийное производство информация об этом уже просочится куда надо и команды по разработке всех языком программирования быстро добавят в языки функции для защиты нового порядка.
    Миром правят банки и их защита строится в т.ч. на криптографии, никому просто не выгодно что бы выпустили новый компьютер, который внесёт хаос в мировые финансовые системы.
    Так что ответ на ваш вопрос такой: действующая система криптозащиты будет заменена ДО выхода на рынок устройств, способных её сломать.
    Конечно будут слоупоки которые не обновятся, но это так при любых уязвимостях и это уже их проблемы.
    Ответ написан
    2 комментария
  • Нужно ли учиться в школе?

    @SharuPoNemnogu
    не язык плохой, программисты такие...
    Ахах, школа ему мешает...
    Вот будет тебе лет 30, семья, дети, кот дебил, на работе вечный аврал, ипотека, ремонт, качалка.. а развитие никто не отменял, и все равно находишь время.
    Так что не пори чушь, учись в школе и развивайся параллельно.
    Ответ написан
    7 комментариев