Search
Write a publication
Pull to refresh
4
0
Lev Lybin @lybin

Разработчик Python / Team Lead Ведущий (Lead)

Send message

Веб-контроль Raspberry Pi GPIO

Reading time4 min
Views83K
Доброго времени суток! В этом посте я хочу показать, как управлять электроникой через Интернет используя Raspberry Pi. Выглядеть это будет примерно вот так.



Краткое описание:
  • Серверная программа, которая работает на Raspberry Pi, для того чтобы читать переменные
  • Базы данных MySQL для хранения переменных
  • Веб-страница Apache2, для того чтобы контролировать переменные


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

Не надо копипастить чужой код, набирайте его сами

Reading time2 min
Views54K

Если и есть что-то неизменное с того дня, когда я начал писать код и по сегодняшний день (а я пишу уже дней 500). Так это то, что незнание с чего начать — невероятно пугает. Я остро помню панику изучения HTML, когда я понятия не имел, как заставить мои div-ы располагаться там, где я хотел. Я понимал концепцию сетки, но реализация никак мне не давалась в течение нескольких дней.

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

Как устроены переменные в PHP

Reading time3 min
Views65K
Вроде простой вопрос, даже не понятно что на него ответить, правда?
Мы все знаем как создать переменную, как получить значение переменной, как взять ссылку на переменную в конце концов.
Но как они работают изнутри?
Что происходит в интерпретаторе, когда вы изменяете значение переменной? Или когда удаляете ее?
Как реализованы типы переменных?

В этой статье я постараюсь раскрыть именно эти темы.

Abstract

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

gps.conf для всех, или как ускорить работу GPS на Android

Reading time2 min
Views467K
Сегодня в очередной раз задумался над темой плохого приема GPS сигнала на моем китайском смартфоне Jiayu G2. Но, неожиданно для меня, проблема решилась буквально за пару минут — «китаец» находит спутники в течение 20 секунд. А теперь обо всем по-порядку.
Читать дальше →

REFLECT — браузерная [2D] игра с нуля за 9 дней

Reading time3 min
Views21K
Всем хабралюдям — привет!

Астрологи объявили неделю хакатонов.

Тема почти пятничная, постим, считайте, в пятницу. Мы — компания друзей, которая хочет попробовать себя в разработке браузерной игры «REFLECT» в сжатые сроки.

Интерес к хакатонам появился у нас после нескольких недавних статей на хабре. Этот марш-бросок несколько отличается форматом, мы назвали его "ХАХАтон".

Старт запланирован на сегодня (15 декабря 2012) на 15:00 по Москве. Приглашаем посетить трансляцию (16+), заглянуть на github и поучаствовать комментариями, подсказками и идеями.
Что за игра? Кто 'мы'?

Новый договор по телекоммуникациям, подписанный в Дубае, привёл к расколу в МСЭ

Reading time2 min
Views30K
Сегодня закончилась конференция Международного союза электросвязи (МСЭ), проходившая с 3 по 14 декабря в Дубае. 89 стран-участниц подписали новую редакцию договора по телекоммуникациям, который последний раз обновлялся в 1988 году. 55 стран, среди которых США, Канада, Великобритания, Австралия, Новая Зеландия, Швеция, Дания, Польша и другие отказались подписывать договор. Глава делегации США покинул зал конференции во время подписания. Несмотря на то, что самые одиозные предложения, прямо и недвусмысленно ведущие к легитимизации цензуры в интернете, не прошли, новый договор содержит несколько положений, допускающих возможность государственного контроля над Сетью.
Читать дальше →

Принцип «Разделяй и властвуй», а также бесконечные потоки в Haskell

Reading time5 min
Views15K
Приветствую всех читателей!
Ниже идет моя точка зрения того, как я понял главу 14 из слайдов курса по Haskell у нас в университете.
Итак, сегодня мы поговорим о следующих двух темах:
  • Принцип «Разделяй и властвуй»
  • Работа с бесконеными потоками

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

MongoDB for Developers and DBA

Reading time5 min
Views17K
Заканчиваются курсы по MongoDB для разработчиков и архитекторов баз данных от 10gen, компании разработчика MongoDB.
Финальный экзамен отправлен на проверку и хотелось бы поделиться впечатлениями от курса и полученной информации, рассказать о плюсах и «минусах» MongoDB.

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

Интроверт, программист, интроверт-программист

Reading time3 min
Views74K

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

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

Давайте разбираться

GPS и карты: смещённые координаты в Китае

Reading time2 min
Views112K
Так как я работаю в картографическом сервисе, то недавно я сделал для себя открытие, что все координаты в Китае смещенны по секретному алгоритму. Я собрал немного интересных историй и информации об этом факте.


Есть только граница Китая в этом мире heremaps.cn

Далее немого теории и истории про пробежки, навигацию и спутниковые снимки

Bloggers Meet-up: есть контакт или кто есть кто на хабре

Reading time2 min
Views5.4K

Буквально за несколько дней до конца света группа прогрессивных блоггеров и сотрудников компании Intel собралась в Москве, в милом заведении под названием banka, чтобы послушать других и себя показать. Тем для обсуждения было предостаточно: итоги года надо подвести, нелегкий блоггерский быт обсудить. Ну и развлечься, конечно, перед большим событием: все-таки конец света не каждую неделю случается. Что из этого всего получилось, можно посмотреть из небольшого отчета. Информация для самых глазастых: на фотографиях ниже вы найдете двух человек из Топ-5 рейтинга хабралюдей. Если найдете, конечно. Попробуйте!
Посмотреть фотоотчет

Linux растёт! Новые Mint 14 для OEM; легковесные DSL, Core и Puppy, и всё больше Linux-вакансий в новой инфографике «State of Linux»

Reading time3 min
Views52K
image

К европейской конференции LinuxCon Europe, прошедшей в Барселоне, в Pingdom создали интересную инфографику «Как дела у Линукс» (инфографика внутри поста).

Невооружённым глазом видно, что Linux снова привлекает всё больше внимания, как в отраслевой прессе, так и среди обычных пользователей. Регулярно встречаются любопытные топики вроде такого: Dec 4: «Been a Windows head. Looking for change», или такого: «First time Linux experience — extremely disappointed», и даже: Linux-позитив.

Тем не менее, в продаже сложно встретить ноутбук или десктоп на Linux. Конфигурации «без ОС» встречаются — так почему бы не установить туда, к примеру, Linux Mint (раз это самый популярный дистрибутив, согласно DistroWatch), пусть и на правах «as is», без какой-либо поддержки?
Читать дальше →

Создавая идеальный плеер

Reading time3 min
Views29K


Мы все любим музыку.
С появлением смартфонов портативные плееры стали менее востребованы — никто не хочет обвешиваться техникой с головы до ног. Музыкальные мобильные приложения сейчас популярны как никогда.
Тысячи приложений претендуют на звание плеера #1 в наших устройствах. Но что мы получаем? Посмотрите, сколько плееров установлено на вашем музыкальном устройстве? Один для подкастов, другой для воспроизведения музыки с телефона, отдельное приложение для поиска текстов и клипов, ну и, скорее всего, клиент Вконтакте для прослушивания своих аудиозаписей (куда же без него?). Посчитали? Ну и как скажете разбираться со всем этим беспорядком? Ведь все может быть гораздо удобней и лучше!
Читать дальше →

Пишем на php… статично

Reading time9 min
Views37K
PHP- это язык с динамической неявной слабой типизацией. Динамическая типизация бывает очень полезна во многих случаях, да и вообще сильно упрощает жизнь, ведь ты концентрируешься на значениях и не задумываешься о том какого они типа.

Я как и многие php программисты думал что статическая типизация это «усложнение». Она ограничивает гибкость и вообще: как люди с ней работают? И искренне не понимал, почему многие опытные программисты отдают предпочтение языкам со статической типизацией и строгой проверкой типов.

Дебаты о типизации

Я относился к правой половине людей, которые мало что знают о типах, но при этом искренне верят, что это не удобно. И так было до тех пор пока я не познакомился с одним из строго типизированных языков (c#) вплотную. С тех пор мое отношение к php да и вообще к программированию в целом изменилось.

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

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

Подбор маски ввода по телефонному номеру

Reading time7 min
Views174K
Данный плагин для jQuery позволяет автоматически подбирать подходящую маску ввода на основе введённого начала телефонного номера. Это позволяет сделать ввод номера телефона на странице web-cайта более быстрым и безошибочным. Кроме того, разработанный плагин может быть использован в других областях, если правила ввода возможно представить в виде нескольких масок ввода.
Читать дальше →

Срочно обновляем RVM (Ruby Version Manager)

Reading time2 min
Views17K
Совсем недавно во многих ruby-блогах, сообществах, да и на хабре, было написано немало постов о том что RVM дурно влияет на производительность MRI-версии ruby (официальный интерпретатор языка) по причине того что установщик не учитывает оптимизации компилятора GCC. Конечно для этого недуга были «лекарства», но применять их приходилось ручками, причем довольно-таки прямыми. Так вот, спешу всех обрадовать что в последних версиях RVM (начиная с версии 1.17.0) ситуация изменилась, и конечно же в лучшую сторону, теперь Вы снова можете полностью положится на менеджера версий ruby. Все что Вам нужно сделать — это обновиться до последней версии.
Читать дальше →

Ruby Science: руководство по созданию качественных приложений на Ruby on Rails от thoughtbot

Reading time3 min
Views13K
thoughtbot (с маленькой буквы) — одна из ведущих американских консалтинговых фирм, ориентированных на веб разработку с помощью Ruby on Rails. thoughtbot эксплуатирует распространенную в этой среде бизнес-модель, и зарабатывает не только за счет консалтинга, но и за счет своих больших вкладов в Open Source, активного участия в жизни сообщества (например, подкаст Giant Robots Smashing into Other Giant Robots), образовательной деятельности (воркшопы, менторство), внутренних продуктов и литературы.

На их счету до сегодняшнего дня числилось две полноценных книги: The Playbook — исчерпывающий справочник по внутреннему распорядку и трудовым хитростям thoughtbot (бесплатна для изучения на их сайте), и Backbone.js on Rails — не менее исчерпывающее руководство по использованию JS фреймворка Backbone вместе с Ruby on Rails.

Интересна особенность их подхода к публикации книг. Это не статичный труд, написанный однажды, напечатанный на бумаге и устаревающий с годами, а продукт, поддерживающий версионность, развивающийся под влиянием читателей и сопровождающийся различными электронными плюшками, в том числе и готовым к использованию кодом примеров. «Исходники» книги хранятся на github, а это значит, что в любой момент читатель имеет возможность получить самый свежий релиз, сообщить о проблеме, обсудить какую-либо часть текста и т.п.

Сегодня они объявили о начале работы над новой книгой, под названием «Ruby Science. The reference for writing fantastic Rails applications». Более того, начать чтение книги и принять участие в её развитии можно уже сейчас.

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

System-level optimization и её вклад в решение проблем энергопотребления

Reading time4 min
Views14K

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

Сколько памяти потребляют объекты в PHP и стоит ли использовать 64-битную версию?

Reading time7 min
Views66K


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

Но обо всём по порядку.

Данная статья является логическим продолжением следующих статей:

Подробности

Ключ от всех дверей в непрерывной интеграции — rundeck

Reading time4 min
Views34K
При большом количестве серверов и виртуальных машин и еще большем количестве кода в постоянном деплое, неизбежно возникают проблемы администрирования всего этого огромного хозяйства. Существует множество инструментов, позволяющих организовать continuous integration. В нашем списке точно уже есть GIT, Jenkins, Chef, Proxmox, Graylog2. Сегодня мы расскажем еще об одном удобном инструменте для автоматизации рутинных задач с помощью сценариев — rundeck. Эта статья — не подробный мануал с примерами конфигов, а скорее размышления на тему.
Читать дальше →

Information

Rating
Does not participate
Location
Бангкок, Таиланд, Таиланд
Registered
Activity