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

Пока что план следующий:
1. Не забыть гошку
2. Жестко попробовать в литкод
3. Выучить паттерны

📕 По каждой из тем у меня куча отобранного контента, так что как только через себя все пропущу, обязательно буду постить лучшее
Please open Telegram to view this post
VIEW IN TELEGRAM
4
🥳 Moscow js 62 x МТС

https://www.youtube.com/watch?v=ANnijAxNejg

Как всегда респект ребятам кто делает такой движ, да еще и бесплатный (покушать было)

Кратко по докладам.

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

2. Филипкин Денис, 1000 и 1 способ оптимизировать медиафайлы - плохая конференция если на ней нет ни одного доклада по картинкам/иконкам. Надо использовать webp, сжимать, если картинок много использовать CDN + прокси в виде media optimizer, ну либо SASS за кучу денег, либо велосипед.

3. Ермолов Александр, Идеальная команда. Какая она? - слабо слушал, потому что играл с чувками в крокодила. Ну дефолтный доклад с тру стори от человека который уже многое повидал, нужно быть T-shape и все дела.

4. Ренард Аврора, 1 + 1 ﹥ 2: Парное программирование в реальности - ничего не скажу, я уже к этому времени доел все бутерброды и ушел.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉2👏11
🎂 Вышел реакт 19 урааа все го рефакторить
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡102
Прикрыл парни
🙏5
😵‍💫 Когда работаешь с 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