• Что из себя представляет SEO в 2019 году?

    Zoominger
    @Zoominger
    System Integrator
    Это упорядоченный, повсеместно распространённый культ Карго, при котором «специалист» выполняет определенного рода действия, рекомендованные абсолютно маргинальными источниками, не основанными на каком-либо авторитетном исследовании, совершенно не понимая сути выполняемых действий и не осознавая полную бессмысленность проводимых операций.

    Я не шучу.
    Ответ написан
    6 комментариев
  • Как верстать под wp?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Верстка под WP по сути укладывается всего в несколько отличий от верстки под что либо еще:

    1. В некоторых местах (body, меню, обертки страниц/записей и тд) WP генерит свой список классов. Его можно и нужно использовать, если тема предназначена на продажу или в репозиторий на .org, предполагается что ее будут крутить/развивать под свои задачи. Если для себя / для клиента, то можно не использовать, но как минимум с меню придется на бекенде несколько правок сделать.
    2. Контент, который редактируется в редакторе (старый TinyMCE или новый Gutengerg) либо лишен классов по умолчанию (тогда стучимся по классу контейнера), либо как разработчики намудрят (Gutenberg, всякие конструкторы страниц). В принципе, можно полностью под себя сделать с Gutenberg, но это дополнительные временные расходы.
    3. Статика (скрипты, стили) подключается из PHP, картинки и другие файлы - как правило тоже, через медиа-библиотеку.

    Иногда что-то по мелочи попадается, но в целом - это все.
    Ответ написан
  • Как максимально сильно сжать игру для тату?

    @rPman
    У вас только два варианта - либо кодируйте цветом High Capacity Color Barcode что даст вам примерно пятикратную оптимизацию по площади, либо размещайте код ссылку вместо самого кода, но это не так интересно, само собой.

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

    AItF4
    @AItF4
    Помог ответ? Отметь решением.
    qqignatqq, это называется параллакс-скроллинг - т.е. прокрутка с эффектом parallax. Вот вам исходники такой прокрутки с разной скоростью, только замените блоки на свои.
    Ответ написан
    Комментировать
  • Наткнулся на подозрительный скрипт в исходниках одного сайта, не вирус ли?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Данные не слились.

    Хотя теоретически это возможно, если использовалась 0day-уязвимость в самом браузере. Но практически шанс этого настолько мал, что не стоит переживать. Очень много слоев защит в браузере, так что даже переполнение буфера мало что даст.

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

    Если хотите практически полностью исключить атаку со стороны JS, отключайте его по-умолчанию. Например, я использую расширение (для хрома) Quick Javascript Switcher. Все сайты у меня без JS и всё прекрасно работает. На известных сайтах типа яндекса гугла, мейла, всё чем нужно пользоваться - включено. Ну и если внезапно надо включить (очень редко) - одним кликом делается. Хотя тема расширений сама по себе интересна с точки зрения ИБ, но это уже другая история (и всегда можно их скачать и использовать локально, особенно мелкие с кодом в 30 строк).

    P.S.
    Распаковка, этап 1
    var arr=[
    	'||x2F|x20|x33|x42|_0x9a4f|x54|hi|x2E|x3A|x74|x31|x52|x37|x4E|x6F|x68|x50|x48|var|x70|x4B|x59|x63|x6C|x67|function|console|x73|x72|x76|x62|x6B|x6D|x6E', //0
    	'split', //1
    	'length', //2
    	'constructor', //3
    	'debugger', //4
    	'toString', //5
    	'replace', //6
    	'\x5cw+', //7
    	'k\x206=[\x22\x5c5\x5cn\x5c3\x5cf\x5c5\x5cd\x5c3\x5c2\x5c2\x5c3\x5cj\x5c7\x5c7\x5ci\x5ca\x5c2\x5c2\x5cf\x5c5\x5cd\x5cc\x5c4\x5c4\x5ce\x5c9\x5c7\x5cm\x5c3\x5c2\x5c2\x5c3\x5ch\x5cb\x5cb\x5cl\x5ct\x5ca\x5c2\x5c2\x5cv\x5cx\x5c9\x5co\x5cg\x5cy\x5c2\x5cz\x5cw\x5cu\x5cc\x5c4\x5c4\x5ce\x22,\x22\x5cp\x5cg\x5cq\x22];r\x208(){s[6[1]](6[0])}8()'
    ];
    
    (function(arr, b) {
      var d = function(c) {
        while (--c) {
          arr['push'](arr['shift']());
        }
      };
      d(++b);
    }(arr, 0x1f4));
    
    var e = function(f) {
      f = f - 0x0;
      var g = arr[f];
      return g;
    };
    
    eval(function(h, nn1, i, j, k, m) {
      k = function(n) {
        return n[e('0x0')](0x24);
      };
      if (!'' [e('0x1')](/^/, String)) {
        while (i--) {
          m[k(i)] = j[i] || k(i);
        }
        j = [function(o) {
          return m[o];
        }];
        k = function() {
          return e('0x2');
        };
        i = 0x1;
      };
      while (i--) {
        if (j[i]) {
          h = h[e('0x1')](new RegExp('\x5cb' + k(i) + '\x5cb', 'g'), j[i]);
        }
      }
      return h;
    }(e('0x3'), 0x24, 0x24, e('0x4')[e('0x5')]('|'), 0x0, {}));
    
    var p = function() {
      function q(r) {
        if (('' + r / r)[e('0x6')] !== 0x1 || r % 0x14 === 0x0) {
          (function() {} [e('0x7')](e('0x8'))());
        } else {
          (function() {} [e('0x7')]('debugger')());
        }
        q(++r);
      }
      try {
        q(0x0);
      } catch (ee) {}
    };
    p();
    setInterval(function() {
      p();
    }, 0xfa0);
    Распаковка, этап 2
    var arr=[
    	'toString', //0
    	'replace', //1
    	'\x5cw+', //2
    	'k\x206=[\x22\x5c5\x5cn\x5c3\x5cf\x5c5\x5cd\x5c3\x5c2\x5c2\x5c3\x5cj\x5c7\x5c7\x5ci\x5ca\x5c2\x5c2\x5cf\x5c5\x5cd\x5cc\x5c4\x5c4\x5ce\x5c9\x5c7\x5cm\x5c3\x5c2\x5c2\x5c3\x5ch\x5cb\x5cb\x5cl\x5ct\x5ca\x5c2\x5c2\x5cv\x5cx\x5c9\x5co\x5cg\x5cy\x5c2\x5cz\x5cw\x5cu\x5cc\x5c4\x5c4\x5ce\x22,\x22\x5cp\x5cg\x5cq\x22];r\x208(){s[6[1]](6[0])}8()',
    	'||x2F|x20|x33|x42|_0x9a4f|x54|hi|x2E|x3A|x74|x31|x52|x37|x4E|x6F|x68|x50|x48|var|x70|x4B|x59|x63|x6C|x67|function|console|x73|x72|x76|x62|x6B|x6D|x6E', //4
    	'split', //5
    	'length', //6
    	'constructor', //7
    	'debugger', //8
    ];
    
    var e = function(num) { //получить строку с номером num (они перемешаны)
      num = num - 0;
      var g = arr[num];
      return g;
    };
    
    function getCode(h, nn1, i, j, k, m) {
      k = function(n) {
        return n.toString(0x24);
      };
      if (!''.replace(/^/, String)) {
        while (i--) {
          m[k(i)] = j[i] || k(i);
        }
        j = [function(o) {
          return m[o];
        }];
        k = function() {
          return '\x5cw+';
        };
        i = 0x1;
      };
      while (i--) {
        if (j[i]) {
          h = h.replace(new RegExp('\x5cb' + k(i) + '\x5cb', 'g'), j[i]);
        }
      }
      return h;
    }
    var code = getCode(e(3), 36, 36, e(4).split('|'), 0, {});
    eval(code);
    
    var p = function() {
      function q(r) {
        if (('' + r / r).length !== 1 || r % 20 === 0) {
          debugger;
        } else {
          debugger;
        }
        q(++r);
      }
      try {
        q(0);
      } catch (ee) {}
    };
    p();
    setInterval(function() {
      p();
    }, 4000);
    Распаковка, этап 3
    //Суть скрипта
    function hi() {
      console['log']('BY NBR // HTTP://NBR1337.TK // https://vk.com/nbr1337')
    }
    hi();
    
    //плюс защита от дебага (удалена)
    Распаковка, этап 4
    console.log('BY NBR // HTTP://NBR1337.TK // https://vk.com/nbr1337');

    Вывод - это просто подпись автора, чтобы он смог доказать авторство в суде, если его код спиратят.
    Ответ написан
    4 комментария
  • Как начать зарабатывать начинающему web-разработчику в 17 лет?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Блин, а я-то думал - что же так прорвало-то? А это ж отгремели "ночи пьяных бантиков" :)

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

    В-вторых:
    Никто и никогда не берет джунов на удаленку

    На удаленку берут только матерого спеца, у которого есть свой портфолио и который сам может диктовать условия найма. Джуна могут взять только в офис, потому что никому не надо отвечать за то, что он сорвал очередной дедлайн - и спросить-то с него нечего! Если джун устроился в офис - за любые деньги (здесь любые - это в совершенно буквальном смысле!) - он должен корпоративный гимн распевать от счастья :) И жужжать электровеником, работать, набираться опыта, помня что он никто и звать его никак.

    Да, на фрилансе люди зарабатывают. И иногда даже прилично так, что не стыдно сказать :)

    Но они к этому заработку идут годами. Если кто-то думает, что вот он зарегился на freelance.ru и тут же к нему потекут дорогие и простые заказы - ему лучше треснуть себя по лбу, чтобы проснуться.

    Быстро и много в ИТ во фрилансе джуну заработать невозможно

    Особенно сейчас, когда после "ночи пьяных бантиков" туда кинутся голодноглазые школьники, мечтающие о чудо-заработках - и скинут (ну, те, кто реально займется) и без того низкие цены и усилят и без того высокую конкуренцию...

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

    Добро пожаловать в жесткий и безжалостный мир взрослых. Вы все, кажется, в него так торопились - бухать и девок щупать? You are welcome. Но не обижайтесь на жесткость реакции - миру на вас на самом деле плевать...
    Ответ написан
    2 комментария
  • Как поступить с неприятным заказчиком?

    alex-1917
    @alex-1917
    Если ответ помог, отметь решением
    Судя по вашему тону, вы НЕ ХОТИТЕ продолжать с ним работать.
    Ну и какого арбуза тут спрашивать?
    Ответьте - НЕ НАШЕЛ (ибо не обязан был).
    У людей, называющих себя бизнесменами, понятие о прогерах ниже низшего, иной на проституток готов отдать больше, чем за недельную работу прогеру - с чего перед ним еще и подстилкой ложиться?)))
    Подстилку он пусть себе купит на Тверской, а вы его грамотно и вежливо опрокиньте.

    Главное, чтобы он тут не читал ваши опусы, вот будет забава...
    Ответ написан
    Комментировать
  • Почему не убавляется свойство объекта?

    В строке ошибка
    this.conut = this.conut - count;
    Нужно
    this.count = this.count - count;
    Ответ написан
    4 комментария
  • Чувствуется ли избыток специалистов по разработке на WordPress?

    Moskus
    @Moskus
    Избыток специалистов - нонсенс, так не бывает ни в какой области.
    Избыток безграмотных кодеров, которые делают всё по гайдам, туториалам и видео с Youtube - да.
    Ответ написан
    30 комментариев
  • Верно ли, что коммерчески успешная игра должна быть интересной и хорошего качества?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Нет, при правильной рекламе, огромных бюджетов на эту рекламу и успешной франшизы. Посмотрите на EA, они постоянно лепят ****, но люди все равно покупают.
    Да, если мало или среднебюджетка и без крупной шраншизы под боком. Только так и получиться ее вытянуть.
    Ответ написан
    4 комментария
  • Как реализовать подобный блок на HTML+CSS?

    iiiBird
    @iiiBird Куратор тега CSS
    Пока ты спишь - твой конкурент совершенствуется
    Ответ написан
    Комментировать
  • Что делать если youtube занимает слишком много времени?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Возьмите ипотеку.
    Помогает от бессмысленного убийства времени.
    Ответ написан
    3 комментария
  • Как изучить Unity и C#?

    freislot
    @freislot
    Frontend-разработчик
    Мне кажется геймдев не ваш вариант, раз возникают такие вопросы. Когда есть желание, то ничто не остановит, берешь читаешь, гуглишь, учишь, пишешь много и с ошибками, но пишешь. Похожих вопросов куча. Ваше желание и лень настолько велики, что вы даже не попробовали искать ответ на свой вопрос

    Как изучить c# с основ до зарабатывания денег?
    Путь изучения движка unity?
    Где можно изучить Unity + C# с нуля?

    Ну и куча всего здесь...
    Как изучить unity
    Ответ написан
    2 комментария
  • Отправка формы на Email?

    @azeke15
    Воспользуйся библиотекой PHPMailer. Он удобный для отправки писем разных видов
    Ответ написан
    Комментировать
  • Насколько адекватно требовать домашнего развития от разработчиков?

    php666
    @php666
    PHP-макака
    Насколько это правильная практика
    конечно это правильно! Раб должен работать на износ. А когда он выдохнется - его заменят очередным любителем "саморазвития", который через лет 10 тоже неминуемо сгорит.

    и еще. саморазвитие - это миф, навязанный вам самими работодателями. то, что вы называете саморазвитием - это прямой путь к выгоранию. вы не станете миллионером, особенно живя в РФ, если выучите все технологии (а вы их никогда не выучите). но превратитесь в существо без личной жизни, в гика. оно вам надо, ребята? почитайте хотя бы эту статью, там хорошо описана вся эта бесполезная кабала - https://ebanoe.it/2017/04/02/wasted-life-in-it/
    Ответ написан
    Комментировать
  • Правильно ли делать первый и последний элемент списка по БЭМ?

    dom1n1k
    @dom1n1k
    Не так, логичнее вешать модификатор на элемент item, а не link - потому что линк у своего родителя один и ничего не знает о том, что происходит снаружи.

    Хотя мне кажется, что это тот редкий случай, когда даже с бэмом вполне уместно использовать селекторы first-child/last-child. Ну потому что не может такой модификатор объявиться где-то в средине и более одного раза.
    Ответ написан
  • Какую литературу читать новичку по C#?

    Литература по языку C#

    Книги для новичков: а о чём это вообще?

    • Head First C#, Jennifer Greene, Andrew Stellman (русский перевод: Изучаем C#, Д. Грин, Э. Стиллмен). Содержит упражнения. Рекомендуется многими как хорошая книга для новичков.
    • Язык программирования C# 5.0 и платформа .NET 4.5 - Эндрю Троелсен. Популярная книга, многие начинали с неё.
    • C# 4.0: полное руководство, Герберт Шилдт. Несмотря на неоднозначное отношение к автору, книга пользуется популярностью.
    • C# 2010. Ускоренный курс для профессионалов, Нэш Трей
    Книги среднего уровня: если hello world не проблема
    • CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#, Джеффри Рихтер. Неувядающая классика. Хотите знать, что и как происходит на самом деле? Это книжка для вас. Не самое живое изложение, зато максимум подробностей из первых рук.
    • C# 6.0 in a Nutshell, Joseph Albahari, Ben Albahari (русский перевод предыдущей версии:C# 5.0. Справочник. Полное описание языка, Джозеф Албахари, Бен Албахари). Отличная книга, затрагивает многие аспекты, расставляет по местам ваши знания о предмете. Сводит разрозненные отрывочные знания в общую понятную картину, объясняет, какими средствами нужно пользоваться, а для чего есть уже более хорошие подходы. Есть online-глава о многопоточности (русский частичный перевод), почитайте!
    • Essential C# 5.0, Mark Michaelis в сооавторстве с Эриком Липпертом. Хорошая книга для программистов, желающих овладеть C#. Знания других языков, перед чтением, приветствуются. От Эрика Липперта в книге представлены продвинутые советы, которые встречаются на протяжении всей книги.
    • Effective C# и More Effective C#, Bill Wagner. О том, как надо и как не надо программировать на C#. Разбираются отдельные аспекты программирования, способствует углублению понимания языка.
    • Programming C# 5.0: Building Windows 8, Web, and Desktop Applications for the .NET 4.5 Framework, Ian Griffiths. (Русского перевода пока нет.) Очень детальная, подробная книга, в которой найдутся ответы на продвинутые вопросы.

    Книги для специалистов: внутренние механизмы и пыльные углы

    • C# in Depth, Jon Skeet, Third Edition (русский перевод: C#. Программирование для профессионалов, Джон Скит, пока переведено лишь второе издание). Имя автораговорит само за себя. Джон один из лучших людей, которые умеют доходчиво объяснять сложные вещи.
    • C# 5 Unleashed, Барт де Смет. Фундаментальная книга.
    • Debugging Microsoft .NET 2.0 Applications, John Robbins (русский перевод: Отладка приложений для Microsoft .NET, Джон Роббинс). Основы промышленной отладки: WinDbg/SOS, дампы памяти и решение проблем в приложениях (почти) без Visual Studio.
    • Under the Hood of .NET Memory Management, Chris Farrell, Nick Harrison. Полное описание всех тонкостей управления памятью в платформе .NET. Книга доступнабесплатно на английском.
    • Expert .NET 2.0 IL Assembler, Serge Lidin. В книге представлены ответы почти на все тонкости низкоуровневого программирования на .NET, а именно на языке IL. В книге описаны детали .NET Framework 2.0, по этому на данный момент какие то аспекты могут быть не актуальны.
    • Оптимизация приложений на платформе .NET с использованием языка C#, Саша Голдштейн, Дима Зурбалев, Идо Флатов (Переводчик: Александр Киселев). В книге рассматривается моменты .NET с точки зрения производительности. Рассказывается об способах замеров и шаблонах оптимизации. Также там рассматриваются вопросы, связанные с GC и небезопасным кодом.

    Дополнительные ресурсы:

    • Официальная спецификация C# 5
    • Framework Design Guidelines. Руководства и соглашения по проектированию многократно используемого кода. Является выдержкой из одноимённой книги, Krzysztof Cwalina, Brad Abrams. Книга переведена на русский под названием Инфраструктура программных проектов, Кржиштоф Цвалина, Брэд Абрамс.

    Литература по асинхронному программированию и многопоточности

    • Concurrent Programming on Windows, Joe Duffy. Профессиональное использование многопоточности в инфраструктуре .NET от одного из лучших мировых специалистов по многопоточности. В книги описаны тонкости использования как stream'oв так и thread'ов. Раскрыто, как и когда использовать Concurrent-, Parallel- и Asynchronous-модели. Примеры в книге присутствуют от достаточно низкоуровневых (с использованием системных потоков через WinAPI) до высокоуровневых Task'ов и PLINQ. Книга написана под .NET Framework 4.0, поэтому работа с ключевыми словами async/await в книгу не вошла.
    • Concurrency in C# Cookbook, Stephen Cleary. (Русского перевода пока нет.) Очень толковое разъяснение современных паттернов использования многопоточности, особое внимание уделено использованию конструкции async/await. Обсуждается решение типичных проблем, решаемых асинхронным кодом. Отдельно описывается работа с Reactive Extensions и TPL Dataflow.

    Литература по WPF
    • Pro WPF 4.5 in C#: Windows Presentation Foundation in .NET 4.5, Matthew MacDonald (русский перевод: WPF: Windows Presentation Foundation в .NET 4.5 с примерами на C# 5.0 для профессионалов, Мэтью Макдональд). Разбор XAML'а, лаконичные, но полезные примеры. Пристальное, но не навязчивое внимание к деталям.
    • Windows Presentation Foundation Unleashed, Adam Nathan. Наверное, лучшая книга для новичка.
    • Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation, Чарльз Петцольд. Фундаментальная книга великолепного специалиста. Написана довольно тяжело, много листингов, плотный поток информации

    Литература по ASP.NET
    • Pro ASP.NET MVC 5, Adam Freeman (русский перевод: ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов, Адам Фримен). Поэтапное написание веб-приложения с рассмотрением большинства важных аспектов разработки приложения: паттерн MVC, юнит-тестирование, инверсия зависимостей и т. п.
    • Pro ASP.NET 4.5 in C#, Adam Freeman (русский перевод: ASP.NET 4.5 с примерами на C# 5.0 для профессионалов, Адам Фримен).
    • Professional ASP.NET MVC 5, Jon Galloway, Phil Haack, Brad Wilson, K. Scott Allen
    • Programming ASP.NET MVC 4: Developing Real-World Web Applications with ASP.NET MVC, Jess Chadwick, Todd Snyder, Hrusikesh Panda (русский перевод: ASP.NET MVC 4. Разработка реальных веб-приложений с помощью ASP.NET MVC, Джесс Чедвик, Хришикеш Панда, Тодд Снайдер).
    • ASP.NET MVC Framework, Гайдар Магдануров, Владимир Юнев
    • Pro ASP.NET MVC 2 Framework, Steven Sanderson (русский перевод: ASP.NET MVC Framework с примерами на C# для профессионалов, Стивен Сандерсон)
    Дополнительные ресурсы:
    • Get Started with ASP.NET от Microsoft
    • Видеокурсы на intuit.ru: Разработка веб-приложений на ASP.NET, Разработка веб-приложений с использованием ASP.NET MVC Framework.

    Литература по LINQ
    • Pro LINQ: Language Integrated Query in C# 2010, Joseph Rattz, Adam Freeman (русский перевод: LINQ. Язык интегрированных запросов в C# 2010 для профессионалов, Адам Фримен, Джозеф С. Раттц). Учебно-справочное пособие, в котором понятно и подробно описаны возможности языка LINQ. Хороша для старта.
    • LINQ Pocket Reference, Joseph Albahari, Ben Albahari (русский перевод: LINQ. Карманный справочник, Джозеф Албахари, Бен Албахари). Хороший справочник по всему, что относится к LINQ. Рассмотрены новые конструкции C# для поддержки LINQ. Много примеров.
    • C# in Depth, Jon Skeet (русский перевод: C#. Программирование для профессионалов, Джон Скит). Немалая часть книги посвящена тому, как работает LINQ.

    Литература по принципам, шаблонам и методикам разработки
    • Внедрение зависимостей в .NET, Марк Симан. Несложно написанная книга про управление зависимостями в приложениях.
    • Принципы, паттерны и методики гибкой разработки на языке C#, Роберт С. Мартин, Мика Мартин

    Литература по Windows Workflow Foundation
    • Essential Windows Workflow Foundation, Dharma Shukla, Bob Schmidt (русский перевод:Основы Windows Workflow Foundation, Дхарма Шукла, Боб Шмидт). Для тех, кого заинтересовала 26 глава («Введение в Windows Workflow Foundation») из книги Эндрю Троелсена Язык программирования C# 5.0 и платформа .NET 4.5.
    • Pro WF 4.5, Bayer White (русской версии нет). Более углубленный взгляд на WF.

    Литература по XML
    • XML.NET, Джо Грей, Динар Дальви, Бипин Джоши, Фредрик Нормен, Фрэнсис Нортон, Энди Ольсен, Дж. Майкл Палермо IV, Даршан Сингх, Джон Слэйтер, Кевин Уильямс (Переводчик: И. Штерев). В книги содержится всё про применение XML в .NET за исключением LINQ. Старовата уже, но зато там есть объяснение, как внедрить свои функции на C# в XSLT.

    Литература по ADO.NET
    • Основы ADO.NET, Боб Бошемин (Переводчики: О.А. Лещинский, А.В. Журавлев, Н.Н. Селина)

    Литература по .NET Remoting / WCF
    • Microsoft .NET Remoting, Скотт Маклин, Джеймс Нафтел, Ким Уильямс
    • Создание служб WCF, Джувел Леве (Переводчики: Е. Матвеев, А. Пасечник)

    Литература по безопасности
    • Криптография и безопасность в технологии .NET, Питер Торстейнсон, Гнана Ганеш (Переводчик: В. Хорев). Книга дает представление .NET разработчику о реализации и применении криптографии, цифровой подписи, аутентификации, авторизации и доступа к коду (CAS). В ней описывается, что такое симметричное и асимметричное шифрование, что представляют собой цифровые подписи и как их использовать в .NET приложениях.
    • Microsoft ASP.NET. Обеспечение безопасности, Доминик Байер. Не смотря на то, что в названии указано ASP.NET в книге рассматриваются технологии безопасности под Windows, применимые из .NET для всех типов приложений. Это аутентификация, авторизация, олицетворение и Membership.
    Ответ написан
    5 комментариев
  • Как сделать таблицу мелкой по ширине экрана на мобильных?

    R0nti
    @R0nti
    Постоянно учусь и радуюсь жизни. И вам того желаю!
    Можно попробовать завернуть таблицу в div, задать необходимые размеры и свойство box-sizing: border-box; Ну и owerlflow: scroll. Таким образом у вас блок будет по ширине окна браузера, а саму таблицу для просмотра можно скролить при просмотре. Как временная мера, а потом уже определиться.
    Ответ написан
    2 комментария
  • Стоит ли переписывать полностью метод в данной ситуации?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вариантов 3:
    1) Добавить параметр: плюсы - просто, можно добавить гибкий параметр, например $sortField. минусы - в следующий раз понадобится менять еще и направление сортировки - прийдется снова костылить.
    2) Отдельный метод - уже лучше, но все равно рано или поздно функционал надо будет менять и с параметрами что -то прийдется делать.
    2.1) Передавать в качестве аргумента некий массив/объект настроек, плюсы - гибко, минусы - каждый раз надо учитывать/знать структуру объекта настроек, что не очень удобно.
    3) Использовать внутренние паблик свойства объекта для настройки работы логики объекта, плюсы - не надо менять инерфейс вызова, достаточно сделать
    $users->sortBy = 'order'; $users->sortDir = 'desc'; $users->getUsers();
    . Минусы - сходу не вижу, у кого есть идеи - отпишитесь в комментах.
    Ответ написан