• Разработчик языка программирования создает только стандарт?

    Язык ведь определяет его транслятор?

    Вообще, это плохо. Конечно, у некоторых языков есть популярные стандартные реализации, на которые все равняются и которые как бы задают стандарт языка де-факто, но записанный стандарт всегда лучше стандарта-по-реализации. Потому что всегда есть, куда посмотреть, и бага реализации не превратится в фичу языка: почитайте про typeof null === 'object' в Джаваскрипте, это отличный пример, когда в стандарте языка закрепилась бага реализации.

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

    Когда говорят, что Страуструп создал ЯП, это значит он создал стандарт и рекомендации для компилятора или еще и сам компилятор?

    Точного определения понятия "создать язык программирования" мне не известно. Те же плюсы сначала были Си с классами, и классы, ЕМНИП, были реализованы с помощью макросов. Можно уже тогда было сказать, что был создан C++ или еще нет? А может, C++ был создан когда была написана первая программа на нём? Или когда был разработан первый стандарт? Поэтому лучше говорить конкретно - "была создана формальная спецификация языка" или "была создана первая реализация".

    Для некоторых эзотерических языков (например, Malborge), первые программы были написаны гораздо позже создания самого языка, причём в автоматическом режиме. Это конечно извращенный пример, но он (как и сам вышеупомянутый язык) показывает относительность понятия "создание языка".
    Ответ написан
    9 комментариев
  • Работа за границей без опыта?

    opium
    @opium
    Просто люблю качественно работать
    как то вы не правильно зашли , в первую очередь надо выучить два языка, это арабский и английский, а работа уж дело наживное.
    Ответ написан
  • Работа за границей без опыта?

    sim3x
    @sim3x
    За два года есть шанс получить 2 года ОР и иметь шансы устроится на работу за рубежем
    Ответ написан
    8 комментариев
  • Какие подходы, методологии, технологии нужно знать, чтобы обеспечить безопасность на сайте?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Ответ написан
    Комментировать
  • Phpstorm одиночный комментарий сначала строки?

    0neS
    @0neS
    stackoverflow.com/questions/19417962/how-to-set-th...

    For "Ctrl+/" line commenting it is in "Settings->Code Style->PHP->Other->Code Commeting->Line comment at first column".
    Ответ написан
    Комментировать
  • Как правильно работать с gulp+git если я верстаю, а другой человек натягивает на wordpress?

    Уже отвечал на подобный вопрос, но про Битрикс, а найти не могу. Расскажу как делаем мы.

    Вот структура:
    011d11b1ba03470b865d8d5cd94ba8d7.png
    Как видите сам wordpress в репозитории не хранится, (как и плагины, которые из списка зависимостей ставятся на новой машине в пару кликов).

    Верстка лежит в src (используется scss и jade) и собирается в папку static - из которой вся статика подключается и в вордпрессе. HTML файлы собираются в папку _v.

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

    Если нужно добавить новую страницу - верстальщик верстает в jade, потом программист сольёт его изменения, соберет проект, возьмет из папки _v нужный шаблон и натянет его на wp.

    Очень сильно стараемся изменения в шаблонах переносить в исходники верстки, т.е. сохранять её актуальное состояние на протяжении всего проекта.

    UPD: Про ветки. Всегда есть master и markup (верстка) + могут быть ветки отдельных программистов / фич и т.д. В мастер изменения сливает только тимлид/техлид/самый-главный-программист.
    Ответ написан
    Комментировать
  • А что я могу сегодня сделать с ipv6?

    GavriKos
    @GavriKos
    Да ровно то же самое, что и IPv4 - он вам даст сетевой адрес. И все.
    Ответ написан
    1 комментарий
  • Как поднять себе зарплату?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Аргументы никому не нужны. Все зависит от того готов ли работодатель платить больше, насколько дорого ему обойдется Ваша замена, может ли он в принципе найти Вам замену на такую зп?
    Поэтому надо просто сказать, что ожидаете прибавки, заранее продумав сумму, добавьте к ней % и согласитесь на меньше. Если работодатель не готов, меняйте работу. Предварительно убедившись, что есть альтернативная работа на устраивающую Вас ЗП.
    Ответ написан
    Комментировать
  • На сколько безопасна защита "админки" сайта через http basic auth?

    kursorik2
    @kursorik2
    Junior-Developer
    Самый простой способ защиты для параноиков: после каждого успешного входа в админку, ренеймится ее папка а на странице высвечивается новый адрес для будущего входа вида:
    site.ru/h5fdurgi5dvbgersfhgrc73ghi6d3b6s/admin.php

    Proof of concept: [PHP]

    Размещаем в файле %admin%.php (в самом верху после <?):

    $admin = "%admin%"; // название главного файла админ-панели
    $keyprint = file_get_contents('secretfile.txt'); // получаем значение отпечатка ключа (с БД или файла)
    if(file_exists(trim($keyprint))) {
    $md5_hsh = md5(rand(10000,99990)); // генерируем новый ключ
    rename(trim($keyprint),$md5_hsh); // Переименовывание старой админки
    file_put_contents('secretfile.txt', $md5_hsh); // перезаписываем файл или значение в БД с новым ключом
    $result = "http://site.ru/'.$md5_hsh.'/'.$admin.'.php"; // выводим адрес будущей админки
    } else {
    $result = 'Директория не существует, что-то пошло не так.';
    }


    В любом удобном месте HTML кода в Админ-панели, размещаем ссылку:

    <input type="text" value="<?=$result?>" style="width: 100%;" name="admin_patch">
    Ответ написан
    1 комментарий
  • Запретить индексацию поддоменов городов для робота Google?

    1. Если ваша цель, чтобы "Яндекс" индексировал поддомены для разных регионов, а Google основной сайт, то всё сделано верно. В принципе, такое решение разумно, хотя есть ньюансы: нужно заставить "Яндекс" индексировать все поддомены, а сделать это может быть непросто, если сайт большой (например, интернет-магазин с большим ассортиментом).

    2. По поводу "конкуренты могут пожаловаться на аффилированность" - это чушь. Поддомены изначально аффилированы, но этого не нужно бояться: "Яндекс" будет ранжировать наиболее релевантный домен/поддомен. Если вы заставите его корректно проиндексировать все поддомены, проблем не будет.
    Ответ написан
    Комментировать
  • На сколько безопасна защита "админки" сайта через http basic auth?

    alsopub
    @alsopub
    Предложу в дополнение к basic auth добавить сложный для подбора url админки типа /admin747362943/
    Остальное уже написали - обязательно https, с редиректом http -> https, чтобы случайно по http не зайти.
    Вроде скандалов с basic auth не было, возможно потому что его глубоко никто не копал :)

    В качестве дополнительных мер можно предложить что-то типа port knocking, то есть админка пустит только с того ip, с которого предварительно будет открыт специальный url или послан определенный пакет на специальный порт.
    Ответ написан
    3 комментария
  • На сколько безопасна защита "админки" сайта через http basic auth?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    сертификат ставь, и логинящемуся тоже , с паролем, такое MiTM не перехватит
    Ответ написан
    Комментировать
  • На сколько безопасна защита "админки" сайта через http basic auth?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    От mitm правильно настроенный https спасет.

    От локально висящего трояна, желающего украсть логин с паролем - нет.
    Ответ написан
    Комментировать
  • На сколько безопасна защита "админки" сайта через http basic auth?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Есть какие-то известные дыры/подводные камни?
    MiTM
    Ответ написан
    7 комментариев
  • Как выполнить анимацию последовательно?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    1. Добавить идентификатор выполнения, убирать после выполнения, проверять перед выполнением нет ли на другой кнопке идентификатора (например класс iwork)
    2. Можно при начале работы одной логики, сразу ставить на ряд кнопок disabled, после выполнения убирать.
    Ответ написан
    Комментировать
  • На сколько безопасна защита "админки" сайта через http basic auth?

    gbg
    @gbg Куратор тега Системное администрирование
    Любые ответы на любые вопросы
    На 0 ровно. Basic (Васик, ага) передает логин-пароль в голом виде в HTTP заголовке при каждом запросе.
    Ответ написан
    6 комментариев
  • Delphi в 2016 году изучаем в колледже, есть смысл?

    @cijiw
    Что бы вам ни давали - это не имеет четкого практического смысла.
    Точно такой же вопрос ты мог бы задать, если бы вам давали Ангуляр (он не всем будет на практике нужен) или С++ (который тоже мало кому нужен).

    То, с чем приходится сталкиваться в работе - это совсем другое.
    Вам дают просто расширение кругозора, понятие - а где копать самому.

    Учишься всегда сам.
    Учат - только широкому кругозору.

    Есть исключение - недельные или месячные курсы - там дают только практичные вещи.

    В учебном заведении на несколько лет смысла этого нет. Все равно без практики забудите, все равно технологии сменяются постоянно.
    Ответ написан
    Комментировать
  • На чём лучше вести локальную разработку?

    Jump
    @Jump
    Системный администратор со стажем.
    Ну смотрите - вам что нужно?
    Вам нужен сервер, на котором вы будете запускать код, и работать он должен на вашем компьютере.
    Разрабатываете вы как я понимаю под winodws?
    Раньше для этих целей запускали веб сервер под windows. Это добавляло целый пласт проблем - приходилось запускать и отлаживать код, в системе которая коренным образом отличается от боевого сервера, в результате излишние телодвижения при работе, и куча проблем при переносе на боевой сервер.
    Сейчас с развитием виртуализации, гораздо проще и удобнее для этих целей запустить виртуальную машину с линуксом, и уж на ней веб сервер.

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

    В общем - вам нужна виртуальная машина с веб сервером, и для удобства можно использовать Docker.
    Ответ написан
    Комментировать