XZTVC.ru | Еще один блог разработчика
Опубликовано: 30 июня 2022 г. 16:10 | Автор: echodiv | Категория: Администрирование | 👁 1120
Отображение ветки git в терминале bash
Достаточно коротка статья, достойная одного твитта, но зачем тогда мне блог?
Мщем в файле ~/.bashrc, который отвечает за поведение коммандной оболочки для конкретного пользователя.
"~" - это путь до домашней дириктории текущего пользователя, можете заменить, если хотите удивить своего коллегу (и у вас есть доступ) новым видом терминала, но это под вашу отвественность.
Опубликовано: 19 мая 2022 г. 21:10 | Автор: echodiv | Категория: Разработка | 👁 1298
Оптимизация структур в GO выравниванием
Вычислительные мощности растут, компьютеры выполняют всё более сложные задачи, оперируют огромными объёмами памяти.
Методы оптимизации работы с памятью становятся всё более высокоуровневыми, но не стоит забывать о простых старых методах, таких как выравнивание структур в памяти.
В этой статье рассмотрено, как сократить используемую память для хранения разных в структурах оптимизируя сами структуры и ускорить доступ к данным структур за счёт уменьшения команд необходимых для этого.
Опубликовано: 11 мая 2022 г. 19:32 | Автор: echodiv | Категория: Разработка | 👁 746
Добавление favicon.ico в Django
Favicon (сокр. от англ. FAVorite ICON — «значок для избранного») — значок веб-сайта или веб-страницы. Отображается браузером во вкладке перед названием страницы, и в качестве картинки рядом с закладкой, а также в адресной строке в некоторых браузерах. (c) wikipedia.org
Каждый веб-сайт должен иметь иконку, которая передаёт настроение сайта (или нет), большинство браузеров ожидает найти favicon.ico в корневом каталоге вашего веб-сайта (/favicon.ico). Самый простой способ использовать статические файлы, но в Django обычно мы используем поддиректорию для доступа к ним (/static).
В этом руководстве мы настроим Django для отображения favicon.ico.
Опубликовано: 18 апреля 2022 г. 21:49 | Автор: echodiv | Категория: Разработка | 👁 891
Создание GET запроса с параметрами в Go
Если нам нужно создать GET запрос в Go с query параметрами, то можно столкнуться с неожиданными трудностями.
Самый простой вариант, это создать строку содержащую параметры и передать её как эндпоинт в метод запроса. Это будет выглядить следующим образом:
package main import ( "fmt" "net/http" ) func main() { client := &http.Client{} apiKey := "mySuperAwesomeApiKey" url := fmt.Sprintf("http://xztvc.ru/endpoint?api_key=%s", apiKey) req, err := http.NewRequest("GET", url, nil) if err != nil { panic(err) } resp, err := client.Do(req) if err != nil { panic(err) } fmt.Println(resp.Status) }
В данном подходе главная опасность - это сложность в заполнении строки с параметрами. Можно легко запутаться, либо запутать того, кто будет смотреть код после нас. Для того чтобы избежать этого, можно пойти по следующему пути.
Опубликовано: 17 апреля 2022 г. 20:40 | Автор: echodiv | Категория: Администрирование | 👁 632
Перенаправление трафика через Nginx и SSH
Предположим нам понадобилось обрабатывать трафик из интернета на локальном компьютере, при этом у нас нет публичного IP, но есть выделенный сервер, где крутится наш сайт-визитка. Причин для того, чтобы забрать трафик на локальную машину, может быть много.
Возможно одного ядра и 512 мегабайт оперативной памяти на нашем сервере не хватает для необходимых нам операций или мы хостим "ботов", которые используют веб-хуки на локальном компьютере. Либо у нас есть IoT сервер, который таким образом будет общаться с внешним миром.
Что же нам нужно сделать?
Опубликовано: 27 августа 2021 г. 20:48 | Автор: echodiv | Категория: Алгоритмы | 👁 921
Задачи для собеседования на позицию backend разработчик
В данной статье я разберу некоторые задани на позицию backend разработчика. Все задачи будут решены с использованием языка программирования python.
При потготовке к собеседованиям понял, что найти задачи вне сервиса для набивания руки (такого как codeingame etc) не так и просто.
Это первая часть содержащая десять задач и решений к ним для подготовке к собеседованию.