Pull to refresh
16
0
ijin @ijin

User

Send message

PostgreSQL — не Rocket Science. Почем сейчас яйца?

Reading time5 min
Views14K


Постоянно натыкаюсь на высказывания из серии «PostgreSQL слишком сложная база для моего небольшого проекта, поэтому буду продолжать работать с MySQL».
В этой статье я хотел бы показать, что человеку, знающему MySQL, не составит абсолютно никакого труда начать разрабатывать под PostgreSQL
Читать дальше →

Vagrant для малышей, или как на Windows легко получить настроенный сервер для разработки веб-приложений

Reading time9 min
Views196K
Здравствуй, мой дорогой любитель поработать с Composer'ом, создавая свой очередной крутой проект на одном из модных фреймворков. Или, быть может, ты — фронтэнд-мастер, пишущий сложные штуки на JS и CSS, компилируя их из jsx- и less-файлов, устанавливая библиотеки через Bower, а проект собирая в каком-нибудь Grunt, попутно прогоняя код юнит-тестами и, конечно же, заливая потом всё это на github… Если всё это — часть твоей повседневной жизни, то хвала Всевышнему, поздравляю: ты прошел все эти испытания и даже не сломал себе мозг. Отныне, ты — из числа тех счастливых, потративших не одну неделю, разбираясь в том, как корректно настроить всю эту кучу инструментов, а также, ты — один из тех, кто может доминировать, властвовать и унижать блистать своими знаниями в комментариях Хабра к статьям других, менее проворных и смышлёных коллег по цеху…

Но… быть может, ты — лишь один из тех, кто только мечтает о подобных извращениях манипуляциях мастеров разработки современных веб-приложений?) Тогда я спешу обрадовать тебя: я тут на днях узнал пару полезных вещей и понял, что это — настоящий подарок для начинающих разработчиков. И решил написать эту статью.
Читать дальше →

Установка и запуск Android-приложений на Linux

Reading time1 min
Views201K
image

Как известно, многие Android-приложения можно нативно запускать на Chrome OS благодаря библиотеке Chrome App Runtime.

С помощью расширений chromeos-apk и ARChon запуск Android APK стал возможен и на других ОС.

В этой публикации я расскажу, как установить произвольное Android-приложение на Ubuntu 14.04.
Читать дальше →

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

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

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

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


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

Текстовый чат для сайта

Reading time3 min
Views25K
image

Хочу поделиться опытом создания текстового чата на основе nginx-push-stream-module модуля Nginx, PHP и Javascript. Этот модуль функционирует по принципу long polling и может быть использован как для обмена мгновенными сообщениями между пользователями, так и для системы push–уведомлений.
Читать дальше →

WSGI/Rack для PHP

Reading time2 min
Views13K
Исторически сложилось, что скрипты на PHP запускаются при каждом HTTP-запросе. Запускаясь, скрипт проводит какую-то инициализацию (например, устанавливает соединение с СУБД), после чего анализирует запрос и формирует ответ. Однако, всем прекрасно известно, что в мире Python и Ruby принят другой подход: веб-приложения на этих языках загружаются в память единовременно вместе с веб-сервером (или сервером приложений). Взаимодействие сервера приложений со скриптом осуществляется при помощи стандартных интерфейсов WSGI и Rack. Такой подход, безусловно, не лишён недостатков, главный из которых, пожалуй, связан с резким ростом накладных расходов при размещении большого числа сайтов на одном сервере, однако, обладает и важным преимуществом: инициализация производится лишь однократно, затем скрипт лишь отвечает на входящие HTTP-запросы.
Читать дальше →

Тестирование в Яндексе. Сам себе web-service over SSH, или как сделать заглушку для целого сервиса

Reading time10 min
Views23K
Вы практикующий маг менеджер. Или боевой разработчик. Или профессиональный тестировщик. А может быть, просто человек, которому небезразличны разработка и использование систем, включающих в себя клиент-серверные компоненты. Уверен, вы даже знаете, что порт это не только место, куда приходят корабли, а «ssh» это не только звук, издаваемый змеёй. И вы в курсе, что сервисы, расположенные на одной или нескольких машинах, активно между собой общаются. Чаще всего по протоколу HTTP. И от версии к версии формат этого общения нужно контролировать.



Думаю, каждый из вас при очередном релизе задавался вопросами: «Точно ли мы отсылаем верный запрос?» или «Точно ли мы передали все необходимые параметры этому сервису?». Всем должно быть известно и о существовании негативных сценариев развития событий наравне с позитивными. Это знание должно активно порождать вопросы из серии «Что если..?». Что если сервис станет обрабатывать соединения с задержкой в 2 часа? Что если сервис ответит абракадабру вместо данных в формате json?

О таких вещах нередко забывается в процессе разработки. Из-за сложности проверки проблем подобного рода, маловероятности таких ситуаций и еще по тысяче других причин. А ведь странная ошибка или падение приложения в ответственный момент могут навсегда отпугнуть пользователя, и он больше не вернётся к вашему продукту. Мы в Яндексе постоянно держим подобные вопросы в голове и стремимся максимально оптимизировать процесс тестирования, используя полезные идеи. О том, как мы сделали такие проверки легкими, наглядными, автоматическими и пойдет речь в этой статье.
Читать дальше →

Выразительный JavaScript: Node.js

Reading time22 min
Views149K

Содержание




Ученик спросил: «Программисты встарь использовали только простые компьютеры и программировали без языков, но они делали прекрасные программы. Почему мы используем сложные компьютеры и языки программирования?». Фу-Тзу ответил: «Строители встарь использовали только палки и глину, но они делали прекрасные хижины».

Мастер Юан-Ма, «Книга программирования»


На текущий момент вы учили язык JavaScript и использовали его в единственном окружении: в браузере. В этой и следующей главе мы кратко представим вам Node.js, программу, которая позволяет применять навыки JavaScript вне браузера. С ней вы можете написать всё, от утилит командной строки до динамических HTTP серверов.

Эти главы посвящены обучению важным идеям, составляющим Node.js и предназначены для передачи вам достаточного количества информации, чтобы вы могли писать полезные программы в этой среде. Они не пытаются быть всеобъемлющими справочниками по Node.

Код из предыдущих глав вы могли писать и исполнять прямо в браузере, но код из этой главы написан для Node и в браузере работать не будет.

Если вы хотите сразу запускать код из этой главы, начните с установки Node с сайта nodejs.org для вашей операционки. Также на этом сайте вы найдёте документацию по Node и его встроенным модулям.
Читать дальше →

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №132 (27 октября — 2 ноября 2014)

Reading time6 min
Views45K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


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

Создание пакета для Laravel

Reading time11 min
Views28K
Привет Хабр!

Фреймворк Laravel быстро набирает популярность и уже обрел большую армию фанатов. В этой статье я опишу разработку простого пакета для Laravel, а так же публикацию созданного нами пакета на сайте packagist.org для того, чтобы добавлять наш пакет в проект одной строчкой в composer.json.

Итак, о чем все это


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

В итоге мы получим это.


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

Я дойду

Reading time3 min
Views69K
— Да, милая, я тебя тоже люблю.
Пальцы автоматически нажимают хоткей отправки сообщения. Я тру уставшие глаза, в которые неизвестный злой волшебник насыпал песка. Уже почти сутки без сна, надо выделить себе 4 часа. Это — мой цикл. Пять, шесть, семь часов — для меня самоубийство, я встану уставшим, недовольным, а значит, неэффективным. Следующая цифра — восемь, но это слишком много. Так что только 4 часа сна.
Прогресс-бар, дергаясь, словно в конвульсиях, дополз до правой границы, уперся в нее и исчез.
Я привычно лезу в лог отправки сообщений. Отклонений, вроде, нет. Четыре слоя шифрования, для скольких… для где-то тридцати символов. Надо будет до конца недели закончить скрипт-анализатор, а то вручную просматривать… бред.
Читать дальше →

Вышла Calibre 1.0

Reading time1 min
Views65K
image

Спустя семь лет после появления представлен мажорный релиз. Сalibre — свободное и открытое программное обеспечение для чтения, создания и хранения в электронной библиотеке электронных книг разного формата. Программа имеет возможность синхронизации с устройствами для чтения электронных книг более дюжины различных производителей, включая Amazon, Android, Apple, Barnes & Noble/
За последний год в программу было добавлено много новых фич:
Читать дальше →

Мониторинг воровства кабеля

Reading time4 min
Views119K
Работаю в интернет-провайдере, в одном из районов города стали часто резать медный 25 парный кабель.
Злоумышленникам все просто — зашел в подъезд, поднялся на верхний этаж, обрезал кабель и вытащил из трубостоек, можно скручивать и продавать. Факт кражи будет заметен только тогда, когда на вызов от недовольных абонентов приедут монтажники. Руководство поставило задачу — придумать, как с этим бороться и естественно, без доп. затрат.
После походов по форумам общий принцип был такой – делаем петлю на последней паре и подключаем в первый порт коммутатора, если ворюги режут кабель – линк пропадает. В теории все просто, но долгие поиски «разжеванного» решения результата не дали.

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

WTF QR CODE

Reading time1 min
Views118K
Доброй пятницы, Хабр!
QR-коды — штука, конечно, полезная, но, как водится, не всегда они используются правильно или по назначению. Авторы блога WTF QR Codes решили собрать наиболее абсурдные (да и просто смешные) примеры творческого произвола.

image

Под катом — еще фотографии.
Читать дальше →

8 типов сайтов, которые нужно перестать делать

Reading time1 min
Views93K
image
Все помнят комикс Мэтью Иннмана "Как веб-дизайн катится прямо в Ад"? Так вот он выпустил очередную серию о веб-дизайне, а мы её перевели.
Наслаждайтесь!
Читать дальше →

«Играть»

Reading time1 min
Views1.1K


Предлагаю вашему вниманию умопотрясающий короткометражный фильм про виртуальные игры, обнаруженный во вчерашней блогозаписи в LJ-сообществе ru_cyberpunk.
Хабрахабровский вариант видеопроигрывателя YouTube не является широкоформатным, так что есть смысл смотреть видеозапись прямо на YouTube. Может быть, даже переключить режим чёткости с 360p на 480p — если, конечно, соединение с Интернетом позволяет вам скачивать более объёмные версии видеозаписей.

С&С Classic: качай бесплатно, Коммандер

Reading time1 min
Views805
Новость на пару дней устарела, но внимания всех ценителей, безусловно, стоит: компания Electronic Arts в субботу, 13 февраля, выложила для бесплатного скачивания золотую классику C&C. Это Command & Conquer: Tiberian Sun (1999 года выпуска) и дополнение Firestorm, Command & Conquer: Tiberian Dawn (1995 год), два диска, для GDI и NOD и Command & Conquer: Red Alert (1996 год), два диска, для союзников и Красной Армии.

Два последних подарка уже и не подарки, так как были доступны и раньше. Однако на страничке Command & Conquer Classic теперь весь набор любимых старых, но не устаревших игр серии C&C. Мало того, EA не поленилась и сделала патч, который позволяет запустить C&C 20-века на новой ОС Windows 7. Патч снабдили подробным инструкциями.

Ну не молодцы ли? ;)

via compulenta

Спать мало, но правильно?

Reading time7 min
Views901K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →

Как легче начать работать с PostgreSQL имея опыт в MySQL?

Reading time1 min
Views992
Возникла передо мной задача подружиться с PostgreSQL. Сам я разработчик на PHP и до сих пор использовал СУБД MySQL. По ней имею довольно высокий уровень. Как, затратив наименьшие усилия, начать работать с Postgres? Перечитывать мануал — куча потерянного времени, потому что различия между двумя этими СУБД не сильно велики. Попытался поискать статей по теме миграции, но ничего толкового не нашел. Может у кого-нибудь есть такие статьи в букмарках, или кто-то сам писал? Или сможет опытом поделиться?

Речь конечно идет о чем-то более полном, чем описания отличий в счетчиках (инкрементных полях).
1
23 ...

Information

Rating
Does not participate
Location
Калининград (Кенигсберг), Калининградская обл., Россия
Date of birth
Registered
Activity