Улучшаем читаемость git diff для сжатых js файлов (binary git diff)

octocat

Когда вы жмете js код, и попутно заменяете другие файлы, при попытке посмотреть git diff, вывод данной команды будет засорен большими кусками сжатого кода, так как это обычно одна строка и достаточно длинная, гит думает что ее заменили (и правильно!) и хочет, чтобы вы видели это. Но давайте, научим гит говорить нам, что изменился лишь размер файла, так как вывод изменений сжатых файлов нам абсолютно не интересен.
читать далее

Ньюанс base64 decode image для сохранения на диск

html5-canvas

Всеми любимый canvas имеет классный метод .toDataUrl(), который возвращает base64 закодированный текст. Но, внимание, с припиской вначале: data:image/png;base64, как раз в этом вся и проблема. При сохранении такой последовательности, ваше изображение получается испорченным. Все дело в том, что само изображение это ровно то, что идет после этого. Поэтому берите на вооружение вот такую регулярочку:

imgData.replace(/^data:image\/png;base64,/,'');

Реализовать связь многие ко многим в Yii

Добрый день! Сегодня рассмотрим способ организации связи таблиц многие ко многим на Yii.

Допустим у нас есть таблица профилей пользователей и таблица категорий интересов и увлечений. Один пользователь может иметь несколько увлечений и одним увлечением может интересоваться несколько пользователей, таким образом у нас получается связь многие ко многим.  читать далее

Смена кодировки файла VBScript

Наверное многие сталкивались с проблемой смены кодировки в файле посредством Windows. В данной статье я расскажу как можно сменить кодировку посредством VBScript.

Из всех рассмотренных вариантов я решил остановиться на создании объекта ADODB.Stream. Поставим себе задачу преобразовать файл кодировки ANSI в UTF-8. Суть нашего способа будет такова: читать далее

Мягкий рестарт сервиса на примере nginx

Есть разные варианты как можно рестартануть какой-то сервис, например service name restart, но сегодня я столкнулся с задачкой, когда команды service установлено не было, а nginx надо было рестартануть. Заодно расскажу о полезной команде поиска конфига.
читать далее

Dropbox не работает Ubuntu 13.10

Все было хорошо, обновлялось и работало как часы, но в один день всплыло окошко: бла бла бла, процесс /usr/bin/dropbox требует прав суперпользователя для аутентификации. Вы такое уже видели, наверное, так как после каждого обновления дропбокса + рестарт — надо было вводить. Думаете — ну ок, пусть получит. Вводите свой ‘root123’ пароль и… и дропбокс не работает. Перезагрузка не помогает.
читать далее

Использование screen в консоли (linux, OS X)

Салют всем, кто любит терминал. Сегодня я расскажу вам про screen.
Для начала ответьте на вопрос — нравится ли вам открывать новые вкладки в браузере? Если нет, то тогда не читайте =)
В консоли (в моем примере — это terminal Ubuntu 13.10) тоже можно открывать вкладки. Даже горячие клавиши как в браузере: ctrl+shift+t

1389858329965

читать далее

Магия git: быстрый поиск кода, разница между версиями, консольное дерево

На нашем сайте есть несколько заметок про великий git, сегодня я расскажу вам о том, что написано в топике поста.

1) В моем рабочем проекте 1000+ файлов, причем в файлах есть не только код, но и другие непотребные вещи (картинки, системные файлы самого гита и прочее). Чтобы быстро найти нужный кусок кода по тексту, я могу использовать git grep.
читать далее

Устанавливаем текстовый редактор CKEditor на Yii

При создании представлений, бывает необходимо делать поля ввода с возможностью форматирования текста. Вот и у меня возникла такая потребность в текстовом редакторе. После недолгих поисков готовых текстовых редакторов в интернете, я решил остановить свое внимание на редакторе CKEditor.

Он имеет все основные функции редактирования текста и есть три режима, которые содержат разные наборы кнопок редактирования. читать далее

Быстрый импорт файла в базу данных

Довольно часто возникает потребность занесения информации из файлов в базу данных. Одним из способов решения данной задачи является: открытие файла, построчно считывать файл, разбивать строку по разделителю и заносить в базу. Но в таком случае может возникнуть проблема в скорости импорта, если файл будет слишком большой.

Для решения данной проблемы можно воспользоваться оператором MySQL LOAD DATA INFILE. LOAD DATA INFILE позволяет загружать информацию из файлов с большой скоростью, что нам и требуется. читать далее

При копировании материалов обратная ссылка на play-stop.ru желательна обязательна!