Разрабатывая различные приложения, я часто сталкиваюсь с тем, как после очередного коммита, в репозитории я вижу один из важнейших файлов, когда я работаю с переменными окружениями, оказалась на странице репозитория на Github. Речь идет о файле .env
, чья общедоступность может быть очень опасным. И для того, чтобы обезопасить хранение конфигурационных переменных и настроек моего приложения, используется данный текстовый файл.
Я работаю на VS Code, и я, to be honest, так и не понял, с какой стати .gitignore
"не игнорирует" .env.
Причем спокойно "игнорирует" другие файлы, директории.
Всё же, нужно действовать, исходя из конкретного кейса, но если вы не хотите, чтобы какой-нибудь John Doe воспользовался данными из вашего .env,
то вы перешли по верной ссылке. Вы же не отдаете ключи грабителю с фразой "Грабьте мой дом", верно?
Пользователь
Избавляемся от хлама: как превратить бесполезную тв-приставку в компьютер под Linux
Дано: ненужная ТВ-приставка + острая потребность в компьютере с низким энергопотреблением под Linux. Почему бы не превратить одно в другое?
Клубничная чудо-коробка 2.0. Первая часть
Не так давно я писал пост про умную коробку для выращивания клубники на балконе. Я убедился, что у меня получается и добился хороших результатов. Это подвигло меня продолжить дело и создать нечто большее. Я решил построить небольшую теплицу в закрытом помещении — контейнере, чтобы контролировать факторы, влияющие на развитие клубники и получить более качественный результат. На этот раз я отказываюсь от субстрата и перехожу на аэропонику.
Моя клубничная чудо-коробка
Я собрал умную коробку для круглогодичного выращивания клубники у себя на балконе. Расскажу как сделал управление освещением, поливом, отоплением, какие датчики использовал, с какими проблемами столкнулся и покажу результат.
Как работает неточное сравнение строк
https://fakt309.github.io/thisisthewall/
В языках программирования строки сравниваются очень просто, если строка отличается хотя бы на один символ, то возвращает false.
Но вот что если мы хотим не просто получать дискретное значение (true / false), а дифференцированное, например в процентах. Ведь согласитесь строки test и testing гораздо ближе к друг другу, чем test и abcd. Для данной проблемы существует множество решений, мы поговорим о самый популярных алгоритмах (также об их модификациях):
Расстояние Хэмминга
Расстояние Левенштейна
Сходство Джаро — Винклера
Коэффициент Сёренсена
Строим эффективный сетевой обмен в PHP-микросервисах
Микросервисы сейчас — это новый черный. Все больше и больше компаний переходят именно на микросервисную архитектуру. И при переходе ловят самые разные ошибки. Самая популярная происходит из-за того, что люди просто не готовы к тому, что их приложения начинают активно использовать сеть. Потому что IPC и RPC-запросы — это абсолютно разные вещи.
Я техлид в команде Авито в проекте SLA. Сегодня расскажу, как мы оптимизировали сетевые вызовы, чтобы избежать проблем с сетью при переходе в микросервисный мир. Разговор будет про оптимизацию CURL-запросов, деградацию сервисов и FAIL-FAST-подходы.
Делаем сервер из Android-телефона
Некоторое время назад мне пришла в голову интересная идея — превратить свои старые телефоны (их скопилось немало за десять лет) в серверы, в качестве альтернативы покупке Raspberry Pi.
На то было несколько причин: во-первых, у телефонов есть батарея, что для сервера практически бесплатный мини-UPS, во-вторых, внутренняя память смартфона (UFS) работает быстрее и надёжнее, чем SD-карта. В-третьих, у телефонов имеется экран, по которому можно отслеживать состояние сервера.
Ну и в-четвёртых, мне просто было жаль их выбрасывать. Консьюмеризм в наше время предписывает каждый год-два покупать новые смартфоны, производители блокируют возможности железа, которые им невыгодны, прекращают поддержку старых моделей, оставляя людей беспомощными. Миллионы смартфонов отправляются на свалку истории каждый год, хотя каждый из них это мощный компьютер.
TL;DR: в этом посте будут разобраны вопросы установки PostmarketOS на смартфон,
поднятия на нём в качестве примера Docker и веб-приложения в нём.
Разработка Tizen-приложений для Samsung Smart TV: полный гайд для Javascript-разработчиков
Эта статья рассказывает про удивительные приключения JS-разработчиков в мире ОС Tizen. В ней будет и пошаговая настройка рабочего окружения, и подключение «умного» телевизора Samsung вместе с пультом, и, конечно, сам процесс разработки и публикации приложения для Tizen Store — с примерами и подводными камнями.
Так что если вы разделяете наше мнение о том, что Javascript — лучший язык программирования, потому что он работает практически везде – от домашнего Smart TV до кораблей SpaceX, то добро пожаловать под кат.
Как сделать волоконно-оптическую светодиодную лампу
Ранее я уже делал подобные проекты, но в этот раз я хотел сделать что-то попроще, то, что будет легким в изготовлении, и то, что смогли бы сделать многие из вас. "Механические" части лампы печатаются на 3D-принтере, электронная часть довольно проста, а пластиковое оптическое волокно притягивает взгляд. Сейчас я расскажу, как легко и просто изготовить такую светодиодную лампу.
15 топовых веб скрапинг решений 2021 года
За последнее десятилетие информация стала основным ресурсом для развития бизнеса, а Интернет является основным источником, где 5 миллиардов пользователей ежесекундно генерируют новые данные. Извлекая и анализируя эти веб данные, компании разрабатывают свои бизнес-стратегии и достигают поставленных целей. Однако собрать и извлечь такой большой объем данных непросто; особенно для тех, кто все еще думает, что кнопка «Экспорт в Excel» существует или ручная обработка данных - это единственное решение.
Веб скрапинг позволяет компаниям автоматизировать процессы сбора веб данных с помощью ботов или автоматизированных скриптов, называемых веб-сканерами и загружать эти данные в формате Excel, CSV или XML для последующей аналитики.
Представляем вашему вниманию список топ 15 инструментов для парсинга 2021 года.
Хостим Bitwarden — open-source менеджер паролей
Менеджеры паролей действительно полезны и важны как для отдельных пользователей, так и для организаций, и они пригодятся, когда у вас много разных учетных записей и паролей. Обычно люди не любят пользоваться сторонними менеджерами паролей с сервисной архитектурой — неизвестно, что происходит с данными на чужом сервере, и не будет ли он скомпрометирован. Самое безопасное решение это разместить менеджер на своём собственном (как следует защищенном) сервере. Разумеется, к такому self-hosted варианту возникает много требований, и большой список решений с открытым исходным кодом довольно быстро сужается до нескольких известных, проверенных продуктов. Среди них мне больше всего нравится Bitwarden, и сейчас я объясню почему.
Гидропоника. Выращиваем сверхострый чили и заставляем всех его есть
Полтора килограмма термоядерного Тринидадского Скорпиона я в итоге собрал с одного куста на гидропонике.
У меня было много довольно странных хобби. Некоторые приводили к странным эффектам, вроде массового домашнего производства домашнего порошка для посудомойки. В список к этому странному ряду я решил добавить еще один пункт. Теперь я развлекаюсь еще и с гидропоникой. Причем эффект получился еще более адовый, чем я ожидал.
Тема чудовищно огромная, охватить ее за один пост вряд ли получится, поэтому я постараюсь ограничиться описанием принципа, почему это вообще работает и дать максимально исчерпывающий мануал, чтобы каждый смог из желудей и спичек повторить мой эксперимент. В самом начале будет много теории. Можете ее проскочить и сразу перейти к нужным покупкам, а вернуться к ней позже.
Сегодня в меню
- Что такое гидропоника и почему она гораздо проще, чем почва с червячками
- Никаких дорогих бутылочек. Мешаем компоненты по три рубля за ведро
- Питание растения как алгоритм
- Как быстро собрать прототип гидропонной установки
- Что такое capsicum chinense и как выжить при дегустации
Опенсорсные альтернативы Google Analytics на своём хостинге
Веб-интерфейс опенсорсного сервиса аналитики Matomo
Дегуглификация онлайновой жизни требует внедрения свободных альтернатив во всех областях. Защитники приватности ведут списки таких продуктов по категориям.
С точки зрения системного администратора в этих списках отдельно выделяется категория веб-аналитики — замена сервису Google Analytics, который собирает детальную статистику о посетителях сайта. Все знают, как работает такой сервис. Внедряете на страничках JS-код отслеживания, и если человек не установил блокировщик следящих скриптов, то каждый раз при открытии страницы будет срабатывать этот скрипт. Дальше статистика по вашим пользователям отправляется на хранение в корпорацию Google.
К счастью, есть ряд свободных, опенсорсных альтернатив Google Analytics, которые к тому же работают быстрее, поскольку скрипты меньше по размеру и загружаются с вашего собственного хостинга, а не со стороннего сервера. Информация о пользователях никуда не отправляется, а многие сервисы не используют куки и соответствуют законодательству GDPR о защите личных данных.
Как найти скрытую камеру в съемной квартире или номере отеля
Airbnb и его аналоги решают множество проблем со съемом жилья. Но такая аренда также включает и некоторые риски. Например, недобропорядочные собственники могут устанавливать скрытые камеры в квартирах, комнатах и домах и не сообщать о съемке своим постояльцам, тем самым нарушая закон.Аналогичным образом поступают и отели, хотя и гораздо реже, чем собственники жилья.
Случаев, когда постояльцы обнаруживают в своих комнатах и номерах скрытые камеры, становится все больше. Согласно результатам исследования, скрытые камеры находит 1 из 10 пользователей Airbnb. Не меньше таких устройств в отелях и хостелах. Представим масштабы проблемы, если учесть, что постояльцы обнаруживают далеко не все камеры, а только те, что установлены небрежно. Как обезопасить себя от шпионажа? Как минимум можно внимательно обследовать помещение, прежде чем поселиться в нем. В статье мы расскажем, что, где и как искать.
Мультитест мультиварок: что купить IT-шнику, если хочется плова и борща
В нашем тесте участвуют 8 мультиварок от компаний Vitek (VT-4209), Kitfort (KT-201), Scarlett (SL-MC411S01), Polaris (PMC 0527D), Rolsen (RMC-5500D), Redmond (RMC-250), Philips (HD2173) и Panasonic (SR-MHS181).
Мы не будем рассказывать вам о дизайне — его можно посмотреть на фотографиях, не будем уточнять наличие контейнера для сбора конденсата — в него он попадает лишь в редких случаях, мы не будем говорить о «эффекте русской печи» и прочей маркетинговой шелухе, которую так любят продавцы.
Мы расскажем о более интересных вещах — об удобстве управления, о качестве рецептов из комплекта, о физической и химической стороне процесса приготовления, о типах антипригарных покрытий, о реальном, а не маркетинговом функционале и о том, что у мультиварок внутри.
Расчет себестоимости производства солнечной электроэнергии для собственных нужд домохозяйства в центре Европы
Вступление
Данный расчет я делаю уже второй раз. Первый делал пару лет назад, и следующий буду делать как только появятся обновленные данные. Он не рассчитывает на объективность, а служит только для ответа на вопрос «Есть ли смысл?»
Задача рассчитать себестоимость солнечной электроэнергии, выработанной у себя дома с учетом сегодняшних цен на оборудование и текущие сроки эксплуатации и без учета различных субсидий, «зеленых тарифов» и прочей фигни, так это все равно рано или поздно отменят, а Солнце — оно постоянно. Полученную цифру можно будет сравнить с текущей ценой электроэнергии в данном регионе и понять будут ли окупаться инвестиции в собственный ВИЭ.
Я специально учитываю только основное оборудование и не учитываю стоимость монтажных работ, проводки и т.д, так как это не должно сильно влиять, но усложняет расчет.
PHP Composer: фиксим зависимости без боли
Многие из вас наверняка сталкивались с ситуацией, когда в библиотеке или фреймворке, который вы используете, есть баг или нет необходимой функциональности. Предположим, вы даже не поленились и сформировали pull request. Но примут его далеко не сразу, а следующий релиз продукта вообще может произойти через год.
Что же делать, если исправление вам срочно нужно катить в прод? Напрашивается очевидное решение — использовать форк библиотеки или фреймворка. Однако с форками не всё просто. Использовать наследования для переопределения функциональности, которую нужно изменить, не всегда возможно и часто требует больших изменений. На помощь приходят плагины для Composer, которые умеют патчить зависимости.
В этой статье я расскажу подробнее о том, почему форки — это неудобно, а также рассмотрю два плагина для Composer для патчинга зависимостей: чем они отличаются, как ими пользоваться и в чём их преимущества. Если вы сталкивались подобными проблемами или вам просто интересно, добро пожаловать под кат.
Каково разрешение человеческого глаза (или сколько мегапикселей мы видим в каждый отдельный момент времени)
Вопрос, казалось бы, простой на первый взгляд… можно погуглить, и всё станет ясно. Но практически все статейки в сети дают либо «космические» числа — вроде 400-600 мегапикселей (Мп), либо это и вовсе какие-то убогие рассуждения.
Поэтому постараюсь кратко, но последовательно, чтобы никто ничего не упустил, раскрыть эту тему.
Начнём с общей структуры зрительной системы
- Сетчатка
- Зрительный нерв.
- Таламус(ЛКТ).
- Зрительная кора.
Сетчатка состоит из трёх типов рецепторов: палочки, колбочки, фоторецепторы(ipRGC).
Airtest IDE — новый путь в автоматизации тестирования мобильных игр?
Сегодня я хочу вам рассказать о достаточно новом open-source инструменте для автоматизированного тестирования под названием Airtest. В дальнейшем я сделаю ещё несколько статей с подробным рассказом об отдельных элементах данного инструментария и как с ними работать, а сейчас у меня цель познакомить вас с ним и дать общее представление о нем.
Это первая статья из трёх. Вторая часть описывает фреймворк для распознавания изображений (Image Recognition) — AirTest, а третья и завершающая посвящена Poco — фреймворку UI автоматизации при помощи написания кода.
AirTest IDE разработан компанией NetEase и предназначен для "hard-to-automate" приложений, таких как, к примеру, игр. Собственно на них и делается основной упор разработчиками, хотя это не мешает использовать AirTest и для любых других приложений.
AirTest IDE работает под Windows, MacOS X и Linux и содержит в себе 2 фреймворка: AirTest и Poco. Данная разработка была представлена Xin Liu на Android Game Developer Summit 2018. Для написания тестов используется Python 2.7 и Python 3.3+. Такие важные вещи как поддержка запуска тестов сразу на большом количестве устройств, открытость исходного кода и бесплатность приложения, а также легкое написаное тестов — это те преимущества, которые выделяются разработчиками. Приложение может быть использовано как на Windows, так и на MacOS и позволяет автоматизировать приложения со следующих OS: Windows, iOS, Android.
AirTest Project на GitHub содержит 4 проекта: Airtest, Poco, iOS-Tangent, multi-device-runner.
Стоит также упомянуть, что NetEase предоставляет свою ферму физических устройств для автоматизированного тестирования, которая называется AirLab.
Лабиринты: классификация, генерирование, поиск решений
В этом классическом посте подробно рассказывается о самых популярных способах создания и прохождения лабиринтов. Статья разделена на четыре части: классификация, алгоритмы генерации, алгоритмы решения лабиринтов и другие операции с лабиринтами.
Классификация лабиринтов
Лабиринты в целом (а значит, и алгоритмы для их создания) можно разбить по семи различным классификациям: размерности, гиперразмерности, топологии, тесселяции, маршрутизации, текстуре и приоритету. Лабиринт может использовать по одному элементу из каждого класса в любом сочетании.
Information
- Rating
- Does not participate
- Registered
- Activity