Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Классический пинбол, как в древнем игровом автомате или в компактной игрушке: есть пружины, шарики и препятствия. В нашем варианте можно не только зарабатывать очки: чтобы пройти уровень, придется выполнить дополнительную миссию.

Пинбол Пикабу

Аркады, На ловкость, Казуальные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Mysql

С этим тегом используют

Программирование PHP SQL IT База данных Postgresql Oracle Все
125 постов сначала свежее
22
IliaHohlov
IliaHohlov
1 год назад
Лига программистов

Задачи с собеседования по SQL про псевдостолбцы⁠⁠

Задачи с собеседования по SQL про псевдостолбцы Программирование, IT, Собеседование, База данных, Oracle, Mysql, Ms SQL, Postgresql, SQL, Длиннопост

Здравствуйте, друзья!

Готовы порешать SQL-задачи на тему псевдостолбцов? Что такое псевдостолбцы и примеры их использования можно почитать тут.

Эти и другие задачи с собеседования опубликованы в нашем Телеграм-канале.

Итак, задача номер 1:

В таблице TEMP_TABLE один столбец и пять строк.
Запрос SELECT 1 FROM TEMP_TABLE

а) выведет данные из первого столбца для всех строк;

б) выведет просто цифру 1;

в) выведет пять строк, в каждой из которых будет цифра 1;

г) выдаст ошибку.

Здесь нужно поставить чтение на паузу и выбрать правильный вариант ответа.
На сегодня разброс ответов на задачу такой (правильный ответ в зелёном цвете):

Задачи с собеседования по SQL про псевдостолбцы Программирование, IT, Собеседование, База данных, Oracle, Mysql, Ms SQL, Postgresql, SQL, Длиннопост

Объяснение: данный в задаче запрос выводит данные из таблицы TEMP_TABLE (так как SELECT..FROM TEMP_TABLE), поэтому будут выводиться строки из неё (все сколько есть). Но в блоке SELECT не указан ни один из (настоящих) столбцов таблицы. Не выбираются данные из какого-либо столбца.
В нашем примере указано что пока выводятся строки из таблицы TEMP_TABLE нужно выводить цифру 1, а не показывать данные какого-либо столбца.

Задача 2:
Дана следующая таблица TEST_TABLE с тремя строками:
SELECT * FROM TEST_TABLE
ID  NAME
1  NULL
2  NULL
3  NULL
Каков будет результат следующего запроса: SELECT SUM(1) FROM TEST_TABLE?

Здесь опять нужно поставить чтение на паузу и написать правильный вариант ответа. На сегодня разброс ответов на задачу такой (правильный ответ в зелёном цвете):

Задачи с собеседования по SQL про псевдостолбцы Программирование, IT, Собеседование, База данных, Oracle, Mysql, Ms SQL, Postgresql, SQL, Длиннопост

Объяснение: здесь тоже речь идёт о псевдостолбце. Пока выводятся данные из TEST_TABLE блок SELECT выводит единицу, а не какой-либо реальный столбец таблицы. Пока не смотрите на функцию SUM. Итого единица выведется три раза (по количеству строк в таблице). И вот теперь, с помощью функции SUM получим сумму всех введённых чисел (единичек), то есть число 3.

Ещё больше SQL-задач с собеседований и реальной практики в разных СУБД в нашем Телеграм-канале.

Заходи на наш Youtube-канал и найдёшь много интересного и полезного про базы данных и язык SQL.

Показать полностью 2
[моё] Программирование IT Собеседование База данных Oracle Mysql Ms SQL Postgresql SQL Длиннопост
0
13
Slava.Rozhnev
Slava.Rozhnev
1 год назад
Web-технологии
Серия SQLtest - бесплатный тренажёр SQL

Обновление на сайте SQLtest.online⁠⁠

Привет подписчикам и всем, кто изучает SQL! Совсем недавно мы выпустили очередное обновление на сайте SQLtest.online, а именно – добавили возможность входа.

Логин на сайте абсолютно не обязателен. Вы можете продолжать решать SQL-задачи и без него. Кстати, у нас теперь появились новые увлекательные задачи, и их уже целых 27! Единственное, что предоставляет логин – это возможность сохранить свой прогресс. Для каждой задачи мы сохраняем дату последней попытки, дату решения и ваш вариант решения. Дополнительно к этим данным сохраняется ваш логин (без пароля), и все, никаких персональных данных не хранится!

В настоящее время логин возможен только через Яндекс и GitHub, но со временем добавим больше вариантов. Пока что, если вы заинтересованы, просто нажмите "Login"!

Обновление на сайте SQLtest.online SQL, Mysql, Обучение, Тестирование, IT, It обучение

До следующей встречи! 🚀

[моё] SQL Mysql Обучение Тестирование IT It обучение
14
Gavrila
Gavrila
1 год назад
Программирование на python

Python vs. MySQL⁠⁠

Друзья, вопрос чисто теоретический. Самого скрипта нет, поэтому показать не могу.
Итак, допустим, есть скрипт на Пайтон, использующий данные из базы на MySQL. Есть два варианта выборки из базы: силами Пайтон (получить все данные и использовать подходящие под критерии) и силами SQL (получить только подходящие под критерии данные). Какой вариант предпочтительнее?

Python Mysql SQL Программирование Текст
20
mrGreyvhard
mrGreyvhard
1 год назад

Хранение доступа пользователей к страницам в MYSQL⁠⁠

Приветствую всех, кто заинтересовался таким вопросом и попал сюда!

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

Идея была в следующем:

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

Сразу оговорюсь, что времени на продумывание структуры базы данных и особенно "обойтись без говнокода" не было, поэтому всё происходило на коленке, долго не задумываясь, часто допиливая уже в продакшене.

Однако практически первое Но, с которым я столкнулся это какие вообще есть способы хранения доступа пользователей в БД MYSQL? Как это реализовывалось под капотом? Ну так вот первое к чему я пришёл это хранение в таблице пользователей в текстовом поле записей типа "1,3,8,45,", что означало - какие ID модулей доступны конретному пользователю. Таким образом пользователь логинился, сайт на основе записей пользователя выдавал ссылки только на те страницы, которые были юзеру разрешены.

Теперь настал момент переписать приложение по-нормальному, и снова этот вопрос, какие еще варианты есть хранения в базе данных доступа к страницам, если "ну допустим" количество этих страниц "стремится в бесконечность", как и количество пользователей?

[моё] Mysql PHP Web-программирование Вопрос Текст
20
DELETED
1 год назад

DBA. Какие технические навыки развивать?⁠⁠

Ребят, по-любому же есть на Пикабу админы БД.
После sql куда лучше направить усилия? В линукс? Баш? Питон? Чего в первую очередь учить?
Буду благодарен адекватным советам)

[моё] База данных SQL Linux и Windows Postgresql Mysql Командная оболочка bash Языки программирования Текст
9
6
IliaHohlov
IliaHohlov
1 год назад
Лига программистов

Разбираем решение задачи по SQL с нашего телеграмм-канала про поиск и удаление дублей в таблице⁠⁠

Разбираем решение задачи по SQL с нашего телеграмм-канала про поиск и удаление дублей в таблице: https://t.me/sql_oracle_databases

#SQL #ORACLE #Уроки #вопросынасобеседовании #Задачи

Показать полностью
[моё] Программирование IT Разработка SQL Собеседование Задача База данных Oracle Mysql Ms SQL Видео YouTube
7
39
IliaHohlov
IliaHohlov
1 год назад
Лига программистов

MySQL: зачем нужны MyISAM таблицы, когда есть InnoDB⁠⁠

MySQL: зачем нужны MyISAM таблицы, когда есть InnoDB Mysql, Oracle, SQL, Программирование, IT

MySQL уверенно занимает второе место в мире по популярности среди реляционных СУБД, поэтому сегодня я решил написать немного про неё, вернее про типы её таблиц.

Всем, кто разрабатывает в MySql хорошо известно, что при создании таблиц в этой СУБД необходимо выбирать их тип (ещё это называют "движок"). В оригинале эта характеристика таблиц называется (storage) engine.

Есть два основных типа таблиц в MySQL (два основных storage engine): MyISAM и InnoDB. Примечательно, что в старых версиях СУБД, по-умолчанию, при создании таблиц, предлагалось их создавать с типом MyISAM. Начиная с MySQL 8.0 теперь по-умолчанию предлагается тип InnoDB.

Главным отличием таблиц этих двух типов является то, что таблицы MyISAM не поддерживают транзакции. Операции по вставке, изменению или удалению данных нельзя отменить (ROLLBACK не откатывает выполненные команды). Тип MyISAM обязательно указывают для таблиц, данные в которых должны быть вставлены/изменены/удалены вне зависимости от состояния основной транзакции, так как эта основная транзакция выполняющейся программы в некоторых случаях может быть отменена (например, в случае ошибки или другой непредвиденной ситуации, и вместе с откатом транзакции все данные во всех таблицах должны вернуться на место).

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

Программисты стараются делать программное обеспечение работающим всегда без ошибок, но в случае их возникновения, хотели бы иметь сохранённые данные о последовательности выполненных пользователем действий и состояния обрабатываемых данных. Эту информацию нужно сохранить в специальные таблицы (таблицы логирования) так, чтобы при откате изменений всех таблиц, данные в таблицах логирования тоже не откатились. В разных СУБД эта возможность реализуется разными способами. В ORACLE, например, используются АВТОНОМНЫЕ ТРАНЗАКЦИИ. То есть сохранение логируемых данных делается в отдельной независимой от главной транзакции (в автономной) и при откате/отмене главной транзакции, данные, вставленные отдельной (автономной) транзакцией, не будут откачены, а будут сохранены!

В MySQL нет возможности создавать автономные транзакции, но зато можно создать такие таблицы, данные из которых не откатывались бы при выполнении ROLLBACK - это таблицы с типом MyISAM.

Буду рад твоему лайку, если статья понравилась.

Напомню, что у нас есть два мощных курса по SQL и базам данных: общий, где ты научишься всему с нуля (или восполнишь множество пробелов), научишься писать запросы, работать с базами данных на примере ORACLE, и есть курс по программированию в PL/SQL (ORACLE). Он уже только для "ораклистов". В нем мы научимся не только кодировать на PL/SQL, но и разрабатывать сложные алгоритмы и пользоваться всеми средствами, что даёт ORACLE.

Показать полностью
[моё] Mysql Oracle SQL Программирование IT
6

Попробовать мобильный офис

Перейти
Партнёрский материал Реклама
specials
specials

Мобильный офис до 100 тысяч рублей⁠⁠

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

Протестировали TECNO MEGABOOK K15S вместе со смартфоном TECNO CAMON 40 и наушниками TECNO в рабочих и бытовых сценариях от Zoom-звонков до перелета, а теперь рассказываем, как себя показала техника.

Первое впечатление от дизайна ноутбука

Первое, что заметно — это вес. При диагонали 15,6 дюйма и полностью металлическом корпусе K15S весит всего 1,7 кг. Это примерно на 15% меньше, чем аналоги. Устройство не обременяет ни в офисе, ни в такси. Ноутбук поместился в стандартный городской рюкзак, было удобно достать его в кафе за завтраком и по дороге в такси, чтобы быстро отработать клиентские правки.

1/4

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

Шарнир работает мягко: чтобы открыть крышку даже одной рукой, не нужно придерживать корпус. Чтобы показать коллеге или клиенту презентацию, достаточно раскрыть экран на 180°. Это удобно и для работы лежа, и для подставок, которые требуют определенного угла обзора.

Также отметим 9 портов: USB-A, USB-C, HDMI, слот для карты памяти — можно забыть о переходниках.

В TECNO MEGABOOK K15S предустановлен Windows 11. Ноутбук готов к работе сразу после включения. Никаких лишних установок и обновлений. Все настроено и оптимизировано для вашей многозадачности.

Экран: яркая картинка и комфорт ночью

Экран — 15,6 дюйма, IPS-матрица с разрешением Full HD. Углы обзора отличные: изображение остается четким, даже если смотреть сбоку, цвета не искажаются. Есть антибликовое покрытие. Тестировали ноутбук при разном освещении: можно спокойно работать у окна. Когда солнце бьет прямо в экран, текст по-прежнему остается читаемым, картинки не искажаются. Это редкость в бюджетных моделях.

1/2

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

Стеклокерамический крупный тачпад — 15 см. Он не залипает, не промахивается, срабатывает с первого касания. Не возникает дискомфорта, даже если несколько часов редактировать документы без мышки. После перехода с других устройств немного непривычно, что тачпад работает в двух направлениях: нижняя часть отзывается нажатием, верхняя — касанием.

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

Производительность: рендерим видео, открываем вкладки

Ноутбук работает на AMD Ryzen 7 5825U (опционально можно выбрать версию техники Intel Core i5-13420H). Восьмиядерный AMD с поддержкой 16 потоков подходит для ресурсоемких операций вроде рендеринга или работы с большими массивами данных. Встроенная графика Radeon справляется с редактированием видео в Full HD или играми.

1/4

Во время монтажа 30-минутного ролика в DaVinci Resolve и параллельной работе в Photoshop с несколькими большими PSD-файлами система сохраняла стабильность. Не было ни зависаний, ни заметного падения производительности. Ноутбук уверенно держит в фоне 10 приложений одновременно. Если запущены браузер с 20 вкладками, видеозвонок в Telegram, Excel с объемной таблицей и софт для монтажа, система не тормозит и не перегревается. Переход между окнами остается плавным, ничего не «проседает», даже при одновременном скачивании файлов и редактировании видео.

Базовая комплектация включает 16 ГБ оперативной памяти в двух слотах. При необходимости можно легко увеличить этот показатель до 32 ГБ, заменив стандартные модули на более емкие. Помимо установленного SSD на 1 ТБ предусмотрен дополнительный слот, поддерживающий диски объемом до 2 ТБ.

Чтобы во время нагрузки системы охлаждения не выходили из строя, в ноутбук встроен эффективный вентилятор, способный рассеивать до 35 Вт тепла. Устройство не греется, его спокойно можно держать на коленях. Это решение дополнено тремя режимами работы, которые переключаются простой комбинацией клавиш Ctrl+Alt+T. Тихий режим идеален для работы ночью или в общественных местах, сбалансированный подходит для повседневных задач. Производительный, на котором запускали рендеринг видео и игры, практически не шумит.

Автономность: 15 часов без подзарядки

Протестили автономность MEGABOOK K15S в условиях, знакомых каждому деловому путешественнику. Утром перед вылетом зарядили ноутбук до 100% и взяли его в рейс Москва — Калининград. В зале ожидания провели созвон, потом три часа смотрели сериал и в дороге до отеля редактировали документы. К моменту приезда оставалось 40% заряда: хватило бы еще на пару часов продуктивной работы.

1/3

MEGABOOK K15S может автономно работать до 15 часов и позволяет не оглядываться на индикатор заряда. Заявленное время достигается при типичном офисном использовании: одновременная работа с документами в Word и Excel, ведение переписки, видеоконференции, веб-серфинг.

Если все же понадобится, за  час восполняется до 70% батареи. Компактный адаптер мощностью 65 Вт на базе нитрида галлия поместился даже в карман пиджака. Один блок питания заряжает и ноутбук, и смартфон, и наушники. Экономия места: не нужно никаких дополнительных проводов.

Звук, который реально слышно

В TECNO MEGABOOK K15S установлены два мощных динамика по 2.5 Вт. Звук с глубокими низами, без пластикового дребезжания, объемный. Благодаря DTS можно смотреть видео даже в шумном помещении. В тестах специально включали сцены с шагами и выстрелами: локализация настолько точная, что в наушниках нет необходимости.

Та же стабильность и в микрофоне. Благодаря AI-шумоподавлению голос передается чисто. Во время тестовых звонков из оживленного кафе собеседник не услышал ни разговоры за соседним столом, ни городской шум. И все это — на расстоянии до пяти метров.

Кстати, о созвонах. В ноутбуке встроена обновленная камера. Она отслеживает положение лица, а еще есть физическая шторка приватности. Например, можно закрыть шторку для комфортных видеоконференций.

Для тех, кто предпочитает гарнитуру, идеально подойдут беспроводные наушники TECNO FreeHear 1 из экосистемы бренда. Когда не хотелось делиться разговорами с окружающими, подключали их. Чистый звук с акцентом на средние частоты, 11-мм драйверы, которые выдают неожиданную детализацию. Музыку слушать приятно: и фоновый плейлист на телефоне, и вечерний сериал на ноутбуке. Автономно работают наушники 6 часов, с кейсом — до 30 часов. 

1/2

Bluetooth 5.4 обеспечивает стабильное соединение на расстоянии до 10 метров. Удобная C-образная форма разработана специально для длительного ношения — после восьмичасового рабочего дня в ушах не возникает дискомфорта. Наушники поддерживают одновременное подключение к ноутбуку и смартфону. Переключение между устройствами происходит быстро и без заминок.

Через фирменное приложение Welife можно выбрать один из четырех эквалайзеров и отследить местоположение гарнитуры в случае утери. А еще кастомизировать виджет для управления наушниками. Функция настройки персонализированного дизайна доступна для устройств на Android и позволяет гибко изменить внешний вид окна подключения: вплоть до установки фоновой картинки или собственного фото.

Первые пару использований может потребоваться время, чтобы привыкнуть к нестандартной форме вкладышей, но уже с третьего раза они надеваются вслепую за секунду. Что особенно приятно:  собеседники отмечают, что звук от микрофона более приятный и четкий, чем у дорогих известных моделей.

Бесшовная синхронизация со смартфоном

Благодаря функции OneLeap ноутбук синхронизируется со смартфоном TECNO. Подключение происходит за пару секунд: достаточно один раз подтвердить сопряжение. После этого открывается доступ к бесшовному переключению между устройствами — объединенному буферу обмена, дублированию экранов и передаче файлов без кабелей и пересылок в мессенджерах.

Функция выручила, когда нужно было открыть приложение, у которого нет веб-версии. Удобно работает и буфер обмена: скопировал текст на одном устройстве — вставил на другом. Например, код, полученный в сообщении на телефоне, вводится в браузере на ноутбуке. Экономит минуты, а иногда и нервы. А когда в дороге пропал Wi-Fi, ноутбук сам подключился к мобильному интернету через смартфон.

1/2

TECNO CAMON 40 и сам по себе — мощный рабочий инструмент.  Смартфон выделяется камерой высокого качества 50 Мп, ярким AMOLED-экраном 120 Гц и множеством функций, которые упрощают процесс мобильной съёмки и использование искусственного интеллекта TECNO AI.

Телефон работает на HIOS 15.0.1 на базе Android 15.В фирменную оболочку встроен искусственный интеллект:

  • Голосовой помощник Ella. Отвечает на вопросы, помогает с задачами и управлением устройством.

  • Решение задач. Наводите камеру на задачу, ИИ решает ее.

  • AI Редактор фотографий. Интеллектуальная обработка в одно касание.

  • Быстрый поиск. Находит адрес на экране и запускает навигацию, распознает объекты и события, автоматически добавляет их в календарь.

Технические характеристики

  • Процессор и память. 8 ядер, 16 потоков, Кэш L3 16 МБ, частота до 4.5 ГГц Графический процессор AMD Radeon™ graphics SSD 512 ГБ или 1 ТБ, М.2, 2280, PCle 3.0 Nvme DDR4 16 ГБ, 3200 МГц.

  • Дисплей. 15.6", TFT, Full HD (1920×1080), 16:9, 280нит, 45% NTSC, 16.7 млн цветов, 60 Гц, 141 ррі.

  • Веб-камера. 1 Мп, шторка приватности.

  • Порты. 9 портов: 1*TF Card (microSD), 1*HDMI 1.4, 1*USB-A 3.1,

    1*USB-A 3.2, 1*3.5mm аудиовход, *Ethernet RJ45 до 1 Гбит, 2*Туре-С (Full Function), 1*слот для замка Kensington.

  • Другое. Сканер отпечатка пальца в кнопке питания. Клавиатура с подсветкой (4 уровня яркости). Тачпад с поддержкой одновременно 4 касаний.

  • Батарея. 70 Вт∙ч (6150 мА∙ч), Li-Pol, 11.55 B 65 Вт Type-C GaN, 20 В, 3.25 А, кабель 1.8 м (Туре-С-Type-C).

  • Габариты. 17.3 мм (высота), 359.5 мм (ширина), 236 мм (глубина).

  • Вес. 1,7 кг.


Если хотите создать собственную экосистему, в которой технологии подстроятся под ритм дня, попробуйте технику TECNO. Мощный ноутбук, быстрый смартфон и наушники соединяются в единое пространство. Быстрое переключение между устройствами, синхронизация файлов и стабильное соединение без лишних настроек.

КУПИТЬ НОУТБУК TECNO

Реклама TECNO Mobile Limited, Юридический адрес: Flat N, 16/F., Block B, Универсальный промышленный центр, 19-25 Shan MeiStreet, Fotan, New Territories, Гонконг

Показать полностью 17
Электроника Гаджеты Ноутбук Длиннопост
398
mimokrokodilchik
mimokrokodilchik
2 года назад

Продолжение "Простейший способ ускорить изучение мира программирования. Арендуем копеечный сервер..."⁠⁠

В прошлой статье я рассказал о таком понятии как VPS (Virtual Private Station).

Проще говоря, это виртуальный компьютер внутри обычного сервера (Dedicated Server). Настроим инфраструктуру, необходимую для создания промышленных приложений. Познакомимся с тем как работать с linux серверами.

Не буду рекомендовать какой то конкретный курс. Можно зайти на ютуб и вбить "Linux для начинающих" или найти книги просто загуглив "линукс начинающим pdf".

Для начала работы с линуксом нужно знать:

  • В какой папке вы находитесь и как сменить папку (pwd, cd)

  • Как создавать папки, файлы и как их читать и писать в них, как искать нужные файлы (mkdir, touch, vim, find)

  • Понимать самые основы прав и пользователей, как их создавать и пользоваться ими (chown, chmod, id, su)

  • Как устанавливать и запускать приложения (apt-get update/install/remove)

  • Как писать простейшие скрипты и запускать (bash scripts)

  • Уметь проверять состояние сервера - загрузка CPU/RAM/HDD (top, free, df)

  • Уметь проверять процессы и останавливать их (ps, kill)

  • Уметь проверить, закрыть порт (netstat и еще парочка)

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

Устанавливаем на сервер необходимую для разработки инфраструктуру.

Продолжение "Простейший способ ускорить изучение мира программирования. Арендуем копеечный сервер..." IT, Программирование, Linux, Программист, Разработка, Docker, Mysql, Redis, Minecraft, Длиннопост

Раньше большинство инфраструктуры ставили прямо на сам сервер.

Сейчас используют разные решения виртуализации и её оркестрации, например: Docker, Kubernetes и множество других (но часть инфраструктуры продолжают ставить прямо на сервер).

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

Минимум, который нужно знать про Docker:

  • Понимать разницу между образом и контейнером (контейнер по сути экземпляр образа)

  • Уметь запускать и останавливать контейнер (docker run, stop, start)

  • Уметь подключаться к контейнеру (docker attach / docker exec)

  • Уметь проверять работу контейнера (docker ps, docker logs)

Для чего это нужно?

Изучение основ Linux и Docker - процесс не из самых легких. Все это стоит того, чтобы научиться поднимать инфраструктуру в несколько минут.

Ниже я приведу примеры классических контейнеров, которые пригодятся при изучении промышленной разработки.

Классический минимум

Рассмотрим пример архитектуры классического промышленного Java приложения:

Продолжение "Простейший способ ускорить изучение мира программирования. Арендуем копеечный сервер..." IT, Программирование, Linux, Программист, Разработка, Docker, Mysql, Redis, Minecraft, Длиннопост

Подобная инфраструктура вряд ли вместится в самую дешевую VPSку. Ниже я расскажу какие есть недорогие варианты.

Этот вариант архитектуры является классическим решением большинства веб проектов. Я привел его в качестве примера, который подойдет для новичка.

Используем докер для поднятия данной архитектуры.

Redis (один из многих вариантов кэшей)

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

Для простейшего варианта авторизации по паролю достаточно запустить команду:

docker run -d -p 6379:6379 --name myredis redis redis-server --requirepass <password>

Для удобства (необязательно) можно внутри докера стартовать веб интерфейс для просмотра redis сервера вот такой командой:

docker run -d --name myrediscommander -p 8081:8081 --link myredis:redis rediscommander/redis-commander

После старта админки можно зайти в браузер по адресу ВАШ_IP:8081 и затем подключиться к вашему серверу, чтобы просматривать/удалять/добавлять данные:

Продолжение "Простейший способ ускорить изучение мира программирования. Арендуем копеечный сервер..." IT, Программирование, Linux, Программист, Разработка, Docker, Mysql, Redis, Minecraft, Длиннопост

RabbitMQ (Очередь, которая получает сообщения и оповещает подписчиков).

Rabbit позволяет получать и оповещать клиентов, подписавшихся на сообщения.

Для запуска очереди достаточно запустить:

docker run -d --name my-rabbitmq -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=myuser -e RABBITMQ_DEFAULT_PASS=mypassword rabbitmq:3-management

Через пару минут можете зайти в админку очереди, вбив в браузере IP_вашего_сервера:15672 и увидеть что то вроде:

Продолжение "Простейший способ ускорить изучение мира программирования. Арендуем копеечный сервер..." IT, Программирование, Linux, Программист, Разработка, Docker, Mysql, Redis, Minecraft, Длиннопост

Реляционная база данных MYSQL.

Реляционные базы данных являются неотъемлемой частью большинства решений. В нашем примере мы запустим одну из самых популярных MySQL:

docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=password -p 3306:3306 mysql:latest --default-authentication-plugin=mysql_native_password

Через пару минут сервер стартанет. К нему можно будет подключиться через какой - нибудь MySQL клиент, например Heidi SQL.

С помощью клиента можно легко писать запросы и проверять содержание базы данных. Выглядеть он может примерно так:

Продолжение "Простейший способ ускорить изучение мира программирования. Арендуем копеечный сервер..." IT, Программирование, Linux, Программист, Разработка, Docker, Mysql, Redis, Minecraft, Длиннопост

Минимальные требования к подобной инфраструктуре.

Если вы хотите пользоваться докером в арендованном сервере вам желательно иметь 2 процессора и 2 Гб оперативки. Система запустится, но будет работать на минималках. Этого достаточно, чтобы изучить данные технологии.

Какие есть недорогие варианты поднятия инфраструктуры без больших затрат?

  • Запуск на локальной машине с тунелированием данных. В таком случае все запросы на VPS будут перенаправлены на домашний компьютер. В следующих статьях я покажу как это сделать.

  • Почасовая аренда VPS. Если вы хотите проверить какие - нибудь решения и вы знаете, что это займет несколько часов, есть смысл аренды VPS с почасовой оплатой. В среднем 8 ядерный VPS с 8gb RAM будет стоить порядка 5-12 рублей в час. Конкретного провайдера рекламировать не буду, я пользовался тремя и в такой диапазон цен укладывался.

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

Как еще можно использовать арендованный сервер?

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

Запускаем чат сервер MatterMost

Допустим, вам надо создать чат - платформу для группы в университете или на работе с каналами, обменом приватными сообщениями с тектом и картинками. Вместо платных платформ можно запустить MatterMost сервер. К нему можно будет подключиться с компьютера или мобилки. Все это можно скачать и установить бесплатно.

Запустить сервер можно командой ниже:

docker run --name matt -d --publish 8065:8065 --add-host dockeermost/mattermost-preview

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

Продолжение "Простейший способ ускорить изучение мира программирования. Арендуем копеечный сервер..." IT, Программирование, Linux, Программист, Разработка, Docker, Mysql, Redis, Minecraft, Длиннопост

Хостим MineCraft

Для старта сервера MineCraft понадобится:

Cкачать или скопировать вручную вот такой docker-compose.yml файл: https://pastebin.com/raw/uEP58DRB сделать это можно командой

curl -o docker-compose.yml https://pastebin.com/raw/uEP58DRB

Затем, находясь в той же директории, надо запустить

docker compose up

После старта сервера нужно подождать какое то время. Затем, можно подключиться к миру, используя Minicraft клиент, указав IP вашего сервера:

Продолжение "Простейший способ ускорить изучение мира программирования. Арендуем копеечный сервер..." IT, Программирование, Linux, Программист, Разработка, Docker, Mysql, Redis, Minecraft, Длиннопост

Вот как выглядел мир в моем примере:

Продолжение "Простейший способ ускорить изучение мира программирования. Арендуем копеечный сервер..." IT, Программирование, Linux, Программист, Разработка, Docker, Mysql, Redis, Minecraft, Длиннопост

Я перечислил часть возможных решений в качестве примера.

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

Сама разработка на Java.

В следующей части я покажу как писать простейшие приложения и использовать созданную инфраструктуру.

Больше о Java и смежных технологиях можете узнать тут.

Показать полностью 8
[моё] IT Программирование Linux Программист Разработка Docker Mysql Redis Minecraft Длиннопост
147
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии