Pull to refresh
39
-4
questor @questor

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

Send message

Оконные функции SQL простым языком с примерами

Reading time 4 min
Views 421K

Привет всем!

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

P.S. Если автор что-то не разобрал и не написал, значит он посчитал это не обязательным в рамках этой статьи))) 

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

Читать далее
Total votes 64: ↑61 and ↓3 +58
Comments 15

Чтобы решать «нерешаемые» задачи, нужно знать алгоритмы

Reading time 7 min
Views 26K

Артем Мурадов — Senior Software Development Engineer в Amazon и автор курса «Алгоритмы: roadmap для работы и собеседований». Уже больше 14 лет он использует алгоритмы для решения рабочих задач и прохождения собеседований. С помощью алгоритмов он повышал производительность приложений, побеждал в спорах с коллегами и ускорял исследование ДНК. Даже попасть в Amazon ему помогло знание алгоритмов.

Мы пообщались с Артемом, чтобы узнать о его опыте. Он подробно рассказал, как изучал алгоритмы и как они помогали ему в работе.  

Читать далее
Total votes 49: ↑42 and ↓7 +35
Comments 26

Как сделать хорошую интеграцию? Часть 1

Reading time 11 min
Views 19K
Вопрос в заголовке включает в себя неочевидную часть, ведь перед тем, как рассказывать про создание хорошей интеграции стоит определить, какую интеграцию мы считаем хорошей. А ответ на этот вопрос не однозначен.

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


Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 7

Исследуем базы данных с помощью T-SQL

Reading time 26 min
Views 281K
Как dba и консультант по оптимизации производительности SQL Server в Ambient Consulting, я часто сталкиваюсь с необходимостью анализа узких мест производительности на экземплярах SQL Server, которые вижу первый раз в жизни. Это может быть сложной задачей. Как правило, у большинства компаний нет документации по их базам данных. А если есть, то она устарела, или же её поиск занимает несколько дней.

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

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

Как и с любыми скриптами, сначала проверьте их в тестовом окружении, прежде чем запускать в продакшене. Я бы рекомендовал вам погонять их на тестовых базах MS, таких как AdventureWorks или pubs.

Ну, хватит слов, давайте я покажу скрипты!
Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 11

Что в стоматологии поменялось за 30 лет, и почему заниматься наукой в России так больно

Reading time 13 min
Views 51K
image
Кариес средней стадии, зубы, на которых будет сниматься ткань, изолированы коффердамом. Это настолько очевидно, просто и так улучшает результат даже простых вмешательств, что в регионах вас сожгут на костре за одну только мысль делать так постоянно.

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

Или вот приборы для флоуметрии и просвечивания тканей ультрафиолетом. Зачем, когда есть рентген или КТ? А затем, что бывают беременные женщины, которым лечат кариес, когда проблема в пульпите. То есть им просто не могут правильно диагностировать проблему без снимка, а мы можем.

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

Главное — то, что примерно с появлением Интернета поменялся научный подход. А мы в России отстали в своём консерватизме лет на 30. Но я пришёл сюда не ныть, поэтому расскажу и покажу на конкретных примерах проблемы карательной стоматологии и возможные решения. Если вы готовы вкладывать в прикладную науку, конечно.
Total votes 203: ↑197 and ↓6 +191
Comments 239

Книга: проектирование API

Reading time 1 min
Views 22K

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

Пока что написал первую часть — о принципах проектирования API «сверху вниз»

PDF-версию можно скачать отсюда

Вопросы, пожелания и предложения принимаются. Книга распространяется бесплатно на условиях CC-BY-NC. You're welcome!

Читать далее
Total votes 49: ↑48 and ↓1 +47
Comments 27

Как находить проблемы с интернетом и кто виноват ч.2 — домашняя работа

Reading time 6 min
Views 82K

Перед тем, как обращаться к провайдеру, необходимо разобраться - а всё ли хорошо в доме. Без этой проверки есть риск превратиться в мальчика, который постоянно кричал "у меня потери пакетов" "волки".

Заглянуть под кат
Total votes 28: ↑25 and ↓3 +22
Comments 25

Регламенты закупок: кто виноват, что делать… KPI. Базис Гребнера

Reading time 5 min
Views 1.8K

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

Можно поменять правила, но тут начинаются неприятности. Имеется доказательство того, что часто совсем простые правила ведут к непредсказуемой динамике. Это называется принцип вычислительной неприводимости (The New Kind of Science). Результат применения не очень сложного набора правил нельзя интуитивно предугадать. Его можно только вычислить (смоделировать), произведя соответствующие операции.

Обсудим следующие темы:

  • динамика закупок производственных предприятий;
  • что не так в регламентах;
  • почему система все-таки работает;
  • исследование KPI через базисы Гребнера.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Comments 2

Системный таймер в Windows: большое изменение

Reading time 8 min
Views 36K
Поведение планировщика Windows значительно изменилось в Windows 10 2004 без каких-либо предупреждений и изменения документации. Вероятно, это поломает несколько приложений. Такое происходит не первый раз, но эта перемена посерьёзнее.

Если вкратце, то вызовы timeBeginPeriod из одного процесса теперь влияют на другие процессы меньше, чем раньше, хотя эффект ещё присутствует.

Думаю, что новое поведение — это по сути улучшение, но оно странное, и заслуживает того, чтобы быть задокументированным. Честно предупреждаю — у меня только результаты собственных экспериментов, поэтому могу только догадываться о целях и каких-то побочных эффектах этого изменения. Если какие-либо из моих выводов неверны, пожалуйста, дайте знать.
Читать дальше →
Total votes 45: ↑44 and ↓1 +43
Comments 25

Творческое использование методов расширения в C#

Reading time 5 min
Views 13K
Привет, Хабр!

Продолжая исследование темы C#, мы перевели для вас следующую небольшую статью, касающуюся оригинального использования extension methods. Рекомендуем обратить особое внимание на последний раздел, касающийся интерфейсов, а также на профиль автора.


Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 16

GetHashCode() и философский камень, или краткий очерк о граблях

Reading time 5 min
Views 9.5K

Казалось бы, что тема словарей, хэш-таблиц и всяческих хэш-кодов расписана вдоль и поперек, а каждый второй разработчик, будучи разбужен от ранней вечерней дремы примерно в 01:28am, быстренько набросает на листочке алгоритм балансировки Hashtable, попутно доказав все свойства в big-O нотации.

Возможно, такая хорошая осведомленность о предмете нашей беседы, может сослужить и плохую службу, вселяя ложное чувство уверенности: "Это ж так просто! Что тут может пойти не так?"

Как оказалось, может! Что именно может - в программистских пятничных байках, сразу после краткого ликбеза о том, что же такое хэш-таблица.

Не переключайтесь
Total votes 18: ↑17 and ↓1 +16
Comments 17

Что такое soft skills для инженера в 2020 году, зачем и как компании их проверяют на собеседованиях

Reading time 6 min
Views 37K


Недавно один из моих знакомых инженеров устраивался на работу в Facebook. Он успешно прошел несколько кругов собеседований, его позвали на собеседование в офис, и уже там на этапе leadership and drive что-то пошло не так. Как признавался знакомый позднее, отвечать на вопросы в виде «как вы сработались со сложным коллегой» или «как вы добивались целей в токсичной обстановке» он был не очень готов.

Именно подобные вопросы позволяют оценить так называемые гибкие навыки (soft skills) инженеров. История собеседования в Facebook меня сильно заинтересовала, поэтому я решил изучить тему soft skills, их проверки и тренировки поподробнее. Бонусом прикладываю список полезных ресурсов и статей, на которые наткнулся в процессе подготовки материала. Поехали!
Читать дальше →
Total votes 27: ↑17 and ↓10 +7
Comments 141

Что же такого особенного в IAsyncEnumerable в .NET Core 3.0?

Reading time 5 min
Views 36K
Перевод статьи подготовлен в преддверии старта курса «Разработчик C#».





Одной из наиболее важных функций .NET Core 3.0 и C# 8.0 стал новый IAsyncEnumerable<T> (он же асинхронный поток). Но что в нем такого особенного? Что же мы можем сделать теперь, что было невозможно раньше?

В этой статье мы рассмотрим, какие задачи IAsyncEnumerable<T> предназначен решать, как реализовать его в наших собственных приложениях и почему IAsyncEnumerable<T> заменит Task<IEnumerable<T>> во многих ситуациях.

Ознакомьтесь со всеми новыми функциями .NET Core 3
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Comments 0

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

Reading time 12 min
Views 132K

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


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


Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

Читать дальше →
Total votes 112: ↑110 and ↓2 +108
Comments 66

7 опасных ошибок, которые легко совершить в С#/.NET

Reading time 8 min
Views 11K
Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик».




C# — великолепный язык, и .NET Framework также очень хорош. Строгая типизация в C# способствует уменьшению количества ошибок, которые вы способны спровоцировать, по сравнению с другими языками. Плюс его общая интуитивная конструкция тоже очень помогает, по сравнению с чем-то наподобие JavaScript (где true это false). Тем не менее, в каждом языке есть свои грабли, на которые легко наступить, наряду с ошибочными представлениями об ожидаемом поведении языка и инфраструктуры. Я попытаюсь подробно описать некоторые из этих ошибок.
Читать дальше →
Total votes 25: ↑21 and ↓4 +17
Comments 14

Как сделать работу с Microsoft Remote Desktop лучше

Reading time 7 min
Views 150K
Хочу поделиться несколькими советами по настройке удаленного подключения к рабочим местам по RDP. Расскажу как проапгрейдить древний RPC-HTTP до UDP, похвалю и поругаю Windows 10 и AVC, разберу решение нескольких типичных проблем.

Считаем, что для подключения используется Remote Desktop Gateway (RDGW), а в качестве серверов выступают рабочие станции. Использовать RDGW очень удобно, потому что шлюз становится общей точкой входа для всех клиентов. Это дает возможность лучше контролировать доступ, вести учет подключений и их продолжительность. Даже если VPN позволяет подключиться к рабочим машинам напрямую — это не лучший вариант.

RDGW настраивается быстро, просто, а Let's Encrypt и win-acme легко решают проблему с доверенным сертификатом.

Есть три транспортных протокола по которым клиент может подключиться с серверу:

RPC-HTTP (плохо)
HTTP (лучше)
HTTP+UDP (отлично)

Под сервером будем понимать рабочую машину, под клиентом — домашнюю.
Первое, с чего стоит начать, это «плохо» превратить в «отлично».
Читать дальше →
Total votes 48: ↑47 and ↓1 +46
Comments 68

Современные архитектуры фронт-энда

Reading time 12 min
Views 47K

image


В статье "Contemporary Front-end Architectures" рассмотрены архитектуры фронт-энда с точки зрения потоков данных в исторической ретроспективе.


Материал состоит из трех частей


  1. Теория и история
  2. Реализация
  3. Перспективы

Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 14

Алексей Каптерев: Критическое мышление 101 (часть 2)

Reading time 22 min
Views 18K
25 апреля в рамках «Дня тренинга МГУ 2020» Алексей Каптерев выступил с докладом про критическое мышление. Представляем вам часть 2 расшифровки лекции.

Часть 1 доступна по ссылке.


Читать дальше →
Total votes 32: ↑32 and ↓0 +32
Comments 25

Книга «Управление памятью в .NET для профессионалов» в правильном переводе команды DotNetRu

Reading time 5 min
Views 16K
Совсем недавно в издательстве ДМК-пресс на русском языке вышла замечательная книга Конрада Кокосы «Управление памятью в .NET для профессионалов».

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

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


Читать дальше →
Total votes 41: ↑41 and ↓0 +41
Comments 25

Парсите, а не валидируйте

Reading time 16 min
Views 29K

Еще в декабре мне попалась одна совершенно замечательная статья на английском, посвящённая использованию системы типов языка для более широкого класса задач, для повышения надежности приложений и простоты рефакторинга. К сожалению, в тот момент я был слишком занят написанием статей по ФП, которые крайне важно было написать, пока свежи воспоминания. Но теперь, когда с этой задачей я справился, наконец дошли руки перевести эту замечательную заметку. Оригинальный язык примеров — Хаскель, но я решил переписать их на раст, для более широкого охвата аудитории. Однако язык тут совершенно неважен, советы этой статьи я применяю в ежедневной разработке на вполне себе "приземлённых" C# и TypeScript, так что если вы просто стараетесь писать надёжный и поддерживаемый код, то, вне зависимости от языка, статья вам будет в тему.


Благодарю за вычитку и помощь в переводе Hirrolot, funkill и andreevlex


Читать дальше →
Total votes 74: ↑71 and ↓3 +68
Comments 155

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity