Получи случайную криптовалюту за регистрацию!

Goal Gesture программирование, IT

Логотип телеграм канала @goalgesture — Goal Gesture программирование, IT G
Логотип телеграм канала @goalgesture — Goal Gesture программирование, IT
Адрес канала: @goalgesture
Категории: Технологии
Язык: Русский
Количество подписчиков: 8.46K
Описание канала:

Новости, статьи и полезные материалы из мира IT
Мы в ВК: https://vk.com/codeupnumber1
По вопросам рекламы и сотрудничества: @AlexKolegov
Прайс: https://vk.com/@codeupnumber1-reklamnyi-prais

Рейтинги и Отзывы

2.67

3 отзыва

Оценить канал goalgesture и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

0

3 звезд

0

2 звезд

1

1 звезд

1


Последние сообщения

2022-08-29 18:35:56 ​Задумывались ли вы, что Kubernetes из запускалки контейнеров давно превратился в новый Linux? Если вы еще на вершине айсберга, есть хорошие новости – мы расскажем, что скрывается в глубинах k8s.

Уже имеете базовые знания и хотите потрогать внутрянку Kuba? На курсе «Kubernetes Мега» вас ждут 6 часов практики, приправленной щепоткой теории от спикеров:

устанавливаем Kubernetes в ручном режиме

авторизация в кластере

настройка autoscaling

резервное копирование

Stateful приложения в кластере

интеграция Kubernets и Vault для хранения секретов

HorizontalPodAutoscaler

ротация сертификатов в кластере

Blue-Green Deploy и Canary Deploy

настройка Service mesh

«Мега» подойдет всем, кому предстоит запускать Kubernetes в продакшн и отвечать за работу проекта в дальнейшем: специалистам по безопасности, системным инженерам, администраторам, архитекторам, DevOps и др.

Вот тут проводим аукцион, где можно назвать свою цену, за которую готовы купить курс.

А если все эти игры не для вас, то вот ссылка на курс: https://slurm.club/3AN6ECu
1.0K views15:35
Открыть/Комментировать
2022-08-27 10:12:00Пример из практики!

Генераторы часто применяют для одноразовой обработки данных по каким-то правилам. Например, в проекте с генератором текста на цепях Маркова у нас был такой фрагмент кода:

1. # отправляем в переменную всё содержимое текстового файла
2. text = open('che.txt', encoding='utf8').read()
3.
4. # разбиваем текст на отдельные слова (знаки препинания останутся рядом со своими словами)
5. corpus = text.split()
6.
7. # делаем новую функцию-генератор, которая определит пары слов
8. def make_pairs(corpus):
9. # перебираем все слова в корпусе, кроме последнего
10. for i in range(len(corpus)-1):
11. # генерируем новую пару и возвращаем её как результат работы функции
12. yield (corpus[i], corpus[i+1])
13.
14. # вызываем генератор и получаем все пары слов
15. pairs = make_pairs(corpus)

А вот что произошло здесь по шагам:

Мы открыли файл и записали всё его содержимое в переменную text.
С помощью встроенной функции split() мы разбили текст на отдельные слова и поместили все слова в отдельный массив. На этом этапе в массиве примерно 150 тысяч слов — для хранения такого количества данных компьютер выделил много памяти.
Мы пишем функцию-генератор. Каждый раз, когда к ней будут обращаться, она вернёт пару слов — текущее и следующее за ним.
В самом конце мы создаём новую переменную — pairs. Может показаться, что в ней сразу будут храниться все пары слов, но на самом деле это переменная-генератор. При каждом обращении к ней она вернёт новую пару слов и забудет о них.
В итоге у нас все слова хранятся в переменной corpus, а пары возвращаются «на лету» при каждом обращении к этой переменной.

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

Вот как мы работаем с этой переменной дальше:

1. # словарь, на старте пока пустой
2. word_dict = {}
3.
4. # перебираем все слова попарно из нашего списка пар
5. for word_1, word_2 in pairs:
6. # если первое слово уже есть в словаре
7. if word_1 in word_dict.keys():
8. # то добавляем второе слово как возможное продолжение первого
9. word_dict[word_1].append(word_2)

Здесь алгоритм работает так:

Делаем пустую переменную для словаря.
Запускаем цикл for и указываем переменную-генератор в качестве диапазона цикла.
Теперь на каждом шаге цикла он будет получать новую пару от генератора и обрабатывать её внутри цикла. При этом сами пары физически нигде не хранятся — их генератор каждый раз собирает на ходу.
Если бы мы не знали про генераторы, нам бы пришлось делать отдельный массив с парами слов и выделять под него память. В нашем проекте так сделать можно, но в реальных задачах с перебором большого количества данных такой подход может съесть всю память.

И что, всё теперь нужно делать на генераторах?
Нет, нужно просто знать, что есть такая возможность — собирать данные на ходу и при этом не тратить на это память. Если вам в проекте не нужны генераторы или экономия памяти будет мизерная — работайте без них. Но если нужно обработать огромный массив данных, из которых нужна только часть, то генераторы могут реально выручить.
1.1K views07:12
Открыть/Комментировать
2022-08-27 10:11:00 Что такое генераторы в программировании?

Они лениво раз за разом вычисляют новые значения, но не помнят, что было до этого.

В программировании есть инструмент, который позволяет экономить память и при этом обрабатывать огромные массивы данных. Это генераторы. Мы рассмотрим работу генераторов на примере языка Python, но они есть и в других языках.

Классический подход к обработке — итераторы
Допустим, мы хотим вывести числа от 1 до 10 и для этого пишем такой код:

for i in range(1,10):
print(i)

Это один из вариантов реализации цикла. Что делает компьютер, когда обрабатывает такое:

Создаст в памяти область для хранения данных.
Заполнит её числами от 1 до 10.
На каждом шаге цикла компьютер возьмёт новые данные из этой области и выведет их на экран.
При этом компьютер точно знает, какое значение у переменной i было на предыдущем шаге и будет на следующем, потому что все они хранятся в памяти.

Но что, если нам понадобится несколько переменных с диапазоном значений? Например, так:

a = range(1,100)
b = range(1000,2000)
for i in a:
print(a[i-1] + b[i])

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

Итератор в данном случае — это цикл, который обращается к диапазону значений и берёт по очереди оттуда данные. При этом все данные уже есть в памяти.

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

Генераторы — вычисление данных «на лету»

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

Цикл выполняется нужное количество раз.
На каждом шаге цикла генератор получает какое-то значение, отдаёт его в нужное место и забывает всё напрочь.
Генератор не помнит значение, которое он отдавал до этого, и не знает, что он будет отдавать на следующем шаге. Всё, что у него есть, — данные, которые нужно обработать на текущем шаге.
Память под работу генератора выделяется, только когда он генерирует новые данные. Пока генератор стоит или не выдаёт данные — память не выделяется.
Чаще всего генераторы используют как функции. Каждый раз, когда обращаются к такой функции-генератору, она делает так:

Берёт новую порцию данных из указанного ей источника.
Обрабатывает данные.
Возвращает результат.
Забывает про всё до следующего вызова.
Обычно функции возвращают результат своей работы с помощью команды return (), а для генераторов есть специальная команда — yield ().

Yield () работает так же, как и return (), только функция на ней не заканчивается, а ставится на паузу. При следующем вызове генератор возьмёт новую порцию данных, и единственное, что он помнит, — на каком месте он остановился в прошлый раз. Всё остальное генератор каждый раз считает заново.
1.1K views07:11
Открыть/Комментировать
2022-07-09 09:53:51NFT — новые модные токены. Зачем они нужны и не развод ли это?

Если вы были в интернете последние 2–3 месяца, вы наверняка слышали об NFT. Вот самый громкий случай, связанный с этим явлением:

Взяли работу художника Бэнкси.
Сфотографировали её.
Оригинал сожгли, чтобы он больше не достался никому.
Фотографию привязали к этому самому NFT.
Теперь эту работу будут продавать на цифровом аукционе.

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

Смысл NFT (простыми словами)

Представьте, что вы певица Ирина Аллегрова и вы приехали на гастроли в Кавминводы. Вы заселяетесь в гостиницу «Эфир Кавказа». Вас вписывают в базу данных: «Ирина Аллегрова вселилась тогда-то в номер такой-то, это подтверждает сотрудник Иванов, вот скан паспорта».

Так сложилось, что где-то в Кавминводах живёт ваш истовый фанат. Он узнал, что вы остановились в этой гостинице. Он приходит к Иванову и говорит: «По-братски продай мне на память строчку в базе данных о том, что Ирина Аллегрова вселилась в ваш отель, чисто как сувенир».

Иванов чешет репу:

— Как же я тебе продам строчку в базе данных?

— Ну создай там новый столбик и напиши в нём, что я владею этой строчкой.

— Но я же в любой момент смогу тебя оттуда удалить. Или вписать, что это не твоя строчка.

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

Вот это в двух словах NFT в частности и блокчейн вообще.

Теперь чуть сложнее

NFT расшифровывается как Non-fungible token, невзаимозаменяемый токен. По-простому — это уникальный набор зашифрованных данных, который лежит в какой-то таблице. Считайте, что это цифровой эквивалент «уникального предмета». В случае с Ириной Аллегровой NFT — это криптографическая «печать», которая подтверждает целостность строчки в базе данных.Асимметричное шифрование

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

И дальше с этим токеном можно обращаться примерно так же, как обращаются с имуществом: покупать, продавать, дарить и т. д. Фанат Аллегровой может владеть этой строчкой, а потом продать её другому фанату.

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

Конкретно NFT хранится в блокчейне Ethereum. Это ни о чём не говорит и ничего не значит, просто такой факт. Рядом есть блокчейны DoogeCoin, LiteCoin, BitCoin и десятки других блокчейнов. Это как рядом с гостиницей «Эфир Кавказа» стоят гостиницы «Верный друг», «Светлый день», «Золотой стандарт» и любая другая. У каждой гостиницы свой вид базы данных.

Нужны ли мне NFT?

Если вы известный художник, артист или селебрити с большой фанатской базой, можно ради интереса токенизировать какую-то свою штуку и продать её с аукциона. Подзаработаете денег.

Если нет, то не тратьте время. Лучше потратьте его на чтение комментариев к этой статье в соцсетях, где криптоэксперты будут рассказывать вам, что за блокчейнами будущее.
6.8K views06:53
Открыть/Комментировать
2022-07-08 12:15:00
Газпромбанк продолжает цифровую трансформацию, а его эксперты вовсю делятся тайнами финтеха.

Для кого подходит DevOps? Какие приемы могут помочь в борьбе за чистый код? И как устроен инфраструктурный переезд в банке? Эти темы спикеры обсудили на конференции DevOpsConf & TechLead Conf 2022.

А участники могли проявить креативность на стенде банка — создать свою архитектурную схему и решить задачу на высоконагруженную систему.

Если ты тоже стремишься к новым знаниям и тебе важно быть частью крутого IT-коммьюнити, то тебе в Газпромбанк. Актуальные вакансии ждут по ссылке > https://vk.cc/ccWstr
3.9K views09:15
Открыть/Комментировать
2022-07-08 09:00:20Как скрыть содержимое папки для галереи на Андроид

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

В файловом менеджере войдите в папку, содержимое которой нужно скрыть в галерее.
В меню файлового менеджера выберите «Создать», а затем «Файл».
Присвойте файлу имя «.nomedia», с точкой в начале имени файла, нажмите «ОК».
Перезагрузите устройство.

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

Как сделать видимым содержимое папки для галереи

Если отпала необходимость скрывать медиафайлы а галерее, удалите из папки с мультимедийными данными файл «.nomedia».

Включите показ скрытых файлов в файловом менеджере.
Войдите в папку, файлы из которой скрывались в галерее.
Удалите оттуда ранее созданный файл с именем «.nomedia».
Перезагрузите смартфон.
Отключите показ скрытых каталогов на телефоне.

В «Галерее» снова будут видны все файлы: видео, фото, изображения, скриншоты и т. д.
3.3K views06:00
Открыть/Комментировать
2022-07-08 05:05:17
Ты стал руководителем, но все идет не по плану? Ты хочешь стать руководителем, но не знаешь какие компетенции тебе нужны?

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

В своем телеграмм канале рассказываю про свой опыт руководства в ИТ (которому уже более 10 лет). Затрагиваю такие темы:

- Как мотивировать сотрудника
- Какие стили управления бывают
- Что делать, если производительность сотрудника упала
- Какие законы в управлении бывают
- Как планировать работы
- Как управлять продуктом

Подписывайся на канал, чтобы узнать ответы на эти и многие другие вопросы: https://t.me/ch_agaltsovav
3.0K views02:05
Открыть/Комментировать
2022-06-27 09:15:00Список команд для окна «Выполнить» в Windows.

Диалоговое окно "Выполнить" в Windows, посредством ввода специальных команд, служит для быстрого прямого доступа ко всевозможным инструментам, функциям и настройкам операционной системой.

Для открытия диалогового окна "Выполнить" можно использовать сочетание клавиш Win+R

explorer - запуск файлового менеджера Проводник Windows
control - запуск Панели управления Windows
msconfig - открытие утилиты Конфигурация системы
msinfo32 - получение сведений о системе
mmc - консоль управления
sysdm.cpl - свойства системы
control admintools - администрирование
services.msc - службы Windows
perfmon.msc - системный монитор
resmon - монитор ресурсов
comexp.msc - службы компонентов
dcomcnfg - настройка службы компонентов
compmgmt.msc - запуск оснастки Управление компьютером
compmgmtlauncher - управление компьютером
diskmgmt.msc - запуск оснастки Управление дисками
netplwiz - управление учетными записями пользователей
control userpasswords2 - управление учетными записями
shell:sendto - открытие меню «Отправить»
eventvwr.msc - просмотр событий
cmd - запуск командной строки без привилегии администратора
powershell - запуск Windows PowerShell без привилегии администратора
regedit - запуск Редактора реестра
gpedit.msc - запуск Редактора локальной групповой политики
azman.msc - запуск Диспетчера авторизации
taskmgr - запуск Диспетчера задач
devmgmt.msc - запуск Диспетчера устройств
taskschd.msc - запуск Планировщика заданий
control schedtasks - контроль выполняемых заданий в Планировщике заданий
utilman - управление параметрами утилит, входящих в группу «Специальные возможности»
appwiz.cpl - открытие раздела Панели управления «Программы и компоненты» для удаления или изменения программ средствами системы
sdclt - резервное копирование и восстановление из архивной копии средствами Windows
recdisc - создание диска восстановления системы Windows 10, Windows 8.1, Windows 7
recoverydrive - создание диска восстановления Windows 11
firewall.cpl - настройка брандмауэра Защитника Windows
wf.msc - мониторинг брандмауэра Защитника Windows в режиме повышенной безопасности
rstrui - запуск восстановления системы из точек восстановления Windows
logoff - выход из системы
shutdown /s - завершение работы Windows
shutdown /r - завершение работы и перезагрузка операционной системы
perfmon /res - монитор ресурсов системы: центрального процессора, памяти, диска, сети
cleanmgr - очистка диска средствами Windows
dfrgui - дефрагментация диска средствами системы
lpksetup - установка или удаление языков интерфейса Windows
certmgr.msc - управление сертификатами текущего пользователя
shrpubw - мастер создания общих ресурсов
credwiz - архивация и восстановление имен пользователей и паролей
dpapimig - защита защищенного содержимого
lusrmgr.msc - управление локальными пользователями и группами
iexpress - мастер создания самораспаковывающихся архивов
mrt - запуск средства удаления вредоносных программ Malicious Software Removal Tool
sigverif - проверка подписи файла
rekeywiz - управление сертификатами шифрования файлов (шифрованная файловая система — EFS)
secpol.msc - локальная политика безопасности
eudcedit - редактор личных знаков
control fonts - просмотр, удаление, отображение или скрытие шрифтов
fonts - открытие папки со шрифтами
tpm.msc - управление доверенным платформенным модулем (TRM) на локальном компьютере
intl.cpl - выбор региона и языка
mstsc - подключение к удаленному рабочего столу
msra - удаленный помощник Windows
useraccountcontrolsettings - настройка уведомлений об изменении параметров компьютера
winver - сведения о версии операционной системы Windows
wscui.cpl - просмотр последних сообщений и решение проблем
computerdefaults - выбор приложений по умолчанию
slui - активация Windows
optionalfeatures - включение или отключение компонентов Windows
wscript - параметры сервера сценариев Windows
wusa - автономный установщик обновлений
cliconfg - программа сетевого клиента SQL Server
4.8K views06:15
Открыть/Комментировать
2022-06-25 10:44:15Жесты с помощью мышки в браузере

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

Сперва потребуется включить функцию управления браузером с помощью жестов мышкой. Для этого в правом верхнем углу браузера нажимаем на три горизонтальные полоски. Затем выбираем пункт "Настройки". В открывшимся окне выбираем вкладку "Инструменты" и в блоке " Жесты мыши" включаем данную функцию.

Всего насчитывается 8 жестов мышкой (см. фото ниже):

1. Возвращение к предыдущей странице:
[зажать ПКМ и провести влево]

2. Переход к следующей странице:
[зажать ПКМ и провести вправо]

3. Восстановление закрытой вкладки:
[зажать ПКМ и быстро провести вправо, затем влево]

4. Закрытие активной вкладки:
[зажать ПКМ и провести вниз и вправо]

5. Перезагрузка активной страницы:
[зажать ПКМ и провести вниз, затем вверх]

6. Открываем новую вкладку:
[зажать ПКМ и провести вверх]

7. Возвращение к предыдущей странице:
[зажать ПКМ и не отпуская её нажать ЛКМ]

8. Переход к следующей странице:
[зажать ЛКМ и не отпуская нажать ПКМ]

ПКМ - правая кнопка компьютерной мыши;
ЛКМ - левая кнопка компьютерной мыши.
4.5K views07:44
Открыть/Комментировать
2022-06-24 12:15:00 Станьте бизнес-аналитиком с Яндекс Практикумом

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

Курс подойдёт:
* начинающим аналитикам,
* IT-специалистам,
* студентам профильных специальностей,
* новичкам.

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

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

Сколько длится курс? 7,5 месяцев.
Сколько стоит обучение? При разовой оплате — 112 000 р. Или ежемесячно по 15 400 р.

Какой документ я получу в конце курса? Диплом о профессиональной переподготовке — это официальный документ о дополнительном образовании.

1 августа — старт ближайшего потока.
Подробности — по ссылке.
3.4K views09:15
Открыть/Комментировать