Pull to refresh
-1
0

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

Send message

Гаджеты для сна от Sleepace: умная лампа, трекер Xiaomi и наушники-маска

Reading time7 min
Views23K
Пару дней назад в подборке к 8 марта в блоге одной из компаний появилось упоминание трекера SleepDot, и некоторых внимательных юзеров оно могло ввести в заблуждение, потому что составлено было с фактическими ошибками. SleepDot, о котором шла речь, — переиздание трекера Sleepace, компании, которая создает гаджеты и аксессуары для сна.

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



Ассортимент, однако, куда шире. Тех, кто интересуется данной темой, мы приглашаем в нашу небольшую подборку.
Total votes 22: ↑20 and ↓2+18
Comments12

[в закладки] Инструменты для тестирования JavaScript-проектов

Reading time17 min
Views42K
Автор материала, перевод которого мы публикуем сегодня, сотрудник Welldone Software, говорит, что если в двух словах рассказать об инструментах для тестирования JavaScript-проектов, то для модульного и интеграционного тестирования рекомендуется использовать Jest, а для тестов пользовательского интерфейса — TestCafe. Однако каждый конкретный проект может нуждаться в чём-то особенном. Лучший способ найти именно то, что нужно — взять несколько инструментов, которые, как кажется, подойдут, и испытать их в действии. Эксперименты подскажут — на чём именно стоит остановиться.



Представляем вашему вниманию обзор наиболее широко используемых инструментов тестирования для JS-проектов, на которые стоит обратить внимание в 2018-м году.
Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments8

Трёхмерная графика с нуля. Часть 2: растеризация

Reading time47 min
Views54K
image


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

К сожалению, эта простота имеет свою цену: низкую производительность. Несмотря на то, что существует множество способов оптимизации и параллелизации трассировщиков лучей, они всё равно остаются слишком затратными с точки зрения вычислений для выполнения в реальном времени; и хотя оборудование продолжает развиваться и становится быстрее с каждым годом, в некоторых областях применения необходимы красивые, но в сотни раз быстрее создаваемые изображения уже сегодня. Из всех этих областей применения самыми требовательными являются игры: мы ожидаем рендеринга отличной картинки с частотой не менее 60 кадров в секунду. Трассировщики лучей просто с этим не справятся.

Тогда как это удаётся играм?

Ответ заключается в использовании совершенно иного семейства алгоритмов, которое мы исследуем во второй части статьи. В отличие от трассировки лучей, которая получалась из простых геометрических моделей формирования изображений в человеческом глазе или в камере, сейчас мы будем начинать с другого конца — зададимся вопросом, что мы можем отрисовать на экране, и как отрисовать это как можно быстрее. В результате мы получим совершенно другие алгоритмы, которые создают примерно похожие результаты.
Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments2

Как правильно оформить Open Source проект

Reading time7 min
Views53K

В свободное и не свободное время[1] я развиваю несколько своих проектов на github, а также, по мере сил, участвую в жизни интересных для меня, как программиста, проектах.


Недавно один из коллег попросил консультацию: как выложить разработанную им библиотеку на github. Библиотека никак не связана с бизнес-логикой приложения компании, по сути это адаптер к некоему API, реализующему определённый стандарт. Помогая ему, я понял что вещи, интуитивно понятные и давно очевидные для меня, в этой области, совершенно неизвестны человеку делающему это впервые и далёкому от Open Source.


Я провел небольшое исследование и обнаружил что большинство публикаций по этой теме на habrahabr освещают тему участия (contributing), либо просто мотивируют каким-нибудь образом примкнуть к Open Source, но не дают исчерпывающей инструкции как правильно оформить свой проект. В целом в рунете, если верить Яндекс, тема освещена со стороны мотивации, этикета контрибуции и основ пользования github. Но не с точки зрения конкретных шагов, которые следует предпринять.


Так что из себя представляет стильный, модный, молодёжный Open Source проект в 201* году?

Читать дальше →
Total votes 89: ↑84 and ↓5+79
Comments135

Cравнение российских операторов предоставляющих облачные услуги

Reading time17 min
Views30K

Я долго ждал и просил автора исследования 2014 года повторить его. Не дождался, несмотря на регулярные просьбы. Видимо, представляя какой титанический труд предстоит, автор эту идею откладывал.  Но так совпало, что не только мне, но и моей знакомой для ее компании потребовались облачные услуги, и она предложила мне свою помощь по сбору информации. Так родилась шальная идея повторить статью. Возражений у автора предыдущего обзора не было, поэтому мы принялись за дело, взяв за основу его методику подсчета
В этот раз в обзор вошли 36 компаний, а совместная работа по сбору и анализу информации затянулась аж на 5 месяцев. Конфигурацию мы взяли, опираясь на предыдущее сравнение  с поправкой на требования компании моей знакомой.

Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments40

Введение в криптографию и шифрование, часть вторая. Лекция в Яндексе

Reading time21 min
Views38K
Мы возвращаемся к самому краткому введению в криптографическую теорию от Владимира ivlad Иванова. Это вторая половина лекции — первую часть мы опубликовали несколько дней назад. К ней даже можно присылать пуллреквесты на гитхабе.


Под катом — расшифровка и часть слайдов.

Total votes 55: ↑52 and ↓3+49
Comments11

Введение в криптографию и шифрование, часть первая. Лекция в Яндексе

Reading time20 min
Views240K
Чтобы сходу понимать материалы об инфраструктуре открытых ключей, сетевой безопасности и HTTPS, нужно знать основы криптографической теории. Один из самых быстрых способов изучить их — посмотреть или прочитать лекцию Владимира ivlad Иванова. Владимир — известный специалист по сетям и системам их защиты. Он долгое время работал в Яндексе, был одним из руководителей нашего департамента эксплуатации.


Мы впервые публикуем эту лекцию вместе с расшифровкой. Начнём с первой части. Под катом вы найдёте текст и часть слайдов.

Total votes 96: ↑92 and ↓4+88
Comments29

Просто Angular

Reading time10 min
Views129K

Введение


8-9-го декабря 2016 года была проведена первая конференция по Angular в Бельгии. Игор Минар (ведущий разработчик Angular) выступил в качестве основного докладчика с несколькими интересными объявлениями относительно того, по какому графику будет выпускаться Angular. И представьте себе, в марте 2017 года нас ждет релиз Angular 4. При этом, на данный момент уже опубликована бета-версия.


От переводчиков


Всем привет, с вами Максим Иванов и Дмитрий Сергиенков, и сегодня мы выясним куда делась третья версия, и почему мы по-прежнему можем быть верны Angular. Сейчас начинающему фронтенд-разработчику, изучающему JavaScript, довольно трудно определиться: какой же фреймворк или библиотеку им взять и изучить, оставаясь в тренде? Конечно, без слова React, сейчас не обходится ни один разговор на тему фронтенда, однако, в свое время я начал с первой версии Angular, начитался много руководств по написанию фронтенда на ES6 (с классами и прочим добром) и до сих пор не жалею. Да, вы можете писать корпоративные приложения с использованием только jQuery, но по мере развития и сложности проекта вы начнете закапывать себя в спагетти-коде, смешивая логику и представление, MV*-фреймворки же этого сделать вам не дадут.

Total votes 36: ↑35 and ↓1+34
Comments43

Specification By Example – BDD для прагматиков

Reading time11 min
Views96K

На Хабре довольно много упоминаний о BDD. К сожалению, статьи, которые я читал, так и не дали мне ответа на вопрос «а зачем мне все это нужно?» Ответ пришел с неожиданной стороны. Когда я всерьез занялся вопросом автоматизации приемочного тестирования, мне под руку попалась книга Gojko Adzic (не уверен в транскрипции, поэтому не стал переводить имя автора) Specification By Example.
Читая ее, я не уставал удивляться: каждая новая глава описывала шишки, которые я набивал на своем личном опыте, и предлагала решения аналогичные или лучшие, чем те, к которым я приходил сам методом проб и ошибок.

Эта статья – первая в цикле «BDD для прагматиков». В ней описаны ключевые элементы наиболее эффективного, на мой взгляд, процесса разработки коммерческого ПО в современных условиях. Два продолжения будут посвящены работе со SpecFlow и автоматизации приемочного тестирования.
Часть первая - живая документация
Total votes 34: ↑31 and ↓3+28
Comments32

Как мы попробовали DDD, CQRS и Event Sourcing и какие выводы сделали

Reading time9 min
Views75K
Вот уже около трех лет я использую в работе принципы Spec By Example, Domain Driven Design и CQRS. За это время накопился опыт практического применения этих практик на платформе .NET. В статье я хочу поделиться нашим опытом и выводами, которые могут быть полезными командам, желающим использовать эти подходы в разработке.

Факты, цифры, код
Total votes 39: ↑39 and ↓0+39
Comments45

+500 бесплатных инструментов для запуска вашего стартапа в 2017 году

Reading time40 min
Views155K


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

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

Итак, мы нашли в интернете бесплатные и условно-бесплатные инструменты для роста вашего бизнеса. Когда они дадут вам желаемый результат, вы можете оформить платную подписку.
Читать дальше →
Total votes 74: ↑60 and ↓14+46
Comments26

Синдром хронической усталости: как разобраться со сном, если ты устал уставать

Reading time6 min
Views47K
image

Проблема хронической усталости близка каждому. Сегодняшняя статья по книге «Вечно уставший» Джейкоба Тейтельбаума посвящена нарушениям сна и способам их исправления.

Почему сон важен


Ежедневные восемь часов ночного сна — один из самых эффективных способов повысить жизненный тонус.

Сегодня среднее время сна — 6 часов 45 минут, а ста годами ранее это были 9 часов. Наши предки ложились спать с заходом солнца и просыпались с рассветом, поэтому иногда их сон достигал 11 часов.

Сегодня проспать 8 часов это уже большая редкость — электричество, интернет и телевидение делают свое дело.
Читать дальше →
Total votes 27: ↑21 and ↓6+15
Comments71

О сравнении объектов по значению — 4, или Inheritance & Equality operators

Reading time6 min
Views7.3K

В предыдущей публикации мы получили вариант реализации сравнения объектов по значению для платформы .NET, на примере класса Person, включающий:


  • перекрытие методов Object.GetHashCode(), Object.Equals(Object);
  • реализацию интерфейса IEquatable (Of T);
  • реализацию Type-specific статических метода Equals(Person, Person) и операторов ==(Person, Person), !=(Person, Person).

Каждый из способов сравнения для любой одной и той же пары объектов возвращает один и тот же результат:


Пример кода
Person p1 = new Person("John", "Smith", new DateTime(1990, 1, 1));
Person p2 = new Person("John", "Smith", new DateTime(1990, 1, 1));
//Person p2 = new Person("Robert", "Smith", new DateTime(1991, 1, 1));

object o1 = p1;
object o2 = p2;

bool isSamePerson;

isSamePerson = o1.Equals(o2);
isSamePerson = p1.Equals(p2);
isSamePerson = object.Equals(o1, o2);
isSamePerson = Person.Equals(p1, p2);
isSamePerson = p1 == p2;
isSamePerson = !(p1 == p2);

При этом, каждый из способов сравнения является коммутативным:
x.Equals(y) возвращает тот же результат, что и y.Equals(x), и т.д.


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


Однако, требует раскрытия вопрос:


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

Читать дальше →
Total votes 11: ↑8 and ↓3+5
Comments7

Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность

Reading time15 min
Views34K
image

Дмитрий Калугин-Балашов (Mail.RU)


Доклад у меня по базам данных In-Memory NoSQL. Кто знает, что такое In-Memory NoSQL база данных? Поднимите руки, пожалуйста… Как вам не стыдно? Зал по базам данных, и только половина знает, что это такое.

Если вы выбираете базу данных, ориентируясь на ее популярность, то так делать не надо. Как, вообще, выбираем базы данных?


Читать дальше →
Total votes 50: ↑44 and ↓6+38
Comments27

Обходим детектирование виртуальной машины программами в VMWare

Reading time3 min
Views135K
Разработчики вирусного ПО и просто разработчики, не желающие, чтобы их программу пытались реверсить, на этапе запуска или установки проводят проверки на виртуальную машину, и в случае её обнаружения отказываются работать, а то и вовсе самоликвидируются. Под катом описан способ, как можно попробовать решить эту проблему.
Читать дальше →
Total votes 58: ↑53 and ↓5+48
Comments28

Верстка: отображаем пользовательский контент

Reading time8 min
Views33K
Под пользовательским контентом в этой статье мы понимаем любой текст на странице, автором которого является пользователь. Чаще всего это комментарии, пользовательские записи «на стене» в микроблоге, информация «о себе» в профиле и все в таком роде. Задача не то чтобы очень сложная, но требует внимательности и хорошего понимания основ верстки. В этой статье сделана попытка собрать воедино то наиболее важное, что нужно знать о верстке, включающей пользовательский текст.


Читать дальше →
Total votes 57: ↑53 and ↓4+49
Comments18

«Жёсткий тайм-менеджмент». Рассказываем о книге Дэна Кеннеди

Reading time7 min
Views45K


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

Рассказываем об основных идеях из книги Дэна Кеннеди «Жёсткий тайм-менеджмент».
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments10

Интерполяция замкнутых кривых

Reading time8 min
Views17K
Всем привет! Недавно возникла практическая необходимость использовать интерполяцию для замкнутых кривых. Проект разрабатывался под .Net на C#, а готовых реализаций алгоритма я не обнаружил, впрочем, как и для других языков и технологий. В результате пришлось самому изучить мат.часть существующих методов и написать свою библиотеку. Наработками и готовым решением готов поделиться с вами.


Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments18

E-Commerce в Европе — 2016

Reading time1 min
Views7.3K
В сегодняшнем выпуске предлагаем вниманию читателей Geektimes новую инфографику, посвященную индустрии e-commerce в Европе. Далее вы найдете некоторые цифры и факты о предпочтениях европейцев, доле интернет-активного населения в различных странах Европы, наиболее популярных каналах онлайн-продвижения, а также каким образом и через какие устройства любят платить европейцы и что они покупают.

image
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments5

Человек, препарировавший собственный мозг

Reading time3 min
Views30K

Стивен Китинг [Steven Keating] любит делать всё сам. Когда ему не дали доступ к данным по его опухоли, он придумал, как взломать систему




Стивен Китинг привык не бояться сложных задач. Он студент в MIT Media Lab, специализируется на 3Д-печати и синтетической биологии и описывает себя, как «редкостного ботаника». Подростком он увлекался запуском высотных зондов и изготовлением катушек Теслы, а теперь хакерский подход к делу помог спасти его жизнь.

В 2014 году ему поставили диагноз – опухоль мозга размером с теннисный мяч и рекомендовали немедленно назначить операцию. Он пытался подобрать лучшего хирурга и обнаружил, что быстрее всего распространить результаты сканирования мозга и медицинские данные получится, если он будет делать это сам. Он уже сделал простейший сайт, чтобы можно было поделиться своими данными с родственниками и друзьями; теперь же он начал отправлять эту информацию и докторам. У него должны были отрезать довольно большую часть мозга, и он решил, что у него будет больше шансов сохранить разум, если он сам возьмёт на себя ответственность за свои собственные данные.
Читать дальше →
Total votes 53: ↑43 and ↓10+33
Comments138

Information

Rating
Does not participate
Registered
Activity