Как стать автором
Обновить
2
0

Пользователь

Отправить сообщение

React Server-Side Rendering (SSR) — руководство новичка

Время на прочтение24 мин
Количество просмотров95K

В этом уроке мы поговорим о серверном рендеринге (SSR), его преимуществах и подводных камнях. Затем мы создадим мини React проект и express сервер (Node.js), чтобы продемонстрировать, как можно достичь SSR.

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии3

Структура объекта в JavaScript движках

Время на прочтение23 мин
Количество просмотров6.5K

С точки зрения разработчика, объекты в JavaScript довольно гибкие и понятные. Мы можем добавлять, удалять и изменять свойства объекта по своему усмотрению. Однако мало кто задумывается о том, как объекты хранятся в памяти и обрабатываются JS-движками. Могут ли действия разработчика, прямо или косвенно, оказать влияние на производительность и потребление памяти? Попробуем разобраться во всем этом в этой статье.

Читать далее
Всего голосов 30: ↑30.5 и ↓-0.5+31
Комментарии1

11 советов, как говорить по-английски свободно и уверенно, чтобы преодолеть языковой барьер

Время на прочтение5 мин
Количество просмотров37K

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

Что же нам поможет заговорить на английском?

Читать далее
Всего голосов 17: ↑14 и ↓3+11
Комментарии6

12 концепций JavaScript, о которых нужно знать

Время на прочтение11 мин
Количество просмотров68K
JavaScript — это сложный язык. Если вы, на любом уровне, занимаетесь JavaScript-разработкой, это значит, что вам жизненно необходимо понимать базовые концепции этого языка. В материале, перевод которого мы сегодня публикуем, рассмотрены 12 важнейших концепций JavaScript. Конечно, JavaScript-разработчику нужно знать гораздо больше, но без того, о чём мы будем сегодня говорить, ему точно не обойтись.


Читать дальше →
Всего голосов 65: ↑48 и ↓17+31
Комментарии61

Piter GraphQL: видеозаписи с митапа в Wrike

Время на прочтение1 мин
Количество просмотров4.6K


24 января в офисе Wrike прошел первый в Петербурге митап по GraphQL. Чтобы разобраться в жизнеспособности хайповой технологии мы, во-первых, суммировали результаты своих исследований в этой теме, во-вторых, позвали в гости Павла Черторогова, опенсорс-мейнтейнера, который с конца 2015 года разрабатывает изоморфные приложения. Летом 2016 Павел начал разработку graphql-compose в опенсорсе.

Для тех, кто не смог прийти, мы публикуем видеозаписи докладов.
Смотреть
Всего голосов 22: ↑21 и ↓1+20
Комментарии3

ReactJS для глупых людей

Время на прочтение5 мин
Количество просмотров484K
Пытаясь разобраться с библиотекой от Facebook ReactJS и продвигаемой той же компанией архитектурой «Flux», наткнулся на просторах интернета на две занимательные статьи: «ReactJS For Stupid People» и «Flux For Stupid People». Решил поделиться с хабравчанами переводом первой (а чуть позже и второй) статьи. Итак, поехали.

ReactJS для глупых людей


TL;DR В течении долгого времени я пытался понять, что такое React и как он вписывается в структуру приложения. Это статья, которой мне в свое время не хватало.

Что такое React?


Чем отличается React от Angular, Ember, Backbone и других? Как управлять данными? Как взаимодействовать с сервером? Что, черт возьми, такое JSX? Что такое «component»?

СТОП.

Остановитесь прямо сейчас.

React — это ТОЛЬКО УРОВЕНЬ ПРЕДСТАВЛЕНИЯ.
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии17

6 новых возможностей CSS, которые должен знать каждый front-end разработчик в 2023 году

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров25K

Мощные и стабильные CSS фичи, которые вы можете использовать уже сегодня.

Я считаю, что каждый front-end разработчик должен знать, как использовать container query, создавать привязку к прокрутке, избегать position: absolute с помощью grid, быстро создавать круг, использовать каскадные слои и достигать большего с помощью логических свойств. Эта статья — описание каждой из 6 новых возможностей CSS.

Читать далее
Всего голосов 19: ↑12 и ↓7+5
Комментарии6

Почему MVx архитектуры всегда получаются плохо

Время на прочтение7 мин
Количество просмотров18K

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

Я познакомился с понятием “архитектурные паттерны” и MVC в частности еще в 2012, и с тех пор заболел идеей архитектур программного обеспечения. Я восхищался людьми, которые пишут архитектурные фреймворки. Я тратил дни и недели читая их исходники и просматривая видео на YouTube. Но чем больше я в это погружался, тем больше я чувствовал себя в состоянии, которое я называю “начинающий иллюзионист”: пока смотришь на фокусы - это магия, но когда начинаешь их делать, то они становятся банальными.

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

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

В своих скитаниях я нашел кое-что не менее интересное: причину почему MVx всегда получается плохо. И вот об этом и пойдет речь сегодня.

Читать далее
Всего голосов 48: ↑44 и ↓4+40
Комментарии18

Как поздравить программиста с днем рождения?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.5K

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

Частичный выходной

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

Читать далее
Всего голосов 15: ↑8 и ↓7+1
Комментарии8

Введение в Redux & React-redux

Время на прочтение11 мин
Количество просмотров276K
image

Оглавление


Введение
1. Установка и начало работы
2. Redux
....2.1 createStore
....2.2 reducer()
....2.3 dispatch()
....2.4 actionCreator()
....2.5 Actions
....2.6 getState()
....2.7 subscribe()
....2.8 combineReducers()
....2.9 initialState
3. React-redux
....3.1 Provider
....3.2 mapStateToProps()
....3.3 mapDispatchToProps()
....3.4 connect()

Введение


Вот вы прочитали мою статью про React (если нет, то настоятельно рекомендую вам сделать это) и начали разрабатывать приложения на нём. Но что это? Вы замечаете, как с расширением вашего приложения становится всё сложнее следить за текущим состоянием, сложно следить за тем, когда и какие компоненты рендарятся, когда они не рендарятся и почему они не рендарятся, сложно следить за потоком изменяющихся данных. Для этого и есть библиотека Redux. Сам React хоть и лёгкий, но для комфортной разработки на нем нужно много чего изучить.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии28

Несложные оптические трюки со смартфоном: голограмма и проектор

Время на прочтение9 мин
Количество просмотров63K

Для начала, рассмотрим два забавных DIY-трюка с использованием смартфона. Для них не требуется почти никаких дополнительных компонентов, а те, что есть, стоят недорого. Всё работает, голограмма парит в воздухе, проектор выводит изображение, в приемлемом качестве. Работа предстоит с бумагой, ножницами, клеем.

В качестве руководства будем использовать видеолекции курса «Galaxy Upcycling – новая жизнь старого смартфона» который можно посмотреть на YouTube канале «IT ШКОЛЫ Samsung». Курс подготовлен российским Исследовательским центром Samsung (Samsung Research Russia) сотрудником которого я являюсь. При создании курса было решено двигаться в сторону образования и экспериментов. Основу курса составляют практико-ориентированные занятия с обучающими примерами, объясняющими, как превратить старый гаджет на платформе Android в новое устройство: мини-проектор, часы, умную гирлянду и т.д.

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

Поехали!

Читать далее
Всего голосов 37: ↑36 и ↓1+35
Комментарии15

Сканер установленных перехватчиков в памяти процесса

Время на прочтение98 мин
Количество просмотров9.4K


В статье будет рассмотрен один из методов поиска изменений в памяти процесса, на основе построения полной карты уязвимых к перехвату адресов. Рассмотрена работа со списками загрузчика, ручным разбором таблиц импорта/отложенного импорта/экспорта/TLS загруженных файлов, c обработкой форварда функций и ApiSet редиректов.
Будет показана методика доступа в 64 битное адресное пространство чужого процесса из 32 битного кода через статически сформированный ассемблерный шлюз, так и подход с применением автоматически генерируемого гейта.
Будет дано много комментариев «почему» применяется тот или иной подход, а также описание различных проблемных ситуаций, основанных в том числе как на собственном опыте, так и на разборе кода системного загрузчика, поэтому будет интересна и подготовленным специалистам.
Читать дальше →
Всего голосов 54: ↑54 и ↓0+54
Комментарии24

Делай нейминг как сеньор

Время на прочтение13 мин
Количество просмотров114K

Это объект Pizza, там хранится инфа о латте, а заказали его в Restaurant или в Pizzeria? Неудобно? Максимально. Мы читаем код существенно больше, чем пишем. И хочется сразу понимать, что происходит, не играя в квесты «что имел в виду автор», «да как это работает» и «я снова ничего не понял». Без навыка давать хороший нейминг невозможно писать качественный и поддерживаемый код. Про нейминг говорят заодно, в рамках архитектуры и общих инженерных практик. В статье поговорим про него отдельно.

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

Читать далее
Всего голосов 186: ↑184 и ↓2+182
Комментарии221

Хабр Эксперты: IT-менторство на Хабр Карьере

Время на прочтение4 мин
Количество просмотров24K

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

Мы поняли, что в такое время нужно помогать друг другу, и вспомнили, что в IT есть классный инструмент — менторство, который иногда работает даже эффективнее, чем обучение на курсах. Мы протестировали его еще в прошлом году: пригласили несколько специалистов и соединили тех, кому нужен совет, с теми, кто может его дать. Дальше посмотрели на спрос и результат и поняли: да, это нужно. 

Так появился сервис Хабр Эксперты — платформа для менти и менторов в IT, которая, мы надеемся, будет помогать учиться и учить всем, кто этого захочет. Рассказываем, что придумали в первой версии.

Читать далее
Всего голосов 45: ↑45 и ↓0+45
Комментарии15

Воспитай свой второй мозг. Увеличь продуктивность

Время на прочтение9 мин
Количество просмотров71K

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

Хотели бы вы иметь второй мозг? Мозг, способный запомнить всё. Мозг, в котором содержится вся полезная информация из книг, статей, видео, полученная вами?

Звучит прекрасно, не так ли? Может, когда‑то и казалось сказками, однако не сейчас.

Хочу всё знать!
Всего голосов 70: ↑63 и ↓7+56
Комментарии111

5 вещей, которым я научился за 20 лет программирования

Время на прочтение10 мин
Количество просмотров69K

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

Эрик Дитрих* около 10 лет провел на должностях, где его основной функцией было написание кода. Еще 10 лет были связаны с управлением программистами, их обучением, консультированием организаций, практикой оценки кодовой базы, а в наши дни и контент-маркетингом. Но во всех этих ролях он в той или иной степени писал код. И, по своим расчетам, прошел больший путь, чем 94% работающих в отрасли. Получается некое противопоставление: программист со стажем, который общается с кучей новичков в программировании.

Специально для своего блога Эрик попытался обобщить весь свой опыт в виде кратких советов, которые он хотел бы дать молодым программистам. Под катом — наиболее важные, на взгляд автора, уроки и выводы из его 20-летней карьеры.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Всего голосов 91: ↑83 и ↓8+75
Комментарии111

Почему нельзя установить размер шрифта у посещенной ссылки

Время на прочтение2 мин
Количество просмотров21K
Привет, Хабр! Представляю Вашему вниманию перевод статьи «Why can’t I set the font size of a visited link?» автора Jim Fisher.



Посещенные ссылки отображаются фиолетовым; не посещенные — голубым. Это различие пришло к нам с времен появления веба. Но CSS позволяет нам перенастроить эти свойства с помощью псевдо-селектора :visited! Скажем, вы хотите сделать посещенные ссылки серыми и уменьшить их размер, для того чтобы показать пользователю что эта ссылка уже была посещена.
Всего голосов 81: ↑80 и ↓1+79
Комментарии28

Как поколение Y превратилось в поколение выгоревших?

Время на прочтение5 мин
Количество просмотров107K
Почему мы выгораем и даже не подозреваем об этом? Краткий перевод статьи Анн Хелен Петерсен, репортера BuzzFeed News.


Читать дальше →
Всего голосов 90: ↑79 и ↓11+68
Комментарии1297

API для сайта, хватит изобретать велосипед!

Время на прочтение2 мин
Количество просмотров36K
Поступила задача – создать API для сайта scribbler.ru, которое позволило бы сторонним разработчикам работать с ресурсами сайта, писать приложения как внутри, в виде swf файла, так и находящиеся вне сайта, допустим десктопное приложение, которое может получать/отправлять почту пользователям сайта.

Всем известно, что популярные российские проекты (vkontakte.ru, mail.ru и какие-либо другие) имеют свой API. Для примера я начал было их осваивать и смотреть, как же они реализованы, и знаете что, каждый сайт пишет API так, как ему вздумается (как разработчики считают правильным), т.е. API mail.ru и vkontakte.ru сильно разнятся в своих архитектурах, грубо говоря они не схожи, что, я думаю, усложняет жизнь разработчикам, сперва пишем свои классы, работающие с API, под vkontake, потом пишем свои классы под mail.ru и т.д.

Возник вопрос: «А как же решили эту задачу «забугорные» сайты?»
Читать дальше →
Всего голосов 94: ↑66 и ↓28+38
Комментарии58

Принципы построения REST JSON API

Время на прочтение8 мин
Количество просмотров336K

Эта памятка писалась для внутренних нужд (открыть глаза менее опытным в вебе коллегам). Но, т.к. я насмотрелся велосипедов от довольно уважаемых, казалось бы, контор, — выкладываю на хабр. Мне кажется, многим будет полезно.


Зачем


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


  • Стандарт HTTP это стандарт. Его несоблюдение вредно для кармы и ведёт к постоянным проблемам с безопасностью, кэшированием и прочими "закидонами" браузеров, которые совсем не закидоны, а просто следование стандарту.
  • Велосипеды со всякими {error: "message","result":...} невозможно нормально тестировать и отлаживать
  • Поддержка большим количеством готовых клиентских библиотек на все случаи жизни. Те, кто будет вашим api пользоваться, скажут большое человеческое спасибо.
  • Поддержка автоматизированного интеграционного тестирования. Когда сервер на любые запросы отдаёт 200 ОК — ну, это такое себе развлечение.
Читать дальше →
Всего голосов 71: ↑55 и ↓16+39
Комментарии207
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирована
Активность

Специализация

Frontend Developer
Middle
JavaScript
React
Redux
Web development
HTML
CSS
TypeScript