Сообщество - Логово Программиста
Добавить пост

Логово Программиста

17 постов 215 подписчиков

Популярные теги в сообществе:

Есть ли тут опытные программисты?

Приветствую всех! Вообщем, прошлый пост у меня был про то, что я работал официантом, в итоге уволился по многочисленным советам и стало более менее норм: нашел студотряд проводников и летом отработал целину, получив достойные деньги. Я могу сказать, что в полной мере освоил html/css до работы проводником. Но на фрилансе такие навыки сводятся к нулю, ибо имеются более умные прогеры.
Ну, вообщем, в сентябре опять началась учеба и нам дали задание - написать курсовую работу, создав программу по определенной теме. Кстати, специальность у меня Информатика и выч. техника. Для написания программы я выбрал C#(выбор был небольшой, т.к. научили нас за два года только паскалю и C#). Я очень сильно запарился, мне в принципе и понравилось писать код. Сначала я брал код с гайдов, а потом пошло поехало: подключил MySql для авторизации и в целом все хорошо организовал, но только не код. Код был максимально не читабелен - было как-то пох, преподам важнее то, как ты представишь свою программу. Остальные одногруппники сделали максимально тупые проги за два три дня, когда я ее усложнил так, что на фоне их я выглядел каким-то ультра гением. В итоге, на защите сказали, что супер и ты уже будто сделал диплом, с чего немного кнш приахуел.
К чему я все это, вот я сдал свой курсач, а мне охото еще программировать. Я вот думаю что делать: C# норм вроде язык, но стоит ли его изучать дальше. Есть ли перспективы. Как я понял для изучения надо пет проект какой-нибудь, а я не могу придумать, ибо создать тупо какую-то простенькую программу под Windows? Моя душа тянется к JS, т.к. изучил html/css и нравится оформлять сайты(создал бы торрент трекер че нить такое), но терзают сомнения - я же начал уже c#, зачем обрывать такие хорошие отношения. Помогите c# разработчики. Актуально ли читы делать на нем, вот у меня идея есть создать чит для игры - и деньги можно заработать и опыта набраться.

Мир docker-контейнеров и как в нем жить обычному разработчику

В этой статье мы хотим поговорить о контейнерах в общем и о docker-контейнерах в частности. Как с ними жить обычному разработчику?


Раньше в IT люди занимались тем, что запускали софт на одной большой машине(сервере) и ловили разные проблемы: «у нас не работает», конфликты библиотек, проблемы обновления и сопровождения.

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

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


Наверное, вы часто оказывались по ту или другую сторону проблемы и слышали/говорили следующие слова: «А у нас работает!».

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Затем, с течением времени, появились докер-контейнеры. Они стали средством удешевления развертывания софта, упрощения деплоя и обновления.

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Итак, с историей мы разобрались, время поговорить более предметно!


Что под капотом у этой технологии?


linux kernel-namespace — так как докер-контейнер не виртуализирует аппаратную составляющую, а только программную, для него создается свое пространство для pid-процессов, сети, файловой системы и процессов ядра.


Вторым китом контейнерной технологии будет cgroups — для того, чтобы управлять системными ресурсами для каждого контейнера, в них входит: оперативная память, процессорное время, доступ к дискам.


Третий кит контейнерной технологии, union file system, – позволяет управлять файловой системой, которая состоит из слоев, и ее фишки хорошо ложатся на контейнеры


Теперь, после того, как вы прошли несколько стадий принятия новой технологии, неплохо бы научиться с ней работать и ей пользоваться:)


Если вы виндузятник или маковод, то вам нужен docker desktop, а с виндой возможно понадобится WSL - windows subsystem for linux.


Если вы красноглазый линуксоид, то apt-get update && apt-get install docker (на самом деле путь чуть-чуть сложнее, но для знакомства хватит этих двух команд).


После того, как вы установили docker на ПК, есть смысл ознакомиться со списком существующих команд. Для этого разработчики docker добавили полезный ключ в вызове CLI-программы: вводим в консоли docker -h (--help) и видим список всех существующих команд.


Выделим самые полезные на старте:

docker pull - сможете скачать образ из любого docker registry, это хранилище докер-образов

docker push - а с помощью этой команды вы сможете загрузить образ в любое доступное для вас docker registry

docker run - эта команда создает и стартует новый контейнер из существующего образа

docker stop - эта команда останавливает работу контейнера

docker ps - а вывод данной команды покажет вам запущенные docker-контейнеры (еще можно написать вот так: docker ps -a и вы увидите все контейнеры - запущенные и остановленные)

docker images - ничего экстравагантного, просто вывод на экран всех образов

docker build - а с помощью этой команды вы сможете создавать свои docker-образы из dockerfile


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


Время попрактиковаться!


Теперь на примере образа nginx:1.22 (это популярный веб-сервер) рассмотрим как добавить в наш будущий образ файл index.html, создать на его основе контейнер и просмотреть через браузер.
(Я веб-разработчик, поэтому в качестве примера выбрал демонстрацию с html)

Создадим директорию docker-test (актуально для примеров на OSX и Linux*) и следующей командой перейдем внутрь:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Тут создадим директорию nginx:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Затем открываем ваш любой любимый редактор (nano, vim, vscode, etc) и создаем файл со следующим названием: «Dockerfile»


Откроем наш файл и напишем следующее:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Объясним обе строчки:


Первая строчка: указывает базовый образ версии нашего веб-сервера, в нашем случае это nginx версии 1.22 (крутые специалисты всегда указывают точные версии используемых программ)


Вторая строчка: копирует файл index.html внутрь докер-образа, по которому nginx будет искать html-файлы.


Далее мы создадим html-файл в директории рядом с nginx, для этого выйдем из текущей директории в предыдущий каталог:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

И создадим файл index.html

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Откроем файл, который мы создали предыдущей командой, с помощью вашего любимого текстового редактора или IDE и добавим следующие строчки:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

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

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Что делает каждая команда и ключ?


docker build - это команда для создания образа


ключ -f нужен для указания пути до Dockerfile


-t - тут мы называем наш образ my-nginx


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

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

После запуска нашей команды, если вы ничего не забыли, вы увидите следующее:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Теперь, когда у нас есть наш небольшой docker-образ, самое время его запустить:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Что делает каждый ключ в нашей команде?


docker run — команда создания и запуска контейнера.


-d — чтобы наш контейнер работал в фоне и не перехватывал управление над консолью


-p 80:80 — открываем порт 80 у нашего контейнера


- -name — присваиваем имя нашему контейнеру


my-nginx — указываем используемый образ нашего контейнера


И после этого мы видим, что nginx отдал index.html при запросе на 127.0.0.1:80, так как мы запустили наш контейнер локально.

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

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


Автор: Валерий, .Net-разработчик


Примечания:

*Пример для WSL не рассматривается в рамках данной статьи, но мы обязательно разберем его в следующих выпусках

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

Показать полностью 13

Что на Новый Год подарить «айтишнику»?

Уже через 19 дней— главный праздник и главная головная боль года для всех нас. Что дарить на Новый Год родным, друзьям или знакомым?

Мы решили облегчить задачу для всех родственников наших коллег и узнали чего на самом деле хотят на праздник специалисты ИТ-сферы.

Антон, .Net-разработчик:

«Мои ТОП-5 подарков для айтишника:

1. Беспроводная зарядка для телефона. MustHave - вы просто положили телефон, заряд идёт.

2. Годовая/месячная подписка на стриминговый Netflix

3. PS-5. Но это оверпрайс, даааа

4. Массажер для шеи. Не пробовал, но задумываюсь»

В процессе дальнейшего общения с Антоном мы пришли к решению, что в этом списке третий пункт идет за два:)

Ляйсан, функциональный тестировщик:

«Вот, от чего я бы не отказалась в качестве подарка от компании:

сертификат на расслабляющий массаж, а то сидячий образ жизни негативно сказывается на здоровье!

оплаченный поход в бар всей командой - удаленка не позволяет видеться со многими членами команды

торт-суфле с эмблемой DexSys из Цеха Харалдиной!»

На самом деле, такие подарки вы можете подарить близким и не прибегая к помощи компании. Разве что на торт можно выбрать не изображение логотипа DexSys, а, например, фото всей семьи.

Сергей, руководитель проекта:

«1. Крутая настольная игра на компанию

2. Книги (тут на вкус и цвет все фломастеры разные). Я бы с удовольствием получил бы сборник научной фантастики «проверенного автора».

3. Увлажнитель воздуха

4. Мешок/набор вяленого мяса разной дичи («дичь» — добыча на охоте)

5. Мешок сладостей

6. Тур в горные регионы России

7. Кресло-качалку, а лучше два — у меня есть жена, которая точно отожмет одно кресло»

Александр, линейный руководитель:

«1) Настольная игра - это отличный подарок. На мой взгляд, одной из лучших является «Покорение Марса». Можно взять дополнения.

2) Лучший подарок - книга. А в книге «Байки из грота: 50 историй из жизни древних людей» Дробышевского С.В. вы можете узнать как на самом деле жили Древние люди

3) Футболка с принтом, который понравится получателю подарка.

4) Для любителей пазлов вы можете выбрать деревянный пазл, который включает в себя квиз.

5) Если вы не ограничены в ресурсах, то Электрогриль Tefal Optigrill+ станет отличным подарком и может облегчить жизнь»


Александр, автотестировщик:

«1) Таймер pomodoro физический

2) Столик-подставка для ноутбука

3) Магнитная доска для записей

4) Шаманский бубен))))

5) Подушка-антистресс»

Главное — выбирать подарки от души! А что вы бы подарили айтишнику на Новый Год?

Показать полностью

Угадайте звездного капитана юмористической команды «Сборная Красноярска» по описанию одного из участников

Ну что, потренировались? А теперь пора браться за дело всерьез.

Показать полностью

#memes#programmer

#memes#programmer Мемы, Код, Программист, Юмор, Программирование, Картинка с текстом

Telegram - https://t.me/true_coding/521

#memes#programmer

#memes#programmer Юмор, IT, Программист, Код, Мемы, Дети

Telegram- https://t.me/true_coding/392

#meme#programmer

#meme#programmer Мемы, Программист, Код, Программирование, Картинка с текстом

Telegram - https://t.me/true_coding/450

#meme#programmer

#meme#programmer Программист, Программирование, Код, Мемы, Гарольд скрывающий боль, Картинка с текстом

Telegram - https://t.me/true_coding/489

Показать полностью 1

Вы хотите головоломок?

Их есть у нас! Красивая карта, целых три уровня и много жителей, которых надо осчастливить быстрым интернетом. Для этого придется немножко подумать, но оно того стоит: ведь тем, кто дойдет до конца, выдадим красивую награду в профиль!

РАЗМЯТЬ МОЗГ

#meme#programmer

#meme#programmer
Отличная работа, все прочитано!