timofeipl

1 февраля 2021, Харьков

# Понедельник 40 твитов

Всем привет! 👋
Эту неделю вам вещать буду я - Тимофей Плотников, engineering manager @getsquire. Особого порядка по… twitter.com/i/web/status/1…

7:52

Вот список некоторых тем, которые я постараюсь осветить на этой неделе:

8:05

Тред-знакомство!
Я представлюсь вам, а вы можете рассказать о себе в комментах, буду рад со всеми познакомиться 👍… twitter.com/i/web/status/1…

8:41

В 2015 я устроился андроид-стажёром в небольшой аутсорсинг в Краснодаре. Было непростое время, но я быстро учился и… twitter.com/i/web/status/1…

8:41

Поэтому я продолжал пилить мобильные приложения (добавив к Андроиду ещё и iOS) и параллельно изучать кучу разных ЯП… twitter.com/i/web/status/1…

8:41

В середине 2017 я немного устал красить кнопки и мне предложили поработать Project manager в той же компании, пообе… twitter.com/i/web/status/1…

8:41

В марте 2018 на меня выходит нью-йорский стартап Squire Technologies и предлагает пилить приложухи для барбершопов.… twitter.com/i/web/status/1…

8:41

Пойдём от частного к общему и, прежде чем обсуждать разные ЯП, поговорим про камень преткновения современности - Ja… twitter.com/i/web/status/1…

9:09
Пойдём от частного к общему и, прежде чем обсуждать разные ЯП, поговорим про камень преткновения современности - Ja… twitter.com/i/web/status/1…

Полностью согласен со всем что вы ответили под этим твитом. Думаю дуализм складывается из двух (хех) важных факторо… twitter.com/i/web/status/1…

Пойдём от частного к общему и, прежде чем обсуждать разные ЯП, поговорим про камень преткновения современности - Ja… twitter.com/i/web/status/1…

10:43

Начнём с идеи. Идея была благородная — встроить язык программирования в браузер, который в то время мог отображать… twitter.com/i/web/status/1…

10:43

Ту же самую цель преследовал SQL - быть доступным широкому кругу людей.
Сказано - сделано. Осталось лишь решить ка… twitter.com/i/web/status/1…

10:43

Итак, благородная цель — есть. Примерное представление о будущем языке — есть. Но было ещё кое-что...

Надвигающейс… twitter.com/i/web/status/1…

10:43

Вот тут мы и подходим к посредственной реализации. Не знаю насколько правдивы рассказы про "дизайн языка за 7 дней"… twitter.com/i/web/status/1…

11:41

Чем проще ты хочешь сделать язык, тем дольше ты должен думать над его реализацией. Убирая сложность из user land ты… twitter.com/i/web/status/1…

11:41

Например, почему в JS решили всё приводить к строке?Да скорее всего потому что так было тупо проще. Зачем париться… twitter.com/i/web/status/1…

11:41

Привидение типов это лишь один пример из многих "странностей" JS, не буду духариться насчет остальных, уверен вы уж… twitter.com/i/web/status/1…

11:41

Всё вышесказанное понятно, но почему же он так популярен?
Тут всё просто: дизайн языка не влияет на его популярност… twitter.com/i/web/status/1…

11:41
@jsunderhood JavaScript — отличный язык. В сравнении с каким-нибудь golang просто пушка

Согласен, golang та ещё поделка

@jsunderhood JavaScript — отличный язык. В сравнении с каким-нибудь golang просто пушка

12:09

Это всё конечно круто, но главенствующая позиция JS в вебе устраивала не всех. Потеснить чемпиона пытались разными… twitter.com/i/web/status/1…

12:49

Так, Safari только что самолично перезагрузил страницу и удалил черновик твита, который я писал. Кажется JS чувству… twitter.com/i/web/status/1…

13:44
Это всё конечно круто, но главенствующая позиция JS в вебе устраивала не всех. Потеснить чемпиона пытались разными… twitter.com/i/web/status/1…

Пытались, но не получилось. Причин было много, но думаю основная - лишние телодвижения. Установки плагин на много-м… twitter.com/i/web/status/1…

Это всё конечно круто, но главенствующая позиция JS в вебе устраивала не всех. Потеснить чемпиона пытались разными… twitter.com/i/web/status/1…

14:36

Но несогласные не сдавались.
Когда не получилось подвинуть JS, они сделали финт ушами. Свои любимые языки они стал… twitter.com/i/web/status/1…

14:36

Transpiler или source-to-source compiler это такая программа, который код на одном языке "переводит" в код на друго… twitter.com/i/web/status/1…

14:36

То есть компилятор обычно производит код более низкого уровня (Java->Bytcode, C->Asm), а transpiler - того же (Java->JS, TS->JS).

14:36

Что интересно, транспайлеры можно применять чтобы рефакторить свой говнокод, использовать новые фичи языка или апгр… twitter.com/i/web/status/1…

14:36

Так-с, ну-ка проголосуйте за вечерний топик

14:59
Компилятор - от слова compile (собирать). Это программа, собирающая разрозненные исходники воедино. А преобразовани… twitter.com/i/web/status/1…

Вынужден оспорить)
Компилятор не собирает исходники воедино хотя бы потому что он "не знает" об исходниках. Компил… twitter.com/i/web/status/1…

Компилятор - от слова compile (собирать). Это программа, собирающая разрозненные исходники воедино. А преобразовани… twitter.com/i/web/status/1…

15:30

Компилятор (внутри которого есть парсер, несколько анализаторов, оптимизатор и генератор кода) берет ваш код (ничег… twitter.com/i/web/status/1…

15:30

Траспилятор же делает примерно то же самое, только на выходе у него код на высокоуровневом языке.
А слово составлен… twitter.com/i/web/status/1…

15:30
@jsunderhood транслятор это обобщенное название для всех преобразований из исходного представление в конечное.
Ком… twitter.com/i/web/status/1…
15:57
Так-с, ну-ка проголосуйте за вечерний топик

Штош, похоже побеждают compile-to-js languages, поговорим о них)
Какие ваши любимые?)

Так-с, ну-ка проголосуйте за вечерний топик

17:21

У меня есть свой любимый, но об этом потом)
Откуда такое разнообразие? Думаю и ответ на этот вопрос очень прост: н… twitter.com/i/web/status/1…

17:28

Иногда есть и другая причина: кто-то считаешь JS не очень удачным. И они пытаются улучшить его, создавая новый язык… twitter.com/i/web/status/1…

17:28
@MrFlashAccount @jsunderhood AssemblyScript;)

Господин, реквестирую гостевой тред про AssemblyScript: что такое, как развивается, что интересного из языковых фич… twitter.com/i/web/status/1…

@MrFlashAccount @jsunderhood AssemblyScript;)

18:02
@jsunderhood Это более строгий сабсет TS компилируемый в wasm. Но так же может быть странслирован и в javascript че… twitter.com/i/web/status/1…
18:16

Насколько мне известно, первым среди популярных был @CoffeeScript.
Красивый язык, писал даже на нем немного (случай… twitter.com/i/web/status/1…

18:36

Только что проверил, CoffeScript мертвее мертвого.
Впрочем, не удивительно. JS быстро развивается, добавляя свой с… twitter.com/i/web/status/1…

18:59

Что у нас дальше. Опустим всякую банальщину типа scalajs и kotlinjs.
Очень интересный экземпляр @reasonml, вызывает… twitter.com/i/web/status/1…

18:59

С одной стороны, задумка супер-интересная: строгий, функциональный язык, с выводом типов и чертовски быстрым компил… twitter.com/i/web/status/1…

18:59

Но с другой стороны, изменения синтаксиса OCaml в сторону...непонятно чего. Постоянные переделки этого самого синта… twitter.com/i/web/status/1…

18:59

# Вторник 41 твит

Всем доброе утро! ✌️
Надеюсь все хорошо выспались)

Как у вас дела с Ковид, много кто переболел? Много кто поставил/будет ставить прививку?

5:26

На сегодня план примерно такой: закончим разговор про compile-to-js (вчера ничего толком не рассказал), сделаю небо… twitter.com/i/web/status/1…

7:59
@jsunderhood @_jin_nin_ > компилятор не собирает исходники, это делает gradle
> линкер собирает модули, которые сге… twitter.com/i/web/status/1…

Вчера в теме про transpilers возникло недопонимание в терминах, а потом вскрылось непонимание процесса в общем.
Да… twitter.com/i/web/status/1…

@jsunderhood @_jin_nin_ > компилятор не собирает исходники, это делает gradle
> линкер собирает модули, которые сге… twitter.com/i/web/status/1…

9:38

Итак, в самом простейшем случае процесс компиляции ваших каракулей в исполняемый файл происходит в 3 стадии:

9:38

Этап 1. Компиляция.
Этап компиляции сам состоит из нескольких этапов, задача которых перегнать ваш код на Си в код… twitter.com/i/web/status/1…

9:38

Этап 2. Сборка (assembly)
Процессор не может выполнить код на asm, поэтому нам нужно запустить assembler и перегнат… twitter.com/i/web/status/1…

9:38

Этап 3. Линковка
У нас есть инструкции для компухтера в виде obj-файла, но мы всё ещё не можем их исполнить. Во-пер… twitter.com/i/web/status/1…

9:38

Этим всем занимается линковщик. Он берет все ваши obj-файлы, статические библиотеки, ставит их в нужном порядке, св… twitter.com/i/web/status/1…

9:38

А вот где. Это абсолютно опциональные тулзы. Но без них вам будет очень больно. Проблема заключается в том, что все… twitter.com/i/web/status/1…

9:38
@jsunderhood Сборкой занимается линкер. Gradle — это тупо таск раннер типа gulp. @_jin_nin_ все правильно пишет, не… twitter.com/i/web/status/1…

Сначала запускаете компилятор, передаете туда 100500 флагов и список всех ваших исходников В НУЖНОМ ПОРЯДКЕ ЧЕРЕЗ З… twitter.com/i/web/status/1…

@jsunderhood Сборкой занимается линкер. Gradle — это тупо таск раннер типа gulp. @_jin_nin_ все правильно пишет, не… twitter.com/i/web/status/1…

9:38

Дальше вы запускаете ассемблер, в который передаете столько же флагов и output компилятора, через запятую. И потом… twitter.com/i/web/status/1…

9:38

Тут-то вам на помощь и приходят системы сборки типа gradle/make/gulp.
Вы им говорите где лежат ваши исходники и они… twitter.com/i/web/status/1…

9:38

Системы сборки автоматизируют шаги, которые иначе пришлось выполнять бы вручную. И, как побочный эффект, они умеют… twitter.com/i/web/status/1…

9:38

Именно это я имел ввиду, когда сказал что ни компилятор ни линковщих не занимается "сбором" ваших исходных текстовы… twitter.com/i/web/status/1…

9:38

Нифига себе, уже 6 лет этому аккаунт :)
Поздравляю вас всех ребята)) pic.twitter.com/Htmjvd7FyC

11:33

Вы назвали много языков программирования, которые компилируются в JS. Хоть js и не compilation target, люди всё рав… twitter.com/i/web/status/1…

12:36

Как я упоминал выше, условно все эти языки мы можем поделить на 2 группы: существующие и новые. Существующие это те… twitter.com/i/web/status/1…

12:36

Крайне сомневаюсь в эффективности такого подхода. Ведь знание языка это совсем малая доля: тебе ещё нужно знать вся… twitter.com/i/web/status/1…

12:36

Вот языки, которые специально таргетятся в JS, это другое дело. Их обычно создают чтобы решить какую-то проблему, к… twitter.com/i/web/status/1…

12:44

ReasonML - принести ФП и Хиндли - Милнер в мир фронтенд-разработки. У всех разная степень успеха, и как бы мне не х… twitter.com/i/web/status/1…

12:44

Всё, конечно, может измениться с появлением common runtime в браузере. Может WebAssembly и поможет, но пока слишком… twitter.com/i/web/status/1…

12:44

Ну и я хотел был рассказать вам про язык, который считаю лучшим из compile-to-js.
Встречайте, ClojureScript 🥳
Да-да… twitter.com/i/web/status/1…

13:19

Вот как выглядит его синтаксис если кто никогда не видел pic.twitter.com/OGpoT1sq0g

13:24
Я привык за пару недель. На самом деле, после реакта и редакса привыкаешь воссоздавать структуры без мутаций и все… twitter.com/i/web/status/1…

Ну и я хотел был рассказать вам про язык, который считаю лучшим из compile-to-js.
Встречайте, ClojureScript 🥳
Да-да… twitter.com/i/web/status/1…

13:31

Этот язык лаконичен, минималистичен, а главное, очень хорошо продуман. @richhickey потратил очень много времени на… twitter.com/i/web/status/1…

13:40

Он использует динамическую типизацию (как и жс), только не слабую, а сильную. Обращение к js коду идет без каких-ли… twitter.com/i/web/status/1…

13:40

Он оптимизирует, делает tree-shaking и ещё много всяких приколюх. Ну и конечно тебе не надо ставить тысячу инструме… twitter.com/i/web/status/1…

13:40

А самое главная фишка в том, что clojurescript полностью меняет dev cycle. Вы можете компилировать ваши функции отд… twitter.com/i/web/status/1…

13:40

И это не ваш обычный hot-reload. Clojurescript не перезагружает всё приложение, ваш Стейт никуда не пропадает)

13:40

Пока народ офигивает от синтаксиса лиспа, предлагаю плавно перейти к разговорам о ФП.
Пока я буду на рабочих созво… twitter.com/i/web/status/1…

13:55
@jsunderhood Сейчас в языках смешались разные парадигмы и стили программирования. Слышал даже мнение о том, что пон… twitter.com/i/web/status/1…
14:04
Пока народ офигивает от синтаксиса лиспа, предлагаю плавно перейти к разговорам о ФП.
Пока я буду на рабочих созво… twitter.com/i/web/status/1…

Удивительно насколько адекватные ответы собрались под этим твитом! Когда я говорил о ФП в @mobileunderhood меня чут… twitter.com/i/web/status/1…

Пока народ офигивает от синтаксиса лиспа, предлагаю плавно перейти к разговорам о ФП.
Пока я буду на рабочих созво… twitter.com/i/web/status/1…

16:59
@jsunderhood Сейчас в языках смешались разные парадигмы и стили программирования. Слышал даже мнение о том, что пон… twitter.com/i/web/status/1…

Мне очень понравилась мысль о том, что парадигма программирования как понятие устарело.
Если смотреть под этим угло… twitter.com/i/web/status/1…

@jsunderhood Сейчас в языках смешались разные парадигмы и стили программирования. Слышал даже мнение о том, что пон… twitter.com/i/web/status/1…

17:05

Поговорим об отличительных чертах ФП и что вообще ФП даёт нам.
Начну с того, что функциональное программирование э… twitter.com/i/web/status/1…

17:18

Использование ФП на полную также подразумевает что ты дизайнишь свой код должным образом. Например, ты начинаешь де… twitter.com/i/web/status/1…

17:23

Рассмотрим на примере: нам нужно загрузить какие-то данные с сервера и на основе этих данных отобразить что-то на э… twitter.com/i/web/status/1…

18:11

Может показаться, что варианты идентичны или даже что первый вариант проще для понимания. На самом же деле, кусочки… twitter.com/i/web/status/1…

18:50

В чем профит? Во-первых, мы отделили зёрна от плёвел и нам легче понимать код. Мы смотрим внутрь decidePage() и ясн… twitter.com/i/web/status/1…

18:50

Такое понимание позволяет легче обнаружить ошибку. И исправить её. Мы можем безбоязненно внести изменения в функцию… twitter.com/i/web/status/1…

18:50

Во-вторых, написать тест для нашего варианта 2 намного проще. Не нужно ничего мокать, подставлять и проверять измен… twitter.com/i/web/status/1…

18:50

Завтра ещё рассмотрим мою любимую Clean Architecture и как ее можно улучшить с помощью функциональных подходов) pic.twitter.com/t67cer6w61

20:00

# Среда 24 твита

Утречка всем!
Признавайтесь, начало недели было душноватым или норм?
Может вам надоела эта вся техническая хрень и… twitter.com/i/web/status/1…

5:25
Утречка всем!
Признавайтесь, начало недели было душноватым или норм?
Может вам надоела эта вся техническая хрень и… twitter.com/i/web/status/1…

Мнения по-тихоньку делятся, так что сделаем небольшой перерыв, а потом вернёмся к фп и потом к теории и разработке… twitter.com/i/web/status/1…

Утречка всем!
Признавайтесь, начало недели было душноватым или норм?
Может вам надоела эта вся техническая хрень и… twitter.com/i/web/status/1…

7:41
@jsunderhood Квартира в мск есть, а за бугром нужно будет снимать. Сложно соотнести зп там, сопоставимую с текущем… twitter.com/i/web/status/1…
9:01
@anyxem @ottey_xela @jsunderhood Разрабов печет, потому что в целом в мире у них зп относительно остальных примерно… twitter.com/i/web/status/1…

Не знаю как насчёт Европы, но в штат ситуация не однозначная. Средняя зарплата $40k-$50k в год. Разраб может спокой… twitter.com/i/web/status/1…

@anyxem @ottey_xela @jsunderhood Разрабов печет, потому что в целом в мире у них зп относительно остальных примерно… twitter.com/i/web/status/1…

10:36
Давайте разберём и эту тему. А то многие молятся на ФП, совершенно не понимая что это. Основные свойства чистых фун… twitter.com/i/web/status/1…

Господа, пожалуйста не воспринимайте всерьёз то что написано в этом треде. Нормальная инфа про чистые функции скоро… twitter.com/i/web/status/1…

Давайте разберём и эту тему. А то многие молятся на ФП, совершенно не понимая что это. Основные свойства чистых фун… twitter.com/i/web/status/1…

14:32
@mr_mig_by @jsunderhood А где искать собесы? В России всё просто, опубликовал резюме на каком-нибудь @hh_ru и тут ж… twitter.com/i/web/status/1…

Отличный вопрос!
И у меня есть ответ: постоянно получаю вакансии в зарубежные компании, устроился в американскую к… twitter.com/i/web/status/1…

@mr_mig_by @jsunderhood А где искать собесы? В России всё просто, опубликовал резюме на каком-нибудь @hh_ru и тут ж… twitter.com/i/web/status/1…

15:10
@azat_io @jsunderhood @hh_ru К примеру darwinrecruitment.com

Работают по рынку ЕС. Они на меня вышли в линкеде -… twitter.com/i/web/status/1…

15:10
@azat_io @jsunderhood @hh_ru Ну и не могу не порекомендовать @Relocateme_eu
15:10

Первое что вам нужно сделать - заполнить профиль на LinkedIn. В большинстве случаев вы начнёте получать предложения… twitter.com/i/web/status/1…

15:29

За рубежом (я знаю про США, возможно в Европе тоже) есть следующий тренд: очень много выпускников из универов котор… twitter.com/i/web/status/1…

15:29

И ебучих размеров дыра посередине: очень мало мидлов, которые просто могут работать и деливерить фичи. Американцы л… twitter.com/i/web/status/1…

15:29

И вы легко можете использовать это для своего преимущества. Главное дать им знать о себе.
Заполните LinkedIn и зап… twitter.com/i/web/status/1…

15:29

А так же мы (Squire) сейчас в поиске нескольких фулстек-инженеров (JavaScript) 🖥
Удаленка, зарплата в долларах, куч… twitter.com/i/web/status/1…

15:29

Итак, чистые функции. Чистой называется такая функция, которая:

18:15

Выполнив оба этих требования вы получаете чистую функцию. Нарушив хотя бы одно из них, функция теряет некоторые/все… twitter.com/i/web/status/1…

18:15

  • Облегчённая тестируемость.
    Так как они не меняют внешний мир и не зависят от окружения, их очень легко тестирова… twitter.com/i/web/status/1…
  • 18:15

  • Referential transparency.
    Это значит что вы можете заменить вызов этой функции значением которое она возвращает.… twitter.com/i/web/status/1…
  • 18:15

  • Результат работы чистой функции можно мемоизировать.
    Это значит, что вы можете запомнить результат функции для о… twitter.com/i/web/status/1…
  • 18:15

  • Чистые функции легче рефакторить.
    Поскольку ваша функция не зависит от и не меняет внешний мир, вы можете перепи… twitter.com/i/web/status/1…
  • 18:15

  • Чистая функция проще для понимания человеком.
    В программировании самая простая полезная единица это функция. Про… twitter.com/i/web/status/1…
  • 18:15

    Исходя из вышеописанных свойств становится ясно, что с чистыми функциями работать проще, они меньше подвержены бага… twitter.com/i/web/status/1…

    18:15

    Ответ в том, что чистые функции идут в паре с грязными функциями и вместе они создают нашу программу.
    Грязные функ… twitter.com/i/web/status/1…

    19:09

    Чистые же функции генерят правильные запросы для базы, генерят письма и пользовательский интерфейс, запросы в сеть.… twitter.com/i/web/status/1…

    19:09

    При таком раскладе вы точно можете быть уверены, что какой-нибудь Postgres или email api никак не влияют на логику вашего приложения.

    19:09

    # Четверг 28 твитов

    Всем доброе утро ☕️
    Чем ближе к пятнице, тем расслабленнее разговоры)
    Сегодня побуду бабкой-предсказательницей и б… twitter.com/i/web/status/1…

    4:37

    🔮 Предсказание первое 🔮
    Разработка будет становится проще и проще, особенно для непрограммистов. No-code тулзы стан… twitter.com/i/web/status/1…

    5:24

    🔮Предсказание второе🔮
    Первое предсказание приведёт к тому, что инструменты и компьютеры станут настолько сложными,… twitter.com/i/web/status/1…

    6:32

    🔮Предсказание третье🔮
    Cloud-IDE типа @replit станут ещё более распространены. Сейчас там уже можно создать и задепл… twitter.com/i/web/status/1…

    8:20

    🔮Предсказание четвёртое🔮
    Если в ближайшее время (10-20 лет) создадут квантовые процессоры для масс-маркета, то почт… twitter.com/i/web/status/1…

    8:23

    🔮Предсказание пятое🔮
    Тут к бабке не ходи, ARM процессоры скоро вытеснят Intel с серверов. Это приведёт к оптимизаци… twitter.com/i/web/status/1…

    8:27

    🔮Предсказание шестое🔮
    Люди слишком полагаются на online софт: фигма, гугл доки итд.
    Когда-нибудь им надоест что их… twitter.com/i/web/status/1…

    8:55
    @jsunderhood А разработчики, в большинстве, как писали говнище за оверпрайс, так и будут его писать. 😅
    9:59
    @jsunderhood Вебстандарты станут настолько сложными, а браузеры настолько глючными и громоздкими, что веб умрет и н… twitter.com/i/web/status/1…

    Господа и дамы, кто считает также? Мне видится это логичным развитием событий, но думаю похоронить такое количество… twitter.com/i/web/status/1…

    @jsunderhood Вебстандарты станут настолько сложными, а браузеры настолько глючными и громоздкими, что веб умрет и н… twitter.com/i/web/status/1…

    11:48

    Фуф, ну и денёк сегодня выдался.
    Как и обещал, давайте поговорим немного про бабки 💸
    Все их любят, всем они нужны д… twitter.com/i/web/status/1…

    18:10

    Первое и самое очевидное — зарплата.
    Вы меняете своё время и навыки на деньги. Все это делают, большинство только э… twitter.com/i/web/status/1…

    18:48

    Мы можем работать N часов в сутки и получать M шекелей за час. M зависит от того сколько стоят ваши навыки на рынке… twitter.com/i/web/status/1…

    18:48

    Итого, зарплату мы можем заскейлить до M*N и иногда она может быть помножена на 0 из-за непредвиденных обстоятельст… twitter.com/i/web/status/1…

    18:48

    Устраиваемся на удаленку в зарубежную компанию и живем в провинции в РФ. Цена часа большая, расходы низкие.
    Думаю… twitter.com/i/web/status/1…

    18:48

    Как только устаканили ЗП надо подзадуматься о двух вещах: инвестиции и привлечение доходов, которые не зависят от в… twitter.com/i/web/status/1…

    19:38

    Инвестиции - не про заработок денег или увеличение дохода. Инвестиции это когда у вас уже есть деньги и вы хотите и… twitter.com/i/web/status/1…

    19:38

    К инвестициям вернёмся чуть позже, пока продолжим. Значит мы оптимизировали зарплату, инвестируем свои накопления,… twitter.com/i/web/status/1…

    19:38

    Вот один из способов 👇
    Вы устраиваетесь разработчиком в стартап на раннем этапе развития и работаете там 3-4 года.… twitter.com/i/web/status/1…

    19:55

    Если он не выстреливает и загибается, то ваши опционы конечно превращаются в фантики.
    Тем не менее, очень многие с… twitter.com/i/web/status/1…

    19:55
    @jsunderhood Ещё варианты:

    Если работа в стартапе не ваш вариант или вы не можете найти будущего единорога, то есть вариант запустить свой ста… twitter.com/i/web/status/1…

    @jsunderhood Ещё варианты:

    20:39

    Для начала вы должны чётко понять, что этот сайд-проект не для развлечения. Не стоит брать экспериментальные технол… twitter.com/i/web/status/1…

    21:09

    Для этого выбирайте технологии которые вы знаете лучше всего или на которые проще всего нанять дизайнера. Дальше, п… twitter.com/i/web/status/1…

    21:09

    Найдите какой-нибудь успешный существующий продукт. Поскольку нас интересуют небольшие SaaS, то можно смотреть на i… twitter.com/i/web/status/1…

    21:09

    Найдите негативные отзывы на этот продукт, определите слабые места, особенно чем недовольны пользователи. И создайт… twitter.com/i/web/status/1…

    21:09

    Сделайте копию существующего бизнеса исправив 1 или несколько его недостатков. Ваша копия может либо исправить кося… twitter.com/i/web/status/1…

    21:09

    У такого подхода много плюсов: вам не нужно вынашивать идею и проверять гипотезы; вам не нужно гадать будут ли люди… twitter.com/i/web/status/1…

    21:09

    При должном усердии такой проект может дать неплохой постоянный доход. Если получилось и остались силы, то можно по… twitter.com/i/web/status/1…

    21:18

    Ну и ещё один вариант это классический офф-лайн бизнес. Вы можете отложить пару раз с вашей зарплаты в 400к и откры… twitter.com/i/web/status/1…

    21:18

    # Пятница 40 твитов

    Фуф, ну и денёк сегодня выдался.
    Как и обещал, давайте поговорим немного про бабки 💸
    Все их любят, всем они нужны д… twitter.com/i/web/status/1…

    Всем доброй пятницы!
    Вчера вечером мы поговорили про деньги и где их можно заработать, подробности вот в треде 👇
    Н… twitter.com/i/web/status/1…

    Фуф, ну и денёк сегодня выдался.
    Как и обещал, давайте поговорим немного про бабки 💸
    Все их любят, всем они нужны д… twitter.com/i/web/status/1…

    8:31

    Труд не такой, что сутками пахать на износ на заводе — так много не заработаешь. Труд состоит в том, что ты должен… twitter.com/i/web/status/1…

    8:31

    То же самое применимо к зарплате в IT. Хочешь 500к? Будь готов потратить несколько лет на получение опыта и эксперт… twitter.com/i/web/status/1…

    8:31

    Конечно, это нужно не всем. Не всем нужны большие деньги, не все хотят работать больше чем нужно. И это нормально.… twitter.com/i/web/status/1…

    8:31

    Давайте тред про пет-проджекты!
    Делитесь кто что делает, какие технологии, какую цель преследуете?) Для себя или чт… twitter.com/i/web/status/1…

    8:37
    @jsunderhood Уведомлялка о начале комендантского часа на react-native и typescript. В основном из-за того, что прил… twitter.com/i/web/status/1…
    8:48
    @jsunderhood Чтобы портфолио пустым не было
    covid.vakhramoff.ru
    8:57
    @jsunderhood Собираю места для еды на карте 🤗

    eat.kamyshev.me/?utm_campaign=…

    8:57
    @jsunderhood В текущий момент делаю библиотеку как шанс реализовать идеи, которые по разным причинам не получается… twitter.com/i/web/status/1…
    9:34
    @jsunderhood До этого запустил небольшой проект с задачами для фронтенд разработчиков, который приносил небольшой п… twitter.com/i/web/status/1…
    9:34
    @jsunderhood Сначала была тулза, которую писал по ночам, приходя с работы. Потом уволился и занялся проектом как ос… twitter.com/i/web/status/1…
    10:21
    @jsunderhood У меня их так много, что я запилил целый портал с ними: hyoo.ru
    Все на $mol. Все open… twitter.com/i/web/status/1…
    11:38
    @jsunderhood Было лень каждый раз гуглить регулярки, решил ещё в 2018 году сделать сборник регулярных выражений -… twitter.com/i/web/status/1…
    11:38
    @jsunderhood Тут же про js. Есть небольшой экстеншен для браузеров - управление прослушиванием подкастов на сайте P… twitter.com/i/web/status/1…
    11:39
    @jsunderhood @worldclockapp пассивный доход, все такое
    12:02
    @jsunderhood Делала @skilluplu как pet project, школу для обучения вебу в Люксембурге.

    Не хватает знаний в раскрутке)

    12:16
    @jsunderhood Пробую делать платный js фреймворк polotno.dev. После долгих часов почти бесплатной работы… twitter.com/i/web/status/1…
    12:16
    @jsunderhood Вообще никаких целей не преследую, просто иногда добавляю новые фичи о которых узнаю )

    github.com/Jka4/pokemon-A…

    12:23
    @jsunderhood Когда-то делал Windows Universal App приложение для поиска авиабилетов на партнерке от @aviasales и да… twitter.com/i/web/status/1…
    12:24
    @jsunderhood Я занимаюсь телеграм ботами.

    1. Записывают туториалы на YouTube: youtube.com/valenso

    2. Сделал н… twitter.com/i/web/status/1…

    12:29
    @jsunderhood На удивление, есть люди, которым боты оказались полезны настолько, что они готовы поддерживать на Patr… twitter.com/i/web/status/1…
    12:32
    @jsunderhood Пилим с друзьями «пакет с пакетами» - сервис в котором можно было бы найти единомышленников для реализ… twitter.com/i/web/status/1…

    Ха-ха, вот это интересно))

    @jsunderhood Пилим с друзьями «пакет с пакетами» - сервис в котором можно было бы найти единомышленников для реализ… twitter.com/i/web/status/1…

    12:33
    @jsunderhood Делаю тулзу для формализации и верификации требований/спецификаций. По сути похоже на TLA+ или Alloy,… twitter.com/i/web/status/1…
    12:39
    @jsunderhood @xufocoder Консольный спейс файтер на Си. Цель - изучение языка Си)
    12:49
    @jsunderhood 1️⃣ Веду канал о том, как проходить собеседования и что делать потом.
    winterview.ru

    2️⃣ Нап… twitter.com/i/web/status/1…

    12:49
    @jsunderhood @xufocoder Собирал несколько лет "Разговорчики" с Яндекс.Карт probkatalks.ru, пока их не запретили
    12:49
    @jsunderhood Делаю бесплатный трекер для тяжелоатлетов - liftosaur.com/about Не чтоб заработать, а просто чтоб не скучно было, для себя.
    13:28
    @jsunderhood написала выковыриватель body из curl, чтобы дебажить запросы на работе, ооочень часто пользуюсь cakeinpanic.github.io/curl-data-extr…
    13:46
    @jsunderhood Делаю сервис для визуального тестирования (скриншот тестинг) @VisualReTracker
    Делаю для себя, использ… twitter.com/i/web/status/1…
    13:47
    @jsunderhood Сделал удобный архив ретро-телезаписей: staroetv.su.
    Ну как сделал, точнее перенес умирающий сайт с юкоза.
    14:03
    @jsunderhood Сделал zerro.app чтобы вести бюджет. Это бесплатный аналог YNAB на данных из Дзенмани.
    И… twitter.com/i/web/status/1…
    15:00
    @jsunderhood Пишу сервис для простого складского учёта и реализации товара. Чтобы малый бизнес (например торговцы н… twitter.com/i/web/status/1…
    15:00

    Столько сайр-проектов, круть!)
    Кажется многие работают над своими проектами.

    А что у нас на сегодняшний день со вс… twitter.com/i/web/status/1…

    15:03
    @jsunderhood Сервис для концентрации внимания когда пишешь код, фоновые звуки + помодоро таймер. Делаю для себя, но… twitter.com/i/web/status/1…
    15:52
    @jsunderhood На работе весь контент на бб кодах, на фронте реакт.
    Накатал парсер с AST и плагин системой… twitter.com/i/web/status/1…
    16:23
    @jsunderhood github.com/datanymizer/da…
    Анонимизация данных без промежуточного копирования и мутаций строк в таблицах… twitter.com/i/web/status/1…
    16:39
    @jsunderhood Мы пишем в опен сорсе тул, который за секунды (ну, почти) поднимает аналитический API поверх любой баз… twitter.com/i/web/status/1…
    16:49
    @jsunderhood Сделал для себя бота в телеге, чтоб быть в курсе когда играет любимая команда)) Плюс результаты интере… twitter.com/i/web/status/1…
    17:27
    @jsunderhood Делал приложение для трекинга расходов на обслуживание велосипеда, с конструированием 3D модели, визуа… twitter.com/i/web/status/1…
    20:57

    # Суббота 29 твитов

    Всем доброе утро!
    Суббота, прекрасный день)
    Не знаю как у вас, а у меня неделя вышла просто crazy на работе 🤯
    Не ус… twitter.com/i/web/status/1…

    5:05

    Очень приятно вчера было читать про все ваши проекты)
    Видя сколько софта создаётся для себя, для души, приятно осо… twitter.com/i/web/status/1…

    5:11
    @jsunderhood Давненько была идея сделать портал с докладами IT конференций, однажды вылилась в это alltalks.dev
    6:08
    @jsunderhood Сделал приложение для генераций текста поздравлений, т.к это одна из самых больших болей в моей жизни)… twitter.com/i/web/status/1…
    6:44

    Сегодня хотелось бы вам рассказать о визионерах программирования и технологий, об их открытиях, взглядах и вкладе в computer science.

    8:48
    @alexprozoroff @jsunderhood Я просто собрал все ютуб каналы конференций в одном месте: youtube.com/channel/UC-qEI…
    10:42
    @jsunderhood WebAssembly? когда же уже? :)

    Ха-ха, была такая низкая активность на программерские темы, я подумал всем всё надоело 😅
    Но господин прав — обещал,… twitter.com/i/web/status/1…

    @jsunderhood WebAssembly? когда же уже? :)

    11:34

    Для начала дисклеймер: я не эксперт в данной технологии, но кое-что успел изучить, слежу за новостями и нет-нет да… twitter.com/i/web/status/1…

    11:34

    Для полноты картины перенесёмся в 1995 год. Это был знаковый момент в истории веба — компания Netscape выпускает но… twitter.com/i/web/status/1…

    12:03

    Это случилось всего через 5 лет после выпуска вообще первого браузера в 1990 году.
    Вернёмся к Netscape Navigator 2… twitter.com/i/web/status/1…

    12:10

    Мы опустим Java Applets и поговорим о NPAPI — Netscape Plug-in API. Это было апи, которое позволяло писать плагины… twitter.com/i/web/status/1…

    12:20

    После загрузки, браузер отдавал все данные в плагин, а уже плагин занимался обработкой этих данных и их отображение… twitter.com/i/web/status/1…

    12:20

    Дальше была интересная технология ActiveX, которая как и NPAPI, позволяла исполнять любой нативный код в браузере.… twitter.com/i/web/status/1…

    12:44

    Это позволяло исполнять любой вредоносный код на вашей машине. Не хорошо. Чтобы решить эту проблему, в 2011 году ко… twitter.com/i/web/status/1…

    12:44

    Примерно в это же время Mozilla создаёт ответ Google — asm.js. Это подмножество JS, которое браузеры могли компилир… twitter.com/i/web/status/1…

    12:44

    Это всё просуществовало до 2017 года, пока миру не был представлен WebAssembly — язык программирования и новая вирт… twitter.com/i/web/status/1…

    12:44

    Повторим ещё разок: WebAssembly это язык (точнее формат байт-кода) и виртуальная машина для его исполнения.
    Задача… twitter.com/i/web/status/1…

    13:37

    Следует также отметить что WASM не призван заменить JS (как бы нам того не хотелось). Как видно из истории браузеро… twitter.com/i/web/status/1…

    13:37
    @jsunderhood - сделал карту с отметками о стадионах с л/а дорожкой и краткой информацией о них… twitter.com/i/web/status/1…
    14:32

    Продолжим. WASM это формат байт-кода, поэтому вы почти никогда не пишите его вручную, а компилируете в него другие… twitter.com/i/web/status/1…

    14:37

    Помимо скорости исполнения и безопасности нам обещают что wasm будет быстрее загружаться. Ведь это бинарный формат… twitter.com/i/web/status/1…

    15:01

    WASM пропускает стадию парсинга и летит сразу в вм. Если честно? Я не знаю насколько это быстрее т.к. кажется что в… twitter.com/i/web/status/1…

    15:04

    Тут меня поправили, но пока что почти всегда вы тащите вместе с собой stdlib того языка, который компилируете. В js… twitter.com/i/web/status/1…

    15:34

    Конечно же wasm ещё далёк от всех возможностей, которые доступны в js. Сейчас эффективно на нем можно только циферк… twitter.com/i/web/status/1…

    15:59

    А это сразу убивает все преимущества WebAssembly в скорости. Проблема в том, что в васм пока нет сборщика мусора чт… twitter.com/i/web/status/1…

    15:59

    Я надеюсь, что в скором будущем я смогу написать любое приложение на любом языке и сделать так, чтобы оно запускало… twitter.com/i/web/status/1…

    15:59

    В моем информационном пузыре сейчас самые популярные языки для WASM это си, rust, go, c#/f#. Также, очень интересны… twitter.com/i/web/status/1…

    16:11

    C# выглядит сейчас наиболее активным в этой сфере, возможно потому что это форсит Майкрософт. Они хорошо вкладывают… twitter.com/i/web/status/1…

    16:11

    Они НЕ компилируют c# в wasm. Ваш код всё также компилится в байт-код clr, а .net vm скомпилирована в wasm и загруж… twitter.com/i/web/status/1…

    16:11

    # Воскресенье 17 твитов

    Всем доброго воскресенья!
    Сегодня я не буду супер активным ведущим, но всё равно пообщаюсь с вами на разные темы)… twitter.com/i/web/status/1…

    10:01

    Ну а под этот твит давайте крутые штуки тайп-системы TypeScript 🙌

    Где-то в интернетах видел, что калькуляторы на т… twitter.com/i/web/status/1…

    10:06
    @jsunderhood Вот очень странная ошибка которую без кастинга решить не удалось

    typescriptlang.org/play?#code/JYO…

    10:48
    @jsunderhood SQL база в compile time github.com/codemix/ts-sql и json парсер исключительно на типах:… twitter.com/i/web/status/1…
    11:28

    Мне кажется чего не хватает js/ts так это макросов. Если бы разработчики этих языков хоть чуть-чуть подзадумались н… twitter.com/i/web/status/1…

    14:30

    Определение кастомных операторов бы особо не понадобилось, т.к. эти вопросы тоже можно решить макросами.
    Не пришло… twitter.com/i/web/status/1…

    14:30

    Поделитесь своими любимыми докладами/видео/научными работами? Темы могут быть любые, я начну!

    Hammock-driven devel… twitter.com/i/web/status/1…

    17:19
    @jsunderhood @richhickey Мне кажется отличным доклад youtu.be/pW-SOdj4Kkk от @Jonathan_Blow мне как тестировщику… twitter.com/i/web/status/1…

    Хотел тоже скинуть этот доклад, мне он очень нравится) Правда как раз сегодня прочитал статью в которой автор разм… twitter.com/i/web/status/1…

    @jsunderhood @richhickey Мне кажется отличным доклад youtu.be/pW-SOdj4Kkk от @Jonathan_Blow мне как тестировщику… twitter.com/i/web/status/1…

    17:38
    @jsunderhood @richhickey С козырей пошёл ) Ну ладно...

    youtu.be/zHiWqnTWsn4

    К своему стыду не видел этот доклад, надо глянуть)

    @jsunderhood @richhickey С козырей пошёл ) Ну ладно...

    youtu.be/zHiWqnTWsn4

    17:39

    Вот это полуторачасовое видео в своё время очень сильное повлияло на мой интерес к языкам программирования и компил… twitter.com/i/web/status/1…

    17:41
    @jsunderhood @richhickey Доклад о clojurescript и функциональном реактивном программировании, после которого у меня… twitter.com/i/web/status/1…
    17:43

    Вот это видео смотреть всем - youtu.be/nbMMywfBXic
    David Nolen рассказывает о сложности сегодняшних систем и о т… twitter.com/i/web/status/1…

    18:13

    Так, что-то все лайки ставят, а ссылок не кидают))
    Вот замечательный доклад от Алана Кея. Кто бы что не говорил, но… twitter.com/i/web/status/1…

    18:56

    youtu.be/kGlVcSMgtV4
    Я удивлён почему никто ещё не скинул этот доклад)
    Simple made easy by @richhickey
    Ещё один… twitter.com/i/web/status/1…

    20:23
    @jsunderhood @richhickey Лесли Лампорт про спецификации: youtu.be/-4Yp3j_jk8Q, Джо Армстронг про реактивные сист… twitter.com/i/web/status/1…
    20:50

    Господа, время отходить ко сну. А это значит что моя смена закончилась.
    Всем спасибо 🙏 за эту неделю, надеюсь я смо… twitter.com/i/web/status/1…

    20:55
    @jsunderhood @richhickey Интересен посмотреть на самую первую презентацию реакта, которая была в сильно более «поче… twitter.com/i/web/status/1…
    21:17

    other


    @korery