Pull to refresh
0
0
Галь (Кирилл) Звягин @gkirok

User

Send message

Как открыть свой интернет-магазин Ecwid на Facebook и Google Sites

Reading time6 min
Views70K
Никаких веб-студий, техзаданий, кодов и программ. Самостоятельно и бесплатно. Быстро и без лишних заморочек. Просто пара-тройка дружеских советов как всего за 1 час открыть свой собственный магазин в Интернете.
Порядок действий укладывается в 3 приема.
— Создание магазина на Ecwid
— Установка магазина на странице Facebook
— Установка магазина на странице Google Sites
Вся информация из официальных хелпов и баз знаний. Поэтому для разработчиков магазинов эти советы очевидны, элементарны и примитивны. Однако надеюсь, что советы будут полезны тем, кто интересуется интернет торговлей, но пока не имеет специальных знаний и опыта.


Читать дальше →
Total votes 34: ↑21 and ↓13+8
Comments38

За дверями «кухни» производства мобильных устройств

Reading time14 min
Views8K
В последнее время в рунете вообще и здесь, на хабре, в частности, периодически разгораются споры на тему: «будет или не будет выпущен апдейт на новую мобильную ОС <имярек> для уже выпущенных устройств?» Споры эти то затихают, то снова разгораются по мере того, как то Google, то Microsoft анонсируют выпуск новых версий своих мобильных ОС. Я занимаюсь мобильными устройствами (далее — МУ) профессионально далеко не первый год и знаю эту кухню изнутри. Поэтому многие вещи, вызывающие жаркие споры, лично мне кажутся очевидными и вообще не имеющими смысла к обсуждению. Хочу поделиться с уважаемым хабросообществом некоторыми знаниями, чтобы кое-кто смог поумерить пыл и взглянул на жизнь более трезвым взглядом.
Читать дальше →
Total votes 72: ↑65 and ↓7+58
Comments41

Доброкнижка про HTML5 от Google

Reading time1 min
Views2.2K
Пока в интернетах идут войны на тему HTML5, убьет он Flash или нет, компания Google выпустила онлайн книгу 20 Things I Learned About Browsers & The Web. И это действительно книга!

Ребята создали веб-приложение, напоминающее детскую книгу, ее можно листать, оставлять закладки, а посвящена она веб-технологиям.
Читать дальше →
Total votes 121: ↑111 and ↓10+101
Comments90

Открытое API от MasterCard для сторонних разработчиков? Бесценно

Reading time2 min
Views6K
imageВ пресс-релизе, распространенном сегодня утром, международная платежная система MasterCard объявила, что разработчики настольных и мобильных приложений совершенно бесплатно получат полный доступ к API от платежного гиганта немного позднее в этом году.

Компания надеется, что открывая свои технологии для разработчиков, она получит в свое распоряжение новые и инновационные приложения для электронной коммерции, использующие сеть MasterCard, которые потенциально позволят ей конкурировать с Visa, PayPal и Square (которые на данный момент куда больше преуспели в данных начинаниях — прим. перевод.).
Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments22

Kodak PlaySport — а ты готов к экстремальному видео?

Reading time4 min
Views5.1K


Вот это маленькое чудо, очень похожее на телефон, может снимать видео в FullHD(1080p), HD(720p) и делать фотки 5mpx, более того, совершать эти действия под водой, в грязи, в падении, в общем, практически в любых ситуациях, в которых другая камера уже развалилась бы.
Интересно?
Total votes 131: ↑115 and ↓16+99
Comments130

Теперь Google Analytics работает Асинхронно

Reading time3 min
Views5.4K
Новый код выглядит вот так:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);

(function() {
 var ga = document.createElement('script');
 ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
   'http://www') + '.google-analytics.com/ga.js';
 ga.setAttribute('async', 'true');
 document.documentElement.firstChild.appendChild(ga);
})();

Это значит, что гугл.аналитикс больше не замедлит загрузку вашего сайта :)
UPD: То есть, он скачивал свой 24кб ga.js во время загрузки страницы, теперь он это может делать после…
Но после первой загрузки, он обычно закэширован и на всех остальных сайтах используется один и тот же :)

Материалы по теме:
Под катом бонус, код для русских поисковиков
Total votes 85: ↑73 and ↓12+61
Comments83

Maatkit

Reading time1 min
Views852
Надоело мне смотреть на безобразие на БД серверах, установил пакет maatkit.

Установка:
cd /usr/ports/databases/maatkit/
make install clean

Использование:

perl /usr/local/bin/mk-query-digest --filter '($event->{user} || "") =~ m/USER/' /var/log/mysql-slow.log — вытащить запросы по пользователю.

perl /usr/local/bin/mk-query-digest --filter '($event->{db} || "") =~ m/DB_NAME/' /var/log/mysql-slow.log — вытащить запросы по БД.

perl /usr/local/bin/mk-query-digest --filter '$event->{Lock_time}>0' /var/log/mysql-slow.log — вывести таблицы которые чаще всего локаются.

perl /usr/local/bin/mk-query-digest --filter '($event->{Tmp_table} || "") eq "Yes"' /var/log/mysql-slow.log — кто использует Tmp_table

perl /usr/local/bin/mk-query-digest --filter '(($event->{Disk_tmp_table} || "") eq "Yes") || (($event->{Tmp_table} || "") eq "Yes")' /var/log/mysql-slow.log
perl /usr/local/bin/mk-query-digest --filter '$event->{Rows_examined}>500000' /var/log/mysql-slow.log — по Rows_examined сортируем

perl /usr/local/bin/mk-query-digest --group-by db /var/log/mysql-slow.log — Вывести список баз данных со статистической информацией.

Полезные ссылки:
http://code.google.com/p/maatkit/wiki/EventAttributes
Total votes 16: ↑6 and ↓10-4
Comments1

Хабра-раскопки: Дружба

Reading time2 min
Views1K
На Хабре, как и в прочих соц-сетях, водится такое понятие, как дружба — связь между пользователями. На самом деле толку от простой такой связи безмерно мало. Список логинов у вас в профиле практически ни о чем не говорит.

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

Перейдите по ссылке (много лет прошло, ссылка выпилена) и введите свой ник. Если вы платите за трафик, то будьте осторожны, некоторые картинки весят по 2-4 мегабайта. Если у вас нет друзей — извиняйте, делать картинку с единственным человеком в кружочке я решил излишним: и так их общий вес 1,5 Гб.

Инструкция по применению и подробности
Total votes 198: ↑186 and ↓12+174
Comments66

Почему iPhone 3G провалился в России

Reading time1 min
Views3.7K
Стив Джобс сидел в своем кабинете и раскладывал на своем компе пасьянс «Паук». Он уже почти закончил, когда в его кабинет без стука вбежал взмыленный директор по маркетингу:
— Стив! Я понял причину провала iPhone в России!
Читать дальше →
Total votes 492: ↑414 and ↓78+336
Comments170

Десять маленьких программ, без которых неуютно жить

Reading time5 min
Views8K
Заменяем диспетчер задач
Управляем автозагрузкой и следим за состоянием системы
Устанавливаем переключение раскладки
Создаем виртуальные рабочие столы
Сохраняем все заметки в одно место, не задумываясь ни о чем, кроме текста
Ускоряем навигацию по винчестеру
Ставим плагины к проводнику Windows и радуемся
Легко и быстро удаляем папки-файлы «занятые другими процессами»
Копируем и перемещаем быстрее и качественнее
Перестаем парится с кодировками, заменив блокнот

и как мы это сделаем?
Total votes 180: ↑139 and ↓41+98
Comments306

Какая боль! Толпы против Веб — 2:0. Эпизод два — клоны заходят в полдень

Reading time5 min
Views554
Продолжаем warstory оптимизации PHP+mySQL сайта редчайших слов. Одним майским днем, копаясь в словах, мне пришла в голову мысль — расставить под этими словами textbox'ы — использовать [модный для Web 2.0] crowdsourcing. Заполняй чем хочешь, только про это конкретное слово. Но, должно было работать collaborative — как Google Docs — если ты и еще кто-то редактируют слова на одной и той же странице — изменения будут отображаться одновременно. Или, например, кто-то редактирует слово «google» на странице Гугла, а на странице TechMeme, к примеру, есть тоже слово «google» — и им в real-time покажутся эти изменения со страницы Гугла [это необязательно понимать]. Знал бы я какие последствия эта веселая задумка на mySQL окажет позже…

Сделать это оказалось несложно: prototype.js — в руки, ajax — каждые 10 секунд, смотрим в базе что менялось за последние 10 секунд, делаем пересечение со словами на текущей странице, отправляем js highlight effect и новый текст — вуаля. Людей было, но мало кто что-то вводил, тогда я придумал повесить в уголок страницы блок «только что было сказано». Например: «На странице 'fibonacci.com' только что было сказано, что 'fibonacci' → 'crazy math scientist'». Это уже значительно заинтересовало людей и заполняемость выросла в разы. Все видели движения на сайте и сами вовлекались.

Собственно, я сделал достаточно функционала для довольно забавной игрушки — «войны сайтов редкими словами», авто-категоризатор, синонимизатор и т.п. Я сидел мирно редактировал «живой» сайт, загружал новый файл, если видел ошибку — исправлял, не переживая, что это кто-то может видеть. Не подозревал я, что уже тысячи людей видят это. После очередной ошибки в названии функци что-то произошло… я не смог загрузить на FTP index.php… это был TechCrunch....
Читать дальше →
Total votes 98: ↑84 and ↓14+70
Comments43

Использование Nginx в качестве сборщика в трудном деле кэширования

Reading time3 min
Views1.2K
Зачастую мы не кэшируем вывод только из-за того, что среди данных, которые можно легко и безболезненно закэшировать, есть часто меняющаяся информация (привязанная, как правило, к конкретному пользователю).
Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments8

Города России в именительном и предложном падеже

Reading time1 min
Views2.9K
Необходимо было писать названия городов России в предолжном падеже типа в Москве, в Ростове-на-Дону и т.д. После полуавтоматической обработки списка городов товарищем sofrus появилась таблица, которая содержит два поля с названием города в именительном и предложном падежах. И мы совершенно бескорыстно предлагаем эту таблицу (около 2400 городов) в двух вариантах:
  1. CSV
  2. MySQL


P.S. Почему хабр так уродует ordered list, для меня загадка.

ОЧЕНЬ ВАЖНЫЙ P.S.
Я не хочу присваивать себе чужие заслуги, поэтому я специально проверил, так как не исключал этого. Карма начала расти у меня, а не у sofrus, если вы считаете нужным поднять за пост карму, то поднимайте ему. Просто у него с компанией NDA подписан и в должностной инструкции нет пометки о том, что он может оценить важность информации. Поэтому я и запостил. Но в появлении этих таблиц нет моей заслуги.
Total votes 1: ↑1 and ↓0+1
Comments49

Факторы, влияющие на эффективность ссылочного продвижения

Reading time9 min
Views2.1K
Правильно сформированная ссылка существенно упрощает задачу продвижения сайта в поисковых машинах. Вместе с тем, нарушение определённых правил при размещении ссылок может оказать негативное влияние на позиции сайта в результатах поиска. Для того чтобы ссылки приносили ощутимый и исключительно положительный результат, необходимо учитывать основные правила их формирования и размещения.

Читать дальше →
Total votes 43: ↑36 and ↓7+29
Comments38

У вас 2-3 HDD? Ускорим загрузку и реакцию Windows и программ

Reading time4 min
Views27K
Когда компьютер со всем набором программ в автозагрузке стал грузится 4 минуты я подумал о том, чтобы всё это ускорить.
У меня стояла Windows XP и расширение Астер, которое позволяет работать за компьютером вдвоём, поэтому часть программ и сервисов грузилась в двойном экземпляре.

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

Метод ускорения для Windows XP при наличии трёх винчестеров:

1. Переносим папки «Documents and Settings» и «Program Files» на первые разделы других винчестеров. Таким образом, на загрузочном диске из основных папок у нас остаётся только папка «Windows»
2. Создаём на диске с «Windows» ссылки файловой системы (junction-link) на перенесённые папки. Подробнее будет ниже.

Получается, что папки «Windows», «Documents and Settings» и «Program Files» находятся на разных винчестерах.
Что это нам даёт?
Total votes 97: ↑58 and ↓39+19
Comments152

18 ошибок, из-за которых погибают стартапы

Reading time4 min
Views3.1K
Известный программист и предприниматель Пол Грэхем, создавший в 1995 г. первое в интернете интерактивное веб-приложение (которые нынче считают приложениями Веб 2.0), дает советы о создании интернет-стартапов. Точнее, это предостережения об ошибках, которые не нужно совершать. На своем сайте он опубликовал список из 18-ти ошибок, которые смертельны для стартапов.
Читать дальше →
Rating0
Comments36

MySQL в NGINX: использование блокирующих библиотек в неблокирующем сервере

Reading time7 min
Views8.3K
Как известно, при разработке высоконагруженных серверов часто применяется событийная модель работы с сокетами. Ключевым компонентом системы при этом является epoll (во FreeBSD и Windows есть свои решения, но остановимся на Линуксе). Функция epoll_wait, будучи единственным блокирующим вызовом, возвращает нам информацию обо всех сетевых событиях, которые нас интересуют. Подобным образом, конечно, работает и всем известный сервер NGINX.

Событийная модель программирования делает код весьма своеобразным, как будто выворачивает его наизнанку. Но эта проблема не так страшна. Есть другая проблема — использование в событийно-ориентированном коде существующих библиотек, изначально не предназначенных для него. Если подобная библиотека делает блокирующие вызовы (например, connect, recv и т.д.), вся событийная модель может потерять смысл т.к. окончания одного такого вызова будут ждать все остальные клиенты, что совершенно неприемлемо, если вы пишете серьезный продукт.
Читать дальше →
Total votes 61: ↑61 and ↓0+61
Comments24

Как правильно сортировать контент на основе оценок пользователей

Reading time5 min
Views91K


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


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

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

Читать дальше →
Total votes 458: ↑423 and ↓35+388
Comments134

Прогнозирование событий и Data Mining — вперед в будущее

Reading time3 min
Views24K


В Сети появился интересный сервис мониторинга информации по открытым источникам — Recorded Future.

Он позволяет аккумулировать информацию из более чем 150 000 различных СМИ с возможностью хранения архива до 5 лет с возможностью последующего анализа и извлечения знаний о возможных последствиях произошедшего и будущих событиях.

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

Например, сейчас сервис осуществляет непрерывный мониторинг более 8 000 политических лидеров различных государств мира, позволяя отслеживать куда и зачем поедет какой-либо известный деятель. Порой, хорошая аналитика этих событий позволяет установить взаимосвязи в международных отношениях и спрогнозировать наиболее вероятные модели их развития путем анализа истории путешествий выбранного деятеля.

Наиболее интересные кейсы, демонстрирующие возможности системы, отражены на следующих прикладных примерах:

отслеживание возникающих киберугроз и действий хакеров в мире
анализ содержимого писем из круга приближенных Усамы Бин-Ладена
анализ протестной активности
анализ выборов в Греции и Египте
Читать дальше →
Total votes 60: ↑55 and ↓5+50
Comments22
1
23 ...

Information

Rating
Does not participate
Location
Израиль
Registered
Activity