Search
Write a publication
Pull to refresh
21
0
Дмитрий Смагин @choor

User

Send message

Функциональное программирование на Javascript

Reading time15 min
Views129K


Краткое содержание:

Возьмем немного функций высшего порядка, добавим частичное применение функций, приправим fold с map-ом и получим Javascript DSL для работы с DOM.

Человеческим языком:
Простое и понятное введение в функциональное программирование на чистом и понятном Javascript.

В отличие от «Через тернии к Haskell» все разжевано (возможно даже слишком) и разложено по полочкам.

Прочтение статьи развоплотит миф о неприменимости ФП в реальной жизни. Вы сможете смотреть на решение одной и той же задачи с разных точек зрения. Прямо как на картинке.

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

Новое в CSS3: многоколоночность, flexbox, сеточная разметка

Reading time2 min
Views92K
Веб развивается, появляются все новые возможности разметки страниц для верстальщиков, в том числе в этом помогают новые свойства в CSS. В этой статье я описал некоторые из них: многоколоночность, flexbox и сеточная разметка.

Поддержку новых функций браузерами можно проверить на сайте caniuse.com:



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

Упрощаем работу с oDesk

Reading time7 min
Views20K
oDesk

Здравствуйте, Хабропользователи!

В свете недавно появившейся статьи я хотел бы рассказать Вам историю появления программы для мониторинга количества залогированного времени на oDesk от зарождения идеи до готового приложения.
Читать дальше →

В пень free-lance.ru!

Reading time4 min
Views639K
В связи с прочтением соседнего поста предлагаю перечислить список бирж, на которых можно найти альтернативу тому унылому говну, в которое превратился free-lance.ru, ибо терпеть планомерный геноцид я больше не намерен.
Читать дальше →

Поднимает телефонию с нуля: Asterisk, FreePBX, GSM-шлюз на Huawei E173 в Debian

Reading time8 min
Views215K


Сначала маленькая предыстория. Не так давно наша фирма практически лишилась городской связи, один телефонный оператор, что-то не поделил с другим и в результате между ними перестали проходить звонки. Было принято решение, раз уж так произошло полностью отказаться от обычной телефонной связи и полностью перейти на ip-телефонию.
Постановка задачи:
1) Организовать телефонную связь;
2) Запись разговоров;
3) Очередь звонков;
4) Голосовое меню;
5) GSM-шлюз, так-как должны обрабатываться и звонки с мобильных операторов.
6) Минимальная стоимость решения, так как ситуация форс-мажорная и бюджет выделен не был.

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

Главный принцип хорошего кода

Reading time9 min
Views86K
За двадцать лет разнообразного программирования я сформулировал, убежден, главнейший принцип хорошего кода. Опираясь на него, мне и моим коллегам удавалось приводить в порядок самый страшный код, объединять в команде малосовместимых программистов и годами поддерживать системы без лишнего нытья.

Прочтение этой статьи: 15 минут
Осмысление методики: 10 минут
Ощутимые результаты: 30 минут

Итак,

Легальный вывод денег с oDesk на р/c ИП

Reading time6 min
Views53K
Данная заметка является дополнением к прочим, уже опубликованным на хабре, статьям, посвященным работе с иностранными заказчиками из России. В последней подобной статье, написанной пользователем mag есть замечательный ссылки и комментарии. Поэтому если вы еще не ознакомились с означенной статьёй, то рекомендую ознакомится. Хотя, моя, заметка озаглавлена как oDesk специфичная, она, также, будет содержать некоторые ссылки и советы, которые могут быть применены и при работе с другими типами-источниками влекущими за собой ВЭД(Внешне Экономическая Деятельность). Но, всё же, если вы собираетесь работать с заказчиками напрямую, т.е. все ваши расчеты будут напрямую, то всё это хорошо описано в предыдущих статьях.
Читать дальше →

JSON-RPC 2.0 и PHP

Reading time8 min
Views62K
Если вы разработчик, и у вас есть проект на PHP, и ему наконец-то понадобилось реализовать собственное API — эта статья определенно для вас ;).

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

Учимся писать многопоточные и многопроцессные приложения на Python

Reading time6 min
Views421K
Эта статья не для матёрых укротителей Python’а, для которых распутать этот клубок змей — детская забава, а скорее поверхностный обзор многопоточных возможностей для недавно подсевших на питон.

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

Создаем landing page: чек-лист для новичков

Reading time3 min
Views51K
Если вы эксперт по разработке пользовательских интерфейсов и юзабилити, если количество разработанных вами лэндингов больше 10, если вы уже прочитали сотню статей по этой теме с рекомендациями профессионалов — наш пост не для вас. Он скорее для тех, кто только начинает…



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

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

Номер 8-800, или как разориться за один день

Reading time4 min
Views331K
В последнее время компании стараются использовать современные и удобные средства для завоевания лояльности клиентов. Одним из наиболее распространенных и, по мнению многих, эффективным средством является бесплатный номер «8-800». Мода на покупку таких номеров и установление контакта с потребителями через него начинает набирать обороты. Безусловно, клиент охотнее будет звонить на бесплатный номер, чем платить за время ожидания ответа очередного специалиста или менеджера на линии за свой счет. Но, как говорится, бесплатный сыр бывает известно где.

Сегодня нам хотелось бы поговорить об обратной стороне использования сервиса «8-800», о том, как излишняя открытость может попросту разорить Вашу компанию. В общем виде, давайте рассмотрим такую проблему как телефонная безопасность, или телефонный DDoS.
Читать дальше →

Виджет для Android на JavaScript за 15 минут на примере Хабра-Кармы

Reading time5 min
Views13K
Сразу говорю, кармавиджет — вовсе не основная цель статьи. В этой статье я хочу представить широкой общественности способ быстрого создания информационных виджетов для Android на JavaScript всего лишь на примере кармы и рейтинга хабра. Виджет будет смотреться примерно так:



Виджет будет представлять собой плагин для программы AnyBalance (Android), основная идея которой — собрать общую базу способов извлечения балансов и прочих параметров из личных кабинетов различных провайдеров, например, балансов на сотовых телефонах, интернет провайдерах и т.д. Эти плагины (будем их дальше называть «провайдерами») пишутся на JavaScript и имеют открытый исходный код. Сейчас база AnyBalance содержит около 80 провайдеров, но постоянно расширяется. И хабрахабр там будет не лишним :)
Читать дальше →

jQuery UI Bootstrap Theme

Reading time1 min
Views42K
На проектах использую Twitter Bootstrap и jQuery UI для прототипирования интерфейсов различных элементов страниц в т.ч. форм.

На днях понадобилось дополнить форму одним полем. Был выбран наиболее подходящий формат, в виде набора переключателей (элемент input, тип radio).

В Twitter Bootstrap, набор переключателей представлен в виде набора кнопок и не работает напрямую с элементом input, что предполагает написание дополнительного кода для обработки событий. Библиотека jQuery UI, имеет решение подобной задачи, и вся обработка событий уже реализована.
Вот что из этого получилось

Twitter Bootstrap 2.0 — Русифицированная библиотека стилей в формате PSD

Reading time1 min
Views11K
Представляю вашему вниманию доработанную мной библиотеку, позволяющую смоделировать интерфейс простой миксовкой основных элементов — CSS Twitter Bootstrap v. 2.0.

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

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

N+2 полезные книги для бизнеса, которые обязательно стоит прочитать

Reading time5 min
Views96K
В прошлом году я делал обзор книг, на которых реально растут люди и реально улучшаются процессы.



Тогда понадобился год, чтобы прочитать в десять раз больше бумаги и сделать выборку, которая оказалась неожиданно полезной многим. Вот результаты ещё одного года — ещё N+2 книги для бизнеса, которые реально помогают.

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

Inotify или автоматизация рутинных операций с помощью incron

Reading time3 min
Views46K
До сих пор на хабре еще никто не упоминал о такой удобной подсистеме ядра linux, как inotify и использовании ее в автоматизации работы системного администратора. Хотелось бы восполнить этот пробел.

Что такое inotify


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

DDOS-бот на PHP гуляет по серверам

Reading time3 min
Views20K
Сегодня, около двух часов ночи, когда я хотел отойти ко сну, ко мне в скайп написал один из знакомых. В прошлом году я помогал ему администрировать несколько его серверов. В столь позднее время он писал о том, что сетевой интерфейс одного из его серверов полностью забит, судя по графику mrtg. Я посмотрел, действительно, я даже не смог достучаться до ssh, сервер перезагрузили и начался анализ ситуации…

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

Разработка 2D игр под Windows и HTML5 без программирования

Reading time4 min
Views38K
image

Привет Хабраюзеры!

Сегодня я хочу представить вашему вниманию замечательный конструктор 2D игр (для Windows и в частности для HTML5) Scirra Construct.

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

Материалы конференции «ZeroNights» 0x01

Reading time3 min
Views2.5K


Этот пост призван собрать все материалы (приоритетно презентации) конференции «ZeroNights» проходившей 25 ноября в г. Санкт-Петербурге, до их «официальной» публикации на сайте конференции (кому невтерпёж, а может и поможет организаторам). Полезно тем, кто не был, и тем, кто хочет еще раз пересмотреть/перечитать материалы.

— все презентации в upd 2 ---


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

Information

Rating
Does not participate
Location
Мурманск, Мурманская обл., Россия
Date of birth
Registered
Activity