Обновить
1
0
Старостин Андрей@STAR

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

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

Двигаем биты — или как реализовать свой стандарт UUID

Время на прочтение8 мин
Охват и читатели5.6K

Я работаю над открытой реализацией предложенного стандарта идентификаторов UUIDv7. На данный момент спецификация существует в виде IETF черновика. Черновик уже пережил два переиздания, и мы постоянно обновляем спецификации. Но сам документ — это дело простое. Для того чтобы кто-то мог воспользоваться новыми UUIDv7, нам надо написать как можно больше открытых имплементаций на различных языках.

Мне выпала стезя писать клиент на Golang. И всё бы было достаточно просто, если бы не сам стандарт. Для создания UUIDv7 вам нужно будет постоянно двигать различные биты в разных направлениях.

В этой статье я расскажу, с чем столкнулся, помогая с разработкой на golang.
Читать дальше →

Борьба за миллисекунды. Как выбрать сервер с наименьшим пингом

Время на прочтение5 мин
Охват и читатели60K
Для многих задач задержки между клиентом и сервером критически важны, например в онлайн играх, видео/голосовых конференциях, IP телефонии, VPN и т.д. Если сервер будет слишком удален от клиента на уровне IP-сети, то задержки (в народе «пинг», «лаг») будут мешать работе.

Географическая близость сервера не всегда равна близости на уровне IP маршрутизации. Так, например, сервер в другой стране может быть «ближе» к вам, чем сервер в вашем городе. Все из-за особенностей маршрутизации и построения сетей.



Как выбрать сервер максимально близкий ко всем потенциальным клиентам? Что такое связность IP-сетей? Как направить клиента на ближайший сервер? Разберемся в статье.
Читать дальше →

Library.nu всё

Время на прочтение1 мин
Охват и читатели13K
Борьба с пиратством, ранее затрагивавшая, в основном, аудио и видео контент, добралась и до других видов информации. На днях стало известно о том, что впервые закрыт однин из крупнейших сайтов электронных книг.

Библиотека Library.nu, известная до 2011 года как Gigapedia.com, обрела широкую популярность благодаря огромной коллекции научной и специальной литературы. Всего на сайте было представлено более 400 тысяч книг высокого качества.

Под давлением Ассоциации американских издателей (AAC) закрылся как Library.nu, где хранились ссылки на пиратские книги, так и сервис ifile.it, где электронные книги размещались физически. В иске говорится об ущемлении авторских прав семнадцати издательств.

Принстон будет бороться с платной подпиской на научные статьи

Время на прочтение2 мин
Охват и читатели3.4K
Принстонский университет, один из старейших и престижных университетов США, предпринимает меры для обеспечения открытого доступа к научным публикациям. Для этого создан специальный комитет по наблюдению за Open-Access Policy, а 19 сентября 2011 года на заседании комитета утверждены новые правила, действующие для всех сотрудников университета, которые ведут научные разработки и публикуют научные статьи.

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

Принстон будет стимулировать своих сотрудников к публикации статей в открытых и бесплатных научных архивах, таких как Arxiv или университетская база данных.
Читать дальше →

Системы оплаты в Украине

Время на прочтение5 мин
Охват и читатели6.8K
Примерно год назад мы с партнером открыли свой интернет магазин, занимающийся продажей преимущественно англоязычной литературы и учебников.

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

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

Итак, доступных для физических лиц систем оплаты в Украине ограниченное количество:
  • Оплата картами Visa и MasterCard
  • Предоплата банковским переводом
  • Оплата наличными
  • WebMoney
  • Наложенным платежом


Разберем более подробно каждую из них.

Как из дешевого и простенького роутера сделать полнофункциональный сервер.

Время на прочтение4 мин
Охват и читатели148K

Введение


Первым роутером, который попал ко мне, был D-Link DI-524, у меня не было времени что либо выбирать, просто купил первый попавшийся недорогой роутер с wi-fi. Так как по натуре я люблю всё ломать, я почти сразу полез в интернет искать, как его можно усовершенствовать.
Но в то время почти ничего не нашел кроме советов просверлить в нем дырок. Да действительно он частенько перегревался и поэтому нестабильно работал, но на такой рискованный шаг я не пошел.
Благо я его почти сразу продал своему другу.
Когда мне снова понадобилось такое устройство, я уже знал какие функции мне действительно необходимы, для меня это было QoS. Я как обыденный покупатель начал смотреть на маркетинговые описания возможностей и фишек устройств. Для меня это тогда казалось единственно верным. Оказалось это не совсем так.
Я купил asus w520gu, я им в целом доволен (об этом позже), но считаю правильным поделиться опытом и информацией как я его усовершенствовал.
Кому интересно читаем дальше

Правильная сумка для правильного гика

Время на прочтение7 мин
Охват и читатели186K
Есть вещи, от которых, попробовав раз, невозможно отказаться. Я говорю о хороших наушниках, хорошем телефоне, удобном ноутбуке и о хорошей сумке. Да-да, именно о сумке. Мы тратим много времени на выбор самого-самого прекрасного и производительного девайса, а потом кладем его в первый попавшийся рюкзак или портфель. И живем, не подозревая, что может быть иначе. В то время как правильная, продуманная сумка может принести немногим меньше удовольствия и пользы, чем дополнительная память или более быстрый процессор.

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



Сегодня мне бы хотелось зайти к той теме с другой стороны и показать десяток отличных (действительно отличных) сумок на разный вкус, цвет и кошелек.
Читать дальше →

Байес

Время на прочтение3 мин
Охват и читатели99K
В левой руке Морфеуса лежит 7 синих и 3 красных таблетки, а в правой 5 синих и 8 красных. Вы закрываете глаза и берете таблетку — она оказывается красной, однако вы не знаете из какой руки ее взяли. Какова вероятность, что вы взяли ее из правой руки?


image

17 апреля 1761 — день смерти Томаса Байеса.
Под катом результаты того, что есть в рунете, помимо стандартных вещей типа Теорема Байеса, Байесовская сеть, Наивный байесовский классификатор , Байесовская фильтрация спама
Читать дальше →

Производительный сетевой сервер на PHP

Время на прочтение9 мин
Охват и читатели29K
Вы пробовали заказать в Макдональдсе жаренного на орудийном шомполе поросенка с домашним вином и, на десерт, девушку рядом с вами за столиком, для приятной беседы во время трапезы? Даже не думали об этом?? Вот-вот — статья как раз об этом, о стереотипах программиста и лени, двигающей прогресс. А если серьезно — в статье мы напишем очень полезный многим высокопроизводительный сетевой сервер на PHP за пару часов. Я совершенно серьезно :-)

Читать дальше →

Верстка: два блока одинаковой высоты

Время на прочтение5 мин
Охват и читатели52K

Задача


Заданы два блочных элемента – один с текстом статьи (ширина 75% от ширины документа), другой с перечнем ссылок для навигации по первому элементу (ширина 25%, расположен слева от первого блока). Высота элемента содержащего статью задается динамически, в зависимости от наполнения блока текстом. Необходимо сделать так, что бы второй блок с навигацией обладал таким же значением параметра высоты как и первый содержащий основной текст статьи.
Читать дальше →

Как начать летать самостоятельно, без риска для жизни

Время на прочтение12 мин
Охват и читатели120K
Прочитал я недавно тут пост Как начать летать, хоть на чем-то, самостоятельно. Вдохновляет. Несомненно. Но мне кажется, что рисков для жизни в этом деле много больше, чем описывает автор. Это мое личное мнение, и, возможно, оно ничем не подкреплено. В комментариях к посту про это сказано не мало слов и останавливаться на этом я не буду.

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

Как не нужно писать большие сервера

Время на прочтение8 мин
Охват и читатели106K
Те, кто мог видеть мою прошлую статью (а она довольно related к данной теме), знают, что вот уже больше полутора лет я разрабатываю собственную реализацию сервера Minecraft, рассчитанную, в первую очередь, на высокие нагрузки. Тем не менее, в своей работе мы используем так же и стандартный сервер (Bukkit) для нескольких мини-серверов, просто чтобы было разнообразие. И вот, столкнувшись с очередной версией сервера, которая стала раз в 5 хуже предыдущих, я уже не выдержала, и решила написать эту статью.

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

Вам не нужно знать ничего о майнкрафте и особенно о его сервере, в данной статье я хочу просто рассказать, как работает оригинальный сервер Minecraft, а так же его «обвязка» — Bukkit, рассказать, почему такая система не работает и не должна. Я не претендую на идеальные знания о разработке серверов и не утверждаю, что мой сервер написан правильно и лучше всех. Я просто делюсь своим опытом, основанным на двух годах работы с сервером от всем известной Mojang и на полутора годах разработки своего сервера. Вся представленная здесь информация является моим личным мнением, а статья предназначена для расширения кругозора или даже обучения и может быть интересна как новичкам, так и продвинутым профессионалам.
Читать дальше →

Паяем «умный» автомобильный БП на 5v с USB-зарядкой и автоматическим включением/выключением

Время на прочтение9 мин
Охват и читатели475K
Я человек ленивый и люблю комфорт, поэтому люблю всяческого рода автоматизацию. В машине у меня есть видеорегистратор, иногда использую навигатор, часто нужно зарядить телефон или планшет себе или семье/знакомым. Как результат указанных потребностей — вся машина окутана проводами и зарядками, при этом всегда надо думать, что выдернуть из тройника прикуривателя и не потеряла ли контакт в прикуривателе очередная зарядка. Конечно, потихоньку в машине образовался клубок проводов и зарядок, а это мало того, что не эстетично, так еще и может привлечь наркоманов.

В один прекрасный момент это всё достало и было принято решение сделать что-то универсальное.
Будем паять

Сервис поиска комплектующих для коптеров и не только

Время на прочтение1 мин
Охват и читатели10K
Собирая квадрокоптер столкнулся с проблемой: выбор комплектующих огромный, а вот поиск по ним никудышный.
В свободное от работы время потихоньку клепаю поисковик по комплектующим: www.rcdetails.info
Сейчас БД уже содержит информацию о товарах с hobbyking.com, goodluckbuy и towerhobbies:
  • более 800 бесколлекторных моторов;
  • более 300 ДВС;
  • примерно 400 регуляторов для бесколлекторных моторов;
  • более 1300 литиевых аккумуляторов;
  • почти 800 сервоприводов;
  • почти 1000 винтов;


Читать дальше →

Сайт для программиста. Часть 2. Публикация

Время на прочтение4 мин
Охват и читатели39K

В первой части я рассказал, как программисту относительно просто запустить с нуля свой личный сайт с использованием Github, Heroku и Twitter Bootstrap.

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

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

Читать дальше →

Java Native Interface. C++. Linux. Первые шаги

Время на прочтение5 мин
Охват и читатели9.4K
На хабре уже были подобные статьи, но для Windows и «ничего не понятно» для новичков вроде меня. В принципе ничего сложного нет, но есть где споткнуться и на долго засесть в поисковиках, как было со мной.
Читать дальше →

Строим Nested Set дерево без рекурсии

Время на прочтение3 мин
Охват и читатели85K
Деревья в базах данных можно хранить тремя основными методами: Adjacency List, Matherialized Path & Nested Set. Когда мы хотим переехать с AL на NS, это можно сделать с помощью рекурсии (если БД расово верная). Но что делать в случае MySQL?
Переехать с AL на NS

JSON-RPC 2.0 и PHP

Время на прочтение8 мин
Охват и читатели63K
Если вы разработчик, и у вас есть проект на PHP, и ему наконец-то понадобилось реализовать собственное API — эта статья определенно для вас ;).

JSON-RPC v1.0 появился в 2005 году, спустя 5 лет появилась и вторая версия. В век javascript'а и мобильных приложений многие разработчики до сих пор используют свои собственные велосипеды вместо готового простого стандарта.
Попробуем разобраться в вопросе

Список Full-Mesh VPN решений

Время на прочтение2 мин
Охват и читатели238K

Введение


Многие интересуются Full-Mesh (или P2P) VPN, хотят использовать их для игр с друзьями, для связи удаленных офисов, серверов, да для чего угодно. Обычные VPN, вроде OpenVPN или PPTP, пропускают весь трафик через центральный сервер, а Full-Mesh соединяются непосредственно с нодами, зачастую пробивая NAT.
Читать дальше →

Пишем сложное приложение на knockoutjs

Время на прочтение8 мин
Охват и читатели47K
Есть такая библиотека knockout.js. Она отличается от прочих хорошим туториалом для начинающих и кучей понятных рабочих примеров. Еще там стройная MVVM модель, декларативные связи и так далее.

Короче, если вы, как и я, поиграли с этой библиотекой, понаписали красивых формочек, и вам это понравилось, то все это дело захотелось применить на реальном проекте. И тут проблема — в реальном проекте формочек больше чем одна. А раз такие инструменты, то хочется single web page application и никак иначе. А делать один контроллер и все темплейты заверстывать на одну страницу тоже тупо и тормозно.

Под катом приведу основу своего сложного приложения. Само оно совсем не сложное, но модульное и допускает расширения, а темплейты и модели подгружаются динамически. Идея была подсмотрена в этой презентации — http://www.knockmeout.net/2012/08/thatconference-2012-session.html, код презентации выложен на github — https://github.com/rniemeyer/SamplePresentation — на базе этого кода будем писать свой.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Донецк, Донецкая обл., Украина
Дата рождения
Зарегистрирован
Активность