Pull to refresh
39
-4
questor @questor

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

Send message

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

Reading time4 min
Views458K

Привет всем!

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

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

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

Читать далее
Total votes 49: ↑46 and ↓3+58
Comments16

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

Reading time7 min
Views27K

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

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

Читать далее
Total votes 40: ↑33 and ↓7+35
Comments26

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reading time1 min
Views22K

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

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

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

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

Читать далее
Total votes 39: ↑38 and ↓1+47
Comments27

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

Reading time6 min
Views83K

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

Заглянуть под кат
Total votes 20: ↑17 and ↓3+22
Comments25

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

Reading time5 min
Views1.9K

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

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

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

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

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

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

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

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

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

Reading time5 min
Views13K
Привет, Хабр!

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


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

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

Reading time5 min
Views9.8K

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

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

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

Не переключайтесь
Total votes 15: ↑14 and ↓1+16
Comments17

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

Reading time6 min
Views37K


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

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

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

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





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

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

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

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

Reading time12 min
Views136K

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


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


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

Читать дальше →
Total votes 88: ↑86 and ↓2+108
Comments67

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

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




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

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

Reading time7 min
Views154K
Хочу поделиться несколькими советами по настройке удаленного подключения к рабочим местам по 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 41: ↑40 and ↓1+46
Comments68

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

Reading time12 min
Views47K

image


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


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


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

Читать дальше →
Total votes 22: ↑21 and ↓1+23
Comments14

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

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

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


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

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

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

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

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


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

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

Reading time16 min
Views29K

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


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


Читать дальше →
Total votes 61: ↑58 and ↓3+68
Comments155
1
23 ...

Information

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