Архитектура современного Full-Stack проекта: NestJS, Next.js, NX & Prisma на базе PostgreSQL
В этом ролике мы раскроем детали построения мощного и масштабируемого Full-Stack приложения с использованием самых передовых технологий. Я поделюсь своими знаниями о том, как связать эти технологии вместе, создавая современное приложение, готовое к масштабированию. От дизайна и структуры проекта до конкретных примеров кода и лучших практик - мы покроем все аспекты разработки.
Видео подходит как для новичков, так и для опытных разработчиков, желающих улучшить свои навыки и узнать о новых подходах в разработке Full-Stack приложений. Для тех, кто хочет присоединиться и внести свой вклад в развитие проекта! Я приглашаю программистов и энтузиастов технологий, желающих поделиться своими идеями и помочь в создании чего-то уникального.
Задача по SQL про удаление записей из таблицы
Здравствуйте, друзья! Недавно в своём Telegram-канале выложил очередную задачу по SQL (см. изображение). Получился очень интересный разброс голосов за правильный ответ.
Более половины подписчиков ответили правильно! 💪 Из перечисленных в опросе команд SQL только последней удастся очистить таблицу Persons от всех строк в ней (см. задачу на изображении). Команда TRUNCATE TABLE Persons разом опустошит таблицу, она останется совсем без записей.
Команда DELETE написана так, что согласно условию WHERE не найдётся ни одной подходящей записи для удаления. Ни для одной строки не выполнится условие, указанное во WHERE. Результат сравнения с NULL всегда будет отрицательным. Для проверки на NULL можно использовать только IS и IS NOT.
Команда UPDATE не удаляет строки из таблицы. В нашем примере она заменяет существующее значение в столбце NAME на NULL для всех строк (WHERE-то нет).
А команда DROP вообще удаляет саму таблицу из базы данных😌 вместе с данными конечно. И селектить больше будет неоткуда. Таблицы больше не будет в базе данных🙈
Если у тебя есть Телеграмм, буду рад твоей подписке: https://t.me/sql_oracle_databases
Сможете найти на картинке цифру среди букв?
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi
Как найти в себе силы и овладеть SQL
"У каждого взрослого человека всегда много дел". Дмитрий Петров, лингвист, полиглот.
"Aller Anfang ist schwer" (любое начинание сложно). Немецкая поговорка.
Всегда трудно начинать что-то новое. Переживания из-за невладения навыком работы с базами данных и незнания языка SQL могут усугубляться страхом его изучения. Как это всё выучить? И не просто выучить, а ещё и начать хорошо разбираться в этом? А вдруг я не смогу найти работу, ведь везде требуются сотрудники уже с опытом работы? Эти и другие страхи возникают постоянно. Но бояться не надо! Язык SQL не сложный!
- "Конечно, тебе легко говорить". - Скажешь ты. - "Ведь ты его знаешь".
- "Да, знаю. И так же как и ты, когда то впервые его увидел". А ещё я практически сразу понял насколько он прост и лёгок в понимании! Итак, языку SQL и существенным навыкам работы с базами данных можно обучиться за довольно короткое время! А качественное обучение (или самообучение) с обязательной практикой может дать хороший результат! А чтобы начать совсем хорошо в нём разбираться, нужно прорешать множество типичных и каверзных задач. Здесь, конечно, нужен или опыт или нужны хорошие курсы. В своём курсе по SQL и базам данных на простых примерах я проведу тебя через многие практические сложности! Мы научимся решать любые задачи на языке SQL. Научимся видеть потенциальные ошибки в существующем коде и оптимизировать его. Можно реально примерно за месяц (если учиться не торопясь, уделяя час в день) "прокачать" знания языка SQL и навыки работы с базами данных с нуля до уровня специалиста с трёхлетним стажем! Вот так!
Я совсем не уговариваю тебя придти ко мне на курс, но был бы тебе очень рад! Мне уже повезло, что ты читаешь этот пост и я могу ещё кое что тебе рассказать!
Итак, язык SQL очень прост. Ты можешь ему научиться. Это аксиома (не требует доказательств).
"Я знаю. Ты можешь"! Ицхак Пинтосевич. Автор множества книг по развитию личности.
Итак, SQL тебе под силу! Теперь осталось разобраться как найти на него время и силы. У тебя, возможно, есть семья, дети. Есть работа, которая отнимает основное продуктивное время, есть друзья, которым хоть пол часа в день времени, но уделить нужно (вотсап, вконтакте, одноклассники,..). Вобщем - день занят. И так каждый день! А в выходные надо отдохнуть, ведь всю неделю ты работал как мог!
- "У меня есть максимум час в неделю!" - скажешь ты.
- "Отлично! С этого и давай начинать!" Час в неделю это лучше, чем ничего.
"Большого слона можно съесть по кусочкам". Народная мудрость.
Итак, если у нас есть час в день, то считай, что SQL мы выучим! Да, да! Тратя по-немногу времени на нужный навык, ты, в конце концов, его освоишь! И даже это не растянется на очень долго! Изучай и практикуй! Начни хоть с часу в неделю, ты заметишь, что ты начнёшь в этом разбираться, а через некоторое время тебе это понравится и ты сможешь находить на это больше времени! Незаметно для себя ты овладеешь SQL и обучишься навыкам работы с базами данных!
Буду рад, если поделишься своей историей как ты смог найти время и силы на язык SQL!
База данных характеристик авто с фотографиями
Дорогие пикабушники, доброго вам дня. Привет моим подписчикам. Сегодня я решил порадовать вас свежей базой данных характеристик авто с фото. База актуальна примерно на 06.2023 г.
Базу решил выложить бесплатно. Думаю многим разработчикам пригодится.
Планирую также выложить базы данных с рецептами блюд, характеристиками вело/мото техники и характеристиками планшетов и смартфонов. Буду рад вашим предложениям, какие ещё базы данных вы хотели бы видеть? Буду признателен за источники с открытой информацией о чем либо, различные справочники.
Также есть базы данных с характеристиками различной техники (телевизоры, комплектующие для ПК, различная бытовая техника и т.п.), все с фото, правда ещё не обработаны. Если вам будет интересно, возможно выложу.
Со мной можно связать по почтовому ящику amsterdamnavi@yandex.ru или AmsterBD@yandex.com
Итак, немного о самой базе:
+ Брендов около 240.
+ Моделей более 3200.
+ Генераций в районе 10 000.
+ Модификаций более 83 000.
+ Более 70 000 фотографий.
- Не под все генерации есть фото, около двух десятков без фото.
- Не все характеристики у пары десятков модификаций.
- К сожалению не нашел источника с описанием комплектаций авто (если кто подскажет, буду благодарен).
Где её можно использовать:
Сайт с характеристиками автомобилей.
Интернет-магазин автозапчастей и аксессуаров для авто.
Доска объявлений по продаже авто и запчастей к ним.
Сайт с дневниками автолюбителей.
Сайт трейд-ин автосалонов и автохаусов.
Прочие сферы связанные с авто и характеристиками авто.
UPD Фотографии не рекомендуется использовать в коммерческих проектах.
Какая структура у базы?
1) Таблица с марками авто.
2) Таблица с моделями авто.
Столбец с годом начала производства и столбец с годом окончания производства модели. Если в столбце окончания указан 0, значит модель производится по сей день.
Привязка к brand_id таблицы брендов авто.
3) Таблица с генерациями моделей авто.
Столбец с указанием типа кузова.
Столбец с годом начала производства и столбец с годом окончания производства генерации. Если в столбце окончания указан 0, значит генерация производится по сей день.
Привязка к model_id таблицы моделей авто.
4) Таблица со всеми модификациями генераций авто.
Столбец с мощностью модификации в л.с.
Столбец с указанием типа привода модификации.
Столбец с годом начала производства и столбец с годом окончания производства модификации. Если в столбце окончания указан 0, значит модификация производится по сей день.
Привязка к generation_id таблицы генераций авто.
5) Непосредственно сама таблица с характеристиками авто.
Характеристики разделены по группам.
Привязка к таблице модификаций к столбцу modification_id.
6) Архив с фотографиями автомобилей и таблица с фото по генерациям.
Связь фото по id фото в таблице.
Файл с базой:
Формат: .sql
Размер: 410 Mb
Ссылка: https://drive.google.com/file/d/1d3gFfa5ZJb6j2OFl7w2a1IvUbfsBvcLs/view?usp=sharing
Сами фотографии в формате .jpg
Формат: .zip
Размер: 11,21 Gb
Ссылка: https://drive.google.com/file/d/1Mhmts_IRAa53oImDLQPJmM6-7stRnm7a/view?usp=sharing
Всем удачи, всем успехов.
P.S. Вопрос к администрации Пикабу. Почему запрещены к размещению ссылки с mega?
NFT. Путь от картинок до прогресса
Всем привет, друзья! Сегодня мы поговорим об NFT, разберемся, что из себя представляет НФТ-сегмент и какие у него перспективы в будущем.
"НФТ, НФТ, слышал я такое, да, это же картиночки, которые продают за миллионы долларов?"
Да, это НФТ, но не спешите плеваться, а еще хуже, покупать эти самые джпэги, все не так просто...
NFT расшифровывается, как non-fungible token, то есть невзаимозаменяемый токен, хранится он так же в блокчейне (что такое блокчейн мы разобрали в прошлом посте) и соответственно является криптографической единицей, которая не повторяется в сети. Придумали эту технологию еще в 2012 году и только спустя 10 лет она обретает свое применение и создает огромный хайп вокруг себя. Но, как предрекает нам пирамида Маслоу, НФТ начала свой путь с вершины этой пирамиды и нашла себя в области искусства.
В 2021 году компания Injective Protocol проводит публичную акцию сожжения картины известного британского уличного художника Бэнкси "Morons" за 100 тыс. долларов и тем самым конвертирует ее в NFT, уничтожая единственный подлинник картины в реальном мире.
Вандализм или прогресс? На этот вопрос каждый ответит для себя сам, но акция была поистине потрясающая и затронула чувства, как противников, так и согласных. Этой акцией был задан курс движения NFT на ближайшие годы.
Начали выпускаться тысячи коллекций картинок в виде НФТ, певцы начали продавать демо своих песен в НФТ, режиссеры продавали кадры, которые не попали в фильм и т.д.
В общем началась эра NFT и вертолетных денег! Каждая медийная личность стремилась заработать на этом, а перед ними выстроились толпы спекулянтов, готовых подхватить это.
Что мы имеем сейчас?
На самом деле ничего хорошего мы не имеем: миллионы спекулянтов, заливающих деньги в рынки и бесконечно штампующиеся коллекции новых НФТ-картинок. Развитие самой технологии приостановилось еще на старте и стоит только ожидать, когда надуваемый пузырь лопнет. Да, пузырь непременно лопнет, и, с одной стороны, много людей потеряют деньги, с другой стороны, пока существует этот пузырь, развитие самой технологии невозможно, потому что инвесторам интересна прибыль, а зачем вкладывать деньги туда, где ее не будет? Продолжаем вкладываться в картинки.
Закончится это так же, как и пузырь Доткомов - пузырь, который образовался на акциях интернет-компаний в эпоху популяризации WEB2-интернета (тот интернет, в котором мы находимся ежедневно), всем инвесторам было очевидно, что это технологии будущего и в них вливались огромные потоки денег, многие компании переформатировались в интернет-компании и обещали делать бизнес по сети. Самих технологий еще не было в зачатке, были только слова и спекуляции на эту тему, а заядлые биржевики умеют подхватывать слухи и заливать рынок деньгами. Таким образом, мы имели - отсутствие развития технологий, интернет-компании, которые вчера были просто шавухами на Выхино, становились прорывными интернет-гигантами, но это все на обещаниях и словах. Фонды видят перспективы интернета и выкупают акции компаний, акции растут, и тут в игру включаются спекулянты, которые покупают акции с одной единственной целью - продать дороже следующему спекулянту. Это дело все растет, и все радуются прибыли, но технология не развивается, потому что компаниям не интересно вкладывать в нее деньги, им нужно вкладывать деньги в маркетинг, чтобы заработать как можно больше.
Кульминация: и когда последний спекулянт потратил свои деньги, получилось так, что покупатели-то закончились, а технология за 5 лет никак не развилась и тут пузырь лопнул, выкинув всех за борт.
Сегодня мы наблюдаем то же самое в NFT-секторе, который забит по уши спекулянтами, цель которых купить дешевле - продать дороже, технология не развивается и любые здравые идеи остаются за бортом, т.к. вкладываться в них не спешат. А зачем, когда можно вложиться в коллекции картинок и заработать больше и быстрее?
NFT-рынок сейчас
Как NFT может применяться в будущем?
Мы разобрались в том, из чего состоит сейчас НФТ-сектор. Но неужели все так плохо и НФТ - это просто картинки, от которых никакой реальной пользы нет?
Вернемся к определению НФТ и попробуем подумать, где эту технологию можно применить. NFT или non-fungible token - является криптографической единицей, которая не повторяется в сети.
Какие варианты применения можно придумать? Давайте я начну, а вы можете тоже придумать и предложить свои варианты в комментариях.
Поехали, Брейншторм
Что-то, что не повторяется и есть в реальной жизни у каждого человека. Точно, документы!
Представьте, что у нас есть теперь NFT-паспорт, NFT-свидетельство о рождении, NFT-ИНН и т.д.
Теперь какой-то управляющий орган в России может создать блокчейн, он будет защищенным и будет исполнять роль реестра документов. Во-первых, это защитит хранящиеся в нем данные, сейчас они хранятся как обычная база данных (простыми словами таблица, в которой записи ваших данных), во-вторых, третьему лицу не будут попадать внутренние данные вашего документа (этот момент в примере разберем).
У нас есть блокчейн с высоким уровнем защиты, на котором хранятся NFT, которые принадлежат гражданам РФ, сами НФТ не отражают внутренних данных документов, а лишь идентифицируют Вас как конкретного гражданина, каждый человек может создать и получить себе такой НФТ в МФЦ.
Пример использования:
Все российские банки дружно подключаются к этому блокчейну. Я сходил в МФЦ, сделал НФТ и оно хранится у меня. Теперь, чтобы воспользоваться услугами банка, мне не нужно приходить в отделение с документами, а достаточно перейти на их сайт со своим НФТ и получить любую предоставляемую услугу. Естественно, это работает не только с банками, но и с любыми подобными заведениями.
Модернизируя эту идею, мы делаем пластиковую карточку с НФТ-чипом или просто храним этот НФТ на телефоне и окончательно отказываемся от этой неудобной книжки в виде паспорта. (меня лично заебывает Я лично не люблю таскать паспорт с собой именно по той причине, что он не влезает в карман, особенно если куда-то идешь летом).
Это лишь один пример использования NFT, также можно использовать в виде билетов в кино, на авиарейсы, для аренды машины или номера в отеле. Конечный пользователь может даже и не подозревать, что в них задействована технология НФТ и внешне это будет выглядеть так же, как и сейчас, но внутренние процессы ускорятся, будут более секьюрными (вспоминаем утечки данных яндекса) и защитятся от ошибок, реализуемых текущими СУБД.
В завершение, напомню, что после пузыря Доткомов, технология веб2-интернета реализовала все свои возможности и стала тем, о чем мечтали люди в 1995 году, но реальный прогресс и реализация началась только после сдутия этого пузыря и переключения внимания с получения прибыли и спекуляций на развитие технологии.
Экспорт БД в Drupal 8
Drush
В папке, где находится файл с базой данных, используем команду:
drush cr ; drush sql-dump > dump.sql
phpMyAdmin
- Переходим в phpMyAdmin;
- Выбираем БД из списка;
- Жмем вкладку Экспорт;
- Нажимаем кнопку Вперед.
Docker container
Если вы работаете на локалке, то этот способ предпочтительней. Особенно, если у вас большая База Данных.
В терминале пишем:
docker ps
Я нахожу строку с mariadb и узнаю нужный мне CONTAINER_ID
Экспорт БД из контейнера докера происходит по следующему образцу:
docker exec -i CONTAINER_ID mysqldump -uUSERNAME -pPASSWORD DATABASE_NAME > ./dump.sql
В моем случае, значения имеют следующий вид:
CONTAINER_ID: daf7d5df2d5eUSERNAME: drupalPASSWORD: drupalDATABASE_NAME: drupal
Следовательно, для того чтобы экспортировать БД я пропишу следующее:
docker exec -i daf7d5df2d5e mysqldump -udrupal -pdrupal drupal > ./dump.sql
Не забывайте прописывать -u перед логином и -p перед паролем.
Когда сотрудник подосрал
Ситуация, на работе.
8 утра сегодня. Программисту поступила заявка на изменение прав доступа. Вместо того чтобы зайти в систему прав и расставить галочки, он решил сделать UPDATE таблицы в БД. он же программист.
В итоге наебнул всю БД - проапдейтил все логины на один, и у всего холдинга в неск. тыс человек отвалились права в десятки систем.
Восстановили из бэкапа.
Далее объяснение:
Рукалицо.JPG
Даже ругать перехотелось.
UPD:почему-то тег "Дрист" автоисправился пикабу на "Дрифт"