Pull to refresh
0
0
kesh @kesh

User

Send message

Проект Diaspora близок к запуску

Reading time2 min
Views1.3K
image

На Хабре всего пару раз упомянули такой проект, как Diaspora (открывается он 15-го сентября), который многие СМИ с самого появления информации о проекте стали называть «Анти-Facebook». Такое название этот социальный проект заслужил благодаря своей оригинальной структуре и принципе работы. Дело в том, что разработчики продумали такую схему работы своей социальной сети, которая позволяет каждому из пользователей лично контролировать то, куда и какая личная информация поступает. Другими словами, «Анти-Facebook» позволяет контролировать личную информацию, не переживая о том, что что-то попадет на глаза маме с бабушкой выпивающей зубодробительную смесь водки с пивом малолетке нежелательной «третьей стороне».

Читать дальше →
Total votes 64: ↑45 and ↓19+26
Comments69

Вы разработчик? Так почему вы до сих пор на кого-то работаете?

Reading time8 min
Views11K
Как разработчик, вы сидите на золотой жиле. Вы осознаете это?

Нет, серьезно, на @#$% золотой жиле! Никогда в истории не существовало возможностей так легко создать что-то с нуля, с маленьким или отсутствующим начальным капиталом и маркетинговой моделью, ограниченной только вашим воображением.

Подумайте о крупнейших сайтах, которые вы постоянно посещаете: Facebook, Twitter, Flickr, Foursquare, или даже Google — все они были созданы разработчиками, у которых была лишь идея. Было ли это легко? Черт, нет. Но это могло быть сделано только в наше время. Так, черт побери, почему вы просиживаете день за днем, работая на кого-то?
Читать дальше →
Total votes 306: ↑232 and ↓74+158
Comments214

Форматирование телефонных номеров на PHP

Reading time13 min
Views58K
Возникла задача автоматического форматирования телефонных номеров в виде страна (город) номер, и первым делом я обратился к существующим решениям.
К сожалению, оказалось, что все найденные решения основываются на обычном подгоне строки под пользовательский формат, имея ограниченную область применения и ошибки при выходе за ее пределы.
Читать дальше →
Total votes 103: ↑81 and ↓22+59
Comments98

Несколько советов для PHP-разработчиков

Reading time4 min
Views8K
image Хочу опубликовать небольшой сборник советов для современных PHP-разработчиков. Я умышленно не связываю их с теми или иными фреймворками, библиотеками и тп. Надеюсь, что мои советы помогут кому-то лучше понять PHP, научиться лучше его использовать. Некоторые из них могут быть не специфичны для PHP, но для программирования в общем.
Читать дальше →
Total votes 214: ↑156 and ↓58+98
Comments202

RESTful PHP — 5 простых советов

Reading time4 min
Views83K
REST (Representational state transfer) — это архитектурный стиль или свод соглашений для web-приложений и сервисов, основанный на манипулировании ресурсами и спецификацией HTTP. Впервые об этом заговорил Рой Филдинг (Roy Fielding) — один из отцов основателей HTTP (Hypertext Transfer Protocol).

Web-приложения зачастую игнорируют спецификацию HTTP и двигаются вперёд используя полюбившиеся возможности: GET и POST, 200 OK и 404 NOT FOUND. Так как используются программируемые web-приложения, со своими собственными API, то решение игнорировать спецификацию HTTP, может создать проблемы в дальнейшем. Как следствие — имеем множество приложений с интерфейсами GET и POST. Например интерфейс удаления пользователя: GET /user/1/delete против POST /user/delete {id=1}; в случае REST можно указать /user/1 это ресурс, а удаление HTTP метод DELETE.
Читать дальше →
Total votes 72: ↑62 and ↓10+52
Comments122

Топологическая сортировка

Reading time3 min
Views141K
Топологическая сортировка (Topological sort) — один из основных алгоритмов на графах, который применяется для решения множества более сложных задач.
Задача топологической сортировки графа состоит в следующем: указать такой линейный порядок на его вершинах, чтобы любое ребро вело от вершины с меньшим номером к вершине с большим номером. Очевидно, что если в графе есть циклы, то такого порядка не существует.
Ориентированной сетью (или просто сетью) называют бесконтурный ориентированный граф. В задачах подобного плана рассматриваются только конечные сети.
image
↑ Пример ориентированного неотсортированного графа, к которому применима топологическая сортировка
Далее про алгоритм, реализацию и применение..
Total votes 72: ↑62 and ↓10+52
Comments27

Обратная польская запись

Reading time4 min
Views257K
Два плюс два, умножить на два?

Не знаю как вы, но я в школе долго мучился, пытаясь разобраться с приоритетом операций и скобками. Потом, как и каждый начинающий программист, я мучился с приоритетом операций и скобками, когда писал собственный калькулятор. А оказалось, что все эти мучения были напрасны. Ведь существует прекрасный механизм, известный, как обратная польская запись. О том, что это такое и как с этим работать я и хочу вам рассказать.
Читать дальше →
Total votes 121: ↑84 and ↓37+47
Comments73

BSOD – не повод для паники. Выясняем природу «экрана смерти»

Reading time2 min
Views29K
До недавних пор я думал, что единственный способ узнать о причине BSOD'а – это белые буковки на синем «экране смерти». Недавние события немного расширили мои познания в области диагностирования неполадок, и этими знаниями я хочу поделиться с вами, хабражители.
Случилась очередная поломка системы у очередного клиента. «Синий экран, и нечего не шевелится» — так описала проблему девушка, которая за компьютером работала. Дело было около 18 вечера, и ехать на выезд совсем не хотелось. Перезвонив клиенту, я сказал, что компьютер посмотрю удаленно, хотя сам понимал, что заниматься ним придется завтра. Тем не менее совесть не дала просто забыть о компе до завтра.
Читать дальше →
Total votes 124: ↑98 and ↓26+72
Comments71

Фильтруй базар: пишем простой и функциональный фильтр данных

Reading time3 min
Views2.3K
image
Кто-то спросит, каким образом фильтры грубой очистки топлива на картинке справа относятся к PHP\IT в целом? Очень просто! Скрипт, о котором пойдет речь дальше, очень схож как по назначению, так и по функциональности с данными приспособлениями. Каждый понимает, что реализовать более менее универсальный фильтр «сверхтонкой очистки» (в нашем случае — выполняющий любые пожелания пользователя) на практике не всегда оказывается тривиальной задачей. Однако, реализовать что-то действительно простое, но при этом функциональное и достаточно применимое вполне реально. Что это, собственно, за «реально» и с чем его едят — смотрим под катом.
Читать дальше →
Total votes 28: ↑17 and ↓11+6
Comments21

Правильная обработка ошибок в PHP

Reading time7 min
Views32K

Что я понимаю под правильной обработкой:


  • Универсальное решение, которое можно вставить в любой существующий код;
  • Легко расширяемое решение;
  • В PHP аж три «механизма ошибок»: собственно ошибки (error), исключения (exception) и утверждения (assertion). Свести три механизма к одному — exception. В комментариях к предыдущей статье на эту тему выражалось мнение, что exception это плохой и/или сложный метод обработки ошибок. Я так не считаю и готов это обсудить в комментариях;
  • Опциональное логирование;
  • Общий обработчик exception, который будет поддерживать разные форматы вывода и debug/production режимы;
  • В debug режиме должен выводится trace. Требования к trace: компактный, понятный и по возможности ссылки на открытие файлов в IDE.

Теперь по порядку
Total votes 105: ↑84 and ↓21+63
Comments102

Как выучить любой язык за 3 месяца?

Reading time6 min
Views99K
Перевод статьи Тима Ферриса из его блога.

image

(Учебник Дзюдо Окано Исао, который я использовал для изучения японской грамматики)

Изучение языка не должно быть сложным.

Принципы когнитивной нейронауки и управления временем могут быть применены для достижения свободного владения языком на разговорном уровне (в данном случае определяется как 95%+ процентов понимания и 100% выразительных возможностей) в течение 1-3 месяцев.

Время прочтения: 15 минут
Total votes 207: ↑186 and ↓21+165
Comments134

Использование Intel AVX: пишем программы завтрашнего дня

Reading time19 min
Views73K

Введение


Новый набор SIMD инструкций для x86-процессоров Intel AVX был представлен публике ещё в марте 2008 года. И хотя реализации этих инструкций в железе ждать ещё полгода, спецификацию AVX уже можно считать устоявшейся, а поддержка набора инструкций AVX добавлена в новые версии компиляторов и ассемблеров. В данной статье рассмотрены практические вопросы оптимизации для Intel AVX подпрограмм на языках C/C++ и ассемблер.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments24

Как на самом деле работает мозг

Reading time4 min
Views98K
На хабре довольно популярны статьи о различных техниках повышения работоспособности, улучшения памяти, самомотивации и т.д. и т.п. Увы, зачастую авторы этих статей совершенно не представляют себе, что такое мозг, как он работает и почему всё устроено именно так.

Прежде всего, необходимо понять вот что:

Думать дорого
Total votes 340: ↑286 and ↓54+232
Comments465

64 бита

Reading time12 min
Views80K

Статья раскрывает смысл термина «64 бита». В статье кратко рассмотрена история развития 64-битных систем, описаны наиболее распространенные на данный момент 64-битные процессоры архитектуры Intel 64 и 64-битная операционная система Windows.
Читать дальше →
Total votes 126: ↑108 and ↓18+90
Comments82

Самостоятельное изучение схемотехники

Reading time2 min
Views233K
Я решил написать ряд статей, которые должны помочь разобраться самостоятельно в предмете схемотехники. Первая часть вводная, в ней рассказывается об основных дисциплинах, которые стоит изучить для понимания принципов конструктирования и построения электрических схем. Если эта статья вам понравится, тема будет развиваться, внимание будет фокусироваться на нюансах и примерах.

Image #851653, 113.3 KB
Читать дальше →
Total votes 176: ↑158 and ↓18+140
Comments76

Тонкие клиенты как они есть

Reading time7 min
Views81K
Несколько лет назад директор фирмы (торговавшей компьютерным хламом и немножко занимавшейся серверами), где я работал системным администратором, загорелся идеей делать и продавать тонкие клиенты. После некоторого количества не очень удачных попыток полного аутсорса разработки, меня привлекли к процессу, как человека, знающего зачем это и как его едят (я не занимался разработкой ПО, я ругался с халтурящими разработчиками и по мере возможности консультировал по.тому, что нужно, а что нет в ТК).

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

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

Читать дальше →
Total votes 147: ↑135 and ↓12+123
Comments108

Пошаговое руководство по установке Debian 5.0 Lenny + XEN + LVM + Routing на Hetzner DS3000

Reading time7 min
Views15K

Вступление


Недавно мне потребовалось перенести несколько сайтов различных клиентов на нормальный выделенный сервер (не виртуальный). Я давно выбирал, где лучше арендовать сервер и выбором стала немецкая компания Hetzner Online и ее тарифный план DS 3000 (AMD Athlon 64 X2 4200+/2Gb DDR/2x160Gb HDD — как выяснилось потом — на сервере оказалось два винчестера по 320Гб).

Но мне не хотелось всех размещать на одном сервере. Поэтому было решено сделать виртуальные машины на базе технологии XEN (к тому же в придачу к серверу на ТП DS 3000 Hetzner Online бесплатно выдает 6 IP-адресов, которые очень удобно будут смотреться для отдельных проектов). В Сети можно найти много информации по теме настройки и самого XEN'а на Debian'e и настройки роутинга на нем, поднятии виртуалок на LVM (lvm дает большее быстродействие, чем виртуалки на базе image-файлов), даже в вики самой фирмы была информация об этом (но на немецком — Google Translate нам в помощь). Но. Было одно «Но». Она вся была разрозненная и кусками. Я нигде не смог найти толкового пошагового руководства для настройки «от» и «до».

Поэтому, всем кому интересна эта тема,
добро пожаловать под кат...
Total votes 71: ↑62 and ↓9+53
Comments36

Для начала или вводный курс в эзотерический язык

Reading time3 min
Views2.7K
Это конечно же хобби, хотя...

Brainfuck придуман Урбаном Мюллером в 1993 году, в основном для забавы. Уникальный, вполне себе интересный Тьюринг-полный язык программирования с размером компилятора в 240 байт! В нём используется всего лишь 8 команд, каждая из них записывается одним символом. Программа на языке Brainfuck представляет собой последовательность этих самых команд.

Машина, которой управляют команды Brainfuck, состоит из упорядоченного набора ячеек и указателя текущей ячейки, получается что-то вроде стека и смещения в нём. Так же реализована возможность механизма ввода-вывода, далее будет понятно на примере.
Читать дальше →
Total votes 65: ↑50 and ↓15+35
Comments65

Работа с ANSI консолью

Reading time5 min
Views3.9K
imageЧасто ли нужно сделать програму для консоли? Не так часто, да? А вот я последнее время только этим и занимаюсь… Поэтому сделал класс (на самом деле сделал еще очень давно).
Этот класс позволяет выполнять такие простые операции, как подсветка текста, подсветка бэкграунда буквы или текста, установка курсора на нужную позицию, выбор консоли для вывода и ввод текста в консоль.
Читать дальше →
Total votes 63: ↑58 and ↓5+53
Comments43
12 ...
71

Information

Rating
Does not participate
Location
Херсонская обл., Украина
Date of birth
Registered
Activity