Pull to refresh
28
0
xexsus @xexsus

User

Send message

Нативный способ покрасить SVG-иконки

Reading time 2 min
Views 23K
Когда вам нужна возможность менять цвет иконок через CSS, что вы делаете? Вариантов не так много.

Обычно используются либо шрифты иконок, либо исходный код SVG скачивается и вставляется в HTML вручную. Шрифт нужно оптимизировать, иначе пользователь загрузит разом все иконки без надобности. Работа с исходным кодом требует тяжелых DOM-операций и потенциально опасна.

Чтобы защититься от вредоносного кода SVG нужно «почистить». Встроенный в Angular санитайзер, к примеру, не работает с SVG и превращает их в пустую строку. Можно воспользоваться проверенным инструментом DOMPurify и подключить его с помощью нашей библиотеки ng-dompurify, о чем я подробно рассказывал.

Давайте посмотрим на еще один способ, доступный в современных браузерах, — тэг USE.


Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Comments 22

Ведется массовая атака криптором Wana decrypt0r 2.0

Reading time 7 min
Views 230K

В настоящий момент можно наблюдать масштабную атаку трояном-декриптором "Wana decrypt0r 2.0"
Атака наблюдается в разных сетях совершенно никак не связанных между ссобой.



A ransomware spreading in the lab at the university (отсюда)


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


Читать дальше →
Total votes 99: ↑97 and ↓2 +95
Comments 856

Readme Driven Development

Reading time 2 min
Views 9.3K
RDD — это крайне простая практика. И здесь «DD» может означать «минута на освоение и вся жизнь для мастерства». Но, к счастью, не в этом случае.

Пишите Readme в первую очередь. Вот в принципе и все. Но почему?

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

У каждого есть своя точка зрения о том какие инструменты, практики и процессы способствуют улучшению программного обеспечения. В конце дня ваша программа по-прежнему должна работать. Это легко забыть, если слишком сильно сосредоточиться на том, чтобы закончить её или использовать все красивые решения.

Работа программы это не только о её код. Если никто не может использовать программу, потому что не знает как, то не важно содержит ли она кучу ошибок или не содержит ни одной.
Читать дальше →
Total votes 35: ↑27 and ↓8 +19
Comments 9

Маленькие секреты большой экономии

Reading time 7 min
Views 27K

Почему 16 байт достаточно для сохранения игры, и другие мелочи


Пятьдесят и сто лет спустя у программистов будут всё те же проблемы: им будет очень сильно не хватать объёма доступной памяти для реализации всего, что хочется.

25 лет назад игровые картриджи содержали 64—128 килобайтов памяти, но каким-то образом этого объёма хватало, чтобы уместить игру на десятки часов геймплея. Сегодня 128 килобайт — это размер маленькой JPEG-картинки, а о том, что доступно в современном бытовом компьютере, в эпоху Super Mario Bros. даже не приходилось мечтать.

Там были и музыка, и звуки, и неплохая по тем временам графика. Да, некоторое можно было делать с помощью того, что уже было в игровой приставке или компьютере, но в основном приходилось идти на различные ухищрения, чтобы уместить в эти скромные возможности огромное количество звуков, музыки, анимации, изображений и игровых алгоритмов. Как же это удавалось разработчикам тех лет?
Читать дальше →
Total votes 54: ↑52 and ↓2 +50
Comments 22

Как писать тестируемый код

Reading time 17 min
Views 87K
image


Если вы программист (или чего хуже архитектор), то можете ли вы ответить на такой простой вопрос: как писать НЕ тестируемый код? Призадумались? Если с трудом можете назвать хотя бы 3 способа добиться не тестируемого кода, то статья для вас.

Многие скажут: а зачем мне знать, как писать не тестируемый код, плохому хочешь меня научить? Отвечаю: если знать типичные паттерны не тестируемого кода, то, если они есть, можно легко увидеть их в своем проекте. А, как известно, признание проблемы — уже половина пути к лечению. Также в статье дается ответ, как собственно осуществляется такое лечение. Прошу под кат.
Читать дальше →
Total votes 72: ↑63 and ↓9 +54
Comments 77

Использование Remote API в робосимуляторе V-REP

Reading time 8 min
Views 24K


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

Причиной создания данного руководства стало отсутствие (на то время) знаний языка Lua, на котором по умолчанию написаны все скрипты управления роботом, и его меньшая популярность. Цель данного руководства показать как пользоваться удалённым (Remote) API данной среды на примере языка Python.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 2

Последняя пятницо на планете

Reading time 1 min
Views 644
С двух мест мне уже прислали в аське ссылку на это видео. Делюсь с хабравчанами.
Галактеко в опасносте!
Варнинг: ненорматив инсайд.



Дополнительные ссылки:
Обратный отсчет до конца света
подробно о коллайдерах

Как мы все умрем?
Total votes 126: ↑77 and ↓49 +28
Comments 123

Азбука хорошего разработчика. Книжки для чтения

Reading time 2 min
Views 3.4K
Часто разработчиков нужно направить, поскольку они не имеют понятия о том, что им нужно изучить для повышения своего уровня. В этой заметке я опишу источники знаний, в моем понимании, необходимые для этой цели. Пишу в порядке, в котором я их предлагаю читать.

Паттерны проектирования

Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
Базовая книга – классика:
«Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.

Рефакторинг

«Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
Читать дальше →
Total votes 73: ↑72 and ↓1 +71
Comments 66

Хочется плакать от российских сайтов недвижимости

Reading time 3 min
Views 43K
Несколько лет назад уехал из России, а родители остались в Питере. Сейчас перед ними встал квартирный вопрос, меняются. Взялся им помочь, полез на сайты по недвижимости, офигел. Офигел от цен, это само собой. Но еще офигел от самих сайтов. После 2005 время на них будто застыло.

Целей у моей писанины две: открыть для себя нормальный сайт по питерской недвижимости — вдруг такой есть. Это главное. И вторая цель — иногда сидишь на жопе, и вроде все ок… до тех пор, пока со стороны не ткнут носом в твое «дело». Так вот, товарищи, которые занимаются bn, bkn, bsn, eip, emls, itakа, — эти вот «интернет проекты» — это не нормально, это даже не позавчера.

Вот как надо. Хотя бы.
Total votes 131: ↑109 and ↓22 +87
Comments 119

Готовимся к ядерной войне

Reading time 3 min
Views 11K
image

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

Вырыть бункер, установить туда системы очистки воздуха, запастись едой и водой…
Но дьявол, как известно, в мелочах.
Читать дальше →
Total votes 172: ↑149 and ↓23 +126
Comments 104

Офис компании Boomburum

Reading time 19 min
Views 410K
image

Осторожно, трафик! Но можно хотя бы посмотреть картинки )

   Идея создать дома свой «рабочий кабинет» у меня зрела давно – как-то сам дошел до осознания его необходимости, хотя немалый вклад в начинания сделал этот давний пост на Хабре. У меня было своё рабочее место – большой удобный стол, где помещалось практически всё и даже больше… но, по сути, он был проходным двором – все время кто-то ходил, был рядом, отвлекал… такое очень часто мешает сосредоточиться и начать работать. Иногда, бывает, сидишь весь вечер за компом и понимаешь, что абсолютно ничего не сделал, хотя родным заявил «так, мне надо поработать».
Читать дальше →
Total votes 738: ↑625 and ↓113 +512
Comments 437

Эпическое письмо Билла Гейтса о юзабилити Windows

Reading time 4 min
Views 64K
Вас раздражает юзабилити Windows XP? Это вы ещё не слышали Билла Гейтса. В опубликованной внутренней переписке Microsoft есть одно фантастическое письмо Билла Гейтса, которое невозможно не процитировать. Оно датировано 15-м января 2003-го года, но некоторые вещи до сих пор не утратили свою актуальность. Вообще, письмо скорее похоже на злобный постинг в блоге какого-нибудь ненавистника Windows, а не на сообщение отца-основателя Microsoft.

From: Bill Gates
Sent: Wednesday, January 15, 2003 10:05 AM
To: Jim Allchin
Cc: Chris Jones (WINDOWS); Bharat Shah (NT); Joe Peterson; Will Poole; Brian Valentine; Anoop Gupta (RESEARCH)
Subject: Windows Usability Systematic degradation flame

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

Позвольте мне рассказать о своём собственном вчерашнем опыте. Я решил скачать Moviemaker и купить пакет Digital Plus… так что я пошёл на сайт Microsoft.com. Там есть раздел загрузки софта, и я направился туда.

С пяти раз мне вообще не удалось открыть страницу загрузки из-за тайм-аутов. С шестого раза, после восьмисекундной задержки, она всё-таки загрузилась. Сайт так тормозит, что им невозможно пользоваться.
Читать дальше →
Total votes 179: ↑167 and ↓12 +155
Comments 278

30 советов, как эффективно трудиться и не сойти с ума, работая дома

Reading time 5 min
Views 16K
Тем, кому знакомы прелести работы дома (на себя, фрилансером или удаленно на ставку), также знаком соблазн поваляться на диване и затягивание сроков.

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

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

Так как же работать эффективно и в то же время не довести себя до нервного истощения? Я недавно уволился с постоянной работы и поэтому спросил совета у читателей своего блога. Они, как и всегда, откликнулись на мою просьбу, и я отобрал наиболее понравившиеся мне рекомендации, чтобы люди могли использовать их как руководство (ну, я тоже собираюсь руководствоваться этими советами).
Читать дальше →
Total votes 125: ↑123 and ↓2 +121
Comments 198

Abuse Team заблокировала блог Артемия Лебедева

Reading time 1 min
Views 4.9K
В прошлую субботу Тема выложил в ЖЖ первые присланные смелыми ЖЖистками фотографии обнаженной груди. Одной из двух фотографий была эта:


Некто val petruchek захотел поэкспериментировать с Abuse Team и закрыть какой-нибудь известный блог. Увидев в темином ЖЖ вышеуказанное фото, экспериментатор отправил жалобу на детское порно, обосновав ее тем, что девушка на фото — несовершеннолетняя, и таки-добился своего.
Thank you for your report. We have taken appropriate action in this matter.

Regards,
Eric
LiveJournal Abuse Prevention Team
Total votes 182: ↑152 and ↓30 +122
Comments 369

Офис SUP глазами провинциальных дизайнеров

Reading time 2 min
Views 3.5K
Случилось так, что небольшая делегация дизайнеров нашей скромной иконочной компании оказалась с дружеским визитом в самом сердце LiveJournal, в офисе компании SUP, который находится в Москве на самом верху Смоленского пассажа.

Офис SUP

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

Читать дальше →
Total votes 80: ↑77 and ↓3 +74
Comments 115

The Scene — настоящий андеграунд Интернета

Reading time 8 min
Views 33K


Все мы привыкли считать, что в Интернете найти можно все. «Где бы почитать новости? — Зайди на lenta.ru», «Где достать программу для распознавания текста? — А-а, тебе нужен Finereader, слей из инета», «Где бы достать свежий фильм? — Зарегистрируйся в торрентах и качай». Пребывая в гуще сети никто из нас уже не задумывается над тем, откуда все это берется. В самом деле, почему свежевышедшая игра уже доступна в интернете и работает без установочного диска, хотя разработчики защитили свой продукт последней версией StarForce? Каким образом на горбушке продают DVD, если фильм только сегодня выходит в США? Все это покрыто тайной для обычного обывателя, а в СМИ общеупотребимым стало абстрактное слово «пиратство».
Читать дальше →
Total votes 170: ↑164 and ↓6 +158
Comments 108

69 признаков того, что не вы трахаете проект, а он вас

Reading time 4 min
Views 1.9K
1. Ваша компания начала нанимать консультантов, чтобы было кого во всем обвинять
2. Ваш сервер для нагрузочного тестирования упал с ошибкой «Все, б$%, я больше не могу!»
3. Ваша системы контроля версий — это набор папок «revision 1», " revision 2",: «revision 465» и т. д. на сетевом диске
4. Ваше ТЗ состоит из трех страниц, написанных за 2 часа перед обеденным перерывом.
5. Вы стали подыскивать новую работу, потому что не хотите поддерживать код, который сейчас пишете.
6. Первая фраза на любом совещании «Есть хорошие новости, есть плохие. С каких начнем?»
7. Прогресс вашего проекта теперь измеряется числом исправленных багов, а не числом реализованных фич.
8. Вы подружились с уборщицей
Читать дальше →
Total votes 74: ↑64 and ↓10 +54
Comments 52

Пираты Силиконовой долины

Reading time 2 min
Views 11K
Новостью это не назвать. Фильм «Пираты Силиконовой долины» вышел уже давно. Между тем, наверняка на Хабре есть много людей, которые этот фильм не смотрели.
Читать дальше →
Total votes 72: ↑66 and ↓6 +60
Comments 73

Готовим пользовательское соглашение своими руками

Reading time 8 min
Views 73K
Пользовательское соглашение или как его еще принято называть Соглашение об использовании сервиса, является ключевым документом, на котором строится юридическая защита интернет-сервиса.

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

Особую актуальность вопросы защиты интернет-сервиса приобретают в связи с принятием так называемого «антипиратского закона», которым возлагается ответственность на информационного посредника за размещение или предоставление доступа к материалам, нарушающим интеллектуальные права третьих лиц. Закон вступает в силу с 01 августа 2013 г., в связи с чем пользовательские соглашения и схему взаимодействия с пользователем необходимо привести в соответствие с ужесточившимися требованиями.
Читать дальше →
Total votes 58: ↑55 and ↓3 +52
Comments 17

Information

Rating
Does not participate
Registered
Activity