Яндекс подготовит на треть больше топовых специалистов по ML и Data Science
Школа анализа данных Яндекса открыла набор на следующий учебный год. Школа решила увеличить число своих студентов — на обучение примут 400 человек, что обеспечит приток новых датасаентистов на рынок. Конкурс при приёме в ШАД остаётся стабильно высоким (17 человек на место в 2023 году), но добавляется новая возможность поступить — теперь абитуриенты смогут поступить также через очную олимпиаду.
В недавнем исследований ШАД выяснил, что 77% выпускников устраиваются в лидирующие технологические компании, а каждый четвёртый работает в научной сфере.
Больше о карьерных треках выпускников ищите в карточках.
@sqlhub
Школа анализа данных Яндекса открыла набор на следующий учебный год. Школа решила увеличить число своих студентов — на обучение примут 400 человек, что обеспечит приток новых датасаентистов на рынок. Конкурс при приёме в ШАД остаётся стабильно высоким (17 человек на место в 2023 году), но добавляется новая возможность поступить — теперь абитуриенты смогут поступить также через очную олимпиаду.
В недавнем исследований ШАД выяснил, что 77% выпускников устраиваются в лидирующие технологические компании, а каждый четвёртый работает в научной сфере.
Больше о карьерных треках выпускников ищите в карточках.
@sqlhub
❤14
// create query to match input with the description or product name
var query = em.createQuery("SELECT p FROM Product p WHERE LOWER(p.description) like OR lower(p.productName) like :input", Product.class);
Это качественный и безопасный запрос с именованными параметрами, что делает невозможным использование инъекций.
// create query to match input with the description or product name
String query = "Select * from Product where lower(description) like '%" + lowerInput + "%' OR lower(product_name) like '%" + lowerInput + "%'";
Для контекста нейросеть использовала уязвимый код и на его основе сгенерировала ещё одну ошибку.
Факторы, усугубляющие использование GitHub Copilot:
— Закрепление плохого подхода. Начинающие разработчики, использующие ИИ-помощников, не замечают своих ошибок и начинают думать, что если код сгенерировала нейросеть, то он верный.
— Отсутствие проверок. Ассистенты не могут проверять безопасность предложенных фрагментов, а разработчики редко пересматривают их. Это увеличивает количество уязвимостей в проекте.
— Устаревшие шаблоны. GitHub Copilot может предлагать фрагменты, которые в сообществе уже признаны неверными и содержащими ошибки.
Будьте аккуратнее, в общем)
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Очевидно, что это будет первая, либо последняя запись в этом столбце.
База данных Oracle знает об этом, поэтому может оптимизировать данный запрос:
INDEX FULL SCAN (MIN/MAX)
или
INDEX RANGE SCAN (MIN/MAX)
При этом запросе считывается только одна необходимая запись.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🥰2🔥1
Нереально полезная подборка SQL-запросов, количество запросов вы и сами видите, это покрывает большую часть того, что может встретиться в практике
В том числе здесь:
record
и NULL
и способы быстрого получения количества записей в большой таблицеUPSERT
) и журналирование изменений таблицыDDL
) и способы добавления ограничений таблицы и изменения ограничений внешнего ключа без блокирования таблицы@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍8❤4
sudo -u postgres psql -d dbname -c "SELECT * FROM table;"
Здесь
dbname
— это название вашей БД, table
– имя таблицы. Разумеется, используем права суперпользователя
sudo
для переключения пользователя на postgres
, psql
является инструментом командной строки PostgreSQL, а ключ -c
нужен для выполнения конкретного запроса.-t
, который выводит данные построчно, и -X
для того, чтобы .psqlrc
не обрабатывался командой psql
.Пишите, кстати, если сталкивались с такими кейсами
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍6🔥3
CREATE OR REPLACE FUNCTION 'имя_процедуры(параметры)' RETURNS 'тип_результата' AS $$
DECLARE
-- переменные_локальные тип_переменной
BEGIN
-- Тело процедуры
-- Может содержать SQL запросы, управляющие конструкции и другие операторы
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION hello_world()
RETURNS VOID AS $$
BEGIN
RAISE NOTICE 'Hello, World!';
END;
$$ LANGUAGE plpgsql;
SELECT hello_world();
Таким образом, вы можете создавать и вызывать процедуры в PostgreSQL с помощью PL/pgSQL.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥5❤2🤬2👎1
UTF8
. Тогда как Django выдавал следующее сообщение:'latin-1' codec can't encode characters in position 55-64: ordinal not in range(256)
Проблема заключалась в том, что кодировка сервера была первоначально выставлена в
LATIN1
. То есть следующие команды давали следующий вывод:postgres=# show server_encoding; server_encoding ----------------- LATIN1(1 row) postgres=# show client_encoding; client_encoding ----------------- LATIN1(1 row) postgres=# \encoding LATIN1
Выполнение команды
SET CLIENT_ENCODING TO 'utf8';
не давало результата, после выхода из psql
кодировка возвращалась в LATIN1
.sudo apt-get install language-pack-ru
Выполнение процесса русификации
sudo update-locale LANG=ru_RU.UTF-8
И перезагрузка сервера
sudo reboot
После этого кодировка клиента сервера стала UTF8
postgres=# show server_encoding; server_encoding ----------------- LATIN1(1 row) postgres=# show client_encoding; client_encoding ----------------- UTF8(1 row) postgres=# \encoding UTF8
Вот такие дела, этого оказалось достаточно для исправления бага.
Возможно, кому-то будет особенно актуально
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤8🔥3
Для создания дампа базы данных PostgreSQL в текстовом формате на Heroku выполните два действия:
heroku pg:backups:capture && heroku pg:backups:download
pg_restore
:
pg_restore -f mydb.sql latest.dump
Здесь
mydb.sql
— это конечный файл с вашими данными. До начала работы убедитесь, что у вас установлен Postgres для использования команды pg_restore
.@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥2
Такой анализ потенциальных проблем в базе данных имеет очевидные преимущества:
dev/test/prod
) и даже на пустой БД, где нет данных (бэкап структуры без данных)Встраивать такого рода проверки в CI — это однозначно полезная практика. Разовая инвестиция в настройку конвейера исключит спектр потенциальных проблем с расхождением данных.
Подробнее об этом тут:
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥3