Search
Write a publication
Pull to refresh
11
0
Send message

Как HTTPS обеспечивает безопасность соединения: что должен знать каждый Web-разработчик

Reading time9 min
Views375K


Как же все-таки работает HTTPS? Это вопрос, над которым я бился несколько дней в своем рабочем проекте.

Будучи Web-разработчиком, я понимал, что использование HTTPS для защиты пользовательских данных – это очень и очень хорошая идея, но у меня никогда не было кристального понимания, как HTTPS на самом деле устроен.

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

Неэффективный программист или как взломать свой мозг за 2 дня

Reading time9 min
Views192K


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


Интернет сделал нас ленивыми!

Почему? Кто в последний раз посмотрел видео больше 3х минут? Кто прочитал пост больше 2 страниц? Какой заголовок более привлекателен, «63 способа бла-бла-бла» или «3 проверенных метода бла-бла-бла»? А если эти три проверенных метода выделены от основного текста, то это вообще гуд (можно не читать текст вовсе, а просто пробежаться по выделенным подзаголовкам).

В этом свои плюсы. Наш мозг эволюционировал, и обрабатывает информацию быстрее, чем, скажем, 15-20 лет назад (да и эволюционирует быстрее, чем это было возможно век назад). Как компании справляются с высокими нагрузками? Как процессор выполняет программу по возможности быстро? С помощью кэширования! (как вариант, но самый приоритетный). Что делает наш мозг, чтобы справиться с большой нагрузкой? Кэширует! Что именно и как — оставим на размышление ИИшникам (специалистам по искусственному интеллекту). В противном случае при увеличении размера обрабатываемой информации время «отклика» бы увеличилось в разы, и на ответ на «как добраться до ближайшей больницы?» уйдет больше времени, чем человек «в силе ждать». «Сила ждать» тоже уменьшилась, «размер» нашего терпения уменьшился, и мы быстро устаем, если продолжительность видео большая, размер статьи большой (на самом деле продолжительность может не влиять на терпение, больше всего влияет полезная информация, если «воды» меньше или вовсе нет, то и терпеть ничего не приходится, посему данный пост написан «эз лаконик эз посибл»).
Убедиться в этом

Отказоустойчивый кластер Master-Slave на PostgreSQL

Reading time9 min
Views127K
Приветствую, хаброжители!
В этой статье я хочу поделиться опытом развертывания кластера Master-slave на СУБД PostgreSQL. Отказоустойчивость достигается с помощью возможностей pgpool-II (failover, online recovery).
pgpool — это прекрасное средство для масштабирования и распределения нагрузки между серверами и, думаю, немногие знают о возможностях автоматического создания failover на ведомом сервере при отказе ведущего и как добавить новые мощности в уже работающий кластер без отключения всего кластера.
Читать дальше →

Кросс-продвижение Android-приложений с помощью сети AppFlood

Reading time4 min
Views10K
Каждый, кто хоть раз пробовал разработать и опубликовать свое мобильное приложение, в конце концов сталкивается с двумя проблемами: как его раскрутить и как на нем заработать. Вот и у меня возникли такие же вопросы, когда я впервые выложил свое первое и на сегодняшний день единственное приложение.
Часто в статьях о продвижении приложений говорится о кросс-продвижении, когда разработчики разных приложений рекламируют друг друга. Можно, конечно, самостоятельно искать близкие по духу приложения и пытаться связаться с их авторами, договариваться, но это утомительно и долго. Поэтому у меня возникло желание найти сеть кросс-продвижения приложений, где можно было бы за рекламу чужих приложений рекламировать своё и никому не платить за это.
По запросу «cross promotion android» Google мне выдал на первом месте сервис AppFlood, который как раз для эти целей и существует.

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

Дайджест новостей из мира мобильной разработки за последнюю неделю №22 (22 — 28 июля 2013)

Reading time3 min
Views13K
Всю эту неделю оставался закрыт iOS Developer Center, Google представил и выпустил Android 4.3, Unity 4.2 начал поддерживать Windows Phone 8, Windows 8 и Blackberry 10, а Flurry провела занятное исследование цен на приложения. Все это — в нашем еженедельном дайджесте.

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

Изучить программирование на PHP. Вводная

Reading time5 min
Views68K


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

<?php
$me = 'Programmer';
makeHappy($me);


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

Для тех кто и так знает, что делает этот код — в статье для вас есть блудницы и дух черно-белого верблюда.

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

Tiny Thief — крутая мобильная игра сделанная с помощью Flash + Autodesk Scaleform Mobile SDK

Reading time2 min
Views22K
image

В начале хотел написать перевод обзорной статьи от Autodesk про игру TIny Thief, но в процессе перевода понял, что статья — чуть более, чем полностью направлена на рекламирование Autodesk Scaleform Mobile SDK, а не на раскрытие полезной информации по разработке игры.

Но это не меняет сути. Господа, я очень рад, что появился инструмент, который, судя по всему, позволяет портировать Flash на мобильные платформы удобным способом и выдаёт при этом хорошую производительность. Меня, как Flash-разработчика, это очень и очень радует (так как, к сожалению, Adobe, на мой взгляд, так и не удалось создать хорошего инструмента для портирования Flash на iOS и Android).

Краткие характеристики:
1) В списке заявленных платформ для портирования: iOS, Android, Win Phone 8/RT (правда судя по комментариям на форумах Win-поддержка ещё не реализована)
2) Позволяет использовать векторную графику, созданную в Flash, без дополнительного перегона в растр.
3) Судя по-всему, держит хорошую производительность.
4) Позволяет подгружать/выгружать .swf файлы «на лету», что даёт возможность контролировать нагрузку на оперативную память.
Читать дальше →

Создавайте продукты, которые не масштабируются

Reading time16 min
Views70K
Один из наиболее универсальных советов, которые мы даем в Y Combinator, это браться за сложную работу. Многие начинающие основатели верят, что стартапы или «взлетают» или нет. Вы создаете что-то, делаете это доступным, и, если вы придумали самую лучшую мышеловку, люди, как и было обещано, сами придут к вам. Или не придут, в таком случае у вас нет рынка. [1]

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

Привлечение клиентов


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

Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 17

Reading time25 min
Views51K

Весной 2012 г., Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

Один из студентов лекции записывал и выложил транскипт. В данном хабратопике barfuss, переводит семнадцатое занятие, редактор astropilot.

Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего хода
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
Читать дальше →

Базы данных в онлайн-играх. От Аллодов Онлайн до Skyforge

Reading time7 min
Views161K
Когда говорят про разработку игр, обычно речь идет о шейдерах, графике, AI и т.д. Крайне редко затрагивается серверная часть игровых проектов, а ещё реже — базы данных. Исправим это досадное недоразумение: сегодня я расскажу о нашем опыте работы с базами данных, который мы приобрели в ходе разработки Аллодов Онлайн и нашего нового проекта Skyforge. Обе эти игры — клиентские MMORPG. В первой зарегистрировано несколько миллионов игроков. Вторая разрабатывается студией в строжайшей секретности в недрах Allods Team.

Меня зовут Андрей Фролов. Я ведущий программист Allods Team и работаю в команде сервера. Мой опыт разработки — почти 10 лет, но в игры я попал только в октябре 2009. В коллективе я уже больше трёх лет, с марта 2010. Начинал работу на Аллодах Онлайн, а сейчас на Skyforge. Занимаюсь всем, что так или иначе связано с сервером Skyforge и базами данных. В этой статье я расскажу о базах данных в онлайн-играх на примере Аллодов и Skyforge.



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

ACE: самый функциональный редактор кода

Reading time8 min
Views90K


Здравствуйте, господа!

Я был достаточно приятно удивлен, когда узнал, что проект Ajax.org, именуемый Ace почти ни разу не упоминался на хабре. Ace — это веб-редактор исходного кода нового поколения. Он поддерживает уйму различных функций, среди которых: наличие режимов подсветки синтаксиса для более чем 60 языков программирования, поддержка сумашедшего количества цветовых схем из различных популярных IDE, функций, среди которых: широкая кастомизация, проверка синтаксиса для нескольких скриптовых языков. Так уж получилось, что эта статья скорее всего будет разносторонняя, т.е. содержать материал для веб-разработчиков и С++ программистов, которых я так успешно агитирую в сторону Qt. Итак, что вы можете прочитать в этой статье?

  • Быстрый старт с Ace. Где я могу использовать Ace? Почему?
  • Портирование Ace на Qt и обертка его API: How-To для создателей Qt5-based библиотек (таких как мой порт Ace — Novile

Сейчас позволю себе показать пару скриншотов example-приложения, которое использует мою библиотеку Novile:

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

Работать эффективнее

Reading time2 min
Views60K


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

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

2. Если письмо не требует ответа или какой-то реакции, отправляйте его в архив. Пустая папка «Входящие» — это прекрасно. Используйте inbox в качестве списка To Do.

3. Не используйте одновременно несколько программ/приложений. Закончили с соцсетями — закройте окно. Проверили почту — закройте ее. Не нужно серфить в интернете — закройте браузер. Даже фоном ничего не оставляйте. Несколько задач одновременно отвлекают и мешают сконцентрироваться на чем-то одном.
Читать дальше →

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

Reading time2 min
Views91K
Работа с цветом — это первое, что должен уметь любой дизайнер. В интернете огромное количество разрозненной информации на эту тему, я попытался собрать самое полезное в одной подборке. Большинство полезностей с уклоном в веб-дизайн.

Инструменты




Colour Lovers — старый и функциональный инструмент для подбора цветовых схем. Аналоги — Colourcode, Color Scheme Designer и конечно Kuler. Подобных сайтов великое множество, но эти, на мой взгляд, самые удобные.
Читать дальше →

Пишем SOAP клиент-серверное приложение на PHP

Reading time29 min
Views240K
Всем привет!
Так случилось, что в последнее время я стал заниматься разработкой веб-сервисов. Но сегодня топик не обо мне, а о том, как нам написать свой XML Web Service основанный на протоколе SOAP 1.2.

Я надеюсь, что после прочтения топика вы сможете самостоятельно:
  • написать свою собственную серверную реализацию веб-приложения;
  • написать свою собственную клиентскую реализацию веб-приложения;
  • написать свое собственное описание веб-сервиса (WSDL);
  • отправлять клиентом массивы однотипных данных на сервер.

Как вы могли догадаться, вся магия будет твориться с использованием PHP и встроенных классов SoapClient и SoapServer. В качестве кролика у нас будет выступать сервис по отправке sms-сообщений.
Интересно?

MVP – не дешевый продукт, а умный процесс познания

Reading time3 min
Views17K
Минимально жизнеспособный продукт (minimum viable product — MVP) – не всегда уменьшенная/удешевленная версия законченного продукта. Определение точки, в которой можно выпустить MVP, с самого старта может сэкономить вам много времени, денег и ваших слез.

Дроны в Хартленде


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

JavaScript обработка изображений нативными функциями

Reading time2 min
Views29K

Доброго времени суток, читатель!


Как-то понадобилась мне в проекте, работающем на node.js, обработка изображений. И чтоб скачал файлик, закинул в папку и подключил как модуль. Ан нет, таких в природе не оказалось. По этому тогда пришлось воспользоваться node-imagemagick. Но сейчас пост не о этой библиотеке.

Пост о том, что захотелось сделать такую библиотеку, которую скачал, закинул файлик в проект, подключил модуль и всё работает! Ну и сделал. Правда поддержка gif'ок не реализована, но я надеюсь на огромное сообщество, которое заинтересуется и поможет доделать библиотеку.

Назвал её по простому, imageLib.js, и на github выложил, правда под MIT.
Читать дальше →

Effeckt.css от команды HTML5 Boilerplate: избранные эффекты и переходы на CSS

Reading time1 min
Views18K
Effeckt.css — это постоянно пополняемая подборка эффектов для оформления веб-приложений. Один из главных плюсов этой библиотеки эффектов — достаточно жёсткие критерии включения. Это не куча-мала, в которую сваливают всё подряд, каждый эффект должен соответствовать ряду критериев: эффекты должны быть практичными, их назначение — не демонстрировать возможности технологий, а облегчать и украшать жизнь пользователя, они должны работать быстро и плавно, они должны быть полностью совместимыми с мобильными технологиям.


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

Интересные аспекты развития JavaScript и веб-технологий 2013-го года

Reading time8 min
Views39K
Всем доброго дня!

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

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

Интерактивный глобус — SVG versus Canvas

Reading time6 min
Views52K
Доброго времени суток, уважаемый читатель! В прошлый раз мы изучали процесс создания интерактивной карты-хороплета, теперь предлагаю немного усложнить задачу и перейти к трёхмерной модели Земли, именуемой в народе глобусом. Глобус делать будем двух видов: SVG версия и Canvas версия. В обоих случаях будем использовать JavaScript библиотеку d3.js. У каждого варианта свои преимущества. В моём исполнении Голубая планета выглядит следующим образом:

Планета Земля

А как создать свой собственный Мир с материками и океанами можно узнать под катом.
Читать дальше →

Вся правда о модели Пропасти: Ранние рынки и как быть, если вы совершили ошибку

Reading time9 min
Views31K

Модель пропасти


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

Сейчас, куда не посмотри, все стали учёные: литературой запаслись, интернеты читают. Кого не спроси, и о кривой принятия технологии знают, и вообще всё им понятно: «… да-да, знаем! Есть Новаторы, Ранние последователи, есть рынок ранний, а есть поздний, отщепенцы и увальни — ну куда без них? Да-да, между рынками, ранним и основным, есть пропасть, которую нужно перепрыгнуть!» Знают. Прыгают. Только, бывает, пикируют. А всё почему? Потому что аннотацию прочли, а содержимое не осилили. Поэтому я написал эту заметку. Речь пойдёт о том, что важные вещи, которые нужно знать о модели Пропасти, не всегда лежат на поверхности.
image

Сразу оговорюсь — модель работает только при инновациях, прерывающих привычный образ жизни. Если это улучшения линейные, и никак не меняют ваш привычный образ жизни — модель гарантированно не сработает.
Читать дальше →

Information

Rating
Does not participate
Location
Кокосовы (Килинг) о-ва
Date of birth
Registered
Activity