Обновить
-14
0.1

Scala программист

Отправить сообщение

Мои личные скрипты для повседневной работы

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели51K

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

Читать далее

Категории типов. Часть 4. Монады

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели9.4K

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

Читать далее

Категории типов. Часть 1. Hom-типы

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели4.2K

Данный обзор посвящён применению теории категорий в программировании. Акцент сделан на то, что стремление к повышению качества программ неизбежно приводит к абстракциям («функтор», «монада» и прочие), которые уже появились в математике при решении другого рода задач.

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

Читать далее

Категории типов. Часть 2. Функторы

Уровень сложностиСредний
Время на прочтение27 мин
Охват и читатели6.7K

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

Фокус заключается в том, что...

Категории типов. Часть 3. Естественные преобразования

Уровень сложностиСложный
Время на прочтение10 мин
Охват и читатели5.4K

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

Читать далее

Lords of the clouds или как цифровые бароны заменили капиталистов

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели4.9K

Вам кажется, что мы живём в эпоху капитализма? А если на самом деле его уже нет? Вместо него — цифровые вассалы, платформенные бароны и экономика, где контроль важнее прибыли. Звучит как антиутопия? А это уже реальность. Добро пожаловать в эпоху технофеодализма.

Читать далее

Человек-клей: как я нашел самого неэффективного сотрудника, чуть не уволил, а оказалось, что на нем все держится

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели171K

Эпиграф:
Приходит чувак к музыкантам, в группу просится. Те у него и спрашивают: 
- А ты на гитаре играть умеешь? 
- Нет. 
- А на барабанах? 
- Тоже не умею. 
- Может ты поешь? 
- Не пою. 
- Зачем ты нам тогда нужен? 
- Знаете, я просто офигенный друг!

Рано или поздно любой хороший продакт начинает покрывать метриками свою команду. В одной из продуктовых групп так и случилось: продакт ввел метрики, постепенно вычислил самого неэффективного сотрудника — назовем его Петя — и уже готовил бумаги на увольнение. Но во время этого веселого процесса вдруг выяснилось, что общие высокие показатели команды, это заслуга совсем не продакта (опаньки!), а именно «неэффективного» Пети. Потому что Петя оказался «человек-клей». Тот самый парень (или девушка), ради общения с которым собирается команда, который умеет поддержать, вдохновить, снять негатив и вообще настроить команду на продуктивный лад. При этом он вполне может быть распоследним раздолбаем.

Читать далее

Даже не влезайте в Kubernetes без этого

Время на прочтение20 мин
Охват и читатели32K
image

Главный прикол с k8s: поднять базовый кластер займёт всего 15 минут. А вот чтобы он реально заработал, ответить на все вопросы перед установкой, всё спланировать — на это нужны дни, реально дни мозгового штурма и планирования. Ну или потом придётся разбирать и делать ещё раз. Несколько раз.

Кубер унижает человеческое достоинство разными способами и на разных этапах. Это часть опыта от пользования продуктом. Так задумано.

И вот про эти самые вопросы мы сейчас и поговорим, потому что там целое волшебное поле грабель.

Начнём с простых вещей, например, выбора дистрибутива, выбора способа хранения данных (и динамического выделения места), а также того, куда складывать пароли к критичным ресурсам. На этих трёх выборах ломается примерно 50 % админов.

Поехали в ад!
Читать дальше →

Как найти работу 47-летнему программисту? И почему это не должен быть приговор

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели22K

Когда тебе за 45, ты уже не сеньор — ты древний артефакт. Но этот артефакт умеет писать код, решать задачи и варить гречку на баге. Статья с самоиронией о том, как искать работу, когда тебя путают с системным администратором Windows 95.

Читать далее

Почему лучшие лидеры мастерски расстаются с людьми

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели32K

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

Читать далее

Поиск работы на западном рынке. Великобритания

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели3.8K

TL;DR

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

Читать далее

Я устал возиться с кучей VPN и поставил Xray на роутер

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели98K

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

Я долгое время жил в этом хаосе. Сначала я ставил VPN на телефон, потом на ноутбук, потом на телевизор... В какой-то момент их стало столько, что я уже не знал, какой включен, какой отключен, где подписка закончилась, а где опять надо искать новый сервер. Рабочий VPN переставал работать в самый неподходящий момент – например, когда я пытался оплатить что-то онлайн или посмотреть видео.

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

Читать далее

Лучшие бесплатные VPN для ПК и смартфона 2025 (которые работают)

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели89K


Бесплатные VPN.

В последние несколько лет на территории РФ ужесточилась фильтрация интернет-трафика средствами ТСПУ. Сотни сайтов и интернет-сервисов внесены в чёрные списки и заблокированы. Получить доступ к ним можно только через VPN. Однако самые популярные VPN тоже подверглись блокировке.

Ограничения можно обойти через канал на собственном зарубежном сервере, купив там самый дешёвый хостинг за пару долларов или уже готовый VPS с установленным VPN (такие объявления есть на Авито). Если своего сервера нет, то остаётся только прибегнуть к услугам сторонних VPN-сервисов, которые ещё не заблокированы. Лучшие бесплатные VPN из выживших перечислены ниже.

Примечание. Эту статью Хабр наверняка заблокирует для пользователей из РФ, в исполнение запрета Роскомнадзора на информацию об обходе блокировок, так что лучше сразу после публикации сохранить её или подписаться на обновления в тг.
Читать дальше →

Как через orange pi YouTube смотреть или как сделать vpn box и покрыть весь дом vpn(прокси VLESS) на уровне сети

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели30K

Наши реалии довольно суровы, сейчас даже стало сложно не то что зайти на какой нибудь chatGPT, но и посмотреть любимый ютюбчик. Если на пк и телефонах мы еще можем использовать VPN, то вот как обстоят дела с приставками, smartTV/android TV? Если на многих телеках иногда поддержка приложений заканчивается быстро, что уж тут говорить о ВПН или прокси, туда их вообще фиг пихнешь.

Дома у каждого из вас скорее всего есть проводной интернет, а значит роутер тоже есть. Для роутеров ведь тоже существует линукс, причем свободный и гибкий - это OpenWRT. В рамках данного гайда/проекта, я расскажу, как можно обеспечить в своем доме качественное интернет покрытие, используя ARM железяки и linux. Но нет, речь пойдет не о перепрошивке роутера, ибо это дело может во первых окирпичить ваш роутер, ну а во вторых - у многих из вас дома роутеры "бытового класса", как и у меня, которые просто нет смысла даже шить. ибо 64 мегабайта дискового пространства хватить конечно можно, но это будет впритык, а нам хотелось бы управлять всей системой через WEB-UI.

P.S. Конечно есть Keenetic и его фишки, но я таким добром не обладаю и рассказать на примере кинетик роутеров это не могу.

Данный гайд подойдет только на OrangePI zero или OrangePI zero 3, на версию 2 я не нашел прошивки, если у вас получится ее найти - все шаги будут аналогичны. Но так же использовать мощную плату под это дело будет скорее менее рационально, если вы конечно не собираетесь крутить на ней дополнительно докер, или же какой то веб хост. На 3й версии прошивка существует как снапшот(в активной разработке), поэтому проще прилечь к стабильной стороне ядра и выбрать чисто зеро-версию.

Читать далее

Установка и настройка VPN с VLESS и Reality

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели347K

В статье рассмотрим 3 способа настройки VPN-подключения с VLESS и Reality.

VLESS — это современный протокол передачи данных ориентированный на конфиденциальность, его еще часто называют VLESS VPN, хотя строго говоря, речь пойдет об установке прокси с протоколом VLESS на базе сервера XRay с Reality.

Начнем с самого простого и универсального варианта, не требующего технических знаний.

Читать далее

Scrum — рак, убивающий индустрию

Время на прочтение7 мин
Охват и читатели72K

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

Какой?

Полная история игровой вселенной «Гарри Поттера» — «Золотое поколение»

Уровень сложностиПростой
Время на прочтение47 мин
Охват и читатели11K
image
Автор иллюстрации: Иван Ефимов

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

Серия игровых адаптаций «Гарри Поттера» — ярчайший пример подобного подхода. Компания Electronic Arts одновременно занималась разработкой четырех, а то и шести игр в преддверии выхода очередной части фильма. Какие-то получились хуже, какие-то лучше, но все они отличались.

Я потратил полтора года на прохождение всех игровых адаптаций «Гарри Поттера», — а это почти 60 игр. Среди них как основные части серии, так и мобильные и любительские проекты. Я изучил историю из разработки, нашёл малоизвестные факты и вырезанный контент.

Из-за большого объёма мы решили разделить материал на три лаконичных главы. В первой разберём все версии «Философского камня», «Тайной Комнаты», «Чемпионата мира по квиддичу» и «Узника Азкабана».
Читать дальше →

Полная история игровой вселенной «Гарри Поттера»: часть 2 — «Поколение экспериментов»

Уровень сложностиПростой
Время на прочтение27 мин
Охват и читатели4.2K
В прошлой части ретроспективы игровой вселенной «Гарри Поттера» я рассказывал про «золотое поколение» — про классическую трилогию игр, которую сейчас вспоминают с трепетом и ностальгией. Однако все последующие релизы не смогли завоевать столь же большую любовь среди игроков. С годами даже укрепилось мнение, что после «Азкабана» выходил «один неиграбельный мусор». Да, некоторые игры заслужили все разгромные рецензии, но часть из них несправедливо раскритиковали и забыли.

В этой главе я разобрал все версии «Кубка Огня», «Ордена Феникса» и «Принца-полукровки», а также вспомнил про малоизвестные DVD-PG игры.

Читать дальше →

Книга рецептов Rust. 1/2

Уровень сложностиСредний
Время на прочтение34 мин
Охват и читатели8.2K



Hello world!


Книга рецептов — это коллекция простых примеров, демонстрирующих хорошие практики решения распространенных задач программирования с помощью крейтов экосистемы Rust.


Читать дальше →

Что нужно знать, чтобы успешно пройти System Design Interview

Время на прочтение16 мин
Охват и читатели69K

Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) включает разработку архитектуры и структуры программной системы, направленную на удовлетворение специфических требований и обеспечение требуемых показателей производительности.

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

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

Читать далее

Информация

В рейтинге
3 779-й
Откуда
Dublin, Dublin, Ирландия
Зарегистрирован
Активность