Pull to refresh
-2
0
Руслан @Solovej

Пользователь

Send message

Базовая гигиена серверов Linux (часть 1)

Reading time8 min
Views23K

Всем привет! Для того, чтобы усилить безопасность серверов Linux привожу ниже советы, основой которых является публикация 40 Linux Server Hardening Security Tips [2023 edition] Вивека Гите. В приведенных инструкциях предполагается использование дистрибутив Linux на базе Ubuntu/Debian. Часть материала от автора я опускаю, так как публикация ориентированна на безопасность хостов Linux в инфраструктуре.

!!! Приведенные ниже рекомендации необходимо тестировать на совместимость с используемыми сервисами. Веред внедрением рекомендую провести тестирование на каждом отдельном типе сервера/приложения. !!!

Читать далее
Total votes 27: ↑21 and ↓6+19
Comments24

Итак, вы думаете, что знаете Git? Часть третья: реально большие репозитории

Level of difficultyEasy
Reading time7 min
Views20K


Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git.

Вам хочется использовать ванильный Git, чтобы управлять репозиторием с объёмом 300 ГБ в 3,5 млн файлов, которые без проблем получают пуш каждые 20 секунд от 4000 разработчиков? Тогда читайте дальше!


Вот агенда блога — наша блогенда:


Читать дальше →
Total votes 30: ↑28 and ↓2+36
Comments30

BEEPY, наладонник для взлома Linux

Level of difficultyEasy
Reading time10 min
Views8.2K

Портативное устройство, ранее известное как Beepberry, после чего его создатели получили вполне предсказуемую официальную жалобу, безоговорочно создано для фанатов Linux. В течение последних нескольких недель, играя с этим устройством, я компилировал драйверы ядра, писал собственные скрипты и пытался (хотя и не всегда успешно) установить на него новое программное обеспечение. Если вы увлекаетесь хакингом в Linux, это просто здоровская штука.

Читать далее
Total votes 10: ↑9 and ↓1+9
Comments14

Как писать более чистый CSS: дюжина советов от банальных до неочевидных

Level of difficultyEasy
Reading time9 min
Views17K

Если CSS для вас все еще боль и страдания, добро пожаловать под кат. Мы наткнулись на интересную подборку советов по CSS на английском языке и решили перевести ее, дополнив собственными примерами с кодом.

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

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments16

Как на ваш выбор влияет дизайн. Подробно про тёмные паттерны в UX

Level of difficultyMedium
Reading time20 min
Views11K

Вы знаете, каково это.

Часто ли у вас бывало, что отклонение куки вызывало дискомфорт? Вроде есть уведомление на половину экрана. Есть кнопка «настроить свои параметры», при нажатии которой открывается меню, где нужно выбрать конкретные параметры. Но зато в любой момент, конечно, вы можете «принять всё» и не думать о дополнительных шагах.

Или, может, вам была нужна та самая пробная подписка на 7 дней, но когда вы решили её отменить, то это резко из одного действия превратилось в лабиринт до надписи «Отменить подписку». Все эти техники объединены в группу, называемую «Тёмные паттерны», шаблоны для создания манипулятивных схем взаимодействия системы и пользователя.

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

Узнать как мной управляют
Total votes 24: ↑23 and ↓1+27
Comments9

Создаём виртуальную сеть, как это делает Docker

Level of difficultyEasy
Reading time8 min
Views23K

Как известно, Docker умеет создавать виртуальные сети для безопасного и удобного сетевого взаимодействия внутри контейнеров. В этой статье мы рассмотрим, как именно он это делает на примере базовых манипуляций с сетью в рамках одного хоста с операционной системой Linux.

Читать далее
Total votes 23: ↑22 and ↓1+26
Comments6

Cypress для Junior QA. Легкий способ войти в автоматизацию

Level of difficultyEasy
Reading time4 min
Views9.6K

Сегодня мы поделимся навыком тестирования сайтов и веб-приложений с помощью Cypress. Автоматизируем поиск книг по тестированию и добавим их в избранное на сайте Литрес!

Что нам необходимо для установки и запуска автотестов:

1. Браузер Chrome актуальной версии;
2. Редактор кода VS Code;
3. Терминал или Командная строка (PowerShell) по умолчанию есть на macOS и Windows;
4. Доступ к терминалу есть также внутри программы VS Code;
5. Node.js и Cypress мы установим через Терминал (Командную строку).

На компьютер необходимо установить 3 программы (Chrome, VS Code и Node.js)
Остальные установки будут происходить внутри Терминала на вашем компьютере.

Читать про Cypress
Total votes 4: ↑3 and ↓1+6
Comments4

Активация Oculus Quest или как раздать VPN в MacOS

Level of difficultyEasy
Reading time2 min
Views9.9K

В интернете есть множество статей о том, как активировать Quest 3 в России. К сожалению, все они требуют либо устройство на Windows, либо манипуляции с прошивкой роутера.

Основная задача заключается в том, чтобы подключить компьютер к проводной сети, установить соединение через VPN и раздать его по Wi-Fi.

Читать далее
Total votes 3: ↑2 and ↓1+3
Comments7

Как я устроился в Амазон и перестал переживать за свой английский

Level of difficultyEasy
Reading time7 min
Views94K

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

Меня зовут Андрей Столбовский, последние 5 лет я работал в Яндексе, а в прошлом году перешёл в Амазон и теперь работаю Software Development Manager в AWS Redshift – это мой первый полноценный опыт работы в международной компании. 

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

Итак, поехали. 

Поехали!
Total votes 235: ↑232 and ↓3+275
Comments160

Прощайте, базы данных, да здравствуют векторные базы данных

Level of difficultyEasy
Reading time11 min
Views80K

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

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

Читать далее
Total votes 43: ↑41 and ↓2+49
Comments55

Люди не понимают ООП

Level of difficultyMedium
Reading time15 min
Views119K

«ООП для меня означает лишь обмен сообщениями, локальные ограничения и защиту, сокрытие состояния процесса и крайне позднее привязывание», — Алан Кэй (человек, придумавший термин «объектно-ориентированное программирование»)1

Похоже, многим не нравится объектно-ориентированное программирование. Первое, что приходит в голову, когда слышишь эту трёхбуквенную аббревиатуру — это пример с автомобилем, наследование, геттеры, сеттеры и ObjectFactoryFactorySingleton.

Мне это всегда казалось довольно странным. Мне не только нравится ООП, я ещё и считаю, что часто это лучший/наиболее очевидный способ моделирования задачи. И ниже я расскажу, почему.
Читать дальше →
Total votes 126: ↑119 and ↓7+140
Comments461

Из тестирования в техподдержку и обратно

Level of difficultyEasy
Reading time4 min
Views5.5K

В тестирование попала впервые пару лет назад - это была маленькая аутсорсинговая компания, в которую меня позвал их HR, увидев моё резюме в телеграмме. К сожалению, через пару месяцев в компании начались проблемы и бОльшую часть сотрудников уволили или отправили в “отпуск”, поэтому пришлось снова выходить на рынок и искать новую работу по факту не только практически не получив опыта (большинство компаний рассматривает людей с опытом от полугода), но и несколько ухудшив своё резюме подобным перескоком.

Пока искала работу знакомая QA Lead порекомендовала попробовать себя в сопровождении, сказала, что это будет полезно для развитии в тестировании. Стоит признаться, что изначально приняла это предложение скептически, но за неимением вариантов получше решила попробовать. Ниже, чтобы вы поняли, чем я занималась и поняли, насколько это будет вам полезно, распишу чем занималась и что мне это дало, а также какие препятствия мне встретились на этом пути.

Читать далее
Total votes 18: ↑18 and ↓0+16
Comments6

Двуязычный словарь от ChatGPT за 7 (нет) простых шагов

Level of difficultyMedium
Reading time29 min
Views5K

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

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments12

ExamClouds: Бесплатные Уроки Java для Начинающих с Видео, Тестами и Практикой

Level of difficultyEasy
Reading time2 min
Views4.1K

В мире стремительно развивающихся технологий и программирования, найти надежный и обширный источник обучения может быть сложной задачей, особенно для тех, кто только начинает свой путь в программировании. Если вы в поиске идеального ресурса для освоения Java, то ваш ответ - ExamClouds!

ExamClouds: Ваш Путеводитель в Мире Java

На сайте www.examclouds.com мы предлагаем бесплатные уроки для начинающих по Java программированию, созданные с любовью к коду и стремлению делиться знаниями. Что делает ExamClouds уникальным и неотразимым источником обучения? Давайте рассмотрим несколько ключевых особенностей.

1. Обширные Учебные Материалы: Видео, Статьи, Тесты и Задания

Каждый урок на ExamClouds охватывает все аспекты Java программирования. Вы не просто читаете статьи или смотрите видео - вы получаете полноценный опыт благодаря разнообразным форматам контента. Видеоуроки помогут вам визуализировать концепции, статьи подробно разъясняют материал, тесты проверяют ваши знания, а практические задания закрепляют полученные навыки.

2. Подходит для Всех Уровней Навыков

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

3. Интерактивные Тесты и Практика

Что лучше, чем проверить свои знания? Пройдите тесты на ExamClouds, чтобы убедиться, что вы усвоили материал, и затем закрепите его на практике с нашими интересными заданиями.

4. Обновления и Расширения Ресурсов

Читать далее
Total votes 9: ↑0 and ↓9-9
Comments3

Framework для автоматизации тестирования на Java

Level of difficultyEasy
Reading time14 min
Views6K

Привет, Хабр! В нашем сегодняшнем материале тестировщики Максим Жигарев и Артем Сенько из Блока ИТ‑развития инвестиционного бизнеса РСХБ‑Интех расскажут, как они автоматизировали тестирование в ИнвестБлоке с использованием Java. Материал основан на докладе, с которым Артем и Максим выступили в рамках внутреннего митапа для сотрудников РСХБ.

Читать далее
Total votes 16: ↑14 and ↓2+17
Comments6

Упрощаем локализацию iOS-приложения со String Catalogs

Level of difficultyMedium
Reading time6 min
Views3.5K

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

Сегодня я расскажу о том, как можно в значительной мере облегчить и усовершенствовать процесс перевода iOS-приложения на другие языки. Языки, разумеется, человеческие: от Swift мы отказываться не будем.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments3

Это один из лучших подходов к изучению английского, что я видел за последние годы — коллокации

Reading time7 min
Views124K

Значение слова – это его использование в языке
Людвиг Витгенштейн (сурс) 

Что это вообще за магия такая? Коллокация – это просто пара или группа слов, которые часто возникают вместе. Такие комбинации звучат естественно для носителей языка, однако, тем, у кого язык не родной, бывает сложно догадаться до этой естественной комбинации.

А что если я скажу, что они улучшают сразу и вашу способность органично говорить, и канонично писать, и что совсем удивительно воспринимать английский от носителей языка на слух? И главный вопрос, который меня мучает – почему я узнал об этой технике изучения языка только полгода назад? (Рассказ об этой подготовке здесь.) 

Внимательно посмотрите на пример с картинки. Как только собеседник начал(а) произносить “pitch d…” ваш мозг, зная нужные коллокации, подскажет, что там должно быть “dark”. Даже если вы плохо расслышали эту часть. Это один из механизмов, через который коллокации позволяют лучше воспринимать язык на слух.

Подробнее о том, как их учить и использовать и будет эта статья.

Disclaimer: если у вас филологическое образование, то вам наверное будет смешно, что кто-то открыл для себя коллокации и их использование для изучения иностранного языка в 202N году, а вот если вы, как и я, когда-то читали “randomize” как “рандомизе”, то возможно эта статья будет вам полезной.

Добро пожаловать под кат
Total votes 72: ↑71 and ↓1+95
Comments116

Разбираем самый маленький PNG в мире

Level of difficultyEasy
Reading time9 min
Views37K

Самый миниатюрный PNG в мире весит 67 байт и представляет собой один чёрный пиксель. Выше вы видите его в 200-кратном увеличении.

Красота, не так ли?

Состоит этот файл из четырёх частей:

  1. Сигнатура PNG, одинаковая во всех файлах этого формата: 8 байт.
  2. Метаданные изображения, включая его размеры: 25 байт.
  3. Данные пикселя: 22 байта.
  4. Маркер «конец изображения»: 12 байт.

Далее я опишу этот файл подробнее и постараюсь объяснить принцип работы формата PNG.

В качестве небольшой затравки скажу, что в конце предстоит неожиданный поворот. Хотя, надеюсь, вам и без того интересно побольше узнать о PNG.
Читать дальше →
Total votes 104: ↑96 and ↓8+124
Comments112

Сжатие css классов. Как сделать веб Ещё быстрее. next.js

Reading time3 min
Views7.1K

Порою, заходя в стили проектов, я невольно пугаюсь сложившейся длине имён - модуль, блок, элемент, подэлемент, модификатор 1, модификатор 2. Длинные классы увеличивают вес страницы, это в свою очередь означает увеличение времени загрузки самого главного для рендера страницы - документа и файла стилей, от которых напрямую зависят метрики FCP, LCP.

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

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments26

Полное визуальное руководство-шпаргалка по Flexbox и Grid + туториал

Reading time31 min
Views152K


Доброго времени суток, друзья!

Представляю вашему вниманию полное визуальное руководство-шпаргалку по всем свойствам CSS-модулей Flexbox и Grid.

Основные источники: A Complete Guide to Flexbox, A Complete Guide to Grid.

В конце статьи вас ждет небольшой туториал по созданию тренажера по Flexbox.

Без дальнейших предисловий.


Total votes 11: ↑7 and ↓4+6
Comments7

Information

Rating
Does not participate
Location
Luzern, Luzern, Швейцария
Registered
Activity