Forwarded from Хабр
Релейный компьютер, телетайп и интересный алгоритм игры в крестики-нолики.
Крестики-нолики — классическая игра, которую, наверное, пытался написать каждый. При этом программы иногда получаются довольно запутанные, несмотря на простоту правил. Электромагнитные реле — классическая элементная база для компьютеров и калькуляторов. Если добавить к этому телетайп, то получится игровая консоль в стиле 1940х.
Крестики-нолики — классическая игра, которую, наверное, пытался написать каждый. При этом программы иногда получаются довольно запутанные, несмотря на простоту правил. Электромагнитные реле — классическая элементная база для компьютеров и калькуляторов. Если добавить к этому телетайп, то получится игровая консоль в стиле 1940х.
Forwarded from vc.ru
С первого дня основания в 2005 году Automatic предложил сотрудникам асинхронный график — они сами выбирают, сколько и когда им трудиться.
Модель исключает частые встречи и обсуждения в реальном времени, но делает ставку на письменное общение. Основатель компании Мэтт Малленвег утверждает, что так люди реже увольняются
vc.ru/office/370426
Модель исключает частые встречи и обсуждения в реальном времени, но делает ставку на письменное общение. Основатель компании Мэтт Малленвег утверждает, что так люди реже увольняются
vc.ru/office/370426
Forwarded from Senior SQL Developer
Функция LAST
- это функция, которая используется для вывода последнего значения в столбце. Она имеет схожее назначение с другими функциями, такими как FIRST, MIN и MAX, но она возвращает последнее значение в столбце вместо первого, минимального или максимального значения.
Функция LAST часто используется в сочетании с функцией ORDER BY для сортировки данных в порядке убывания и получения последнего значения в столбце.
Функция LAST может быть полезна во многих ситуациях, включая поиск последней транзакции, последнего сообщения или последнего значения в столбце. Она позволяет быстро и легко получать последние значения в столбцах и использовать их для принятия бизнес-решений и анализа данных.
- это функция, которая используется для вывода последнего значения в столбце. Она имеет схожее назначение с другими функциями, такими как FIRST, MIN и MAX, но она возвращает последнее значение в столбце вместо первого, минимального или максимального значения.
Функция LAST часто используется в сочетании с функцией ORDER BY для сортировки данных в порядке убывания и получения последнего значения в столбце.
Функция LAST может быть полезна во многих ситуациях, включая поиск последней транзакции, последнего сообщения или последнего значения в столбце. Она позволяет быстро и легко получать последние значения в столбцах и использовать их для принятия бизнес-решений и анализа данных.
Forwarded from Senior SQL Developer
SQL COUNT, AVG и SUM
Функции COUNT(), AVG() и SUM() возвращают количество строк, среднее значение и общую сумму числового столбца соответственно.
Функция COUNT() возвращает количество строк, соответствующих заданному критерию.
COUNT() Синтаксис
SELECT COUNT(column_name)
FROM table_name
WHERE condition
Функция AVG() возвращает среднее значение числового столбца.
AVG() Синтаксис
SELECT AVG(column_name)
FROM table_name
WHERE condition
Функция SUM() возвращает общую сумму числового столбца.
SUM() Синтаксис
SELECT SUM(column_name)
FROM table_name
WHERE condition
Примеры работ с функциями находятся в фото, а таблицы для задач - здесь
#это_база
Функции COUNT(), AVG() и SUM() возвращают количество строк, среднее значение и общую сумму числового столбца соответственно.
Функция COUNT() возвращает количество строк, соответствующих заданному критерию.
COUNT() Синтаксис
SELECT COUNT(column_name)
FROM table_name
WHERE condition
Функция AVG() возвращает среднее значение числового столбца.
AVG() Синтаксис
SELECT AVG(column_name)
FROM table_name
WHERE condition
Функция SUM() возвращает общую сумму числового столбца.
SUM() Синтаксис
SELECT SUM(column_name)
FROM table_name
WHERE condition
Примеры работ с функциями находятся в фото, а таблицы для задач - здесь
#это_база
Forwarded from iPhones.ru
Суперполезные горячие клавиши macOS — Управление окнами
1. Command + M скрывает текущее окно в Dock-панель.
2. Command + H скрывает в Dock все окна активного приложения.
3. Command + Option + H сворачивает все приложения, кроме активного.
4. Command + Control + F разворачивает активное приложение в полноэкранный режим.
5. Control + ↑ отображает все запущенные приложения на одном экране. Это один из способов использования функции Mission Control.
6. Control + ↓ показывает все окна активной программы.
7. Command + , открывает настройки текущего приложения.
8. Command + Option + Escape открывает диспетчер для завершения приложений. Полезно, если какая-то программа зависла и не отвечает.
9. Удерживать Command во время управления неактивным окном — позволяет выделить в нем текст, переместить объект или сделать что-то в программе, не выводя ее на передний план.
10. Удерживать Option во время изменения размера окна — позволяет масштабировать приложение сразу во все стороны.
Сохраняйте 😊
1. Command + M скрывает текущее окно в Dock-панель.
2. Command + H скрывает в Dock все окна активного приложения.
3. Command + Option + H сворачивает все приложения, кроме активного.
4. Command + Control + F разворачивает активное приложение в полноэкранный режим.
5. Control + ↑ отображает все запущенные приложения на одном экране. Это один из способов использования функции Mission Control.
6. Control + ↓ показывает все окна активной программы.
7. Command + , открывает настройки текущего приложения.
8. Command + Option + Escape открывает диспетчер для завершения приложений. Полезно, если какая-то программа зависла и не отвечает.
9. Удерживать Command во время управления неактивным окном — позволяет выделить в нем текст, переместить объект или сделать что-то в программе, не выводя ее на передний план.
10. Удерживать Option во время изменения размера окна — позволяет масштабировать приложение сразу во все стороны.
Сохраняйте 😊
Forwarded from iPhones.ru
This media is not supported in your browser
VIEW IN TELEGRAM
Разработчики смогли запустить эмулятор Windows XP в visionOS.
Им предстоит реализовать поддержку ввода, потому что после загрузки системы она не реагирует на стандартные жесты visionOS.
https://www.iphones.ru/iNotes/razrabotchiki-smogli-zapustit-emulyator-windows-xp-v-visionos-08-10-2023
Им предстоит реализовать поддержку ввода, потому что после загрузки системы она не реагирует на стандартные жесты visionOS.
https://www.iphones.ru/iNotes/razrabotchiki-smogli-zapustit-emulyator-windows-xp-v-visionos-08-10-2023
https://habr.com/ru/companies/modusbi/articles/753860/ не ну мало ли
Хабр
Язык 1С: плюсы и минусы для аналитических платформ
Привет, Хабр! На связи Саша Чебанов, product owner платформы Modus. Мы часто сталкиваемся с несколько устаревшим мнением, что язык 1С – это только про финансовые системы. В этой статье я постараюсь...
Forwarded from ДЕВОПСИНА | DevOps | Linux
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from Senior SQL Developer
Функция LCASE
LCASE — преобразует строку в нижний регистр.
Примечание: Функция LOWER() является синонимом функции LCASE()
Синтаксис: LCASE(text)
Например, если у вас есть строка "HeLLo WoRLD", применение функции LCASE к этой строке вернет "hello world".
Функция может быть полезна при поиске данных или сортировке данных в алфавитном порядке, где важен только регистр символов.
LCASE — преобразует строку в нижний регистр.
Примечание: Функция LOWER() является синонимом функции LCASE()
Синтаксис: LCASE(text)
Например, если у вас есть строка "HeLLo WoRLD", применение функции LCASE к этой строке вернет "hello world".
Функция может быть полезна при поиске данных или сортировке данных в алфавитном порядке, где важен только регистр символов.
Forwarded from Senior SQL Developer
Использование составных триггеров (compound triggers) Oracle
Oracle позволяет создавать триггеры, которые реагируют на изменения в таблицах базы данных. Если вы хотите создать триггер, который реагирует на изменения в нескольких таблицах, используйте составные триггеры (compound triggers). Они позволяют объединять до четырех типов триггеров в одном объекте, что упрощает создание, отладку и обслуживание.
Составные триггеры имеют секции, выполняющиеся в разное время: BEFORE STATEMENT, BEFORE EACH ROW, AFTER EACH ROW, и AFTER STATEMENT.
BEFORE STATEMENT выполняется перед операцией DML.
BEFORE EACH ROW выполнится перед каждой строкой операции DML.
AFTER EACH ROW выполняется после каждой строки операции DML.
AFTER STATEMENT выполняется после выполнения операции DML.
Секции BEFORE EACH ROW и AFTER EACH ROW имеют доступ к NEW и OLD значениям строк, а также имеют возможность изменять значения в NEW. Секции BEFORE STATEMENT и AFTER STATEMENT не имеют доступа к NEW и OLD значениям, но могут использоваться для общих задач, таких как создание временных таблиц или логирование.
Преимущества использования составных триггеров
Составные триггеры позволяют более гибко управлять логикой выполнения операций, так как все блоки объединены в один. Кроме того, составные триггеры позволяют использовать общие переменные и функции, что упрощает код и снижает вероятность ошибок.
Oracle позволяет создавать триггеры, которые реагируют на изменения в таблицах базы данных. Если вы хотите создать триггер, который реагирует на изменения в нескольких таблицах, используйте составные триггеры (compound triggers). Они позволяют объединять до четырех типов триггеров в одном объекте, что упрощает создание, отладку и обслуживание.
Составные триггеры имеют секции, выполняющиеся в разное время: BEFORE STATEMENT, BEFORE EACH ROW, AFTER EACH ROW, и AFTER STATEMENT.
BEFORE STATEMENT выполняется перед операцией DML.
BEFORE EACH ROW выполнится перед каждой строкой операции DML.
AFTER EACH ROW выполняется после каждой строки операции DML.
AFTER STATEMENT выполняется после выполнения операции DML.
Секции BEFORE EACH ROW и AFTER EACH ROW имеют доступ к NEW и OLD значениям строк, а также имеют возможность изменять значения в NEW. Секции BEFORE STATEMENT и AFTER STATEMENT не имеют доступа к NEW и OLD значениям, но могут использоваться для общих задач, таких как создание временных таблиц или логирование.
Преимущества использования составных триггеров
Составные триггеры позволяют более гибко управлять логикой выполнения операций, так как все блоки объединены в один. Кроме того, составные триггеры позволяют использовать общие переменные и функции, что упрощает код и снижает вероятность ошибок.
Forwarded from Базы данных & SQL
Forwarded from Хабр
«Мне захотелось сделать игру, напоминающую о ретроэпохе игр на портативных консолях с их уникальным квадратным экраном, низким разрешением и видом сверху вниз. Я решил реализовать быстрый геймплей в стиле action-RPG с простым, но увлекательным геймплеем, мотивирующим игрока продолжать игру»
Создание игры в стиле GameBoy в 13 КБ
Создание игры в стиле GameBoy в 13 КБ
Forwarded from Хабр
Собираем и запускаем Linux-0.01 в Minix 1.5, (почти) как это делал Линус Торвальдс
17 сентября ядру Linux исполнится 32 года. Это прекрасный повод вспомнить, как всё начиналось. Попытаемся повторить, насколько это возможно, действия Линуса Торвальдса по компиляции и запуску самой первой версии ядра Linux 0.01.
17 сентября ядру Linux исполнится 32 года. Это прекрасный повод вспомнить, как всё начиналось. Попытаемся повторить, насколько это возможно, действия Линуса Торвальдса по компиляции и запуску самой первой версии ядра Linux 0.01.
Forwarded from vc.ru
В 1980-х инженеры Microsoft создавали сложные продукты ради собственного удовольствия. Но когда компания поняла, что компьютерами пользуются тысячи разных специалистов, подход пришлось изменить.
Как Microsoft училась работать с клиентами, которые экономили на техподдержке, заливали смолой USB-порты и вырезали функции из Word, превращая его в блокнот
vc.ru/services/307415
Как Microsoft училась работать с клиентами, которые экономили на техподдержке, заливали смолой USB-порты и вырезали функции из Word, превращая его в блокнот
vc.ru/services/307415
Forwarded from Хабр
Курс проложит аналитик: проверьте, какими SQL-скилами вы экипированы
Если вы не первый год в аналитике, то знаете, каково это — прокладывать дорогу сквозь неопределённость. Рассматривать гипотезы и принимать ту, по которой работать, — это как выбирать дорогу, по которой идти всей команде. Волнительно и непросто отправляться на неосвоенные земли.
Вот вы — хороший штурман? Готовы встретиться с вызовами? Перетряхнём же рюкзак, посмотрим, чем он набит, и есть ли там самое важное, без чего не выжить в пути!
Если вы не первый год в аналитике, то знаете, каково это — прокладывать дорогу сквозь неопределённость. Рассматривать гипотезы и принимать ту, по которой работать, — это как выбирать дорогу, по которой идти всей команде. Волнительно и непросто отправляться на неосвоенные земли.
Вот вы — хороший штурман? Готовы встретиться с вызовами? Перетряхнём же рюкзак, посмотрим, чем он набит, и есть ли там самое важное, без чего не выжить в пути!
Forwarded from SQL Pro
Ответ на #вопрос71
Внешний ключ или FOREIGN KEY также является атрибутом ограничения и обеспечивает связь двух таблиц. По сути, это поле или несколько полей, которые ссылаются на PRIMARY KEY в родительской таблице.
Пример использования:
#вопросы #собеседование
Внешний ключ или FOREIGN KEY также является атрибутом ограничения и обеспечивает связь двух таблиц. По сути, это поле или несколько полей, которые ссылаются на PRIMARY KEY в родительской таблице.
Пример использования:
CREATE TABLE order (В данном случае внешний ключ, привязанный к полю user_id в таблице order, ссылается на первичный ключ id в таблице users, и именно по этим полям происходит связывание двух таблиц.
order_id INT NOT NULL,
user_id INT,
PRIMARY KEY (order_id),
FOREIGN KEY (user_id) REFERENCES users(id)
);
#вопросы #собеседование
Forwarded from Senior SQL Developer
MySQL: DIV
Функция DIV в MySQL возвращает целочисленное деление двух заданных чисел. Она принимает два аргумента: делимое и делитель, и возвращает результат деления в виде целого числа.
Синтаксис функции DIV выглядит следующим образом:
DIV(dividend, divisor) - Здесь dividend - это делимое, а divisor - это делитель. Оба аргумента должны быть числами. Если один из аргументов NULL, то результатом будет NULL.
Пример использования функции DIV
Предположим, у нас есть таблица с информацией о продажах. Нам нужно вычислить среднее количество продаж в день, зная общее количество продаж и количество дней, в течение которых эти продажи были сделаны. Мы можем использовать функцию DIV для вычисления среднего количества продаж в день
Функция DIV в MySQL возвращает целочисленное деление двух заданных чисел. Она принимает два аргумента: делимое и делитель, и возвращает результат деления в виде целого числа.
Синтаксис функции DIV выглядит следующим образом:
DIV(dividend, divisor) - Здесь dividend - это делимое, а divisor - это делитель. Оба аргумента должны быть числами. Если один из аргументов NULL, то результатом будет NULL.
Пример использования функции DIV
Предположим, у нас есть таблица с информацией о продажах. Нам нужно вычислить среднее количество продаж в день, зная общее количество продаж и количество дней, в течение которых эти продажи были сделаны. Мы можем использовать функцию DIV для вычисления среднего количества продаж в день