Как стать автором
Поиск
Написать публикацию
Обновить
74
0
Андрей Нехайчик @gnomeby

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

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

Agon light, новый OpenSource 8-битный компьютер нового поколения

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров8.1K

Agon light — это 8-разрядный микрокомпьютер с полностью открытым исходным кодом и микроконтроллер на одной небольшой плате, построенный по последнему слову техники 21 века. Текущая цена очередного инженерного чуда — 50 евро.

Читать далее

Things you need to know should you want to switch from PHP to Python

Время на прочтение13 мин
Количество просмотров6.6K
Did you ever think that one day you had got into PHP web programming too quickly?
Several years have passed already, you have gained a lot of experience and can’t think of any other ways to work with web but PHP. Perhaps, you sometimes doubt the choice you have made, but are unable to confirm your doubts here and now. At the same time, you need real examples; you want to understand the changes that may occur in particular aspects of your work.

Today I will try to answer the following question: "What if we use Python instead of PHP?".

I have asked this question myself many times. I have been using PHP for 11 years already and am a certified PHP specialist. I have mastered it so it works just the way I want. I was really puzzled by several articles that criticized PHP severely (PHP: a fractal of bad design). However, when chance came, I switched to Ruby and then to Python. Eventually, I chose the latter. Now I will try to explain how we Python guys live out there.


Read more

Если вы подумываете начать писать на Go, то вот что вам следует знать

Время на прочтение11 мин
Количество просмотров70K
Ваш любимый питомец пишет на Go и получает больше вас, а вы ещё нет? Не теряйте времени… Такая мысль может родиться у читателя от обилия статей по Go. Некоторым даже компании предлагают переучиться на этот язык. И, если вы хоть раз задумывались освоить язык, то я хочу вас предостеречь. Вернее показать странные вещи, попробовать объяснить зачем они и потом вы уже сами сделаете вывод нужен ли вам Go.

Го - это портируемый Си
Поехали...

Как мы ловим Deadlock`и на PostgreSQL и чиним их

Время на прочтение7 мин
Количество просмотров83K

Предисловие


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

Всё это неизбежно приводит к дедлокам. Так вот, хочу вам поведать историю о том, как мы эти периодические проблемы держим в допустимых рамках.


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

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

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

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

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


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

Стоит ли ставить Gentoo ради ускорения?

Время на прочтение6 мин
Количество просмотров78K
Возможно из вас кто-то когда-то слышал: «Планирую поставить себе Gentoo, он будет лучше использовать возможности моего процессора и будет выжимать из него максимум». Чтож, давайте разберёмся…



Какие вообще бывают оптимизации под процессор

В основном под этим подразумевают использование дополнительных наборов инструкций типа: MMX, SSE, AES и AVX при компиляции приложений. Однако, если копнуть глубоко, существуют и другие оптимизации и не только для приложений.
Я выделил следующие группы оптимизаций:
  • Оптимизации кода
    • Оптимизации кода при компиляции под дополнительные наборы инструкций x86: MMX, SSE, AES, ATA, AVX и др.
    • Оптимизации кода при его статическом анализе во время компиляции: разворачивание хвостовых рекурсий, убирание неиспользуемых участков кода, игнорирование бессмысленных условий и др.
    • Оптимизации для лучшего попадания в кеш процессора.
  • Оптимизации кода на уровне ядра: криптографических методы из Cryptographic API.

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

К вопросу о репосте

Время на прочтение2 мин
Количество просмотров4.2K
Материал бывает разным. Бывают новости, бывает справочная информация, бывают обзоры. А бывает материал, к которому мы невольно сами возвращаемся снова и снова, настолько он нас затрагивает.


Узнать о чём

Развенчание мифов об x32 ABI

Время на прочтение7 мин
Количество просмотров18K
Наверное, некоторые из вас слышали о халяве под названием x32 ABI.

Вкратце о x32 ABI


Если вкратце, то это возможность использовать все преимущества 64-битной архитектуры, но при этом сохраняя 32-битные указатели. Потенциально при этом приложение будет расходовать меньше памяти, хоть и не сможет адресовать более 4 ГиБ памяти.

Пример. В своём коде вы определяете массив целых чисел и заполняете его значениями. Сколько при этом вы расходуете памяти? Если очень грубо изобразить, то получится примерно так:
32 бита: Указатель + Счётчик числа элементов + N целых чисел = N+2 32-битных числа
64 бита: Указатель + Счётчик числа элементов + N целых чисел = N+2 64-битных числа = 2N+4 32-битных числа
Вот инженеры и задумались: а что если попробовать использовать 32-битные указатели на 64-битной архитектуре? Архитектура X86-64 имеет систему команд CISC и позволяет это сделать. В этом случае наш массив выше будет расходовать памяти 2N+3 вместо 2N+4. Экономия конечно же незначительная, но дело в том, что в современном коде количество разного рода указателей в структурах нередко доходит до десятка, и использование коротких указателей потенциально позволит экономить до 50% памяти (в идеальном случае).

Для тех кому надо расчёты точнее:
* Насколько большие массивы (и значения) в PHP? (Подсказка: ОЧЕНЬ БОЛЬШИЕ)
* Сколько памяти потребляют объекты в PHP и стоит ли использовать 64-битную версию?

Но как оказалось халявы не будет.
Далее перевод статьи

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

Время на прочтение7 мин
Количество просмотров66K


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

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

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

Подробности

picotux — самый маленький компьютер с Linux в мире

Время на прочтение2 мин
Количество просмотров14K
Пока во всю идёт месячник Raspberry Pi, самое время рассказать о самом маленьком компьютере с Linux. Встречайте — picotux 100, детище немецкого гения.

Общие характеристики

  • Размеры: 36x19x19 мм
  • Вес: 18 гр
  • Рабочая температура: -40°C to 85°C

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

Архитектурный изьян CouchDB

Время на прочтение3 мин
Количество просмотров6.2K
Моя любимая тема в программировании — копаться в негативных эффектах, которые преподносят нам самые, на наш взгляд, тривиальные операции.

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

Вот о такой проблеме в Apache CouchDB мы и поговорим далее.
Картинка в тему:

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

PHP 6 не будет, не осилили

Время на прочтение3 мин
Количество просмотров40K
Забавно, но не нашёл на хабре упоминания об этом даже в комментариях. Пора устранить этот недостаток, ведь многие используют только хабр, как источник информации.

Так вот PHP 6 не будет, вообще. 11 марта 2010 команда разработчиков приняла решение об отмене выпуска PHP 6 в текущем его виде. В результате транк с PHP 6 был перенесён в бранч, а в транке образовалась новая версия — 5.4, в которую разработчики перенесли все наработки из PHP 6, кроме юникода.

Ниже приведен краткий пересказ презентации (pdf), сделанной Andrei Zmievski на PHP Community Conference в 2011 году.
Читать дальше →

Пополнение для The Humble Voxatron Debut

Время на прочтение1 мин
Количество просмотров833
Сегодня в The Humble Voxatron Debut добавились две новые игры. Получить их может только тот, кто сделает платёж на сумму, большую чем средняя. На данный момент это 4.39. А те, кто уже заплатил, автоматически получат все добавляемые игры.
Читать дальше →

А как ты помог какому-нибудь сообществу хабрачеловек?

Время на прочтение3 мин
Количество просмотров1.8K
Представьте ситуацию… Решили вы значит прикрутить какую-нибудь новую технологию к вашему проекту. Поставили всё необходимое, подключили библиотеку, и опа… не работает. И вот вы мучаетесь, ковыряете, а оно всё не работает и не работает. И просидев некоторое время над этой библиотекой, вы решаете просто бросить это дело, скачать аналогичную библиотеку от другой команды и попробовать её.

А может быть всё было не так. Может быть вы очень упорный и целеустремлённый человек и решаете во что бы то ни стало довести дело до конца и помочь в развитии продукта.

Продолжение истории для тех, кому не всё-равно…
Читать дальше →

Как я угробил SSD за два месяца

Время на прочтение4 мин
Количество просмотров419K
Эпиграф
«Никогда не доверяй компьютеру, который не можешь выбросить из окна»
Стив Возняк

Два месяца назад поставил себе в ноутбук SSD диск. Работал он великолепно, но на прошлой неделе он внезапно умер из-за истощения ячеек (как я полагаю). Эта статья посвящена тому, как это случилось, и тому, что я делал неправильно.
Читать дальше →

Как подтвердить телефон на Amazon

Время на прочтение1 мин
Количество просмотров18K
Так уж случилось, что Amazon разослал пользователям письмо с просьбой подтвердить номер телефона для дальнейшего успешного использования EC2.

Суть простая. Указываешь код страны и свой номер, тебе звонят и просят ввести ПИН. Облом случился тогда, когда я не увидел Беларуси в списке. Что делать?

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

Делаем скриншоты сайтов

Время на прочтение3 мин
Количество просмотров17K
Бродя по просторам PHP документации случайно наткнулся на две функции: imagegrabwindow и imagegrabscreen. Они умеют делать скриншоты в Microsoft Windows.
Заинтересовало. Кончилось дело тем, что был написан скриптик генерирующий полный скриншот любого сайта.
Итак нам необходимы:

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

Информация

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

Специализация

Backend Developer, Software Architect
Lead
Python
PostgreSQL
Linux
High-loaded systems
Designing application architecture
Redis