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

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

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

Security Week 2329: июльский набор патчей Microsoft и 5 уязвимостей zero-day

Время на прочтение3 мин
Количество просмотров1.9K
Во вторник 11 июля компания Microsoft выпустила очередной ежемесячный набор патчей для своих продуктов. Апдейт получился крупный: всего закрыли 132 уязвимости, из них 9 критических. 4 проблемы активно эксплуатировались на момент выпуска патчей, включая одну в уже вроде бы устаревшем браузере Internet Explorer. Еще один zero-day патча не имеет, для него предложено лишь временное решение. Подробный обзор уязвимостей можно почитать в блоге «Лаборатории Касперского» и, например, у журналиста Брайана Кребса.



Патчи для Internet Explorer представляют особый интерес, так как компания Microsoft официально «похоронила» этот браузер еще в феврале. Несмотря на это, компоненты IE11 продолжают свою жизнь как в виде специализированного режима IE Mode в браузере Edge, так и в виде системных модулей. В их список входит компонент MSHTML, который может быть задействован другими приложениями; поэтому хотя официально Internet Explorer вроде как уже не используется, устанавливать для него патчи по-прежнему важно. Тем более что самая опасная уязвимость в MSHTML, CVE-2023-32046, как раз эксплуатируется в реальных атаках.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии8

Sliver во Flutter, или как работает скролл

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

Если вы уже встречались со сливерами, то наверняка оценили всю «прелесть» работы с ними. На самом деле они совсем не так трудны и ужасны.

Чтобы просто начать их использовать, как чаще всего бывает во Flutter, разбираться особо не нужно. А вот чтобы полноценно использовать их и при этом не страдать, придётся понять, как они работают. Именно этим мы и займемся. 

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

Фантасты, которых стоит почитать любителям английского юмора

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

Английский юмор — словосочетание, которое интуитивно-понятно, но объяснить его тяжело. «Википедия» утверждает, что он несет в себе сильный элемент сатиры над «абсурдностью повседневной жизни». Пожалуй, к этому определению стоит добавить иронию, самоиронию, а вместе с этим — невозмутимый тон рассказчика.

Если вам такое сочетание по душе, то вот несколько авторов фантастики и фэнтези, чьи книги невозможно себе представить без фирменного английского юмора. 

Читать далее
Всего голосов 22: ↑21 и ↓1+20
Комментарии24

Трюки CSS, которые сделают из вас ниндзя верстки

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

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


Многие свойства, о которых пойдет речь, являются экспериментальными. Большинство из них поддерживаются всеми современными браузерами, однако, если вы решите использовать какое-либо из названных свойств в продакшне, не поленитесь зайти на Can I use и уточнить поддержку (недавно сильно расстроился, обнаружив, что Safari не поддерживает атрибут loading="lazy").


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


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


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


grid + place-items


Здесь вы найдете полное визуальное руководство по Grid и Flexbox.


Данная техника позволяет выравнивать элементы по горизонтали и вертикали при помощи всего лишь двух строк кода.

Всего голосов 37: ↑35 и ↓2+33
Комментарии7

Декоративная подсветка лестницы. Часть первая. «Железная»

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

Я живу в своем доме. До недавнего времени мы всей своей большой дружной семьей ютились на первом этаже двухэтажного дома. Время шло, а этаж так и не хотел превращаться в жилой. Всегда находились другие, более важные дела. И долго бы это так тянулось (наверное), если бы супруга в один прекрасный момент не сказала – хочу свою комнату! Как нетрудно догадаться через некоторое время этаж стал оживать. И как только это произошло, встал вопрос о том, как сделать освещение лестницы. Варианты поставить проходные выключатели или подсвечивать дежурным освещением мне не понравились сразу. Слишком просто и очевидно. А как-же выпендреж? А где здесь вау-эффект?  Хотелось сделать что-то необычное. Лучше всего подходило решение сделать подсветку с помощью светодиодных лент.  Вот где свобода творчества при наличии фантазии!

Вдруг кому интересно...
Всего голосов 22: ↑21 и ↓1+20
Комментарии18

Диагностируем проблемы в микросервисной архитектуре на Node.js с помощью OpenTracing и Jaeger

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


Всем привет! В современном мире крайне важна возможность масштабировать приложение по щелчку пальцев, ведь нагрузка на приложение может сильно отличаться в разное время. Наплыв клиентов, которые решили воспользоваться вашим сервисом, может принести как большую прибыль так и убытки. Разбиение приложения на отдельные сервисы решает проблемы с масштабированием, всегда можно добавить инстансов нагруженных сервисов. Это несомненно поможет справиться с нагрузкой и сервис не упадет от нахлынувших на него клиентов. Но микросервисы вместе с неоспоримой пользой, вносят и более сложную структуру приложения, а так же запутанность в их взаимосвязях. Что если даже успешно масштабировав свой сервис, проблемы продолжаются? Время ответа растет и ошибок становится все больше? Как понять, где именно проблема? Ведь каждый запрос к API может порождать за собой цепочку вызовов разных микросервисов, получение данных из нескольких БД и сторонних API. Может это проблема с сетью, или API вашего партнера не справляется с нагрузкой, а может это кеш виноват? В этой статье я постараюсь рассказать, как ответить на эти вопросы и быстро найти точку отказа. Добро пожаловать под кат.

Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии3

Redis Best Practices, часть 1

Время на прочтение12 мин
Количество просмотров30K
В серии из нескольких статей я приведу свой адаптированный перевод раздела Redis Best Practices с официального сайта «Redis Labs».
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии6

Особенности уплаты налогов самозанятыми IT-фрилансерами

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

Решил попробовать новый налоговый режим и озадачился порядком расчета и уплаты налогов при работе через фриланс биржу:


  • Кто будет являться моим контрагентом — биржа или заказчик (4% или 6% налог соответственно)?
  • Налоговой базой является сумма, полученная биржей от заказчика, или полученная мной от биржи?
  • Облагается ли налогом комиссия биржи за вывод денежных средств?
  • Что является датой получения дохода — дата зачисления на баланс аккаунта фриланс биржи или дата вывода? (При получении дохода в иностранной валюте нужно посчитать рублевый эквивалент по курсу ЦБ на день получения)
  • Можно ли выводить деньги по итогам месяца или нужно выводить по каждой сделке отдельной транзакцией?

Так как беглое гугление результатов не дало, ваш покорный слуга обратился с вышеуказанными вопросами в ФНС (Федеральная налоговая служба). И так: если вам как и мне хочется сразу начать платить налоги правильно — добро пожаловать под кат.

Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии93

Короткая шпаргалка по блокировкам при чтении и изменении данных в зависимости от уровня изоляции транзакции в MSSQL

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

  • если в одной транзакции поменять данные — селект этих данных (в другой транзакции или без транзакции) не будут ждать окончания первой транзакции и вернут записанные данные незакомиченных транзакций
  • если в одной транзакции считать данные — апдейты этих данных в другой транзакции не будут ждать окончания первой транзакции
  • шаред локи не используются. Что аналогично установке NOLOCK хинта во все селекты в Read Commited
  • эксклюзивные локировки устанавливаются в процессе выполнения стейтмента и снимаются по окончанию транзакции


Read Committed + read_committed_snapshot off

(alter database xxx set read_committed_snapshot off)

  • если в одной транзакции поменять данные — селект этих данных (в другой транзакции или без транзакции) будут ждать окончания первой транзакции. Селект с NOLOCK хинтом вернёт изменённые, но не закомиченные данные.
  • если в одной транзакции считать данные — апдейты этих данных в другой транзакции не будут ждать окончания первой транзакции
  • шаред локировки устанавливаются в процессе работы стейтмента и снимаются по окончанию стейтмента
  • эксклюзивные локировки устанавливаются в процессе выполнения стейтмента и снимаются по окончанию транзакции


Дальше
Всего голосов 19: ↑19 и ↓0+19
Комментарии26

Что ты такое, замыкания в JavaScript?

Время на прочтение4 мин
Количество просмотров27K
В этой статье я постараюсь подробно разобрать механизм реализации замыканий в JavaScript. Для этого я буду использовать браузер Chrome.

Начнем с определения:
Замыкания  - это функции, ссылающиеся на независимые (свободные) переменные. Другими словами, функция, определённая в замыкании, 'запоминает' окружение, в котором она была создана.
MDN

Если вам что-то не понятно в этом определении, это не страшно. Просто читайте дальше.

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

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

Итак, приступим:


Рисунок 1
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии11

Лучшие практики Node.js — советы по структуре проектов

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

Привет, Хабр! Представляю вашему вниманию адаптированный перевод первой главы "Node.js Best Practices" автора Yoni Goldberg. Подборка рекомендаций по Node.js размещена на github, имеет почти 30 т. звезд, но до сих пор никак не упоминалась на Хабре. Предполагаю, что эта информация будет полезна, как минимум, для новичков.
Глава 1. Советы по структуре проектов
Всего голосов 38: ↑32 и ↓6+26
Комментарии6

Лазерная коррекция зрения — так ли эффективен метод Smile на самом деле?

Время на прочтение5 мин
Количество просмотров82K
Мои исходные данные: небольшая близорукость, -1 диоптрия, но всего лишь 20% остроты — видел только две строчки. Очки или линзы мне были неудобны, поэтому я решил сделать операцию. Выбор сводился всего к двум типам — Femto lasik или Smile.

Фемто — проверенный и надежный метод, а про Smile я узнал по статьям хабре от клиники Шиловой. Однако, когда я начал копать дальше, то понял, что у метода Smile есть один серьезный недостаток — человеческий фактор.

2 года назад я сделал операцию femto lasik и до сих пор ей доволен — сразу после операции мое зрение имело 120% остроты, а сейчас находится в районе 100%. Мои друзья и знакомые интересуются и спрашивают, стоит ли им делать Smile. Я немного устал объяснять всем одно и то же, поэтому и решил написать статью на хабре, в которую собрал всю информацию, которую смог найти.
Читать дальше →
Всего голосов 79: ↑73 и ↓6+67
Комментарии190

Асинхронное программирование (полный курс)

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

Методы асинхронного программирования


Асинхронное программирование за последнее время стало не менее развитым направлением, чем классическое параллельное программирование, а в мире JavaScript, как в браузерах, так и в Node.js, понимание его приемов заняло одно из центральных мест в формировании мировоззрения разработчиков. Предлагаю вашему вниманию целостный и наиболее полный курс с объяснением всех широко распространенных методов асинхронного программирования, адаптеров между ними и вспомогательных проемов. Сейчас он состоит из 23 лекций, 3 докладов и 28 репозиториев с множеством примеров кода на github. Всего около 17 часов видео: ссылка на плейлист.

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

Децентрализованный мессенджер и телефонная сеть нового поколения

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


Каждый раз, когда появляется статья про какой-нибудь новый мессенджер, большинство пользователей Хабра в комментариях интересуются — централизованный или децентрализованный IM?

Если нет — то тогда — «все, ребята, расходимся».

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

Давайте тогда в качестве подводки и вступления к основной идее статьи рассмотрим, каким был Skype в его золотые годы, до покупки Microsoft.
Читать дальше →
Всего голосов 20: ↑15 и ↓5+10
Комментарии238

Пишем свой протокол поверх UDP

Время на прочтение24 мин
Количество просмотров41K
Первые прямые трансляции с места событий появились в России почти 70 лет назад и вели их из передвижной телевизионной станции (ПТС), которая внешне походила на «троллейбус» и позволяла вести эфиры не из студии. А всего лишь три года назад Periscope позволил вместо «троллейбуса» использовать мобильный телефон.

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


Еще через полгода, летом 2016, Одноклассники запустили свое мобильное приложение OK Live для стриминга, в котором постарались решить эти проблемы.

Александр Тоболь отвечает за техническую часть видео в Одноклассниках и на Highload++ 2017 рассказал про то, как писать свой UDP протокол, и зачем это может потребоваться.

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


Говорят, что надо всегда начинать с архитектуры и ТЗ — якобы без этого нельзя! Так и сделаем.
Всего голосов 55: ↑53 и ↓2+51
Комментарии44

Hyper-V или KVM?

Время на прочтение11 мин
Количество просмотров106K
Технология виртуализации серверов со своей более чем тридцатилетней историей сегодня стала одной из ключевых в ИТ, легла в основу облачных вычислений и сервисов нового поколения. Компании, выбирающие платформу для VPS или внедрения виртуализации в своей ИТ-инфраструктуре, наряду с продуктами VMware рассматривают в качестве альтернативы решения на основе других гипервизоров, прежде всего Microsoft Hyper-V и разработанного в рамках Open Source гипервизора KVM.

Разнообразие средств виртуализации заставляет задуматься: что именно выбрать? Это может оказаться непростой задачей. Например, сторонники Xen считают ее надежной и гибкой платформой с хорошим набором инструментов управления. Любители Hyper-V и KVM приведут весомые аргументы в пользу этих решений и перечислят их достоинства.


Читать дальше →
Всего голосов 49: ↑30 и ↓19+11
Комментарии43

Dive into Ethereum

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

Сегодня платформа Ethereum стала одним из самых узнаваемых брендов блокчейн сферы, вплотную приблизившись по популярности (и капитализации) к Bitcoin. Но из-за отсутствия "полноценного" рускоязычного гайда, отечественные разработчики все еще не очень понимают, что это за зверь и как с ним работать. Поэтому в данной статье я попытался максимально подробно охватить все аспекты разработки умных контрактов под Ethereum.


Я расскажу про инструменты разработки, сам ЯП, процесс добавления UI и еще много интересного. В конечном итоге мы получим обычный сайт-визитку, но "под капотом" он будет работать на умных контрактах Ethereum. Кого заинтересовало — прошу под кат.


preview


Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии12

Книга «Теоретический минимум по Computer Science. Все что нужно программисту и разработчику»

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


Хватит тратить время на скучные академические фолианты! Изучение Computer Science может быть веселым и увлекательным занятием.

Владстон Феррейра Фило знакомит нас с вычислительным мышлением, позволяющим решать любые сложные задачи. Научиться писать код просто — пара недель на курсах, и вы «программист», но чтобы стать профи, который будет востребован всегда и везде, нужны фундаментальные знания. Здесь вы найдете только самую важную информацию, которая необходима каждому разработчику и программисту каждый день.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии24

Go: Хороший, плохой, злой

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

У Go есть некоторые замечательные свойства, которым посвящён раздел «Хороший». Но когда речь заходит о применении этого языка не для создания API или сетевых серверов (для чего он и был разработан), а для реализации бизнес-логики, то я считаю Gо слишком неуклюжим и неудобным. Хотя даже в рамках сетевого программирования найдётся немало подводных камней как в архитектуре языка, так и в реализации, что делает Go опасным, несмотря на его кажущуюся простоту.

Читать дальше →
Всего голосов 113: ↑109 и ↓4+105
Комментарии190

Эпизод 0. Hack vs Mac. Xcode build time

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

Следующий эпизод Стоимость хака

Эта статья начинает собой цикл из нескольких об использовании Hackintosh в повседневной работе и особенно с IDE Xcode 9 и будет больше интересна разработчикам под языки objc/swift. 
С другой стороны, мой первый хак был собран, когда я не был знаком с этими языками и может пригодиться даже тем, кто не является разработчиком, но по тем или иным причинам хочет попробовать Mac OS. 
В то время у меня был достаточно мощный рабочий ноутбук Sony и большое желание начать программировать под iOS. Но я не был готов потратить определенную сумму денег на Mac не зная пригодиться он мне в конечном итоге или нет.

Поэтому было принято решение собрать Hackintosh, который в итоге позволил мне войти в мир разработки приложений под устройства компании Apple. В первой статье я хочу уделить внимание времени сборки проектов в среде Xcode. Разработчики прекрасно знают на сколько уменьшилась скорость и увеличилось время сборки проектов с выходом 9 версии этого IDE, особенно на языке swift или микса из objc/swift. Ускорить время компиляции можно, во-первых, настроив различные флаги и скрипты, во-вторых, с помощью рефакторинга непосредственно кодовой базы.

Но в этом эпизоде будет уделено внимание третье составляющей инструментов разработки, а именно «железу».
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии24
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность