Search
Write a publication
Pull to refresh
-7
0

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

Send message

Logitech G27: когда хочется за руль спорткара. Часть 2

Reading time7 min
Views39K
Привет, Geektimes! Сегодня мы продолжим изучать Logitech G27 Racing Wheel. В этот раз речь пойдёт о том, насколько G27 хорош по своему прямейшему назначению, что происходит с геймплеем игр и куда вообще катится мир игровых симуляторов.


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

Как за вами следят, пока вы ходите по торговому центру

Reading time3 min
Views26K
Ранее я уже публиковал статью о системах подсчета посетителей. Теперь же хочу рассказать о системе, которая позволяет посчитать:
  • Сколько людей прошло мимо, так и не зайдя в магазин;
  • Сколько зашло повторно;
  • Сколько в среднем покупатель проводит времени в магазине и не только…


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

У семи программистов адрес без дома

Reading time4 min
Views99K
Привет, Хабр!

Мы в HumanFactorLabs парсим адреса в особо крупных размерах. Наши продукты упрощают ввод контактных данных и работу с ними.

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

Недавно на Хабре нас попросили привести примеры необычных адресов, в связи с чем и написана эта статья.
Читать дальше →

Новый хаб «Chrome Extensions» (с октября 2014 — «Расширения для браузеров»)

Reading time8 min
Views20K
В классификаторе хабов произошло изменение. Все многочисленные статьи про расширения Хрома теперь можно пометить этим хабом, что призываю сделать авторов ранее написанных статей. Кроме этого, по случаю праздника, хотел бы написать обзор об истории расширений и юзерскриптов Хрома, о том, как они сформировались и к какому виду пришли.

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

Как я с лёгкостью сделал винтовку AR-15, которую невозможно отследить

Reading time9 min
Views69K


Это моё «оружие-призрак» (ghost gun) — термин, придуманный поборниками контроля за распространением оружия, и подхваченный любителями оружия. Это полуавтоматическая винтовка без серийного номера, о которой не знают органы охраны правопорядка. А привязанность, которую я к ней испытываю, проистекает из того факта, что я сделал её сам, в мастерской офиса WIRED.

Я справился практически в одиночку. У меня не было никаких знаний, касающихся оружия, а навыки по работе с инструментами были не лучше, чем у кроманьонца. При этом я сделал металлическую, работающую винтовку AR-15. Точнее, я сам сделал «ствольную коробку» (lower receiver) — основу конструкции, ту часть, которую законы США определяют, как «огнестрельное оружие». Всё, что мне нужно было для проекта — 6 часов, понимание компьютерных программ на уровне пятиклассника, кусок алюминия стоимостью $80 и безликий автоматический фрезерный аппарат Ghost Gunner.

Ghost Gunner — фрезерный станок стоимостью $1500, управляемый компьютером. Его продаёт компания Defense Distributed, выступающая за доступность оружия. Она стала известна в 2012 — 2013 годах, когда начала печатать первый пистолет на 3D-принтере, известный, как Liberator. И пока все вокруг спорили насчёт политических и законодательных вопросов, касающихся этой идеи, DD перешла с пластика к металлу.

Ghost Gunner вырезает объекты из алюминия на основе компьютерной модели. Первые поставки этого агрегата начаты этой весной. Группа DD хочет облегчить людям задачу изготовления частей оружия из материала, сравнимого по прочности с промышленными образцами.
Читать дальше →

Маленькие хитрости сбора паспортных данных

Reading time5 min
Views59K
Хочу поделиться своим опытом, приобретённым при разработке и сопровождении информационной системы учёта физических лиц в одной организации. Масштаб — несколько десятков тысяч реальных людей. Разумеется, производился сбор в том числе и паспортных данных. Как это часто бывает, исчерпывающего ТЗ сформулировано не было и некоторые вещи пришлось доделывать в процессе. О тонкостях учёта физлиц для программистов, впервые сталкивающихся с такой задачей, я и хотел бы рассказать. В статье будут затронуты только вопросы ФИО, гражданства и документов, удостоверяющих личность. Материал получился несколько сумбурным в связи с тем, что содержит только личный опыт без пересказа общеизвестных фактов и цитирования официальных документов.
Итак, поехали

Руководство по проектированию реляционных баз данных (7-9 часть из 15) [перевод]

Reading time6 min
Views545K
Продолжение.
Предыдущие части: 1-3, 4-6

7. Связь один-ко-многим.


Я уже показал вам как данные из разных таблиц могут быть связаны при помощи связи по внешнему ключу. Вы видели как заказы связываются с клиентами путем помещения customer_id в качестве внешнего ключа в таблице заказов.

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

(Технически лучше говорить о женщине и ее детях вместо матери и ее детях потому, что, в контексте связи один-ко-многим, мать может иметь 0, 1 или множество потомков, но мать с 0 детей не может считаться матерью. Но давайте закроем на это глаза, хорошо?)

Когда одна запись в таблице А может быть связана с 0, 1 или множеством записей в таблице B, вы имеете дело со связью один-ко-многим. В реляционной модели данных связь один-ко-многим использует две таблицы.

image
Схематическое представление связи один-ко-многим. Запись в таблице А имеет 0, 1 или множество ассоциированных ей записей в таблице B.
Читать дальше →

Руководство по проектированию реляционных баз данных (1-3 часть из 15) [перевод]

Reading time7 min
Views446K
Перевод цикла из 15 статей о проектировании баз данных.
Информация предназначена для новичков.
Помогло мне. Возможно, что поможет еще кому-то восполнить пробелы.

Другие части: 4-6, 7-9, 10-13, 14-15.

Руководство по проектированию баз данных.



1. Вступление.

Если вы собираетесь создавать собственные базы данных, то неплохо было бы придерживаться правил проектирования баз данных, так как это обеспечит долговременную целостность и простоту обслуживания ваших данных. Данное руководство расскажет вам что представляют из себя базы данных и как спроектировать базу данных, которая подчиняется правилам проектирования реляционных баз данных.
Читать дальше →

50+ лучших дополнений к Bootstrap

Reading time5 min
Views202K


Благодаря популярности CSS фреймворка Bootstrap, для него разработали массу различных дополнений. Даже сейчас вы можете использовать Bootstrap практически для любой задачи при разработке и оформлении вебсайта.

Для статьи я подобрал наиболее полезные дополнения «на все случаи жизни».
Читать дальше →

Уязвимость «ВКонтакте» позволяла получить прямые ссылки на приватные фотографии

Reading time8 min
Views315K


tl;dr
Была обнаружена уязвимость в закладках ВК, которая позволяла получать прямые ссылки на приватные фотографии из личных сообщений, альбомов любого пользователя/группы. Был написан скрипт, который перебирал фотографии пользователя за определенный период и затем, через эту уязвимость получал прямые ссылки на изображения. Если коротко, то: можно было за 1 минуту получить все ваши вчерашние фотографии, за 7 минут — все фото, загруженные на прошлой неделе, за 20 минут — прошлый месяц, за 2 часа — прошлый год. Уязвимость на данный момент исправлена. Администрация ВКонтакте выплатила вознаграждение в 10к голосов.

История началась с того, как мне в личку во «Вконтакте» кинули изображение. Обычно, если вещь важная, я её загружаю в облако, но в моём случае в этом не было необходимости, и я решил воспользоваться функцией закладок «Вконтакте».
Читать дальше →

Правим баг без исходных кодов

Reading time9 min
Views39K
image

В предыдущей статье мы разобрали, как реверс-инжиниринг может помочь в получении каких-либо преимуществ перед остальными пользователями. Сегодня мы поговорим ещё об одном применении обратной разработки — исправлении багов в отсутствии исходных кодов приложения. Причин заниматься подобными вещами может быть целое море — разработка программы давным-давно заброшена, а её сорцы автор так и не предоставил общественности / разработка ведётся совершенно в другом русле, и авторам нет никакого дела до возникшего у вас бага / etc, но их объединяет общая цель — исправить сломанный функционал, который постоянно вам досаждает.

Что ж, ближе к делу. Есть такая широко известная в узких кругах программа под названием «Govorilka». Как объясняет её автор, это ничто иное, как «программа для чтения текстов голосом». По сути, так оно и есть. При помощи неё было озвучено множество популярных и не очень видео, рапространившихся по всей сети. Программа имеет консольную версию под названием «Govorilka_cp», которую удобно вызывать из своих собственных приложений, что, собственно, я и сделал в одном из своих проектов.

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

Учитывая, что говорилка не обновлялась уже несколько лет, а сам автор оставил вот такое «послание» на своём сайте

image

, я понял, что надеяться мне не на кого, и решать проблему придётся самому.

Как протекал процесс, и что из этого вышло, читайте под катом (осторожно, много скриншотов).
Читать дальше →

Способы организации CSS-кода

Reading time8 min
Views209K
Разработчик Бен Фрейн (Ben Frain) однажды заметил: «Писать CSS-код легко. Масшабировать и поддерживать его — нет».

К счастью, на просторах интернета можно найти множество решений этой проблемы. В данной статье рассмотрены основные киты структуры CSS-кода, а также интересные рыбы/млекопитающие поменьше.

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

Итак, начнем.
Читать дальше →

Открыто видео курса «Multicore programming in Java» на русском (30+30 часов)

Reading time2 min
Views60K
Добрый день.

Я занимаюсь IT-преподаванием. Читал Java Core (материалы тут).
Сейчас написал и продаю курс «Scala for Java Developers»

В этом посте решил открыть видео двух курсов (проходивших в режиме вебинаров) по многопоточности под JVM (это 16 + 16 двухчасовых лекций).

Больше о материалах (программа, полезные ссылки) можно прочитать в постах-объявлениях о вебинарах (Программа курса «Multicore programming in Java» (25 марта 2014), Программа и материалы курса «Multicore programming in Java» (31 июля)).

Курс рассчитан на слушателей, которые начинают изучать многопоточность с нуля (после крепкого курса Java Core, Middle Developer из чистого web-а или перешедшим из скриптовых/интерпретируемых языков программирования). Он не будет подходить тем, кто перешел из «суровых» С/С++ или ищет «академической высоты».

Детально рассматриваются темы Hardware, New Java memory Model, java.util.concurrent (atomics, blocking queues, thread pool, locks, synchronizers), message passing alternative, software transactional memory alternative, Java 7 Fork/Join, Java 8 Parallel Streams (+Lambdas, +Stream API), CSP/JCSP alternative

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

10 полезных фреймворков, о которых нужно знать разработчику

Reading time2 min
Views43K
image

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

1) UIkit


getuikit.com

99% проблем юзабилити возникают из-за медленного ответа веб-интерфейсов. Очень важно создавать быстрые интерфейсы. UIKit полезен именно для этого. Он лёгкий, модульный, и идеальный для разработки фронтенда. Предоставляет богатый набор HTML, JavaScript и CSS компонентов.
Читать дальше →

Мануал вам в помощь

Reading time1 min
Views17K


MC3 Stealth — это второе поколение российского 3D принтера-конструктора MC3, от компании «Мастер Кит». На сегодняшний день — это один из самых лёгких, компактных наборов для сборки 3D принтера из представленных на рынке.

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

Но, как оказалось, этот набор захотели приобрести и те, кто только решил начать изучать основы 3D печати. И нужных навыков у них зачастую нет.
Читать дальше →

Мой дом — моя крепость. Часть 1

Reading time5 min
Views26K
Доброго времени суток! Хочу поделиться своим опытом по созданию системы видеонаблюдения в доме. Полностью весь процесс от идеи до воплощения в реальность, начну обо всем по порядку.


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

Как сделать простой веб-сайт за один час

Reading time2 min
Views45K
От переводчика: инструкция максимально простая, зато на неё можно ссылаться, если новички задают вопрос, как запустить свой сайт в интернете.

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

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

Как получить инвайт на what.cd

Reading time3 min
Views107K
what.cd logo Как получить приглашение на торрент-трекер what.cd? What.cd — закрытый трекер с кучей музыки в хорошем качестве. Выпрашивать инвайт в форумах и популярных блогах в топиках «Инвайты на what.cd» с тысячей комментариев мне не по душе.

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

Кратко: чтобы получить инвайт надо подключиться к IRC-каналу #what.cd-invites на сервере irc.what.cd и пройти несложное собеседование.

Далее в деталях.
Читать дальше →

Построение Ethernet-сети для IP-видеонаблюдения

Reading time7 min
Views74K
Интерес рынка к IP-видеокамерам вполне понятен. У них много преимуществ: широкий выбор устройств, гибкость функционала софта, хорошая картинка, легкая встраиваемость в компьютерную инфраструктуру. Настало время подумать о том, как наиболее удобно и экономно построить для видеонаблюдения на базе IP-камер устойчивую среду передачи данных, предусматривающую возможность масштабирования. Просто бросить оптику и подключить к ней первый попавший под руку набор медиаконверторов и простеньких хабов – тоже выход, но чреватый множеством проблем в перспективе. Есть смысл исследовать проблему поглубже.

Вопросов возникает очень много. Какая схема подключения? Перед прокладкой кабеля возникает вопрос: а как класть? Какой кабель класть? Сколько волокон должно быть? А что, его еще и варить надо? Какое активное оборудование использовать?… И т.д.

Давайте рассмотрим все эти вопросы по порядку, на примере абстрактной территории.
Читать дальше →

Если вы решили перейти с PHP на Python, то к чему следует подготовиться

Reading time14 min
Views192K
Думали ли вы когда-нибудь о том, что однажды слишком быстро втянулись в веб-программирование на PHP? И вот уже прошло много лет, у вас хороший опыт, и вы не думаете ни о каких других способах „делать“ веб, кроме как на PHP. Может быть, у вас возникают сомнения в правильности выбора, однако непонятно, как найти способ быстро его проверить. А хочется примеров, хочется знать, как изменятся конкретные аспекты деятельности.

Сегодня я попробую ответить на вопрос: «А что если вместо PHP писать на Python?».

Сам я долгое время задавался этим вопросом. Я писал на PHP 11 лет и даже являюсь сертифицированным специалистом. Я научился его «готовить» так, чтобы он работал в точности, как мне надо. И когда я в очередной раз читал на Хабре перевод статьи о том, как всё в PHP плохо, я просто недоумевал. Однако подвернулся случай пересесть на Ruby, а потом и на Python. На последнем я и остановился, и теперь попробую рассказать вам PHP-шникам, как нам питонистам живётся.


Python с точки зрения PHP-программиста...

Information

Rating
5,498-th
Location
Москва и Московская обл., Россия
Registered
Activity