Программирование на C. Урок 20. MAKE. Наш первый Makefile. Часть 1


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

Навигация по видео:
00:09 Введение
00:44 Утилита Make
06:15 Напишем первое правило и проверим его работу
08:48 Напишем второе правило, с помощью которого соберём исполняемый файл
10:02 Как среагирует Make на изменение в файле
11:51 Подключим ещё один модуль
12:47 Переменные в Make

Рекомендуется также перед просмотром данного урока просмотреть данные видео:
Урок 1. Наша первая программа. Часть 1 youtu.be/nFt3pJ7j8jE
Урок 2. Вывод данных разного типа youtu.be/NEADyFxA45A
Урок 8. Условные операторы if, else, else if youtu.be/a6blS08KVHc
Урок 16. Операторы присваивания youtu.be/HlPMZD2ib1k
Урок 17. Приоритет операций youtu.be/ch1LkDfwE48
Урок 18. Инструкции break, continue, оператор goto и метки youtu.be/XJt68cFFmI0
Урок 19. Модульное программирование. Раздельная компиляция youtu.be/HPni4P9ahHo

Текстовая версия данной части урока здесь narodstream.ru/c-urok-20-make-nash-pervyj-makefile-chast-1/

Программирование на различных языках:
Группа в контакте vk.com/public180157427
Группа в Facebook www.facebook.com/groups/284342185817764/
Группа в Одноклассниках ok.ru/group/55057282891996
Программирование микроконтроллеров:
Группа в контакте vk.com/club116656325
Группа в Одноклассниках ok.ru/group/52987126153436
Группа в Facebook www.facebook.com/groups/236905359999556/
Мой сайт «Программирование МК» narodstream.ru/
Форум narodstream.ru/forum/

Вы можете помочь проекту:
Яндекс-деньги
money.yandex.ru/to/41001176473465
Webmoney
R422073279923
Z341906933112

CppCon 2017: Bob Steagall “How to Write a Custom Allocator”


CppCon.org

Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2017

Youd like to improve the performance of your application with regard to memory management, and you believe this can be accomplished by writing a custom allocator. But where do you start? Modern C brings many improvements to the standard allocator model, but with those improvements come several issues that must be addressed when designing a new allocator.

This talk will provide guidance on how to write custom allocators for the C 14/C 17 standard containers. It will cover the requirements specified by the standard, and will describe the facilities provided by the standard to support the new allocator model and allocator-aware containers. Well look at the issues of allocator identity and propagation, and examine their implications for standard library users, standard library implementers, and custom allocator implementers. Well see how a container uses its allocator, including when and how a containers allocator instance propagates. This will give us the necessary background to describe allocators that implement unusual semantics, such as a stateful allocator type whose instances compare non-equal. Finally, the talk will provide some guidelines for how to specify a custom allocators public interface based on the semantics it provides.

Bob Steagall: KEWB Computing, CppCon 2017 Poster Chair

Ive been working in C for the last 25 years. The majority of my career has been spent in medical imaging, where I led teams building applications for functional MRI and CT-based cardiac visualization. After a brief journey through the world of DNS and analytics, Im now working in the area of stream processing.

Videos Filmed

APPLE ВЕРНУТ ЗАРЯДКИ В КОМПЛЕКТ // ЯНДЕКС ВОРУЮТ ДЕНЬГИ // НОВЫЕ ПРОЦЫ AMD


Карта «Ай, как просто» с кучей бонусов — l.tinkoff.ru/ikakprostodec
00:00 — Вступление и карта над которой мы работали
03:54 — Windows на Макбуках с M1
05:14 -Huawei Mate 50 и его жидкие линзы
09:02 — ноутбуки оо Nokia
09:16 — Всё очень плохо у Tesla
14:15 — Как будут Android-приложения работать на Windows
15:09 — с Intel Tiger lake что-то не так…
17:14 — говорящие головые от nVidia
18:13 — смартфоны победили. Photoina закрыта
20:56 — фотосессия с Playstation 5
21:36. — США против Китая: продолжение
24:32 — Нейросеть определяет калории в еде
26:32 — новые процессоры AMD
26:58 — подписка от Huawei и немного про сервисы
28:32 — три новых One Plus 9
30:53 — Apple подала в суд на ФАС
32:07 — опять Cyberpunk 2077
33:07 — Гибкий iPhone БУДЕТ
33:40 — Яндекс.Объявления
34:23 — Вконтакте против Яндекса
36:06 — Яндекс воруют деньги
39:25 — Snapdragon 888. Или 875?
39:55 — весь мир будет судиться с Apple
40:56 — Сбербанк будет ставить вам диагнозы и лечить
44:15 — книга от Яндекс Переводчика
46:10 — уродливый свитер от Microsoft
47:27 — Cyberpunk 2077 уже на торрентах
47:55 — Apple вернет ЗУ в комплект iPhone
48:52 — слепой тест камер от Маркуеса Бронли
50:26 — прощание

Сотрудничество: ikakprosto.ru@gmail.com
Личная почта: stassatori@gmail.com

Moscow Python Podcast. Микросервисы vs Монолит (level: All)


В гостях у Moscow Python Podcast Team Lead компании S7 TechLab. Поговорили о плюсах и минусах микросервисной и монолитной архитектуры, а также обсудили технологии и навыки, необходимые разработчику, помимо знания Python.

Ведущие выпуска — сооснователь MoscowPython и компании DryLabs Валентин Домбровский, Team Lead NVIDIA Злата Обуховская и DevRel компании Evrone, руководитель программного комитета Moscow Python Conf Григорий Петров.

Все выпуски: rebrand.ly/pythonpodcasta6ffe

Митапы MoscowPython: rebrand.ly/pythonmeetupf6315

Курс Learn Python: rebrand.ly/learnpythondc288

Конференция Moscow Python Conf: conf.python.ru/moscow/2020

Как поднять web-сервер на FreeBSD [GeekBrains]


Начни карьеру с бесплатного курса «Основы программирования» goo.gl/jTP4nP

Как поднять web-сервер на FreeBSD

Linux — самая популярная ОС для организации работы web-сервера. Но в затылок Linux уже дышит другая ОС — FreeBSD.

Новички чаще выбирают Linux из-за стереотипов о недружелюбности и сложности FreeBSD. Но так ли страшен чертенок, как его рисуют?

На этом вебинаре мы:
— по шагам разберем процесс установки FreeBSD;
— проведем базовую настройку ОС (сеть, службы, русификация консоли, смена командной оболочки);
— познакомимся с командной строкой FreeBSD и особенностями установки ПО (пакеты и порты);
— развернем в системе связку Apache PHP MySQL.

Подписывайся на наш канал и смотри новые видео первым: www.youtube.com/progliveru

Проходи бесплатные курсы: goo.gl/4gG8TL
Выбери профессию: goo.gl/WSdYSE
Смотри вебинары: goo.gl/bBVKcb
Читай статьи: goo.gl/XfJNqc
Проверяй знания: goo.gl/gqKSsw

ВКонтакте vk.com/geekbrainsru
Facebook www.facebook.com/geekbrains.ru
Одноклассники ok.ru/geekbrains
Telegram t.me/geekbrains_ru
Instagram www.instagram.com/geekbrains.ru/

#вебпрограммирование#geekbrains #программирование #курсыпрограммирования

Автомасштабирование в kubernetes. Теоретическая часть июльского практикума на ребрейне.


Видео по автомасштабированию вообще, и, в частности, на k8s. Говорю о том как делать шуструю, надежную и экономную инфру.
Телега ребрейна: rebrainme.com/channel
Немного про throttling: ru.wikipedia.org/wiki/Дросселирование_тактов и webznam.ru/blog/chto_takoe_throttling/2019-02-14-902

Linux урок 10. Понятие инода, жесткие и символьные ссылки в Linux.


-rw-r--r-- 1 hitruk hitruk 2029 янв 25 2020 docker
drwxr-xr-x 2 hitruk hitruk 4096 ноя 2 2019 Downloads
lrwxrwxrwx 1 root root 34 июн 28 23:53 initrd.img — boot/initrd.img-4.15.0-108-generic

1) Первая колонка показывает информацию, о правах доступа
2) Содержит числа ссылок на каждый элемент файловой системы
3-4) Третья и четвертая колонки — это список владельцев и групп, соответственно.
5) Размер объекта, Вес
6) время последнего изменения (mtime)
7) именами объектов.

*если файлы являются символическими ссылками, обозначены -(Символ_больше)
====================================================================

Команда echo, принимает аргументы и печатает их на стандартный вывод.

Вывод данных на экран:
Пример:
echo «hello world»
Вывод:
you text

Вывод данных с перенаправлением в файл, записать в файл:
Пример:
echo «hello world» «символ_больше**» my_file
*Знак «символ_больше**» сообщает оболочке записывать вывод echo в файл по имени:
my_file

**(youtube не позволяет в описании использовать угловые скобки!!!)

Создание файлов:
touch имя_файла

Создание файла с помощью команды cat используя «символ_больше» **(youtube не позволяет в описании использовать угловые скобки!!!)

Пример:
cat «символ_больше**» имя_файла
Далее вводим содержимое
CTRL C прервать ввод, создать файл
**(youtube не позволяет в описании использовать угловые скобки!!!)
====================================================================

Ссылки, линки:

Существует два типа:
1) Символьные ссылки, символические, симлинки
Создание символических ссылок:
Команда:
ln -s

2) Жесткие ссылки
Команда:
ln

====================================================================

Создать символическую ссылку на директорию или файл

Cинтаксис:
ln -s полный_путь_файл/директория имя_ссылки
*Всегда указывайте полный путь, это при перемещении ссылки/линка в различные путь всегда будет верным!!!

Пример создания ссылки на директорию или файл:
ln -s /home/hitruk/dir2 dir2_link

Пример:
Скопировать ссылку на рабочий стол(desktop).
*если бы был указан не полный путь, то ссылка бы не работала

Перенести ссылку на Рабочий стол:
mv dir2_link ~/Рабочий стол
Перенести ссылку на desktop:
mv dir2_link ~/desktop

==================================================================

Понятие инода.

Каждому объекту, файловой системы назначен уникальный индекс:
Номер инода.

Как узнать номер(индекс) инода?
ls -id имя_файла

==================================================================

Жесткие ссылки(Дубликаты):

Ограничения:
Жесткие ссылки можно создать ТОЛЬКО НА ФАЙЛЫ

Синтаксис:
ln имя_файла имя_дубликата_файла

Пример:
ln /home/hitruk/dir2/file file_dublicate

Пример:
ls -id /home/hitruk/dir2/file
ls -id /home/hitruk/dir2/file_dublicate

Инод будет одинаков!!! Все изменения в одном файле, появятся и в другом!!!
А почему номер инода одинаковый?
Хотя этот инод и существует только в одном месте на диске, тем не менее на него может быть множество ссылок.