Найти в Дзене
Спустя продолжительное время пришёл момент запостить что-то в этот канал
Спустя продолжительное время пришёл момент запостить что-то в этот канал) Сегодняшней темой будет тренд 2025 года — Vibe coding👨‍💻 Наверное, каждый слышал о невероятных возможностях LLM и о том, что скоро программистов заменят. Стоит разобраться подробнее в этой теме. Vibe coding — это процесс, при котором разработчик описывает желаемое поведение программы на естественном языке, а AI генерирует код. По статистике за 2025 год📈: -41% всего кода генерируется AI (256 млрд строк в 2024); -82% разработчиков...
6 месяцев назад
Активируем любые IDE от Jetbrains👩‍💻 Делимся с вами годной статьей по активации продуктов и некоторых плагинов в довольно удобных и популярных IDE. Статья Статья Статья Надеемся, что это будет полезно и пригодится вам.👍
1 год назад
Часть 2: Работа с терминалом 1. Grep🟢 Grep — это мощный инструмент для поиска текста в файлах по шаблону. Шаблон задается с помощью регулярных выражений. Синтаксис: grep Pattern File Pattern— это строка или регулярное выражение, которое нужно найти. File— путь к файлу, в котором выполняется поиск. grep .a English.txt London is the capital of Great Britain 2. Редактирование файлов🗣️ Для редактирования файлов можно использовать различные текстовые редакторы: Nano, Vim, Emacs и другие. Чтобы вызвать нужный редактор,необходимо перед названием файла написать название редактора: nano ~/.bashrc 3. Манипуляции с файловой структурой🖥 -Создание файла: touch filename -Удаление файла: rm filename -Перемещение файла: mv filename directory -Переименование файла: mv filename newfilename -Копирование файла: cp filename directory -Создание папки: mkdir foldername -Удаление папки: (или , чтобы удалить все файлы и подпапки) : rm -r folder (rm -rf folder чтобы удалить все полностью) 4. Переменные окружения📎 Переменные окружения — это переменные, которые существуют в рамках текущей сессии командной оболочки. Они загружаются при ее инициализации. Просмотр переменных: env Переменные окружения помогают отделить способ появления значений в системе от команд, которые их используют. Эти посты предназначены для ознакомления с основными функциями терминала. Полное понимание работы придет с практикой. Рекомендую пройти курс на Hexlet для более глубокого изучения.Чем больше знаете тем проще решать проблемы 💯
1 год назад
Работа с терминалом — необходимая часть работы любого разработчика, рано или поздно каждый как-то встретится с этим. Поэтому полезно знать основные команды и идеи для работы с этим инструментом. 👩‍💻 Будет 2-3 поста по этой теме, также советую пройти неплохой бесплатный курс от hexlet (посты будут теоретической выжимкой из него).🥶 1. Навигация🗺 - Узнать директорию, в которой мы находимся- pwd pwd /home/ippolid - Посмотреть список файлов - ls (флаги дают доп. функционал) ls Camera 'Снимки экрана' -Переместиться в другую директорию - cd cd .. - на директорию выше cd ~/ -домашняя директория 2. Чтение файлов📖 -Посмотреть содержимое файла - cat (плохо работает для больших файлов, т.к. сложно прогрузить слишком много строк в консоли) cat English.txt London is the capital of Great Britain -Посмотреть верхушку файла - head (по дефолту первые 10 строк, можно изменить через флаг -n) head -n 3 proxies.txt 120.25.189.254:8800 103.174.236.72:8080 8.212.151.166:8008 -Посмотреть конец файла - tail (по дефолту последние 10 строк, можно изменить через флаг -n) tail -n 3 proxies.txt 107.189.8.240:8080 116.104.133.165:10010 116.104.134.222:10000 -Также можно посмотреть файл через пейджеры (программы для просмотра содержимого файла). В отличие от cat они прогружают конкретный участок кода, поэтому работают быстрее. Примером может послужить пейджер - less . Чтобы посмотреть фаил надо написать вместо cat ,less Это пока основные команды, которые вы будете использовать 90% времени. В следующем посте узнаем, как редактировать файлы, записывать и читать их, искать по регулярным выражениям и другое.😎 Надеюсь, это будет полезно и когда-нибудь пригодится вам.👍
1 год назад
Делаем кастомный терминал(bash) (1 фото)👩‍💻 1.Скачиваем oh-my-bash для нашего терминала👩‍💻 bash -c “$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)" После этого у вас уже поменяется терминал 🌐2.Устанавливаем нужную тему (список всех тем) . Нужно в файле .bashrc изменить строчку OSH_THEME=”put your theme name here” (можно через nano ~/.bashrc) . Советую тему-agnoster 👀3. Изменяем настройки самого терминала(2,3,4 фото). Нужно скачать и поставить указанный шрифт (чтобы все иконки корректно отображались). Цветовую палитру можно выбрать по желанию ⁉️4.Также можно поставить различные плагины, но это уже по желанию 🔝Всё,готово!🔝
1 год назад
Тип map. Многие знают, что map в Go — это удобный инструмент для работы с ключами и значениями. Но что происходит внутри? Структура map в Go - это хэш-таблица с поддержкой: Хэширование ключей - каждый ключ проходит через хэш-функцию, что позволяет быстро находить соответствующие значения. Бакеты - данные распределены по группам. Алгоритм работы 1. Хэширование ключа При добавлении данных Go использует хэш-функцию для вычисления индекса, в котором хранится ключ-значение. 2. Бакеты Данные размещаются в бакетах. Каждый бакет может содержать несколько пар ключ-значение. Если бакет переполняется, данные распределяются в дополнительные структуры, такие как overflow-buckets. 3.Поиск При обращении к ключу Go снова вычисляет его хэш и идет в соответствующий бакет, затем линейно ищет ключ внутри (это позволяет добиться константной сложности выбора из мапы, так называемой O(1)). 4.Распределение памяти и релокация. Если map переполняется, запускается механизм реалокации и все существующиеТип map. Многие знают, что map в Go — это удобный инструмент для работы с ключами и значениями. Но что происходит внутри? Структура map в Go - это хэш-таблица с поддержкой: Хэширование ключей - каждый ключ проходит через хэш-функцию, что позволяет быстро находить соответствующие значения. Бакеты - данные распределены по группам. Алгоритм работы 1. Хэширование ключа При добавлении данных Go использует хэш-функцию для вычисления индекса, в котором хранится ключ-значение. 2. Бакеты Данные размещаются в бакетах. Каждый бакет может содержать несколько пар ключ-значение. Если бакет переполняется, данные распределяются в дополнительные структуры, такие как overflow-buckets. 3.Поиск При обращении к ключу Go снова вычисляет его хэш и идет в соответствующий бакет, затем линейно ищет ключ внутри (это позволяет добиться константной сложности выбора из мапы, так называемой O(1)). 4.Распределение памяти и релокация. Если map переполняется, запускается механизм реалокации и все существующие элементы ре-хэшируются.Тип map. Многие знают, что map в Go — это удобный инструмент для работы с ключами и значениями. Но что происходит внутри? Структура map в Go - это хэш-таблица с поддержкой: Хэширование ключей - каждый ключ проходит через хэш-функцию, что позволяет быстро находить соответствующие значения. Бакеты - данные распределены по группам. Алгоритм работы 1. Хэширование ключа При добавлении данных Go использует хэш-функцию для вычисления индекса, в котором хранится ключ-значение. 2. Бакеты Данные размещаются в бакетах. Каждый бакет может содержать несколько пар ключ-значение. Если бакет переполняется, данные распределяются в дополнительные структуры, такие как overflow-buckets. 3.Поиск При обращении к ключу Go снова вычисляет его хэш и идет в соответствующий бакет, затем линейно ищет ключ внутри (это позволяет добиться константной сложности выбора из мапы, так называемой O(1)). 4.Распределение памяти и релокация. Если map переполняется, запускается механизм реалокации и все существующие элементы ре-хэшируются.Тип map. Многие знают, что map в Go — это удобный инструмент для работы с ключами и значениями. Но что происходит внутри? Структура map в Go - это хэш-таблица с поддержкой: Хэширование ключей - каждый ключ проходит через хэш-функцию, что позволяет быстро находить соответствующие значения. Бакеты - данные распределены по группам. Алгоритм работы 1. Хэширование ключа При добавлении данных Go использует хэш-функцию для вычисления индекса, в котором хранится ключ-значение. 2. Бакеты Данные размещаются в бакетах. Каждый бакет может содержать несколько пар ключ-значение. Если бакет переполняется, данные распределяются в дополнительные структуры, такие как overflow-buckets. 3.Поиск При обращении к ключу Go снова вычисляет его хэш и идет в соответствующий бакет, затем линейно ищет ключ внутри (это позволяет добиться константной сложности выбора из мапы, так называемой O(1)). 4.Распределение памяти и релокация. Если map переполняется, запускается механизм реалокации и все существующие элементы ре-хэшируются.Тип map.
1 год назад
Многие знают, что map в Go — это удобный инструмент для работы с ключами и значениями. Но что происходит внутри? Структура map в Go - это хэш-таблица с поддержкой: Хэширование ключей - каждый ключ проходит через хэш-функцию, что позволяет быстро находить соответствующие значения. Бакеты - данные распределены по группам. Алгоритм работы 1. Хэширование ключа При добавлении данных Go использует хэш-функцию для вычисления индекса, в котором хранится ключ-значение. 2. Бакеты Данные размещаются в бакетах. Каждый бакет может содержать несколько пар ключ-значение. Если бакет переполняется, данные распределяются в дополнительные структуры, такие как overflow-buckets. 3.Поиск При обращении к ключу Go снова вычисляет его хэш и идет в соответствующий бакет, затем линейно ищет ключ внутри (это позволяет добиться константной сложности выбора из мапы, так называемой O(1)). 4.Распределение памяти и релокация. Если map переполняется, запускается механизм реалокации и все существующие элементы ре-хэшируются.Тип map. Многие знают, что map в Go — это удобный инструмент для работы с ключами и значениями. Но что происходит внутри? .
1 год назад
Тип map👩‍💻 Многие знают, что map в Go — это удобный инструмент для работы с ключами и значениями. Но что происходит внутри? Структура➡️ map в Go - это хэш-таблица с поддержкой: -Хэширования ключей - каждый ключ проходит через хэш-функцию, что позволяет быстро находить соответствующие значения. -Бакетов - данные распределены по группам. Алгоритм работы 💭 1. Хэширование ключа При добавлении данных Go использует хэш-функцию для вычисления индекса, в котором хранится ключ-значение. 2. Бакеты Данные размещаются в бакетах. Каждый бакет может содержать несколько пар ключ-значение. Если бакет переполняется, данные распределяются в дополнительные структуры, такие как overflow-buckets. 3.Поиск При обращении к ключу Go снова вычисляет его хэш и идет в соответствующий бакет, затем линейно ищет ключ внутри (это позволяет добиться константной сложности выбора из мапы, так называемой O(1)). 4.Распределение памяти и релокация. Если map переполняется, запускается механизм реалокации и все существующие элементы ре-хэшируются. Оптимизация и нюансы💡 1. Порядок элементов в map не гарантируется, так как это зависит от внутреннего расположения в бакетах. 2. map не потокобезопасен — при доступе из нескольких горутин нужен мьютекс или sync.Map. 3. Реалокация может потреблять много памяти, поэтому важно не задавать излишне маленький map. В связи с тем что Go необходимо сравнивать ключи в мапе, на них наложено строгое ограничение - они должны быть comparable(сравнимыми). Почему же это важно? 1.Проверка равенства ключей Для работы map нужно уметь проверять, равны ли два ключа. Например, при поиске значения или проверке существования ключа. 2. Хэширование Go использует хэш-функцию для вычисления индекса бакета, где будет храниться ключ. Хэширование должно быть однозначным для одного и того же ключа. Если ключ нельзя сравнить, невозможно гарантировать, что данные будут правильно обработаны (например, при ре-хэшировании). 3. Оптимизация памяти и времени Если бы Go позволял использовать неcomparable типы (например, срезы), потребовались бы сложные алгоритмы сравнения (поэлементно). Это замедлило бы работу и усложнило реализацию. ✔️Comparable типы в go: простые типы; int, float64, string, bool. указатели: *T. пользовательские типы не содержащие срезов, мап или функций. 🚫Не Comparable типы в go: срезы - []T мапы - map[k]v функции - func Mindstorm | Подписаться
1 год назад
Как устроены Slices (слайсы) или же срезы в Golang👩‍💻? В этом посте можно узнать о основных характеристиках и методах работы с этой структурой Срезы можно рассматривать как расширенную реализацию массивов. Срезы были реализованы в Go, чтобы покрыть некоторые крайне распространенные варианты использования, с которыми разработчики сталкиваются при работе с коллекциями, например, динамическое изменение размера коллекций.⚙️ Устройство слайсов в памятиℹ️ Из официальной документации заметим, что срез имеет следующую структуру: type slice struct { array unsafe.Pointer len int cap int } array- указатель на начало последовательности данных len - количество элементов которые, содержатся в срезе на данный момент cap-вместительность или же допустимая длина среза Инициализация срезов⚡️ Срез, в отличии от массива, не выделяет память во время инициализации. Фактически, срезы инициализируется с нулевым (nil) значением. var z []int //слайс с cap=0 ,len=0 var v = []int{1,2,3} //слайс с заранее заданными значениями , cap=3 , len=3 p:=[]int{1,2,3,4}//слайс с заранее заданными значениями , cap=4 , len=4 //Отдельно стоит упомянуть метод make, который сразу выделяет нужную часть памяти k:=make([]int,5,6) // len=5,cap=6 , p=[0,0,0,0,0] Добавление новых элементов🚨 Чтобы добавить новые элементы к срезу, необходимо использовать функцию append. nums := []int{8, 0} nums = append(nums, 8) Под капотом это будет выглядеть, как присвоение значения, указанного для нового элемента, и после – возвращение нового среза. Длина нового среза будет на единицу больше.
1 год назад
👀Почему язык программирования Golang так хорош и кому он нужен? Разберемся с этим в данном посте.👩‍💻 🌐На данный момент Go находится на шестом месте по популярности среди языков программирования, которые используются на GitHub.Golang был разработан Google в 2007 и имеет открытый код, также его документация очень хорошо написана. 🔝Перечислим основные преимущества Golanga: 1.Простота и однозначность : Go прост в изучении и в понимании основных концепций. Есть популярная байка, что всю спецификацию и документацию Go можно без проблем прочитать за полдня. 2.Производительность и горутины : Golang был разработан для автоматизации процессов в больших масштабах, поэтому с ним можно создавать системы с высокой производительностью и нагрузкой.Также преимуществом являются легковесные потоки,они могут намного ускорить программу, используя те же ресурсы. 3.Комьюнити : Так как Golang опен сурс проект, то он постоянно развивается и имеет огромную поддержку. Разработчики очень активны и заинтересованы в проекте. Также зарплаты Go специалиста приятно удивляют. 💯Теперь разберемся кому же подойдет Golang : - Из-за своей спецификации Go больше подойдет для разработке сетевых и сервеных приложений,создание другого типа приложений может вызвать затруднения. -Также в Golang нет привычного ООП, так что программистом использующих данный стиль создания приложений стоит поискать другой яп. 💬Выводы : Golang является мощным инструментом в руках разработчиков. В данный момент многие компании переходят на данный язык программирования , так как он решает их проблемы за разумную "цену". Изучение Go является довольно перспективным и интересным занятием, которое точно найдет применение в жизни. Всем успехов в обучении и работе !👍
1 год назад
Мощная подборка материалов и не только на различные темы👀 В ней можно найти : • Подборку материалов по программированию • Самые лучшие ии сайты на все случаи жизни • Курсы по различным сферам математики • Многое другое Все это по этой ССЫЛКЕ
1 год назад