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

CEO

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

300 потрясающих бесплатных сервисов

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


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Всего голосов 341: ↑325 и ↓16+309
Комментарии107

Размыкаем замыкания и внедряем Dependency Injection в JavaScript

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

image


В этой статье мы рассмотрим, как писать чистый, легко тестируемый код в функциональном стиле, используя паттерн программирования Dependency Injection. Бонусом идет 100% юнит-тест coverage.

Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии19

Надёжный JavaScript: в погоне за мифом

Время на прочтение24 мин
Количество просмотров24K
JavaScript нередко называют «самым популярным языком», но, кажется, никто не отзывается о JS-разработке как о «самой безопасной», и количество подстерегающих проблем в экосистеме велико. Как эффективно их обходить?



Илья Климов задумался об этом, когда ошибка обошлась очень дорого (в буквальном смысле) — и в итоге сделал доклад на HolyJS. А поскольку зрительские отзывы оказались отличными, мы теперь подготовили для Хабра текстовую версию этого доклада. Под катом — и текст, и видеозапись.
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии24

Израильские учёные разработали универсальное лечение против рака

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


Небольшая группа израильских учёных считает, что они нашли первое универсальное лечение против рака.
«Мы считаем, что через год мы предложим универсальное лечение против рака», – сказал Дэн Аридор о новом лечении, разработанном его компанией, Accelerated Evolution Biotechnologies Ltd. (AEBi), которая была основана в 2000 году в инкубаторе ITEK. AEBi разработала платформу SoAP, которая обеспечивает функциональные возможности для решения очень сложных проблем.
«Наше лечение рака будет эффективным с первого дня, будет длиться несколько недель и не будет иметь побочных эффектов, кроме минимальных, при гораздо более низкой цене, чем многие иные типы лечения на рынке», – сказал Аридор. «Мы планируем и лицензировать наше решение, и выпускать его сами».
Читать дальше →
Всего голосов 159: ↑143 и ↓16+127
Комментарии138

Цена композиции в Javascript-мире

Время на прочтение7 мин
Количество просмотров15K
Мысль о том, что в разработке любой более-менее сложной бизнес-логики приоритет должен отдаваться композиции объектов, нежели наследованию популярна в среде разработчиков программных продуктов самых разных типов. На очередной волне популярности функциональной парадигмы программирования, запущенной состоявшимся успехом ReactJS, разговоры о преимуществах композиционных решений пришли и во фронтенд. В данном посте есть немного раскладки по полкам теории о композиции объектов в Javascript, конкретный пример, его разбор и ответ на вопрос сколько стоит смысловая элегантность для пользователя (спойлер: немало).

В.Кандинский - Композиция X
Василий Кандинский — «Композиция X»
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии15

Рисуем мультяшный взрыв за 180 строчек голого C++

Время на прочтение6 мин
Количество просмотров70K
Неделю назад я опубликовал очередную главу из моего курса лекций по компьютерной графике; сегодня опять возвращаемся к трассировке лучей, но на сей раз пойдём самую чуточку дальше отрисовки тривиальных сфер. Фотореалистичность мне не нужна, для мультяшных целей подобный взрыв, как мне кажется, сойдёт.

Как всегда, в нашем распоряжении только голый компилятор, никаких сторонних библитек использовать нельзя. Я не хочу заморачиваться с оконными менеджерами, обработкой мыши/клавиатуры и тому подобным. Результатом работы нашей программы будет простая картинка, сохранённая на диск. Я совершенно не гонюсь за скоростью/оптимизацией, моя цель — показать основные принципы.

Итого, как в таких условиях нарисовать вот такую картинку за 180 строчек кода?


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

256 строчек голого C++: пишем трассировщик лучей с нуля за несколько часов

Время на прочтение8 мин
Количество просмотров146K
Публикую очередную главу из моего курса лекций по компьютерной графике (вот тут можно читать оригинал на русском, хотя английская версия новее). На сей раз тема разговора — отрисовка сцен при помощи трассировки лучей. Как обычно, я стараюсь избегать сторонних библиотек, так как это заставляет студентов заглянуть под капот.

Подобных проектов в интернете уже море, но практически все они показывают законченные программы, в которых разобраться крайне непросто. Вот, например, очень известная программа рендеринга, влезающая на визитку. Очень впечатляющий результат, однако разобраться в этом коде очень непросто. Моей целью является не показать как я могу, а детально рассказать, как подобное воспроизвести. Более того, мне кажется, что конкретно эта лекция полезна даже не столь как учебный материал по комьпютерной графике, но скорее как пособие по программированию. Я последовательно покажу, как прийти к конечному результату, начиная с самого нуля: как разложить сложную задачу на элементарно решаемые этапы.

Внимание: просто рассматривать мой код, равно как и просто читать эту статью с чашкой чая в руке, смысла не имеет. Эта статья рассчитана на то, что вы возьмётесь за клавиатуру и напишете ваш собственный движок. Он наверняка будет лучше моего. Ну или просто смените язык программирования!

Итак, сегодня я покажу, как отрисовывать подобные картинки:


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

Работа в немецкой компании – как подать резюме и не получить отказ?

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

IT – одна из самых благодатных сфер для трудовой миграции. С введением в Германии системы Blue Card для высококвалифицированных специалистов кандидаты с постсоветского пространства начали конкурировать за рабочие места с программистами со всего мира. Оно и понятно: немецкая экономика по-прежнему самая сильная в Европе, а Берлину прочат звание европейской Silicon Valley.

Основные регионы, поставляющие Германии высококвалифицированные IT кадры – это постсоветские страны, Китай, Индия, Турция и США. Имидж Европы неизменно остается позитивным и ассоциируется с качеством жизни и социальным равновесием. Специалистов с (пост)советской школой ценят в Европе за прагматичность инженерного мышления, способность быстро учиться и адаптироваться к контексту (видимо обусловленных нашей социальной реальностью).

Однако, резюме соискателей — огромное препятствие на пути к работе в европейской стране. В этом смысле русскоязычные кандидаты и, скажем, американцы – полные антиподы.
Читать дальше →
Всего голосов 34: ↑27 и ↓7+20
Комментарии45

Как не продолбать пароли в Python скриптах

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


Хранение паролей всегда было головной болью. В классическом варианте у вас есть пользователь, который очень старается не забыть жутко секретный «qwerty123» и информационная система, которая хранит хеш от этого пароля. Хорошая система еще и заботливо солит хеши, чтобы отравить жизнь нехорошим людям, которые могут украсть базу с хешированными паролями. Тут все понятно. Какие-то пароли храним в голове, а какие-то засовываем в зашифрованном виде в keepass.

Все меняется, когда мы убираем из схемы человека, который старательно вводит ключ с бумажки. При взаимодействии двух информационных систем, на клиентской стороне в любом случае должен храниться пароль в открытом для системы виде, чтобы его можно было передать и сравнить с эталонным хешем. И вот на этом этапе админы обычно открывают местный филиал велосипедостроительного завода и начинают старательно прятать, обфусцировать и закапывать секретный ключ в коде скриптов. Многие из этих вариантов не просто бесполезны, но и опасны. Я попробую предложить удобное и безопасное решение этой проблемы для python. И чуть затронем powershell.
Читать дальше →
Всего голосов 75: ↑72 и ↓3+69
Комментарии83

garbage.collect()

Время на прочтение20 мин
Количество просмотров26K
Браузеру для исполнения JavaScript нужно немножко памяти, нужно же где-то хранить объекты, примитивы, функции, которые создаются на все действия пользователя. Поэтому браузер сначала выделяет нужный объем RAM, а когда объекты не используются — чистит её самостоятельно.

В теории звучит хорошо. На практике пользователь открывает 20 вкладок с YouTube, соцсетями, что-то читает, работает, браузер ест память, как Hummer H2 — бензин. Сборщик мусора, как этот монстр с шваброй, бегает по всей памяти и добавляет неразберихи, все тормозит и падает.



Чтобы таких ситуаций не происходило и производительность наших сайтов и приложений не страдала, фронтенд-разработчику стоит знать, как мусор влияет на приложения, как браузер его собирает и оптимизирует работу с памятью и как это все отличается от суровой реальности. Как раз об этом доклад Андрея Роенко (flapenguin) на Frontend Conf 2018.

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

Если бы в JavaScript действительно работала сборка мусора, большинство npm-модулей удаляли бы сами себя сразу после установки.

Но пока это не так, и мы поговорим про то, что есть — про сборку ненужных объектов.

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

Coding the Art: как мы генерируем графику и анимацию в дизайн-проектах

Время на прочтение2 мин
Количество просмотров16K
В JetBrains мы любим экспериментировать. Результаты наших экспериментов не всегда становятся достоянием широкой публики, но кое-чем мы готовы поделиться с вами прямо сейчас.

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

Идея генерировать графику в таких целях не нова, для дизайнера важно иметь глубокий и точный контроль над изображением, чтобы быстро варьировать и разворачивать новые визуальные конфигурации без значительного переписывания генерирующей структуры и бесконечного отлова ошибок на разных стадиях жизненного цикла кода.
image
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии26

Включаем GPU acceleration у Photoshop под Wine

Время на прочтение2 мин
Количество просмотров16K
Спешу поделиться радостью: вот и настали те времена, когда можно полностью отказаться от win в пользу linux. Последней преградой был Photoshop — единственная софтина, без которой некоторым девелоперам, например, фронтэнд-девелоперам, верстальщикам (и прочим стропальщикам), приходилось туговато. Photoshop-то уже издавна запустили под wine, но оставалась одна проблемка: у меня никак не хотела включаться аппаратная поддержка GPU. А без нее и тормоза дикие на серьезных макетах, и отсутствие многих плюшек (фильтры, трансформации и прочая магия). После долгих неудачных экспериментов, наконец, удалось заставить Photoshop увидеть GPU и работать с ним «на полную катушку».
Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Комментарии9

Мобильный доступ — использование смартфона в системах контроля доступа

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


Более 20 лет в системах контроля доступа превалирующим типом идентификатора была бесконтактная RFID-карта. Современное вытеснение смартфонами всего и вся, похоже добралось до крайне консервативной отрасли СКУД.

Тем более, что преимущества смартфона в СКУД, по сравнению с пластиковыми картами, абсолютно уничтожительные. Под катом уничтожим карточные СКУД и еще кого нибудь.
Читать дальше →
Всего голосов 25: ↑19 и ↓6+13
Комментарии65

Как убедить клиента или компанию использовать Flutter

Время на прочтение12 мин
Количество просмотров26K
Привет, Хабр! Представляю вашему вниманию перевод с англ. статьи Pitching Flutter to your company or client (автор Wm Leler)

С момента публикации статьи What’s Revolutionary about Flutter прошло больше года (и этот материал всё ещё актуален). Когда я писал ту статью, лишь немногие мобильные разработчики слышали о Flutter, но с тех пор многое изменилось. Сейчас я не успеваю следить за потоком новых статей и видео, которые появляются в этом активном и постоянно развивающемся сообществе. Разработчики открыли для себя Flutter, и они от него без ума. Вот пример приложения от Reflectly, созданного с помощью Flutter:


Умное приложение-дневник Reflectly
Читать дальше →
Всего голосов 40: ↑31 и ↓9+22
Комментарии44

Будущее WebAssembly в виде «дерева навыков»

Время на прочтение18 мин
Количество просмотров16K
Некоторые люди как-то неправильно поняли WebAssembly. Есть те, кто считает, что раз браузеры уже поддерживают выполнение WebAssembly (ещё с 2017 года), значит всё уже готово. Даже и близко ещё нет, готов лишь MVP (минимально жизнеспособный продукт). Я могу предположить откуда произрастает корень этого заблуждения: после релиза MVP его разработчики пообещали поддерживать обратную совместимость на уровне «любой написанный сейчас код будет работать и в будущем». Но это ведь не значит, что разработка WebAssembly закончена, совсем нет! Множество фич разрабатывается прямо сейчас и планируется к разработке в ближайшем будущем. И когда они будут реализованы — всё очень сильно изменится.

Все эти фичи можно попробовать представить себе в виде дерева навыков в какой-нибудь игре. У нас есть пару «базовых» (уже реализованные фичи) и целое дерево со множеством веток и листьев, которые будут со временем открываться, давая нам всё больше и больше могущества.
image
Давайте посмотрим на то, что у нас уже есть сейчас и что нам ещё предстоит открыть.
(Под катом много картинок, трафик)
Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии87

Пособие по webpack

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


Давайте сначала разберемся, зачем нужен вебпак (webpack), и какие проблемы он пытается решить, а потом научимся работать с ним. Webpack позволяет избавиться от bower и gulp/grunt в приложении, и заменить их одним инструментом. Вместо bower'а для установки и управления клиентскими зависимостями, можно использовать стандартный Node Package Manager (npm) для установки и управления всеми фронтэнд-зависимостями. Вебпак также может выполнять большинство задач grunt/gulp'а.


Bower это пакетный менеджер для клиентской части. Его можно использовать для поиска, установки, удаления компонентов на JavaScript, HTML и CSS. GruntJS это JavaScript-утилита командной строки, помогающая разработчикам автоматизировать повторяющиеся задачи. Можно считать его JavaScript-альтернативой Make или Ant. Он занимается задачами вроде минификации, компиляции, юнит-тестирования, линтинга и пр.

Допустим, мы пишем простую страницу профиля пользователя в веб-приложении. Там используется jQuery и библиотеки underscore. Один из способов — включить оба файла в HTML:

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

Python: как уменьшить расход памяти вдвое, добавив всего одну строчку кода?

Время на прочтение5 мин
Количество просмотров71K
Привет habr.

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


Как это работает, продолжение под катом.
Читать дальше →
Всего голосов 117: ↑107 и ↓10+97
Комментарии58

Иван Тулуп: асинхронщина в JS под капотом

Время на прочтение24 мин
Количество просмотров54K
А вы знакомы с Иваном Тулупом? Скорее всего да, просто вы еще не знаете, что это за человек, и что о состоянии его сердечно-сосудистой системы нужно очень заботиться.

Об этом и о том, как работает асинхронщина в JS под капотом, как Event Loop работает в браузерах и в Node.js, есть ли какие-то различия и, может быть, похожие вещи рассказал Михаил Башуров (SaitoNakamura) в своем докладе на РИТ++. С удовольствием делимся с вами расшифровкой этого познавательного выступления.



О спикере: Михаил Башуров — fullstack веб-разработчик на JS и .NET из Luxoft. Любит красивый UI, зеленые тесты, транспиляцию, компиляцию, технику compiler allowing и улучшать dev experience.

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

Всего голосов 40: ↑33 и ↓7+26
Комментарии4

Вирус герпеса вызывает синдром Альцгеймера, другие вирусы — инфаркт и диабет

Время на прочтение6 мин
Количество просмотров50K
Прием антивирусных препаратов против герпеса в 10 раз снижает заболеваемость синдромом Альцгеймера. 80 процентов людей старше 40 имеют вирус герпеса и большинство не знают об этом.

Ученые уже секвенировали больше 5500 вирусов, которые могут заразить млекопитающих. Возможно в природе существует еще 320 000.

Cytomegalovirus (CMV)


Эта группа вирусов включает вирусы простого герпеса, вирус ветряной оспы (который вызывает ветряную оспу и опоясывающий лишай), цитомегаловирус и вирус Эпштейна-Барра (который вызывает мононуклеоз). До 90 процентов взрослых были инфицированы вирусом Эпштейна-Барра.

CMV обычно лежит в состоянии покоя и безвреден в организме, но может вызвать инфекции, в том числе вирусную сердечную инфекцию. Вирусы распространяются при контакте с жидкостями организма инфицированного человека. Они также могут передаваться от беременной женщины к плоду во время беременности.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии68

Неуловимая проблема тайминга кадров

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

Технический директор Croteam Ален Ладавач, участвовавший в разработке Serious Sam и Talos Principle, рассказывает, как ему удалось найти причину торможения графики даже на самых мощных машинах.

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

Т-т-тормоза


Вы с нетерпением ждали следующей части вашей любимой серии видеоигр для PC и она наконец вышла. На этот раз вы хотите насладиться ею во всей полноте, поэтому потратили деньги и время на тщательную подготовку. Вы заменили процессор, поставили сверхсовременную видеокарту, добавили ещё ОЗУ — чёрт возьми, даже купили RAID на SSD. Игра должна быть плавной с самой заставки.

Предзаказ наконец разблокирован и вы только что завершили установку. В нервном предвкушении вы впервые запускаете игру. Пока всё хорошо — она работает с частотой 60 кадров в секунду. Или, по крайней мере, так сообщает счётчик кадров тюнера GPU. Но что-то не так. Вы делаете мышью резкие, хаотичные движения. Стрейфитесь влево-вправо, и тут игра… начинает тормозить! Блин, да как такое возможно? Как она может тормозить при 60 кадрах в секунду?

Если такое с вами никогда не случалось, то это может показаться смешным. Но если вы их испытали, то, скорее всего, ненавидите тормоза всей душой. Тормоза в играх. Это не старый добрый «лаг». Не низкая частота кадров. Это просто «тормоза», происходящие при высоких частотах кадров на идеальных, супербыстрых машинах. Что это, откуда они взялись и как от них избавиться? Позвольте мне рассказать вам историю…
Всего голосов 135: ↑131 и ↓4+127
Комментарии276

Информация

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