• Понимание джойнов сломано. Это точно не пересечение кругов, честно

      Так получилось, что я провожу довольно много собеседований на должность веб-программиста. Один из обязательных вопросов, который я задаю — это чем отличается INNER JOIN от LEFT JOIN.


      Чаще всего ответ примерно такой: "inner join — это как бы пересечение множеств, т.е. остается только то, что есть в обеих таблицах, а left join — это когда левая таблица остается без изменений, а от правой добавляется пересечение множеств. Для всех остальных строк добавляется null". Еще, бывает, рисуют пересекающиеся круги.


      Я так устал от этих ответов с пересечениями множеств и кругов, что даже перестал поправлять людей.


      Дело в том, что этот ответ в общем случае неверен. Ну или, как минимум, не точен.

      Читать дальше →
    • Web PUSH Notifications быстро и просто

      • Tutorial

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


      Информации по этой теме в интернете полно, но она фрагментирована, разбросана по разным ресурсам и перемешена с уведомлениями для мобильных устройств с примерами на Java, C++ и Python. Нас же, как веб-разработчиков, интересует JavaScript. В этой статье я постараюсь саккумулировать всю необходимую и полезную информацию.


      Web PUSH Notifications


      Я думаю, вы уже знаете что такое push-уведомления, но я всё же напишу коротко о главном.


      Пользователь, заходя на сайт, вытягивает (pull) с него данные. Это удобно и безопасно, но с развитием интернет ресурсов, появилась необходимость оперативно доставлять информацию пользователям не дожидаясь пока те сами сделают запрос. Так и появилась технология принудительной доставки (push) данных с сервера клиенту.

      Читать дальше →
    • Безопасность OAuth2

        Данная блогозапись на хабр прежде всего обусловлена появлением «Ключницы» — хороший повод связать и перевести накопленное.


        У нас в программе: вольный пересказ спек OAuth2, слабые стороны и Threat Model, 0day на хабретрюк с аутенфикацией.
        image
        Читать дальше →
      • 10 инструментов для стартаперов и стартапов

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


          Startup Graveyard

          Учимся на горьком, но полезном опыте предшественников. Strartup Graveyard — это каталог стартапов, которые потерпели неудачу и вынуждены были выйти из игры. Цель проекта, как уверяют авторы, вовсе не в том, чтобы клеймить людей за ошибки — напротив, объективный безоценочный анализ факторов, которые привели ту или иную компанию к печальному исходу, позволит «снять стигму с неудачи» и выстроить более открытое, вдумчивое сообщество. История болезни излагается в лаконичной, ясной форме: название, ниша, годы жизни, инвесторы и бюджет, конкуренты, основные причины краха. Посетителям также предлагается внести свою лепту — произвести вскрытие такого рода над известным им проектом (возможно, даже своим собственным) и отправить результаты администрации.
          Читать дальше →
          • +19
          • 13k
          • 3
        • Ресурсы для стартаперов: план действий в ссылках

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

            Читать дальше →
          • NoSQL – коротко о главном



              Сергей Туленцев (TextMaster)


              Меня зовут Сергей Туленцев, я уже несколько лет интересуюсь NoSQL базами данных и сегодня попытаюсь поделиться с вами знаниями и опытом.

              Кому будет полезен этот доклад? Это обзорный доклад с претензией на структурированность. Если вы что-то где-то когда-то слышали про NoSQL, то через 40 минут вы будете знать гораздо больше, вы будете легче ориентироваться в терминах и более уверенно выбирать базы данных для своего проекта.

              Поговорим также про типичные примеры применения и как не надо применять NoSQL базы данных.
              Читать дальше →
            • Улыбнитесь, Вас снимает скрытая камера!

                image
                По долгу службы довелось мне тесно сотрудничать в области разного околокомпьютерного оборудования с одной крупной сетью супермаркетов. Чуть поменьше, чем «Metro» или «Wallmart», но тоже немаленькая и международная. На территории магазина продается много электроники, ювелирных изделий, есть отделы «элитных товаров» — к безопасности подходят серъёзно. За пару недель я неплохо познакомился с админами их сети и мне показали святую святых — зал видеонаблюдения службы безопасности. Собственно говоря, о том как, чем и зачем магазины такого уровня наблюдают за своими покупателями и будет статья.
                Читать дальше →
              • Docker, GitLab, бесплатные SSL-сертификаты и другие плюшки современной веб-разработки

                • Tutorial

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


                Начинать написание нового материала после столь продолжительного отдыха от этого дела — труднее всего. Но раз цель поставлена — надо идти до конца. Начну немного издалека.


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


                Под хабракатом вы найдете Quick Start по использованию Docker на уровне, необходимом для решения конкретных задач, обозначенных ниже, без углубления в "дебри" виртуализации и прочих сопутствующих тем. Если вы до сих пор хотите начать успешно использовать эту современную технологию, тем самым значительно упростив целый ряд процессов: от разработки веб-продуктов и до разворачивания и переноса оных под какое-либо современное оборудование — прошу под кат!


                Opening Illustration - Docker

                Читать дальше →
              • Пользователи любят ограничения. Почему 140 символов текста, 6 секунд видео и исчезающие фотографии завоевывают мир

                  Все ниже написанное сильно авторский перевод эссе Эндрю Чена Constrained media: How disappearing photos, 6 second videos, and 140 characters are conquering the world, тщательно замешанный на личном мнении и представлении автора (меня) об устройстве мира в общем и продуктов в частности.

                  Новое слово в социальных сетях — продукты с ограничениями. Самый знаменитый, но далеко не единственный, пример социальной сети с ограничениями — Twitter. Если вы слышали о таком, то давайте разбираться, чем вызван его успех.
                  Читать дальше →