Pull to refresh
0
0
Send message

JSON Web Token и sliding expiration в web-приложении

Reading time5 min
Views63K
В web-приложениях наиболее распространенным методом аутентификации до настоящего времени являлось использование файлов cookies, которые хранят идентификатор серверной сессии и имеют свой срок годности (expiration date). При этом существует возможность эту дату автоматически продлевать при очередном обращении пользователя на сервер. Такой подход носит название sliding expiration.

Однако в последнее время разработчики стремятся отказаться от использования cookies и серверной сессии в виду ряда причин и ищут альтернативные способы аутентификации. Одним из них является использование JSON Web Token (JWT) — маркер, который содержит в зашифрованном виде всю минимально необходимую информацию для аутентификации и авторизации. При этом не требуется хранить в сессии данных о пользователе, так как маркер самодостаточный (self-contained). Однако это в свою очередь добавляет определенные сложности с контролем над JWT, что может свести на нет все его преимущества перед cookies. На просторах Интернет мною было найдено несколько решений этих проблем, и здесь я бы хотел предложить альтернативный вариант, который, как мне кажется, при своей простоте должен удовлетворить потребности многих проектов.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments8

Зарабатывающая идея реального форекс-робота

Reading time10 min
Views117K
Общеизвестно, что заработать на форекс невозможно. Изменения курсов валют носят случайный характер, а комиссия брокера уменьшает вероятность положительного итогового заработка, часто делая ее совсем непривлекательной, ― ниже, чем в казино, например. Тем не менее, я содержу себя и свои проекты исключительно за счет форекс уже три года, я шел к этому около 7 лет и, вспоминая этот путь, решил написать заметку для тех, кого привлекает эта антинаучная возможность заработка.

Речь пойдет не о чудесных Граалях, продаваемых в интернете, не о высокочастотной торговле и не о «безрисковых» вложениях в мифические ТОП-20 лучших трейдеров. Только хардкор: мы проводим многочисленные торговые операции, кто-то вручную, кто-то ― автоматически, и получаем в результате этих операций положительный прирост счета при статистически значимом количестве сделок.
Читать дальше →
Total votes 104: ↑66 and ↓38+28
Comments122

Принципы работы IQueryable и LINQ-провайдеров данных

Reading time8 min
Views74K
Средства LINQ позволяют .Net-разработчикам единообразно работать как с коллекциями объектов в памяти, так и с объектами, хранящимися в базе данных или ином удаленном источнике. Например, для запроса десяти красных яблок из списка в памяти и из БД средствами Entity Framework мы можем использовать абсолютно идентичный код:

List<Apple> appleList; 
DbSet<Apple> appleDbSet;
var applesFromList = appleList.Where(apple => apple.Color == “red”).Take(10);
var applesFromDb = appleDbSet.Where(apple => apple.Color == “red”).Take(10);

Однако, выполняются эти запросы по-разному. В первом случае при перечислении результата с помощью foreach яблоки будут отфильтрованы с помощью заданного предиката, после чего будут взяты первые 10 из них. Во втором случае синтаксическое дерево с выражением запроса будет передано специальному LINQ-провайдеру, который транслирует его в SQL-запрос к базе данных и выполнит, после чего сформирует для 10 найденных записей объекты С# и вернет их. Обеспечить такое поведение позволяет интерфейс IQueryable<T>, предназначенный для создания LINQ-провайдеров к внешним источникам данных. Ниже мы попробуем разобраться с принципами организации и использования этого интерфейса.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments3

Calque — калькулятор, который удобнее, чем консоль браузера

Reading time1 min
Views54K
Приветствую.

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

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

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

Поиск чего-то похожего на Tydlig ничего не дал, и было принято решение писать свое приложение.

Что из этой затеи получилось:


Читать дальше →
Total votes 105: ↑105 and ↓0+105
Comments91

Обновление React компонентов с сохранением состояния в режиме реального времени для Browserify

Reading time8 min
Views16K


Всем доброго времени суток!
Давайте немного поговорим о DX (Developer Experience) или «Опыте разработки», а если конкретнее — об обновлении кода в режиме реального времени с сохранением состояния системы. Если тема для вас в новинку, то перед прочтением советую ознакомиться со следующими видео:

Ряд видео с обновлением кода в реальном времени без перезагрузки страницы




Введение: Как это работает?


Прежде всего стоит понимать, что реализация подобной функциональности подразумевает под собой решение ряда задач:
— Отслеживание изменений файлов
— Вычисление патча на основании изменений файлов
— Транспортировка патча на клиент (в браузер, например)
— Обработка и применение патча к существующему коду
Но обо всём по порядку.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments8

Свой облачный хостинг за 5 минут. Часть 2: Service Discovery

Reading time7 min
Views43K
Cloud hosting

Привет Хабр! В предыдущей статье я рассказал как построить свой облачный хостинг за 5 минут, используя Ansible, Docker и Docker Swarm. В этой части я расскажу о том, как сервисы, запущенные в облаке, находят друг друга, как происходит балансировка нагрузки между ними и обеспечивается их отказоустойчивость.

Это вводная статья, здесь мы сосредоточимся на обзоре инструментов, которые будут решать проблему «обнаружения сервисов» в нашем облаке. В следующей части мы приступим к практике, поэтому я решил дать вам время поближе ознакомиться с ними.
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments1

Роуминг своими руками

Reading time5 min
Views38K
Строим роуминг самиВсе любят путешествовать, например мне в этот раз удалось побывать в трех столицах: Праге, Вене, Будапеште. Но пост не об этом, а о том, что за неделю путешествия на телефонную связь я потратил всего 7 евро. Не ограничивая себя в разговорах с близкими, и даже работая. На настройку роуминга я потратил несколько минут перед поездкой.
На личном примере написана инструкция по построению роуминга своими руками. Кроме этого под катом вы найдете: этапы прохождения звонка в роуминге, варианты реализации каждого этапа своими руками, описание роуминговых SIM-карт полностью интегрированных с SIP и IP-АТС.

Читать дальше →
Total votes 40: ↑35 and ↓5+30
Comments19

Как работает инжектор?

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

Чем занимаются те самые «мозги» и для чего они нужны? Электроника — альтернатива другим системам, выполняющим те же функции. Дозированием топлива занимался карбюратор, зажиганием управлял механический или вакуумный корректор угла опережения зажигания. В общем не электроникой единой возможно реализовать все это и достаточно продолжительное время именно так и было. На автомобилях, мотоциклах, бензопилах, бензогенераторах и во многих многих других местах работали и продолжают работать те самые системы, которые призван заменить инжектор.
Зачем же понадобилось что-то менять? Зачем сносить существующие проверенные и весьма надежные системы? Все просто — гонка за экономичностью, экологичностью и мощностью. Точность работы описанных выше систем недостаточна для обеспечения желаемого уровня экологичности и мощности, а сами по себе электронные системы управления двигателем начали появляться достаточно давно.
Читать дальше →
Total votes 200: ↑184 and ↓16+168
Comments101

Современный очень тихий компьютер

Reading time2 min
Views8.1K
Мне надоел шум из под стола от системного блока. Реально иногда не хочется сидеть за компьютером только по причине того, что лишние децибелы терроризируют сознание. Ноутбук решил бы данную проблему, особенно на базе тихих энергосберегающих решений типа современного Pentium, но я предпочитаю мощный системник.

image

У меня сейчас не топовая, довольно старая конфигурация, но её производительность мне вполне подходит:
Intel Core 2 Duo E7500 2.93Ггц
8Гб DDR3 SDRAM
2Тб HDD Seagate 5900 Green

Я путём небольших вложений заставил-таки свой компьютер работать бесшумно.

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

Сразу же забегу вперёд, скажу, что водяное охлаждение в данной статье не рассматривается.
Читать дальше →
Total votes 96: ↑67 and ↓29+38
Comments167

Haskell — Дизайн

Reading time14 min
Views6.5K
Говорят, каждый программист должен в своей жизни написать хотя бы один компилятор или придумать какой-нибудь язык программирования. Дизайн нового языка — дело непростое, ведь нужно продумать десятки параметров, которые, как кубики Lego, должны хорошо между собой сочетаться. Одно неудачное решение может перечеркнуть судьбу языка, когда он еще даже не вышел в свет. Сотни языков прозябают в забвении, подвинутые с подиума старшими братьями, но мир с упорством, достойным лучшего применения, рождает ежегодно два-три новых. Попадут ли они хотя бы в «группу альтернативного мировоззрения», или даже станут мэйнстримными, покажет время. К счастью, моему языку это не нужно, поскольку на нем нельзя программировать, — им можно только любоваться. Ибо это язык визуализации Haskell-кода, о дизайне которого пойдет речь в статье.



Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments30

История создания интерактивной книги для iPad

Reading time4 min
Views15K
Приветствую всех!

Я хочу вам рассказать как мы создавали нашу первую интерактивную книгу для айпада — “Кот в сапогах”. Говоря мы, я подразумеваю отличную команду небезразличных профессионалов, которые с душой отдавались проекту.
Читать дальше →
Total votes 44: ↑40 and ↓4+36
Comments73

Миф о восьмичасовом сне

Reading time1 min
Views21K
С детства нам объясняли, что спать нужно восемь часов. Как заведённые, одно и то же повторяли врачи и родители. Альтернативных мнений просто не было: восемь часов — и точка. Однако, последние медицинские и исторические исследования дают всё больше доказательств, что восьмичасовой сон неестественен для человека.
Читать дальше →
Total votes 94: ↑61 and ↓33+28
Comments158

Персональные финансы – больше, чем просто учет доходов/расходов

Reading time5 min
Views80K
О чем

Этой темой я хочу открыть серию статей о личных финансах, в которых я постараюсь вкратце изложить суть персональных финансов и личного финансового планирования, исходя из своего практического опыта, а также знаний, которые были почерпнуты (и отфильтрованы) из книг и семинаров. Хочу поделиться этим, потому что «деньги любят счет», а мы об этом часто забываем, что, в последствии, вылезет нам боком. Персональные финансы — это не только учет доходов и расходов в Excel или на смартфоне, это достижение жизненных целей более кратким и, возможно, единственно правильным путем. Эта тема не о том, как и куда инвестировать! Я наоборот вас отговорю делать многие глупые вещи, потому что сам конкретно влип в свое время. Эта тема о том, как сохранить и приумножить безопасно. Самое интересное — все довольно легко, не требует ущемления себя в чем-то — вы живете так же, как и жили. Но при этом достигаете большего.

Почему

Информации на эту тему просто невероятно много. Почти каждый день нам предлагают «сохранить и приумножить» наши сбережения с помощью Forex, фондового рынка, недвижимости и земли, банковских и страховых продуктов и т. д. В этой статье я опишу главные моменты — с чего стоит начать. Если попытаться охватить всю тему — читать можно будет очень долго. Нужно с чего-то начать, сделать первый шаг. Как это не покажется странным, но я свой первый шаг сделал всего три года назад (о чем ни капли не жалею — результат приятно удивляет), причем «в теории» знал о том, что его нужно сделать еще в 2004 году. Тяжело объяснить, зачем это нужно, пока сам не попробуешь. Я рассказываю своим друзьям, чего я добился всего за три года правильного планирования — и они просят помочь им сделать то же самое. Потому что мой результат «можно потрогать» — лежит на счетах в банках.

Откуда мне знать

Стоит, наверное, вкратце рассказать о своем опыте, кому будет интересно — опишу детальнее как-то всю историю. В 2003 прочитал уже всем надоевшего Киосаки. С этого момента меня прорвало, я захотел, как он стал интересоваться персональными финансами и инвестированием. За эти 10 лет я успел заработать и потерять деньги (в основном потерять и ОЧЕНЬ много, потому что основные движения пришли в 2007-2008, когда терять начали даже самые умные эХсперты, не говоря уже о простых людях ) на следующих инструментах: банки, кредитные союзы, фондовый рынок, Forex, земля, недвижимость, валютные операции — это, что вспомнил. Только года три назад пришло наконец «осознание» и я начал делать адекватные вещи в этом направлении. До этого действия предпринимались на основе теорий и мыслей/советов других людей. Кризис научил думать своей головой и я ни о чем не жалею.

Читать дальше →
Total votes 62: ↑46 and ↓16+30
Comments57

Умер Дуглас Энгельбарт, изобретатель компьютерной мыши

Reading time1 min
Views85K
Прошлой ночью в возрасте 88 лет умер Дуглас Энгельбарт (Douglas Engelbart). Его дочь пишет, что отец скончался мирно во сне, в своём доме.

Дуглас Энгельбарт — талантливейший изобретатель и визионер, ему принадлежит 20 патентов и множество наград за научные достижения. Одно из главных изобретений — компьютерный манипулятор мышь.

Энгельбарт навсегда войдёт в историю ещё и как автор невероятной презентации от 9 декабря 1968 года. Эта презентация известна как «Мать всех демонстраций» (Mother of All Demos), и в ней Дуглас и его коллеги показывают аудитории «будущее компьютерных технологий», в том числе графический пользовательский интерфейс, гипертекст, текстовый редактор с совместным редактированием, групповые онлайн-конференции и т.д. Это в то время, когда компьютеры работали на перфокартах.
Читать дальше →
Total votes 101: ↑96 and ↓5+91
Comments41

Вышла программа f.lux 3 с режимом кино и температурой 2700 K

Reading time1 min
Views83K
Автор программы f.lux выпустил новую версию f.lux 3 (бета). Это очень полезная программа для тех, кто часто работает за монитором при искусственном освещении, то есть вечером и ночью.



Программа изменяет цветовой профиль монитора, в зависимости от времени суток. Ночью устанавливаеются тёплые цветовые тона (2700 K), которые соответствуют искусственному освещению в квартире, днём — холодные (6500 K), соответствующие дневному свету.
Читать дальше →
Total votes 50: ↑43 and ↓7+36
Comments52

Как устроиться на работу в Google

Reading time4 min
Views844K
Работать где-то мечтают не все. Работать в компании Google мечтают многие, кто решил связать свою жизнь с IT.

Google — компания-гигант, одна из крупнейших IT-корпораций. Сотрудники такой компании нужны постоянно (новые области, текучка кадров).

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

Шаг 1 — резюме.

В компании Google к резюме особое отношение. Получая миллионы заявок в год, компания выбирает несколько сотен сотрудников. Именно поэтому отличное резюме — первый шаг к работе мечты.
Что писать в резюме нужно обязательно:

  • e-mail, телефон для связи
  • все места учёбы (ВУЗы), дополнительное образование
  • Опыт работы*
  • Личные качества (придумайте что-то оригинальнее отзывчивости, стрессоустойчивости, коммуникабельности)
  • Хобби
  • Reference — люди, которые могут дать вам рекомендации
  • Знание языков

*Опыт работы в резюме для Google (и вообще для западных компаний) — это не только должность, компания, но и те успехи и достижения, которых вы добились на позиции. Если вы продажник — покажите цифры. Если программист — то как именно ваша работа улучшила работу компании. Работу рекомендуется указывать всю, а не только по профилю (если работали в МакДоналдсе, то даже такое стоит указать).

Что не нужно писать в своём резюме:
  • Дату рождения, личные данные
  • Есть ли водительские права
  • Семейное положение
  • Прочую «шелуху», которая только отвлечёт рекрутера

Читать дальше →
Total votes 128: ↑89 and ↓39+50
Comments114

Электрическая стрекоза

Reading time2 min
Views36K
Стрекоза — одно из самых быстрых и совершенных летающих насекомых. Она способна разгоняться до 50 км/ч, неподвижно зависать в воздухе и маневрировать с ускорениями до 9g. Именно стрекоза послужила прототипом для четырёхкрылого робота компании TechJet. Электрическая стрекоза легко помещается на ладони и весит всего 25 грамм.

Одно из главных отличий TechJet Dragonfly от маленьких радиоуправляемых вертолётов и квадроторов — способность планировать, экономя энергию. Литий-полимерного аккумулятора на 250 мА·ч хватает на 10 минут полёта в режиме зависания, но в гибридном режиме «стрекоза» может продержаться в воздухе до 25 — 30 минут. И это не единственное преимущество — одна из моделей, по заверениям разработчиков, способна летать практически бесшумно.


Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments13

Sifteo Cubes. Настольные игры нового поколения

Reading time1 min
Views9.8K


Первые версии кубиков, созданных в MIT, поступили в продажу еще в том году. Сейчас это все те же кубики диагональю в 1,7 дюйма, 1,5 дюйма из которых занимает экран. Только у новых кубиков — сенсорный экран (на старых были физические кнопки), датчики, реагирующие на движение, беспроводная связь и поддержка улучшенной графики.

Как это работает
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments37

Жонглирование. Теория. Практика

Reading time5 min
Views40K
Настороженно отношусь к непрофильным топикам, но решил написать этот по следующим причинам:
  • У жонглирования есть своя теория — стройная и математически привлекательная!
  • Мы живем не только работой. Жонглирование — отличное развлечение и разминка после долгого сидения за компом.
  • В пятницу приятно немного расслабиться и почитать не очень серьезные статьи. К тому же, будет чем заняться на выходные, особенно если у вас не было определенных планов.

Теория


Утверждать, что жонглирование — это последовательность бросков, все равно, что сказать, что музыка — это просто последовательность нот. Нельзя назвать это неправдой, но любой, хоть немного знакомый с музыкальной теорией, возмутится последним определением — столь поверхностным и недалеким.
Читать дальше →
Total votes 252: ↑242 and ↓10+232
Comments45
1
23 ...

Information

Rating
Does not participate
Registered
Activity