Search
Write a publication
Pull to refresh
0
0

Senior Javascript Dev / Tech Lead / Architect

Send message

Что происходит с вашим JavaScript-кодом внутри V8. Часть 1

Level of difficultyMedium
Reading time6 min
Views6.4K

В этой серии статей мы пройдемся по каждому этапу работы V8: лексическому и синтаксическому анализу, построению AST, интерпретации и оптимизациям. Затронем Ignition, Sparkplug, Maglev и Turbofan; разберемся с hidden classes, байт-кодом, и много чем еще. Углубимся во все этапы достаточно, чтобы понимать, за что отвечает каждый из них.

В этой части посмотрим на лексический и синтаксический анализ.

Читать далее

Как я писал плагин для TypeScript. Часть 1. IDE

Level of difficultyHard
Reading time15 min
Views3K

Привет, Хабр! Меня зовут Дима, я Head of Frontend в Dodo Engineering. Моя команда создаёт инструменты для удобной работы с фронтендами, унифицирует подходы к разработке, помогает другим командам в создании удобных пользовательских интерфейсов Dodo IS.

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

Читать далее

Как я решил вернуться в алготрейдинг после 10 летнего перерыва

Level of difficultyMedium
Reading time9 min
Views6.4K

Самое главное, что никакого отношения к слову алко это не имеет.
В течении нескольких лет я торговал в связке программы технического анализа AmiBroker + торговый терминал QUIK через .tri и .trr файлы в основном на фьючерсах на срочном рынке.
Не могу сказать что это было неудачным опытом, но со временем я узнал про распределение активов (Asset allocation) и понял что очень сложно соревноваться с бенчмарком в виде фондового индекса.

В теории это означает что можно купить индекс и забыть об этом, заниматься своими делами, бизнесом, семьёй - а индекс растёт (ну или падает, смотря какое время) и для этого не нужно прикладывать никаких действий.
А за связкой AmiBroker + QUIK постоянно нужно было присматривать, следить не отвалился ли адаптер импорта через .tri файл. А ещё иметь несколько виртуальных машин с установленными копиями Windows на каждой виртуалке на одном физическом компьютере для разных брокеров. Ведь возможна была установка только одной пары AmiBroker + QUIK на одну винду.
Всё это мне не особо нравилось.

В 2024 году захотелось что-то лёгкое - без Windows и современное - через API интерфейс. Желательно бесплатное для пользователя. Несколько лет назад я уже пытался узнать появились ли у российских брокеров API для работы с ними, но так и не собрался. Этой осенью я стал активно искать информацию - какой брокер имеет АПИ для работы с физлицами. Не смог найти никакой сводной таблицы и нашёл только три варианта:

📍 ФИНАМ
📍 Алор
📍 Тинькофф Инвестиции
📍 (на полноту сведений не претендую и буду рад узнать ещё варианты брокеров с АПИ)

По субъективным причинам я выбрать работать с T‑Bank Invest API (это бывший Тинькофф) через среду выполнения JavaScript Node.JS.

В статье ссылка на GitHub с кодом робота.

Самые первые шаги 🤖

CTO в стартапе. Проблемы и выводы

Level of difficultyMedium
Reading time11 min
Views4.8K

Привет, Хабр!

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

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

Думаю, наиболее полезной эта статья будет для стартапов на ранних стадиях, для фаундеров и для CTO с небольшим опытом.

Читать далее

Собеседование в энтерпрайз

Level of difficultyEasy
Reading time7 min
Views9.2K

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

Читать далее

Выявляем боли команд с помощью ретро. Шаблоны в подарок

Level of difficultyEasy
Reading time6 min
Views3.6K

Привет, Я Бохан Дмитрий — руководитель отдела инновационных проектов компании ПГК Диджитал. Сегодня поговорим про ретроспективу, зачем проводить ретро, а самое главное посмотрим с помощью каких игр, можно сделать ретро ярким и незабываемым.

Зачем проводить ретроспективы с командой? 

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

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

2. Вовлечение команды: с участие членов команды в процессе принятия решений  дает им новые возможности и увеличивает их чувство владения проектом.

3. Решение проблем: выявление проблем и препятствий своевременно не позволяет им расти и сорвать проект.

Инструменты для ретро

Подготовка и проведение эффективных ретроспектив требует некоторых важных инструментов и методов:

Читать далее

Микрофронтенд с использованием Module Federation. Соединяем компоненты между системами на разных фреймворках

Level of difficultyMedium
Reading time6 min
Views8K

Всем привет! Мы — Иван и Даниил, ведущие разработчики компании ITFB Group. У компании два собственных продукта — ЕСМ/CSP/BPM-платформа СИМФОНИЯ (документооборот, хранение контента, архив, портал) и система распознавания/обработки документов ITFB EasyDoc. Пару месяцев назад к нам прилетела задача интегрировать ряд функций распознавания из продукта ITFB EasyDoc и оформить их в отдельный модуль платформы СИМФОНИЯ, дабы пользователь всё делал в одном месте и не дрейфовал по разным системам. Однако возникла загвоздка: СИМФОНИЯ — на React, а ITFB EasyDoc — на Vue. Для решения вопроса посерчили различные источники информации и плавно ушли в собственное творчество, поскольку не обнаружили стоящих вариантов с вменяемой технической детализацией. В какой-то момент возникло острое желание поделиться нашими итоговыми наработками на Хабре и заполнить пробелы базы знаний в интернете по этому вопросу. Всем, кому интересно увидеть наше решение, добро пожаловать под кат :-)

Читать далее

Начало работы с Playwright (Часть 1)

Reading time6 min
Views50K

Добро пожаловать  на 1-й день челленджа #30DaysOfPlaywright!

Сегодня наша  цель – изучить руководство по началу работы с фреймворком, которое должно помочь настроить средство запуска Playwright Test в локальной среде разработки и подготовить его для  выполнения первого тестового прогона.

Читать далее

Компьютерная фотография для фотолюбителя на примере Gigapixel AI

Reading time6 min
Views13K

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

Читать далее

Как написать пассивный доход: Пишем качественного трейд бота на JS (часть 2)

Reading time5 min
Views17K

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

Читать далее

Как написать пассивный доход: Пишем качественного трейд бота на JS (часть 1)

Reading time4 min
Views64K

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

Читать далее

Я провел сто собеседований, отказал сотне людей — и только потом научился собеседовать

Reading time7 min
Views114K
image

Не желал бы я вам попасть ко мне на собеседование года два назад. Я провел их около сотни, и за все время взял может человек четырех. Не знаю почему, но эйчары считали, что это круто. Слава строгого интервьюера шла впереди меня. Знакомые звали меня собеседовать для чужих команд, и даже для чужих компаний, о которых вы слышите каждый день. И везде — не проходил никто.
Читать дальше →

«Логомашина» делает бесплатные логотипы за коммент

Reading time1 min
Views6.7K
Привет, мы — дизайн-студия Логомашина, сегодня бесплатно делаем логотипы для участников Хабра!



Что нужно, чтобы поучаствовать? Присылаете в комменты описание, название вашего проекта и логотип (если есть)

Мы рандомно выбираем проекты и делаем логотипы, готовый результат присылаем в ответ комментарию.

В конце можно будет нам написать – мы вышлем исходники сделанного логотипа.

Поможем всем, кому успеем. Логотипы начнем делать в 15:00, а кидать можно уже сейчас!

Вольный опус про найм, собеседования и трэш на рынке IT-кадров

Reading time11 min
Views96K

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

Клац

DIY автономный дрон с управлением через интернет

Reading time12 min
Views75K
image

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

Итак, задача: создание автономного БПЛА для мониторинга состояния линий электропередач (ЛЭП).

Методика разработки высоконадёжных серверов на Go

Reading time26 min
Views19K
Время от времени перед веб-программистами встают задачи, способные нагнать страху даже на профессионалов. Речь идёт о разработке серверных приложений, которые не имеют права на ошибку, о проектах, в которых стоимость сбоя чрезвычайно высока. Автор материала, перевод которого мы сегодня публикуем, расскажет о том, как подходить к решению таких задач.


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

Очень простое объяснение принципов SOLID

Reading time5 min
Views71K
Disclaimer: Всем можно, ну а я чем хуже?!

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

Попробуем разобраться в этих принципах на пальцах, без примеров кода и СМС.
Читать дальше →

Как я осилил английский

Reading time13 min
Views352K
Всем привет. Я – айтишник «за 30», и я люблю английский язык. Так получилось, что на протяжении многих лет английский никак не хотел полюбить меня. Перед вами живой пример человека с «плохой памятью», «неспособностью к языкам», богатейшим опытом неудачного изучения английского как на курсах, так и самостоятельно, упущенными из-за незнания языка шансами и возникшими на этой почве комплексами. Все, что можно было сделать в изучении иностранного языка плохо, я попытался сделать еще хуже. Не смотря на все это, перед вами история с хэппи эндом, которая, верю, поможет кому-то избежать глупых ошибок, сэкономить время, избавится от иллюзий и предрассудков по поводу изучения нового языка с около нулевого уровня.
Читать дальше →

Задачи с собеседований (front-end)

Reading time18 min
Views341K
Так получилось, что за свою карьеру front-end разработчика, я побывала на многих собеседованиях. Тема прохождения интервью не теряет своей актуальности, а в комментариях, когда речь заходит о собеседованиях, начинают ломаться копья. Хочу тоже внести свой вклад и поделиться накопившейся коллекцией вопросов. Прошу.

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

Докеризируем Socket.io, redis и php

Reading time6 min
Views27K

Для передачи данных сервером на php клиенту можно использовать следующий алгоритм:


  1. Сервер php публикует данные в канал redis.
  2. Сервер node подписывается на события в соответствующем канале redis и при
    наступлении события поступления данных публикует эти данные уже в
    socket.io
  3. Клиент подписывается на сообщения socket.io и обрабатывает их при поступлении

Исходный код проекта можно найти на github

Читать дальше →
1
23 ...

Information

Rating
Does not participate
Location
Лимассол, Government controlled area, Кипр
Date of birth
Registered
Activity

Specialization

Frontend Developer, Software Architect
Lead
From 10,000 €
JavaScript
Node.js
TypeScript
React
Redux
Webpack
Web development