• SQL. Занимательные задачки

      Здравствуй, Хабр!

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

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



      SQL (ˈɛsˈkjuˈɛl; англ. structured query language — «язык структурированных запросов») — декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных. Подробнее…

      Почитать об SQL можно из разных источников.
      Данная статья не преследует цели обучить вас SQL с нуля.
      Читать дальше →
    • Полезный обзор. 28 книг, которые повлияли на мое мышление, вдохновили или сделали лучше



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

      Из-за этого большинство подобных материалов мало полезны, несмотря на то, что могут содержать толковые книги. Мне давно хотелось написать полезный обзор, который не станет навязывать определенные материалы, а позволит читателю выбрать наиболее подходящие.
      Читать дальше →
    • Google's Shell Style Guide (на русском)

      • Перевод
      • Tutorial

      Предисловие


      Какой Shell использовать


      Bash единственный язык shell скриптов, который разрешается использовать для исполняемых файлов.


      Скрипты должны начинаться с #!/bin/bash с минимальным набором флагов. Используйте set для установки shell опций, что бы вызов вашего скрипта как bash <script_name> не нарушил его функциональности.


      Ограничение всех shell скриптов до bash, дает нам согласованный shell язык, который установлен на всех наших машинах.


      Единственное исключение составляет если вы ограничены условиями того под что вы программируете. Одним из примеров могут стать пакеты Solaris SVR4, для которых требуется использование обычного Bourne shell для любых скриптов.


      Когда использовать Shell


      Shell следует использовать только для небольших утилит или простых скрптов-оберток.


      Хотя shell-скриптинг не является языком разработки, он используется для написания различных утилит во всем Google. Это руководство по стилю является скорее признанием его использования, а не предложением использовать его в широком применении.

      Читать дальше →
    • Визуализация данных для киноманов: скрапим рекомендации фильмов и делаем интерактивный граф

      • Tutorial

      Однажды я наткнулся на интерактивную карту lastfm и решил обязательно сделать подобный проект для фильмов. Под катом история о том, как собрать данные, построить граф и создать своё интерактивное демо на примере данных с кинопоиска и imdb. Мы рассмотрим фреймворк для скрапинга Scrapy, пробежимся по методам визуализации больших графов и разберёмся с инструментами для интерактивного отображения больших графов в браузере.

      Читать дальше →
    • Создание игры на Lua и LÖVE — 1

      • Перевод
      • Tutorial
      image

      Введение


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

      Создаваемая нами игра будет сочетанием Bit Blaster XL и дерева пассивных навыков Path of Exile. Она достаточно проста, чтобы можно было рассмотреть её в нескольких статьях, не очень больших по объёму, но содержащих слишком большой объём знаний для новичка.

      GIF

      Кроме того, туториал имеет уровень сложности, не раскрываемый в большинстве туториалов по созданию игр. Большинство проблем, возникающих у новичков в разработке игр, связано с масштабом проекта. Обычно советуют начинать с малого и постепенно расширять объём. Хотя это и неплохая идея, но если вас интересуют такие проекты, которые никак нельзя сделать меньше, то в Интернете довольно мало ресурсов, способных вам помочь в решении встречаемых задач.

      Что касается меня, то я всегда интересовался созданием игр со множеством предметов/пассивных возможностей/навыков, поэтому когда я приступал к работе, мне было сложно найти хороший способ структурирования кода, чтобы не запутаться в нём. Надеюсь, моя серия туториалов поможет кому-нибудь в этом.
      Читать дальше →
      • +21
      • 20,1k
      • 7
    • Как мы управляем качеством данных

      Управление качеством данных – новая дисциплина. Постепенно направление набирает обороты в нефтяной отрасли, банковском деле и ритейле. Каждый идет своим путем, практически наощупь.
      Я работаю аналитиком качества данных. В статье расскажу, как у нас устроено управление качеством данных, с какими трудностями мы сталкивались, и как их преодолевали.

      image
      Визуализация качества данных на экране в офисе. Уровень блоков пропорционален количеству ошибок.
      Читать дальше →
    • Анализируй это. Mista.ru


        What, How, Why


        Форум Mista.ru — один из самых старых и активных форумов, посвященных 1С. Первое сообщение датировано 2000 годом и на текущий момент счетчик тем перевалил за 800000, а количество сообщений больше 16 000 000. Форум был настолько популярен, что его даже пытались "зеркалировать", так как содержал неплохую базу вопросов-ответов по 1С, из-за чего админы форума добавили "защиту от скачивания". В этой статье будет описано то, как можно скачать этот (а наверное и любой другой) форум в относительно короткие сроки при помощи Google Cloud Platform.

        Читать дальше →
      • Добываем Wi-Fi соседа стандартными средствами MacOS

          Я всегда был фанатом багов и уязвимостей «на поверхности», всегда завидовал чувакам, которые пишут эксплойты для самых защищённых ОС, а сам умел только скрипткиддить (термин из нулевых). Однако мой пост про уязвимости в системах контроля версий набрал более 1000 лайков на Хабре и остаётся топ1 постом за всю историю Хабра, несмотря на то, что был написан 9(!) лет назад.

          И сегодня я хотел бы на пальцах показать и рассказать про такую штуку, как вардрайвинг. А точнее, как стандартными средствами MacOS можно добыть пароли от Wi-Fi соседей. Нелёгкая забросила меня на очередную квартиру. Как-то исторически сложилось, что я ленивый. Пару лет назад я уже писал, что моя лень, новая квартира и провод Beeline (бывшая Corbina) помогли мне найти багу у Билайна и иметь бесплатно интернет в их сети. «Сегодня» происходит «подобное», я на новой квартире, нет даже провода, но есть много сетей у соседей.


          Заколебавшись расходовать мобильный трафик, я решил, что «соседям надо помогать», и под «соседями» я имел введу себя…
          Читать дальше →
        • Что почитать на новогодних праздниках

            Составили для вас подборку книг, которые помогут прокачать полезные для работы скиллы и узнать что-то новое, не делая над собой титанических усилий.
            Читать дальше →
          • «Айсберг вместо Оскара!» или как я пробовал освоить азы DataScience на kaggle

            • Tutorial
            В моей прошлой статье посвящённой освоению науки о данных (или по заграничному — Data Science) с абсолютного нуля (даже ниже чем -273 градуса по Кельвину) я обещал, что подготовлю материал о том, как я осваивал kaggle (буду писать с маленькой буквы, как у них на логотипе).

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

            Если вам интересно что же в итоге у меня из всего это вышло прошу под кат.

            UPD: На свежую голову добавил небольшие пояснения про вкладку «данные» и про переобучение модели.


            Читать дальше →
            • +13
            • 17,4k
            • 3
          • Экзамены для поступления в «бесплатную» магистратуру в США

            • Tutorial
            Доброго времени суток, дорогие хабрачане!

            В продолжении темы о поступлении в магистратуру в США, расскажу о необходимых экзаменах.

            Любой желающий поступить в магистратуру в США обязан подтвердить достаточный для обучения уровень владения английским языком (IELTS/TOEFL) и общий уровень подготовки (GRE/GMAT). Для языкового экзамена есть исключения, когда человек уже проучился в американском вузе или школе, но для таких людей данная ветка даже и не нужна.

            Итак, рекомендую сдавать эти экзамены поочередно: IELTS/TOEFL ==> GRE/GMAT. Потому что, второй экзамен идет сложнее, и успешная сдача второго экзамена требует как минимум upper-intermediate.

            Что же все таки сдать IELTS или TOEFL? Для начала обозначим то, что 99% американских вузов принимают IELTS. И минимальный порог в среднем 6.5 баллов в общем, и как минимум 6.0 в каждой секции. Лига плюща принимает 7.0 overall и выше, в то время как для «средних» и 5.5 бывает достаточно, хотя такие вузы не предоставят вам полное финансирование скорее всего. Зато порадуют приемлемой ценой и скидками на обучение. Лично я сам сдавал IELTS и необходимо было набрать 6.5 overall. Помните в предыдущем посте я как-то говорил, что все карты легли так, чтобы я поступил именно в Бэйлор? Так вот, это единственный университет, которые не обозначили минимальный порог по секциям (во всех других вузах в каждой секции допускается на 0.5 меньше чем overall). А я завалил одну секцию =( Помню когда увидел результаты я не знал радоваться или нет, ведь не смотря на достаточный общий балл, я не знал точно примут ли заваленную секцию. Уточнив у представителей вуза удовлитворительность моего результата, я с радостью приступил к подготовке к следующему экзамену. Записался на ближайшую дату (уже через две недели) и начал подготовку.
            Читать дальше →
          • Поступление в магистратуру в Германии


            Foto: HPI / Kay Herschelmann

            Хочу поделиться своим опытом поступления на учебу в Германии и раскрыть более полно ее приемущества и особенности. В статье речь идет не о разницах в системах образования и почему стоит туда ехать, а о том, как все можно организовать.
            Подробнее
          • Бесплатная магистратура в одном из топовых вузов мира: Италия

              Честно сказать, до того как я решил поехать в Италию я все время путал какая страна в Европе в форме сапога: Италия или Испания. Также я считал, что Италия это страна для того, чтобы загорать на солнышке и купаться :) а работать или учиться надо в Германии, Нидерландах, Англии, США или в Скандинавии.

              В этой статье я хочу рассказать, как я поступал в один из топовых университетов мира и Европы — Politecnico di Milano (22 место в мире в этом рейтинге технических вузов, к примеру Баумка и МГУ находятся намного ниже: между сотым и двухсотым местом).

              Может быть мне повезло, но у меня сложилось впечатление, что поступить в Политех в магистратуру CS на платное очень просто и не супер дорого (до скачка евро в 2014 — 160т.р. в год). Получить scholarship на обучение довольно просто, а получить scholarship оплачивающий еще и жилье — вполне реально, даже если ты ни чем особо не выделяешься.
              Читать дальше →
            • ASP.NET MVC Урок C. Многоязычный сайт

              • Tutorial
              Цель урока. Научиться создавать многоязычные сайты. Структура БД. Ресурсы сайта. Определение языка. Переключение между языками. Работа в админке.

              Проблемы многоязычного сайта

              Итак, заказчик просит сделать сайт многоязычным, т.е. чтобы и по-русски, и по-французки, и по-английски. Это может быть как просто многоязычный блог, так и гостиничный сайт, сайт по работе с недвижимостью и многое другое.
              Для начала определим, что же мы будем переводить:
              • Написание дат, сумм в зависимости от выбранной локализации. С этим справляется класс System.Globalization
              • Встроенные ресурсы сайта — выдача ошибки («Поле не может быть пустым», «The field is required») и другие сообщения.
              • Не встроенные ресурсы, как то логотипы, изображения, js-локализация элементов управления. Для переключения между ними необходимо знать текущее значение языка на странице.
              • Пользовательские значения.


              Читать дальше →
              • +45
              • 55,4k
              • 2