Ayub Begimkulov - уроки по JS
3.1K subscribers
29 photos
212 links
По вопросам и деловым предложениям писать на @ayub_begimkulov
Download Telegram
Делаюсь небольшим советом по поводу чтения статьей и книг, который я всегда использую.

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

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

Если же пробежавшись по верхам вам ничего не интересно — то лучше отложить и поизучать что-то другое.

Лично я данную технику применяю чаще со статьями, так как книги слушаю в аудио версии.

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

Да и в целом не знаю, почему я привязался к книгам и статьям. Так можно поступать с любым материалом).

#devtips #learning
25👍121🔥1💯1🍓1
Даже не заметил, как поддержка npm пакетов подъехала.

Интересно как дальше пойдет развитие, да и самому поиграться интересно.

https://deno.com/blog/v1.34#deno-compile-supports-npm-packages
👍71💯1🏆1🍓1
Также друзья, планирую завтра провести лайв стрим в 12:00 по мск.

Поэтому все желающие — приходите. Давайте соберёмся, попишем код и пообщаемся.

https://youtube.com/live/u1_QF3NBOFs
30👍41🔥1💯1🍓1
Друзья, перезапустил трансляцию, в этот раз задержка больше, так что должно работать лучше.
👍6💯21🍓1
Спасибо всем, кто пришел. Получилось довольно интересно, но кода пописали маловато. Баланс между чатом и кодом еще надо будет найти.

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

Также те, кто присутствовал, дайте фидбэк. Что понравилось, что нет, а что хотелось бы улучшить.
❤‍🔥22👍7💯4👎1🏆1🍓1
Всем привет, еще раз!

Вот наконец и выходит первое видео на этой неделе. Изначально планировал быстро рассказать, как я ошибался в своих уроках касательно useEffect.

Но при подготовке примеров увидел интересные результаты и, как обычно, вышло видео почти на 30 минут)

Оставляйте лайки и комменты для лучшего продвижения видео.

https://youtu.be/UbQJWpwensk
15🔥6👍2🏆2💯1🍓1
Всем привет!

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

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

Да и размер библиотеки не такой большой:
https://bundlejs.com/?q=ts-pattern&treeshake=%5B%7Bmatch%7D%5D

Думаю в качестве единого решения для сложных if'ов на проекте вполне себе не плохое решение.

https://github.com/gvergnaud/ts-pattern
👍302🏆1🍓1
Не заметил, как пролетел день. А видоса до сих пор нет. Надеюсь завтра уже получится добавить описание и выложить.

А сегодня опять делюсь своими находками. Кажется raspberry pi стал более доступным для сойдевов.

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

Помню пару лет назад выходил AssemblyScript для написания WebAssembly на TS-like синтаксисе.

Интересно посмотреть, будет ли что-то еще.

https://microsoft.github.io/devicescript/
15👍93👎1🍓1
Всем привет!

Вышло наконец обещанное видео. Продолжаем тему с react хуками. На этот раз разберем хук, который помогает упростить работу с колбэк рефами.

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

Дайте знать, что думаете по поводу данного решение и в целом по поводу видео.

https://youtu.be/wwiaw_8JmLQ
20👍5🍓1
Было интересно поднять тему сайд проектов и заработка с них. Часто нахожу истории, когда человек делает какой-нибудь технически несильно сложный проект и зарабатывает с него деньги.

Различные админки под определенную индустрию, шаблоны, куски кода и тд. Но вот было интересно, есть ли кто-то тут, кто занимался чем-то подобным?

Да наверное давайте расширим выборку. Есть ли кто-то, кто зарабатывал/зарабатывает со своего сайд проекта? Было бы очень интересно послушать истории, как успешные, так и не совсем).

Лично я сам всегда хотел попробовать запустить что-нибудь, но раньше казалось, что можно то же время потратить на улучшение скиллов и быстрее прокачаться на работе.

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

P.S. Вчера пост пропустил, розыгрыш проведем как-нибудь.
32👍4🏆3🍓1
Кто-нибудь видел эту библиотеку?

Пробежался по примерам — выглядит супер круто.

https://developer.hiber3d.com/docs

Интересно, кто-нибудь делал 3д проект в портфолио для первой работы? Если да — то насколько это помогло?

Кажется, что должно реально выделяться, но это предположения…

Если у кого есть такой опыт — был бы рад услышать.
18🔥4🏆2👍1👎1🍓1
При общении с подписчиками часто вижу, что они не довольны своим развитием.

И зачастую причиной плато является плохая работа.

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

Почему?

Да по той просто причине, что это большая редкость.

Даже если вы и попадете в такую среду, то более чем уверен, что ваши ожидания не оправдаются.

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

Наверное окончательно все на свои места встало, когда я попал в Яндекс. Где как не там должны быть эти супер разрабы?

Но в итоге я понял, что даже там их очень мало. Большинство просто работает, решая продуктовые требования.

Да и в конце концов вас никто нянчить же не будет. Максимум совет где-то даст либо подскажет более хорошее решение.

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

Так что не стоит совершать мои же ошибки и винить внешние обстоятельства.

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

#devtips #work
👍938💯4🏆2🔥1🍓1
Всем привет!

Вышло новое видео на канале, где мы будем проводить ревью проекта подписчик.

Сам проект направлен на то, чтобы отслеживать прогресс в зале. Разберем такие темы, как bundle size, структура проекта, стор и в конце исправим react логику основной страницы приложения.

Оставляйте лайки и фидбэк в комментариях для лучшего продвижения видео.

https://youtu.be/MwY9L_k4tvM
32👍13🏆3👎1🍓1
Пока смотрел, что там нового будет в TS 5.2 наткнулся на новый proposal, который оказывается уже stage 3 (собирают фидбэк с юзеров, поэтому и TS добавляет реализацию).

Потом зашел в твиттер, оказывается там про это уже куча постов, даже мемы уже пошли.

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

https://github.com/tc39/proposal-explicit-resource-management
🔥13🏆21👎1🍓1🤝1
Всем привет!

Под мои недавним постом о развитии на работе было много обсуждений. Однако хотел бы сфокусировать свое внимание на self review (само проверке) кода.

Для тех, кто никогда так не делал, это все может показаться странным. Кажется, на что там смотреть, если я и так все помню?

Однако если научится снимать менять роль и смотреть на свой pull request со стороны — то можно заметить очень много недочетов и избавится от лишних комментариев.

Наверное самым простым способом будет провести ревью где-то через день. А не сразу после завершения задачи.

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

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

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

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

Да, не всегда стоит делать хорошое решение сразу, но в любом случае на свои ошибки посмотреть можно).

В целом, навык самоанализа полезен во всех сферах жизни.

Сам недавно понял, что всем даю такой совет для написания кода, но почему-то не применяю тот же принцип для улучшения своих видео.

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

#devtips #work
👍578🏆2🍓1
Часто от подписчиков слышу про тонну встреч в компании — груминги, ретро, планирование спринта, разборы багов, дейлики и тд. И сам начинаю вспоминать эти процессы на прошлых работах.

Мне было интересно, какое у вас отношение к такому количеству встреч?

Я лично в команде по прямо полному скраму не работал, но было что-то очень близкое.

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

Так как на них не нужно обсуждать детали задач, а просто рассказать про успехи/проблемы можно и текстом.

Грумминги и разборы багов чаще всего можно проводить в более узких кругах.

Планирование тоже странная вещь. Когда был обычным разрабом — то просто менеджер/руководитель ставили планы и уже во время распределения от меня нужен был небольшой фидбэк.

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

Кажется что на всей встрече нужно от меня минут 5-7.

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

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

И в современных реалиях, когда никто долго не сидит на одном месте — это маст хев, чтобы все знали контекст и детали того, что происходит в команде.

Это самое логичное, что я слышал из всех объяснений. Но было бы интересно услышать и ваше мнение и отношение к такому распорядку.

Я сам работал чаще в маленьких командах и там, кажется, это точно было оверкиллом.
24👍6🏆2🔥1🍓1
Вопрос для тех, кто проводит собеседования. Какой инструмент вы используете для лайв кода?

Всегда моим первым и единственным решением был codesandbox, одна пару месяцев назад я неожиданно узнал (прямо во время менторинг-сессии), что у них режим коллаборации стал платным.

Тогда особо вариантов не нашел, кроме как заплатить, вот до сих и оплачиваю все. Из плюсов — работает намного быстрее, так как на sandbox теперь больше ресурсов выделяется.

Также есть приятный режим, но я не знаю, для чего он мне может пригодиться.

Но в любом случае интересно, какие есть альтернативны? Другие люди что используют? Не думаю, что все платят $15/месяц только за функционал коллаборации.
7👍5🏆1🍓1
Сегодня узнал интересный момент, касательно анимаций.

Наверное все слышали, что для триггера анимаций нужно использовать вложенные requestAnimationFrame или же производить forced reflow, чтобы браузер понял об изменении стилей.

Например, такой код не будет анимировать ничего:

function animate() {
const div = document.querySelector("item");

div.style.height = "0px";
div.style.transition = "all 1s ease";

div.style.height = "500px";
}

А такой:

function animate() {
const div = document.querySelector("item");

div.style.height = "0px";
div.style.transition = "all 1s ease";

requestAnimationFrame(() => {
requestAnimationFrame(() => {
div.style.height = "500px";
});
});
}

Или такой:

function animate() {
const div = document.querySelector("item");

div.style.height = "0px";
div.style.transition = "all 1s ease";

div.getBoundingClientRect();

div.style.height = "500px";
}

Будут.

Я всегда думал, что это правило применимо для всех свойств. Но кажется, что это относится только к тем, которые триггерят reflow.

Например, после запуска вот этого кода, у вас также сработает анимация.
```
function animate() {
const div = document.querySelector("item");

div.style.color = "red";
div.style.transition = "all 1s ease";

div.style.color = "white";
}
```
Выглядит так, что браузер просто пытается оптимизировать лишние reflow, поэтому не запускает анимации для свойств, которые на него воздействуют.

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


UPD: В комментах @senheleet подсказал, что с color работает все, так как у нас по дефолту всегда есть какое-то значение. А с height по дефолту значение auto и от него нельзя начать анимацию.

#devtips #js
👍218🏆3👌1🍓1
Всем привет! На этой неделе видео не будет, поздно все записал по этому превью и монтаж тоже затянулись.

Давайте проведем розыгрыш по этим видосам и прошлым долгам (всего накопилось 5).

Для тех, кто не в курсе, я пообещал выпускать 2 видео в неделю и 1 пост в день на протяжении 2023-го года. За каждый пропущенный видос или пост я разыгрываю $50 или 1:1 сессию коучинга.

Для участия нужно будет оставить ровно 1 комментарий под следующим постом. Победителей (5 штук) выберу на этой неделе (не раньше, чем через 24 часа).
15🔥4👍3💯1🏆1🍓1