Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Курс «PostgreSQL для начинающих»: #1 — Основы SQL

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров70K

Этим постом я запускаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

В программе: рассказ об основах SQL, возможностях простых и сложных SELECT, анализ производительности запросов, разбор [не]эффективного применения индексов и особенностей работы транзакций и блокировок в этой СУБД.

Курс не претендует на лавры "войти в айти", поэтому подразумевает наличие у слушателя опыта программирования или работы с другими СУБД, и, главное, желания самостоятельно изучать тему работы с PostgreSQL глубже.

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

Читать далее
Всего голосов 30: ↑29 и ↓1+33
Комментарии30

Итак, вы решили перейти с Unity на Unreal Engine

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров26K

Наверно, произошло что-то плохое, и теперь вы читаете эту статью. Сочувствую! Давайте начнём по порядку.

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

С чего начать?

• Прочитайте документацию по Gameplay Framework. Всю целиком! У Unreal есть Gameplay Framework. Прочитайте документацию и освойтесь в ней. Это правильное решение при разработке любого типа игры. Не пропускайте её. Держите её под рукой, чтобы перечитывать.

• Влейтесь в сообщество. Это учетверит вашу скорость обучения. Есть Discord для бывших Unity-разработчиков Алекса Роуза и есть мой Discord.

• Почитайте Epic Online Learning Library. Вот она. Делайте упор на статьи, написанные Epic Games.

• Скачайте последнюю версию Unreal Engine из Epic Games Launcher. На данный момент это 5.3. В общем случае всегда стоит начинать проект на самой новой версии. Кроме того, нет никаких причин больше пользоваться UE4 — UE5 лучше и имеет все возможности UE4.

• Изучите документацию «Unreal Engine for Unity Developers» компании Epic. Это хороший способ начать. Вот она.

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

Читать далее
Всего голосов 31: ↑31 и ↓0+31
Комментарии26

Лекция 8. Helicopter Game 3D — CS50`s Introduction to Game Development с русскими субтитрами

Время на прочтение1 мин
Количество просмотров2.3K

Привет! Перевод очередной лекции на этот раз о знакомстве с Unity и о Helicopter Game 3D в частности

Читать далее
Рейтинг0
Комментарии1

Принципы для разработки: KISS, DRY, YAGNI, BDUF, SOLID, APO и бритва Оккама

Время на прочтение8 мин
Количество просмотров290K
image

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

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

Последовательное применение этих принципов упростит ваш переход от миддла к сеньору. Вы можете обнаружить, что некоторые (вероятно) вы применяете интуитивно.

Принципов много. Мы остановимся на семи самых важных. Их использование поможет вам в развитии и позволит стать лучшим программистом.

1. YAGNI

You Aren’t Gonna Need It / Вам это не понадобится

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

Этот принцип применим при рефакторинге. Если вы занимаетесь рефакторингом метода, класса или файла, не бойтесь удалять лишние методы. Даже если раньше они были полезны – теперь они не нужны.

Может наступить день, когда они снова понадобятся – тогда вы сможете воспользоваться git-репозиторием, чтобы воскресить их из мертвых.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+16
Комментарии10

Как изучить SQL за ночь или шпаргалка для системного аналитика

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров158K

Помните, как вы были студентами, и готовились к экзаменам по ночам?

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

Изучите теорию на примерах и закрепите на 13 практических задачах по SQL.

Читать далее
Всего голосов 51: ↑46 и ↓5+52
Комментарии41

«Двойные» субтитры и автопауза — расширение для изучения языков с помощью Netflix и YouTube

Время на прочтение1 мин
Количество просмотров29K

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

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

Основная особенность расширения — отображение двух субтитров сразу (например Английски + Русский), чтобы зрители могли сверять их и запоминать нужную им лексику. Однако он поддерживает и другие функции:

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии20

Ректоры и президенты неожиданно согласились рассказать студентам, что их ждет в микроэлектронике

Время на прочтение6 мин
Количество просмотров20K

Мы на Школе Синтеза двадцать суббот учили школьников и студентов проектировать процессоры на FPGA. Для выпуска мы решили пригласить крутых топов, и на наше удивление, откликнулись сразу семеро:

1. Александр Редькин, гендир и основатель компании Syntacore, которая разрабатывает будущий флагман российcких процессоров для линуксных ноутбуков - суперскаляр с внеочередным исполнением инструкций, совместимый по системе команд с архитектурой RISC-V.

2. Сергей Сергеевич Шумилин - заместитель директора по науке компании Миландр, российского лидера по разработке микроконтроллеров, пионера лицензирования ядер ARM и надежды российcких пользователей ПЛИС.

3. Николай Суетин - главный микроэлектронщик фонда Сколково, бывший руководитель R&D Интела в России.

4. Сергей Михайлович Абрамов - член-корреспондент РАН, руководитель разработки суперкомпьютера СКИФ и других HPC проектов.

5. Игорь Рубенович Агамирзян - бывший менеджер Микрософта, Российской Венчурной Компании, вице-президент Высшей Школы Экономики и программист.

6. Александр Тормасов - ректор Иннополиса, Chief Scientist компании Parallels, гуру виртуализации, лектор по компьютерной архитектуре.

7. Тимур Палташев - известный специалист по архитектуре компьютерной графики, c 25-летним опытом в Silicon Valley и работой с питерским ИТМО.

UPD: Потом присоединились:

8. Окунев Константин Евгеньевич - Директор по технологическому развитию ГК «Элемент»

9. Максимов Евгений Викторович - Директор по развитию экосистемы и образовательных инициатив Группы компаний YADRO

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

Это состоится в субботу 23 апреля в Капсуле №2 Технопарка Сколково в 12:00.

Как записаться и что было на 3x последних
Всего голосов 22: ↑16 и ↓6+13
Комментарии81

Как избежать 10 частых ошибок в настройке NGINX

Время на прочтение17 мин
Количество просмотров61K


Помогая пользователям NGINX с разрешением проблемных ситуаций, мы поняли, что большинство из них часто совершает одни и те же ошибки конфигурации. Более того, подобные ситуации вполне могут возникнуть даже у самих инженеров NGINX! В этой статье рассмотрим 10 наиболее распространенных ошибок и объясним как их исправить.


  1. Недостаточное количество файловых дескрипторов;
  2. Директива error_log off;
  3. Отсутствие keepalive-соединения с вышестоящими серверами;
  4. Упущение механизмов наследования директив;
  5. Директива proxy_buffering;
  6. Неправильное использование директивы if;
  7. Чрезмерные проверки работоспособности;
  8. Незащищенный доступ к метрикам;
  9. Использование ip_hash, когда весь трафик поступает из одного и того же блока /24 CIDR;
  10. Игнорирование преимуществ вышестоящих групп.
Читать дальше →
Всего голосов 70: ↑70 и ↓0+70
Комментарии3

Создаем приложение на Node.JS, Express и Typescript с Jest, Swagger, log4js и Routing-controllers

Время на прочтение7 мин
Количество просмотров58K
Это пошаговая инструкция создания приложение на Node.JS, с использованием typescript и express. Новое приложение создается не часто, отсюда забываются шаги по его созданию. И я решил написать некую шпаргалку, в помощь самому себе и другим разработчикам. Помимо шагов, я так же снял небольшие видео ролики для наглядности. Существуют уже готовые фреймворки для Node.JS, которые уже содержат в себе все необходимые пакеты и можно работать с ними, но это уже другой путь. Идея была в том, чтобы не зависить целиком от какого-то фреймворка и в случае необходимости менять одни пакеты на другие.
Читать дальше →
Всего голосов 4: ↑2 и ↓2+2
Комментарии14

Основы Linux (обзор с практическим уклоном)

Время на прочтение14 мин
Количество просмотров332K

Привет, Хабр!

В последние несколько лет все больше и больше людей ищут возможность войти в ИТ или поглубже изучить Linux, повысив уровень своей квалификации. Вместе с тем полноценных обзоров с практическом уклоном по типу «все и сразу» написано не так уж и много (особенно на русском языке).

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

Читать далее
Всего голосов 59: ↑55 и ↓4+68
Комментарии44

Трассировка лучей на GPU в Unity

Время на прочтение16 мин
Количество просмотров21K
Для трассировки лучей (ray tracing) настали удивительные времена. Компания NVIDIA реализует ускоренное с помощью ИИ шумоподавление, Microsoft объявляет о нативной поддержке в DirectX 12, а Питер Ширли продаёт свои книги по свободной цене (pay what you want). Похоже, что трассировка лучей наконец получила шанс быть принятой при дворе. Возможно, говорить о начале революции ещё слишком рано, но уже определённо стоит начать изучать и накапливать знания в этой области.

В этой статье мы напишем с нуля в Unity очень простой трассировщик лучей с помощью compute shaders. Скрипты мы будем писать на C#, а шейдеры — на HLSL. Весь код выложен на Bitbucket.

В результате у нас получится отрендерить нечто подобное:

Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Комментарии8

Как за день потерять 30% онлайна и за два месяца сделать батлрояль

Время на прочтение18 мин
Количество просмотров27K

Однажды в своем PvP-шутере мы за один день потеряли 30% от 60 тысяч одновременного онлайна. Это был 2018-й, в тот день на iOS вышел Fortnite. И хотя хайп был уже около года, а PUBG регулярно бил рекорды, без королевской битвы нам жилось вполне спокойно. Но тут стало очевидно, что батлрояль нельзя игнорировать, игрокам он нравится и нужно разрабатывать свой.

За два месяца мы проделали много интересной и сложной работы. Например, сделали свой редактор террейна, чтобы отрисовывать ландшафт не в 500 тысяч треугольников, как это делал Unity Terrain, а всего в 30 тысяч. Или написали мешбейкер, сократив количество запросов на отрисовку с 800 до 100, а освещение научились запекать за 5 минут вместо 30 часов. 

И это не говоря уже об огромном количестве разных оптимизаций ассетов, подгрузки объектов и так далее. Обо всем этом и многом другом подробно расскажу под катом.

Читать далее
Всего голосов 66: ↑66 и ↓0+66
Комментарии20

Полное руководство по инкрементной регенерации статических сайтов с помощью Next.js

Время на прочтение10 мин
Количество просмотров17K
Год назад во фреймворке Next.js 9.3 появилась поддержка генерирования статических сайтов (Static Site Generation, SSG), что сделало его первым гибридным фреймворком. Я к тому моменту уже несколько лет с удовольствием пользовался Next.js. Но тот релиз сделал Next.js моим новым стандартным инструментом. После того, как я много и серьёзно поработал с Next.js, я присоединился к Vercel для того чтобы помогать компаниям, вроде Tripadvisor и Washington Post, в деле внедрения Next.js и расширения того, что у них получилось.

В этом материале мне хотелось бы исследовать новый виток эволюции Jamstack — механизм инкрементной регенерации статических сайтов (Incremental Static Regeneration, ISR). Здесь вы найдёте руководство по ISR, а так же — практические примеры использования этой технологии, демонстрационные проекты и рассказ о сопутствующих внедрению ISR компромиссах.



Если в двух словах описать ISR, то окажется, что эта технология позволяет, при внесении каких-то изменений в материалы сайта, мгновенно обновлять статический контент. Полная пересборка проекта при этом не нужна. Гибридный подход Next.js позволяет использовать ISR в сфере электронной коммерции, при подготовке маркетинговых и рекламных страниц, при организации работы блогов и во многих других случаях.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+34
Комментарии3

Трюки CSS, которые сделают из вас ниндзя верстки

Время на прочтение5 мин
Количество просмотров51K

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


Многие свойства, о которых пойдет речь, являются экспериментальными. Большинство из них поддерживаются всеми современными браузерами, однако, если вы решите использовать какое-либо из названных свойств в продакшне, не поленитесь зайти на Can I use и уточнить поддержку (недавно сильно расстроился, обнаружив, что Safari не поддерживает атрибут loading="lazy").


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


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


Итак, вы готовы к нашему небольшому путешествию в удивительный и почти безграничный мир CSS? Тогда вперед.


grid + place-items


Здесь вы найдете полное визуальное руководство по Grid и Flexbox.


Данная техника позволяет выравнивать элементы по горизонтали и вертикали при помощи всего лишь двух строк кода.

Всего голосов 28: ↑26 и ↓2+33
Комментарии8

Опенсорсные альтернативы Google Analytics на своём хостинге

Время на прочтение5 мин
Количество просмотров23K

Веб-интерфейс опенсорсного сервиса аналитики Matomo

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

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

К счастью, есть ряд свободных, опенсорсных альтернатив Google Analytics, которые к тому же работают быстрее, поскольку скрипты меньше по размеру и загружаются с вашего собственного хостинга, а не со стороннего сервера. Информация о пользователях никуда не отправляется, а многие сервисы не используют куки и соответствуют законодательству GDPR о защите личных данных.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии18

Создаем разрушаемые объекты в Unreal Engine 4 и Blender

Время на прочтение12 мин
Количество просмотров26K


Современные игры становятся все реалистичнее, и один из способов этого добиться — создать разрушаемое окружение. К тому же, крушить мебель, растения, стены, здания и целые города просто весело.

Наиболее яркими примерами игр с хорошей разрушаемостью можно назвать Red Fraction: Guerrilla с ее возможностью пробивать тоннель сквозь Марс, Battlefield: Bad Company 2, где при желании можно превратить весь сервер в пепелище, и Control с его процедурным разрушением всего, что попадается на глаза.

В 2019 году Epic Games представила демо новой высокопроизводительной системы физики и разрушений Chaos движка Unreal. Новая система позволяет создавать разрушения разного масштаба, имеет поддержку редактора эффектов Niagara и при этом отличается экономным расходованием ресурсов.

А пока Chaos находится на стадии бета-тестирования, поговорим об альтернативных подходах к созданию разрушаемых объектов в Unreal Engine 4. В этой статье один из них опишем подробно.
Всего голосов 18: ↑17 и ↓1+18
Комментарии8

Google говорит, университеты больше не нужны

Время на прочтение7 мин
Количество просмотров31K

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

Для многострадального образовательного сектора, который и без того осаждают проблемы вроде спада в числе абитуриентов, черепашьего темпа изменения учебных программ, затруднений с переходом на дистанционное обучение и слишком высокой стоимости, этот ход со стороны Google и его сотрудников, возможно станет началом давно назревающего цифрового переворота.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+22
Комментарии126

Реализация тумана войны из Civilization VI в Unity

Время на прочтение17 мин
Количество просмотров12K

Эффект тумана войны из Civilization VI — отличный пример простой структуры вычислительного шейдера (compute shader). Если вы всегда хотели узнать об основах программирования таких шейдеров, то этот туториал для вас. Вы сможете понять его даже без знания шейдеров и программирования на C#; более опытные разработчики могут пропустить введение.

Анализ эффекта


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


Первое, на что нам нужно обратить внимание — граница между видимой и скрытой областями. «Скрытая» область — это напоминающая нарисованную от руки карту область, покрытая туманом войны. Мы чётко можем видеть, что граница не совпадает точно с полями шестиугольников и что присутствует небольшой шум, скорее всего шум Перлина.
Всего голосов 20: ↑20 и ↓0+20
Комментарии1

Облом, или как провалился любимый ИТ-проект

Время на прочтение34 мин
Количество просмотров29K
“Его пример другим наука”

Предисловие


Это грустная история о неуспехе проекта, который я считал потенциально успешным на все 100 процентов. И почему все кончилось обломом, я до сих пор толком не понимаю.
Читать дальше →
Всего голосов 54: ↑50 и ↓4+67
Комментарии37

Пиксель-арт для начинающих: инструкция по применению

Время на прочтение11 мин
Количество просмотров206K


Инди-разработчикам нередко приходится совмещать сразу несколько ролей: геймдизайнера, программиста, композитора, художника. И, когда дело доходит до визуала, многие выбирают пиксель-арт — на первый взгляд он кажется простым. Но чтобы сделать красиво, нужно много опыта и определенные навыки. Нашел туториал для тех, кто только начал постигать основы этого стиля: с описанием специального софта и техник рисования на примере двух спрайтов.
Читать дальше →
Всего голосов 47: ↑46 и ↓1+63
Комментарии6

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность