fedos dot com – Telegram
fedos dot com
144 subscribers
146 photos
13 videos
75 links
web dev | Lifestyle | Maybe something else
Download Telegram
😵‍💫 Когда работаешь с TS на повседневе, решая рутинные задачи, то для тебя этот инструмент выглядит как какой то небольшой помощник просто, сюда тип, туда енам, интефейс бац бац и все готово и как приятный бонус еще и idе подсказывает.

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

Для rxSample (наш npm пакет для работы effector c rx) нужно было внедрить микро фичу, по факту даже тело функции править почти не надо было, лишь поработать с типами, и спустя целый вечер (предполагалось минут 30) все готово и вроде бы даже корректно работает. Со всеми возможными помощниками получилось выдать такой хелпер чтобы устранить ненужную ругань ТСа.

Любопытным ссылка на ПР - https://github.com/Voiso/rx-sample/pull/8

function hasFn<D, R>(
config:
| Input<D, R>
| InputWithStore<D, R>
| InputWithoutFn<D>
| InputWithStoreWithoutFn<D>
): config is Input<D, R> | InputWithStore<D, R> {
return "fn" in config && typeof config.fn === "function";
}


😊 В такой момент задумываешься, что инструмент с которым работаешь каждый день, тебе вообще не друг. Так что если у кого то есть годные ссылки на продвинутое изучение ТСа - то велком в комменты котятки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏4
🧑‍💻 ура бесплатно кушать бутерброды
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Надели шапочки, ноутбуки в рюкзачки и топ топ на работку, с понедельником 😴

На 100 подписчиков разыграю этот нереальный рюкзак с пингвином (фанаты Линукса в очередь)

До нового года осталось поработать две недели (для аджайловских расшифровываю - один спринт)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
6😁42🤡1
👀 Война за потребление контена

👀 Как только начались всякие блокировки, люди на телефоне массово начали устанавливать *бесплатные впн для того чтобы зайти в инсту и тп
Набрав критическую массу пользователей, каждый уважающий себя впн порезал бесплатные версии и выкатил платные. Первых звонок чтобы слезать с них, подумал я. Тогда мой хороший кентик с работы рассказал что можно пользоваться не только app store решениями, и дал попробовать попользоваться конфиг своего впн (на котором я просидел почти год). На днях конфиг перестал работать, что то где то опять РКН подблочил, и встал вопрос вопрос об эволюции решения.

🥺 А вариантов особо нет, надо делать свое подумал я и с кайфом потратил 2-3 дня на ресерч как что сделать, где что купить чтобы не проебаться.

🥰 Та-дам, теперь я счастливый обладатель сервера где то на просторах Амстердама. Посидел, посмотрел видосики, почитал статьи, переварил всю информацию да и сделал. Теперь мне никто не помешает смотреть ютуб на обеде.

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

https://github.com/ServerTechnologies/youtube-instructions/blob/main/3x-ui-settings.md
Please open Telegram to view this post
VIEW IN TELEGRAM
85🤡1
И к важным новостям, я добавил в реакции котиков 🫡
Please open Telegram to view this post
VIEW IN TELEGRAM
96🆒3🤡11
😈 Не порядок, наша недоработка, исправимся

https://news.1rj.ru/str/sashaonline/33294
Please open Telegram to view this post
VIEW IN TELEGRAM
2🤡1
👀 Итог года по конфам

Где в середине года начался мой интерес ко всяким джаваскриптовым конференциям.

Cloud ru, Sber, и конечно же Moscow JS.

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

🥺 В целом классная штука для обмена опытом, очень много молодых ребят которые подходят за каким то советом или консультацией, но так же много и «дедов» у которых тоже есть чему поучиться. Особенно классно общаться с людьми которых до этого видел только на ютубе. (Кстати больше всего я их встретил на конфе по облакам от cloud ru)

Цель на следующий год наклепать статью (есть в голове пару тем которые хотелось бы осветить) и тоже скататься на какую нибудь конфу, но уже в качестве спикера.
Please open Telegram to view this post
VIEW IN TELEGRAM
63🤡1
С НОВЫМ ГОДОМ, ГОСПОДА !!! 🎉🎉🎉
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉8🤡1
🥺 Решил я погрузиться в мир tg apps (пожалел 10 раз)

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

И тут мои бирюзовые мечты рушатся об скалу современного софта. Сама по себе платформа хорошая, нужно 0 денег для входа, есть постоянная аудитория которая не удалит твое приложение с телефона после 5 минут, то есть постоянно есть потребители, далее уже дело рекламы.

👍 Проблема первая - документацию писала мартышка левой пяткой (есть еще вариант что я тупой)

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

😑 Проблема третья - на своем локалхостике ты не можешь ничего делать, тебе нужно обязательно хостить хотя бы локально свой фронт и бек и уже URL для наружи засовывать в бота (для бека тоже нужен публичный урл потому что на локалхост не будет работать). Тут еще всплывет проблема туннелирования, потому что нормальных инструмента я нашел 2, ngrok - супер, но если больше одного урла хостишь плати деньги либо мучайся с конфигом и http запросы там не получится делать (только для шейринга), localtunnel - отличный тул, работает как надо но по крайней мере у меня иногда любит вылетать.

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

На скрине гениальный результат работы, теперь можно спокойно делать фронт и бек.

👀 Я думаю что по этому проекту выйдет еще несколько постов, расскажу про стек, возможно про другие трудности. Следующим постом будет подбор материалов по tg apps которым поделился Владилен Минин.

Всем добра!
Please open Telegram to view this post
VIEW IN TELEGRAM
👏4🗿33
😑 Здарова работяги. Я считаю хороший врыв в новый рабочий год, и это только 12 часов дня.

Как у вас там дела, делитесь
Please open Telegram to view this post
VIEW IN TELEGRAM
6🤡2
В чате у Сани человек задал вопрос, а что можно делать каждый день чтобы становиться лучше как программист, а я что то ляпнул. Как оказалось потом судя по лайкам выдал жесточайшую базу, пользуйтесь друзья. 😑
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡44
👀 Даю небольшую прикормку для JS/TS разрабов

Как бы люди не хейтили лайфкодинг (я тоже), но объективно это чуть ли не единственный способ понять что чел не тупо заучил вопросы. Даже если мы возьмем кейс что человек взял и заучил какие то задачи, то очень легко можно добавить условие, попросить решить по другому, поговорить про сложность (big O).

НО черезвыйно важно не скатываться до алго кодинга, это дно.

Даю вам пару задачек с реальных собесов на потренироваться

Задача на каррирование

function curry(func) {
// code here
}

const carriedSumThree = curry(sumThree);

console.log(carriedSumThree(1, 2, 3));
console.log(carriedSumThree(1, 2)(3));
console.log(carriedSumThree(1)(2, 3));
console.log(carriedSumThree(1)(2)(3));


Интересная задача на промисы

function allSettled(iterable) {
// code here
}

allSettled([1, Promise.resolve(2), Promise.reject(3)]).then(([v1, v2, v3]) => {
console.log(v1); // {status: 'fulfilled', value: 1}
console.log(v2); // {status: 'fulfilled', value: 2}
console.log(v3); // {status: 'rejected', reason: 3}
})
Please open Telegram to view this post
VIEW IN TELEGRAM
7👏2🤡2
7🤡2
У на давайте делитесь кто сколько иксов сделал на TRUMP 📈📈📈
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡652
fedos dot com pinned Deleted message
🥰 Я смотрю вам зашла рубрика с задачами с реальных собесов.

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

Несложная задача на TS

const X = { a: 1, b: 2, c: 3, d: "41" }
const Y = { k: 1, l: '2', m: true, n: 4 }

function getProperty(obj, key) {
return obj[key]
}

const a = getProperty(X, 'a'); // должен выводить тип строго
getProperty(X, 'm') // должен ругаться


Задача на деструктуризацию

const {
foo: {
baz: [bar, ...asd],
},
bar: [bat],
} = { foo: { baz: [0, 1] }, bar: [{ bat: 3 }] };

console.log(bar) //
console.log(asd) //
console.log(bat) //


Просто таска на переваривания одной структуры в другую

//Имеется исходный массив из объектов пользователей
const users = [
{ id: 1, age: 20, isAdmin: false, name: "Иван", city: "Moscow", registred: false },
{ id: 2, age: 30, isAdmin: false, name: "Дима", city: "Omsk", registred: false },
{ id: 3, age: 20, isAdmin: true, name: "Леха", city: "Moscow", registred: true },
{ id: 4, age: 20, isAdmin: false, name: "Леха", city: "Omsk", registred: false },
{ id: 5, age: 30, isAdmin: false, name: "Иван", city: "Moscow", registred: true },
{ id: 6, age: 30, isAdmin: false, name: "Леха", city: "Moscow", registred: true },
{ id: 7, age: 20, isAdmin: true, name: "Дима", city: "Omsk", registred: true },
];
// Необходимо перобразовать исходный массив в структуру,
// где данные пользователя будут сгруппированы по одному из полей объекта user (кроме поля id)
// Внутри софрмированной группы должен лежать объект (или Map),
// ключами в котором должно быть поле "id"
// а значением, объект из исходного массива с соответствующим полем "id" (не включая само поле id)
// Один из вариантов результата (для поля age)
const result = {
20: {
1: { age: 20, isAdmin: false, name: "Иван", city: "Moscow", registred: false },
3: { age: 20, isAdmin: true, name: "Леха", city: "Moscow", registred: true },
4: { age: 20, isAdmin: false, name: "Леха", city: "Omsk", registred: false },
7: { age: 20, isAdmin: true, name: "Дима", city: "Omsk", registred: true }
},
30: {
2: { age: 30, isAdmin: false, name: "Дима", city: "Omsk", registred: false },
5: { age: 30, isAdmin: false, name: "Иван", city: "Moscow", registred: true }
}
}


Вот так вот делай два раза в день и оффер твой
Please open Telegram to view this post
VIEW IN TELEGRAM
422🤡1
Жесткая подборочка материалов по Telegram Mini Apps (TMA) от Владилена Минина

1. Best Practices: Ознакомьтесь с нашими лучшими практиками и стандартами разработки Telegram Mini Apps — Telegram App Standards and Best Practices Guide for TON teams
2. TelegramUI: Библиотека React-компонентов для разработки TMA — TelegramUI
3. Figma Components: Компоненты для дизайна в Figma — Figma Components
4. TMA JS: Документированная библиотека TypeScript для создания TMA — TMA JS
5. GrammY: Фреймворк для разработки ботов — GrammY
6. Free CDN: — Ваш помощник для управления TMA - Mate-docs

🚀 Boilerplates для быстрого старта:

1. VanillaJS: Шаблон на чистом JavaScript, HTML и CSS — VanillaJS
2. Vite: Шаблон с поддержкой React, Vue, Svelte, GitHub Actions и Pages — Vite
3. CLI: Создайте мини-приложение через терминал с готовыми шаблонами — CLI

💻 Ресурсы для разработки смарт-контрактов:

1. Blueprint SDK: Полный набор инструментов для разработки, тестирования и деплоя смарт-контрактов на TON — Blueprint SDK
2. Awesome Tact: Кураторский список ресурсов для изучения языка Tact — Awesome Tact
3. Dev chats: Присоединяйтесь к чату разработчиков — Dev chats
4. TMA USDT Demo: Пример реализации платежей в USDT через TMA — TMA USDT DEMO

📚 Образовательные ресурсы:

1. Воркшопы предыдущего хакатона: Плейлист с записями — Воркшопы
2. Курс по блокчейну TON: Основы разработки на TON — Курс
3. Курс по Tact 2023: Подробный курс по языку Tact — Курс по Tact 2023
4. Tact by Examples: Примеры кода на Tact — Tact by Examples
5👏44
Китайские братушки из поднебесной выкатили конкурента ГПТ - DeepSeek.

Технических подробностей не будет, вы их можете почитать по первой ссылке гугла. Тут будет чисто мой фидбек.

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

И как по мне главный вопрос который заставит задуматься американских начальников - а как дальше делать деньги? На скрине вы можете увидеть какова разница в цене на миллион запросов. Внушительно да ?
Допустим стандартная подписка на copilot / cursor / windsurf стоит 10$-20$ в месяц. С deepseek по не которым данным людей которые играли с ней целый день, используя во всех доступных интрументах - вышло около 0.10$ в день, что эквивалентно 3$ в месяц (и это токен был вставлен во все интрументы, в противном случае пришлось бы покупать несколько подписок по 10-20 баксов).

Китай начинает подминать под себя глобальный IT рынок, и мне это даже нравится. И им настолько все равно на правила, за что отдельный респект, что они просто форкнули WebStorm (upd: vscode) и выкатили свою IDE с ии - Trae. Короче китайцы молодцы.
322
👀 Ловите один из лучших роадмапов по изучению алгосов.

Если вы примерно как и я не сильны в этом деле, то используйте эту карту. Собраны по темам задачи с литкода, отсортированы по уровню сложности. Есть видео с обьъяснением решений. Короче берете это роадмап, накладываете на него какую то литературу по конкретной теме = profit.

https://neetcode.io/roadmap
Please open Telegram to view this post
VIEW IN TELEGRAM
532
😑 Яндекс спустя 100 конференций решил расщедриться и дать билетик на конфу. Я счиатю это победа.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉721