• Переход к «Meta GSAP»: поиски «идеальной» бесконечной прокрутки

    • Перевод
    • Tutorial

    Уже послезавтра, 14 мая, стартует новый поток курса Python для веб-разработки, поэтому мы решили поделиться переводом о не совсем очевидной, но интересной области разработки сайтов — анимации анимации. Автор не просто даёт готовый рецепт, но шаг за шагом показывает, как сделать анимацию прокрутки плавной и приятной. Эта статья больше о концепции, которая поможет вам по-другому взглянуть на вашу анимацию. Так случилось, что этот конкретный пример демонстрирует бесконечную прокрутку, в частности, «идеальную» бесконечную прокрутку колоды карт без дублирования какой-то из них.

    Читать далее
    • +13
    • 2,3k
    • 3
  • Все английские времена в одной простой схеме

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

    Как это часто бывает, по-настоящему понимаешь какую-то тему, только когда начинаешь рассказывать о ней другим («метод Фейнмана»). Несколько друзей, позавидовав моим «успехам», попросили помочь разобраться с английским. Тут и обнаружилось, что хотя я уже успешно использую английский в повседневной работе, обучать ему кого-то ещё — это совершенно отдельный навык.

    Первоначальная идея. Сначала разъяснить все английские времена за один присест удавалось, надёргав различных идей из интернета: обрывки чьих-то схем, начинали склеиваться в свою схему и обрастать собственными легендами, а применение времён почти всегда было проще пояснить, используя хрестоматийную «систему английских времен с точки зрения употребления глагола “to vodka”». С каждой новой импровизированной лекцией, схема и нарратив продолжали меняться. «Ученики» попадались с различным базовым уровнем, что позволило понять, откуда нужно начинать плясать, чтобы урок был понятен всем, кто хоть раз слышал что-то про глаголы have и be. Когда счёт обученных уже пошёл на десятки, я решил оформить идею в более стройную лекцию. От первых попыток преподавания английских времён, до этого момента прошло пять лет. За это время было обучено ещё пару сотен человек. Обучено — по приколу. Денег за эти уроки я не брал.

    Читать далее
  • Pure DI для .NET

      Пока языки программирования не поддерживает DI из коробки и заняты копированием синтаксического сахара друг у друга, предлагается следующее не идеальное решение: библиотека Pure.DI для .NET

      Читать далее
    • Два с половиной странных правила английского языка, которых не учат в школе

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

        Но если с глаголами знакомы все, кто учит английский как второй, то некоторые необычные и странные правила в учебных программах упускаются. И многие студенты удивляются, когда впервые с ними сталкиваются в общении с носителями. О таких правилах сегодня и поговорим.

        Читать далее
      • Про запуск трехфазных двигателей, косинус φ и не только…

          Описание моего опыта подключения трехфазного оборудования к однофазной сети. Коррекция коэффициента мощности.

          Читать далее
        • Как мы разгоняли кластер для нагруженных баз Microsoft SQL и получали заветные 200 000 IOPS

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

            Мы же хотели ускорить работу высоконагруженных баз данных Microsoft SQL и при этом предложить клиентам выгодную стоимость услуги. В результате тестов мы собрали решение "Кластер для нагруженных баз данных Microsoft SQL в облаке". Сегодня заглянем внутрь и добавим чуть больше технических вводных и конкретных цифр. 

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

            Читать далее
          • Листая старые подшивки. Взгляд изнутри на компьютерную прессу 90-х



              Российские девяностые принято считать лихим периодом зарождения дикого капитализма. Это было время острого дефицита и безудержного роста цен, бандитских разборок и «новых русских» в малиновых пиджаках, стихийной уличной торговли и появления первых дорогих бутиков. Населению стали доступны более-менее современные персональные компьютеры, а вместе с ними наступила эпоха расцвета компьютерной прессы. Мне повезло: я очутился на самом гребне этой волны, захлестнувшей, подобно цунами, все постсоветское пространство. Сейчас остается только с ностальгией вспоминать, как мы отчаянно отжигали 26 лет назад, почувствовав свежее дыхание истинной свободы слова и прессы — ощущавшейся даже в пыльных редакциях компьютерных журналов и газет. За многие вещи, которые мы без зазрения совести творили тогда, в наши дни нам бы уж точно не поздоровилось. Но в девяностые было можно. И мы этим с удовольствием пользовались.
              Читать дальше →
            • Фрактальный state-менеджер на генераторах*


                По некоторым источникам еще в IV до нашей эры Аристотель задался одним простым вопросом — Что было раньше? Курица или яйцо? Сам он в итоге пришел к выводу, что и то, и другое появилось одновременно — вот это поворот! Не правда ли?


                Ладно, шутки в сторону, тут есть кое-что интересное. Данная простая дилемма хорошо описывает ситуацию, в которой не ясно, какое из двух явлений считать причиной, а какое — следствием, но в то же время позволяет сделать вывод о том, что причина может являться следствием и наоборот — следствие может являться причиной, смотря с какой стороны посмотреть (относительность, позиция наблюдателя и т.д.).


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


                Сегодня я не буду терзать ваш разум водопадом отборного бреда. Выпуск будет чуть суровее — ибо лирики меньше, а кода больше. Тем не менее местами он будет вкуснее — ибо вишенки я вам приготовил отменные. Поехали?

                Читать дальше →
              • Анализ работы MS SQL Server, для тех кто видит его впервые (часть 2)

                  Часть 1

                  Продолжаем анализировать что происходит на нашем MS SQL сервере. В этой части посмотрим как получить информацию о работе пользователей: кто и что делает, сколько ресурсов на это расходуется.

                  Думаю, вторая часть будет интересна не только админам БД, но и разработчикам (возможно даже разработчикам больше), которым необходимо разбираться, что не так с запросами на рабочем сервере, которые до этого отлично работали в тестовом.

                  Задачи анализа действий пользователей условно поделим на группы и рассмотрим каждую отдельно:
                  Читать дальше →
                  • +16
                  • 63,4k
                  • 5
                • Анализ работы MS SQL Server, для тех кто видит его впервые

                  Опубликовано продолжение: часть 2

                  Недавно столкнулся с проблемой — занедужил SVN на ubuntu server. Сам я программирую под windows и с linux “на Вы”… Погуглил по ошибке — безрезультатно. Ошибка оказалась самая типовая (сервер неожиданно закрыл соединение) и ни о чем конкретном не говорящая. Следовательно, надо погружаться глубже и анализировать логи/настройки/права/и т.п., а с этим, как раз, я “на Вы”.

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

                  Писать я буду не про линукс — проблему хоть и решил, но профессионалом вряд ли стал. Напишу про более знакомый мне MS SQL. Благо, уже приходилось много раз отвечать на вопросы и список типовых уже готов.

                  Для кого пишу

                  Если вы админ в Сбере (или в Яндексе или <другая топ-100 компания>), вы можете сохранить статью в избранное. Да, пригодится! Когда к вам, в очередной раз, с одними и теми же вопросами придут новички — Вы дадите им ссылку на нее. Это сэкономит Ваше время.

                  Если без шуток, эта СУБД часто используется в небольших компаниях. Часто совместно с 1С либо другим ПО. Отдельного БД-админа таким компаниям держать затратно — надо будет выкручиваться обычному ИТ-шнику. Для таких и пишу.
                  Читать дальше →
                • 5 слов английского языка, которые невозможно произнести правильно с первого раза

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

                    Многие из таких слов невозможно произнести правильно, если заранее не знаешь, как это делать.

                    Отличный пример уровня Intermediate — слово «queue» (очередь). Потому что произносится оно как [kjuː]. Наши преподаватели часто шутят, что можно отбросить четыре из пяти букв слова и все равно прочитать его правильно. 

                    Но в английском есть и такие слова, в которых ошибаются и сами носители. Их вообще нереально произнести правильно, если заранее не подсмотреть в транскрипцию. О них сегодня и поговорим.

                    Читать далее
                  • DimDrone20: как я сделал летающую платформу для computer vision исследований

                    С 2017 года я делаю разный computer vision: начиная от понятных детекций и классификаций, заканчивая чтением по губам.

                    И вот после череды случайностей, я оказываюсь единственным Computer Vision инженером в стартапе, который делает беспилотные вертолеты. По это причине я решаю ворваться со своей computer vision ноги и сделать какой-нибудь pet project связанный с дронами.

                    План такой...
                  • Взлом английского. Язык и реальность

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

                      Система, описанная в статье, перевернет ваше представление об изучении языков. Я на это надеюсь. Но это случиться только если не спешить, читать внимательно и вдумчиво и связывать все тезисы между собой. Используйте систему 2 на полную катушку.

                      Взять красную таблетку
                    • От внедрения зависимостей к отказу от зависимостей

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



                        Марк Симан — автор популярной книги Dependency Injection in .NET, автор бесчисленных блог-постов. На DotNext 2017 Moscow Марк рассмотрел применение dependency injection в классическом объектно-ориентированном дизайне и объяснил, почему его необязательно (даже нежелательно) использовать в функциональном программировании. Следом за этим он наглядно показал, как использование приемов функционального программирования устраняет необходимость в использовании моков и стабов в модульном тестировании и позволяет полностью выбросить мусор из прямого перечисления зависимостей.


                        Под катом — перевод доклада и видео. Далее повествование будет от лица Марка.

                        Читать дальше →
                      • Герундий, что ты такое?

                        Работая преподавателем английского, я заметил, что у многих возникают особые трудности с герундием. И сегодня мы его разберем по полочкам.

                        Начнем со сказки. Жил да был глагол( swim, jump, run… ), решил сменить пол, то бишь стать существительным. И превратился в герундий. И глаголом не остался, и существительным не стал. Получилось что-то непонятное, нечто среднее, скажем так: swimming, jumping, reading.

                        Мы это понимаем примерно так

                        swimming -плавание,

                        reading -чтение

                        jumping -прыжки.

                        То есть jumping -прыгание, как то язык не поворачивается сказать.

                        Но все эти примеры объединяет то, что они обозначают некий процесс. Какое-то занятие, полезное или не очень. Еще примеры в студию:

                        speaking, listening, reading, writing.

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

                        Читать далее...
                      • Как перестать беспокоиться и начать жить

                        • Tutorial

                        Многим хотелось бы знать, если вдруг что-то случится с их сайтом, магазином и т.п., особенно, если это не требует ни денег, ни времени, ни усилий. А ведь это довольно легко сделать: потратив совсем немного свободного времени, создадим докер контейнер, который будет периодически делать запросы в БД, расчитывать на их основании некие метрики, сравнивать их с пороговыми значениями и в случае превышения этих порогов, оповещать заинтересованных лиц.

                        Читать далее
                      • TypeScript: Раскладываем tsconfig по полочкам. Часть 1

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

                        Читать далее
                        • +28
                        • 14k
                        • 4
                      • Как Amazon тратил по $500 млн на разработку провальных игр и почему ничего не вышло



                          В 2012 году в структуре Amazon возникла собственная студия по производству компьютерных игр. По замыслу Джеффа Безоса, Amazon Game Studios должна была стать успешной и эффективной частью корпоративной экосистемы. Однако за прошедшие восемь лет добиться этого, увы, так и не удалось. Как же так вышло, что богатейшая компания, у которой получалось практически всё, не сумела завоевать рынок геймдева?

                          Ответы на этот вопрос нашел журналист Джейсон Шрайер (автор книги “Кровь, пот и пиксели”). Публикуем главные тезисы расследования.
                          Читать дальше →
                        • Всё что вы стеснялись спросить о бэкапах Microsoft SQL Server

                          • Перевод
                          В ходе проведения презентаций о бэкапах и восстановлении баз данных SQL Server, обычно задаются два типа вопросов. Первые задаются прямо по ходу презентации из зала, вторые задаются уже после, в приватной беседе. Эти, «приватные» вопросы, зачастую более интересны и я попробую дать ответы на наиболее сложные и интересные из них, вместо того чтобы писать ещё одну статью о том как вы должны делать бэкапы, или почему вы должны делать бэкапы, или даже почему вы должны проверять свои бэкапы (но вы и вправду должны проверять свои бэкапы).
                          Читать дальше →
                        • Улучшения нового редактора Razor в Visual Studio

                            Прошло шесть месяцев с тех пор, как мы анонсировали первую предварительную версию нового экспериментального редактора Razor для Visual Studio, основанного на общем языковом сервере Razor, и пришло время рассказать о наших успехах. Команда усердно работала над приведением нового редактора Razor в соответствие со старым, исправлением ошибок и добавлением множества замечательных новых функций. Мы думаем, что новый редактор близок к тому, чтобы быть готовым к нормальной повседневной разработке, поэтому сейчас самое время попробовать его с последней предварительной версией Visual Studio. Мы надеемся, что вы попробуете новый редактор Razor, и поделитесь с нами своими впечатлениями!

                            Читать далее