Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
User
Серьезное проектирование серьезного магазина. Часть 3. Карточка товара и не только
17 min
49KTutorial
Мы продолжаем делать обзор функционала современного интернет-магазина и саму технологию проектирования качественного продукта с высокой конверсией. В этой части мы расскажем про карточку товаров и все, что с ней связанно. В прошлый раз мы написали довольно популярные статьи: «Серьезное проектирование серьезного магазина. Часть 1. Исследования» и «Серьезное проектирование серьезного магазина. Часть 2. Модули интернет-магазина», эта статья логическое продолжение.
Рис. 1. Карточка товара

Карточка товара
Рис. 1. Карточка товара

+21
Сравнение геолокационных бинарных баз и их драйверов: GeoIP, Sypex Geo, TabGeo
2 min
25K
+17
Карьерное исследование в IT: студенты хотят работать в крупных компаниях
4 min
27K
В Советском Союзе существовало такое понятие, как «распределение»: по окончании вуза выпускник не мог выбирать, где ему работать, а отправлялся туда, куда ему предпишут. Причём зачастую приходилось уезжать совсем в другой регион страны, года этак на три. Сегодня каждый дипломированный выпускник сам ответственен за своё трудоустройство. И если раньше начало карьеры молодого специалиста можно было предсказать на 90%, то теперь поиск работы сулит неизвестность и сюрпризы. По крайней мере, в IT.
Как вы все знаете, Mail.Ru Group не так давно запустила образовательный проект Технопарк. В рамках этого проекта у нас обучаются талантливые студенты. И нас очень интересует, как они видят своё будущее трудоустройство, что их мотивирует и что, напротив, они считают препятствием на пути к своим целям. Поэтому совместно с компанией Smart Start этой весной мы провели опрос студентов IT-специальностей ряда ведущих московских вузов. И сегодня мы хотим поделиться с вами результатами этого опроса.
+18
Внутренняя USB зарядка
2 min
186K
У каждого из нас есть несколько девейсов с USB зарядкой. Рядом с кроватью у меня удлинитель с 5 розетками, 3 розетки заняты под USB зарядки. Такой вариант зарядки телефонов мне давно не нравился из за своих габаритов и не эстетичного вида, хотелось гармонии.
Озадачившись этой проблемой я стал искать внутренние USB розетки. У Gira и Legrand есть варианты с 1 USB розеткой и блоком питания на 1 А и с 2 USB розетками и блоком питания на 1.5 А, но с 4 USB розетками нет ни у кого. Поняв, что это все мне не подходит, да и цены на внутренние USB розетки конские, я решил сам изготовить розетку с 4 USB портами и блоком питания. В качестве блока питания использовал зарядку от iPad 2.4 А как самую компактную и мощную.
+82
Switch to Sketch. Часть 4
8 min
59KTutorial

Оригинальная версия старинной французской поговорки гласит: Le bon Dieu est dans le détail («Бог в деталях»). Собственно, неприметные на первый взгляд детали и отличают Sketch от многочисленных конкурентов. Давайте поближе взглянем на этот кладезь удивительных мелочей.
+26
Что хабровчане носят с собой, или хвастаемся EDC (+ обзор рюкзака Thule TCBP-217)
8 min
116KС каждым днем количество электроники которую человек берет с собой за пределы дома растет, и несмотря на ее тотальное уменьшение и облегчение, количество гаджетов у отдельных особей может составлять весьма длинный список. Встает вопрос: в чем носить? Да так, чтобы удобно и безопасно для электроники? Сегодня расскажу о годном гик-рюкзаке на 32 литра Thule TCBP217 ну, и конечно же, всех приглашаю в EDC тред.

Осторожно: много картинок!

Осторожно: много картинок!
+40
Увеличиваем конверсию в форме оплаты с помощью визуального улучшения полей
4 min
14KTutorial

Например, одна часть платежной формы, имеющая иконки и значки безопасности, текстовые или прочие усиления защиты воспринималась как более надежная, а вторая, без визуальных знаков, вызывала меньше доверия — несмотря на то, что эти поля были частью одной формы и располагались на одной и той же странице. С технической точки зрения, разумеется, между этими формами нет никакой разницы, так как все поля на HTTPS-странице одинаково зашифрованы. Тем не менее, большинство людей не знают об этом, и считают некоторые части платежной формы более безопасными, а другие – менее безопасными вопреки всякой логике.
+29
Приведение к типам в Yii::app()->request
2 min
22KВсем привет!
Хочу поделиться с вами небольшим решением проблемы, с которой столкнулся при переносе части данных проекта в mongodb.
Изначально у нас использовалась только Mysql и все параметры приходящие от клиента вполне себе позволяли получать данные из базы без каких-либо проблем.
А суть в том, что для mysql нет разницы [select * from data where id = 1] или [select * from data where id = '1'].
Но mongodb типы данных различает, по этому нельзя найти запись используя условие id == '1' если id в mongodb является числом.
Хочу поделиться с вами небольшим решением проблемы, с которой столкнулся при переносе части данных проекта в mongodb.
Изначально у нас использовалась только Mysql и все параметры приходящие от клиента вполне себе позволяли получать данные из базы без каких-либо проблем.
<?php
$id = Yii::app()->request->getParam('id', 0);
$data = Data::getForId($id);
?>
А суть в том, что для mysql нет разницы [select * from data where id = 1] или [select * from data where id = '1'].
Но mongodb типы данных различает, по этому нельзя найти запись используя условие id == '1' если id в mongodb является числом.
+3
+12
Удобный доступ к файлам на удаленных хостах
3 min
58KНа Хабре достаточно много разработчиков работают с файлами на удаленных хостах. На локальной машине запускается IDE, отладчик, все необходимое, а сами файлы находятся на сервере, где они регулярно бакапятся, автобилдятся, тестируются и так далее. Очень удобный рабочий вариант. Да я сам его использую.
Единственная проблема, доставляющая неудобство — файлы все же находятся на другом компе, и доступ к ним не такой простой и прозрачный как к «своим».
Под катом — как сделать такой доступ максимально удобным. Чтобы он запускался автоматом когда надо, а самое главное — чтобы не запускался, когда не надо!
Единственная проблема, доставляющая неудобство — файлы все же находятся на другом компе, и доступ к ним не такой простой и прозрачный как к «своим».
Под катом — как сделать такой доступ максимально удобным. Чтобы он запускался автоматом когда надо, а самое главное — чтобы не запускался, когда не надо!
+39
Как собрать WhatsApp за сутки. Часть 1
12 min
112KTutorial

Здравствуйте, дорогие читатели Хабрахабра!
В этой серии статей я расскажу, как быстро и почти безболезненно поднять свой собственный WhatsApp под iOS. Статью делю на две части для вашего удобства:
- Создание проекта, простой UI, привязка к сервису мгновенных сообщений
- Делаем красивый UI, добавляем видео и аудио звонки, передачу фото и документов
К сожалению, пособие о том, как набрать 400 000 000 пользователей и продать сервис за 19 Инстаграмов, затерялось где-то на книжной полке. Постараюсь его найти, если кому интересно.
Заинтересовавшихся прошу под кат.
+114
Создание API: в рамку и на стену
5 min
57KTutorial
Translation
Каждый программист — проектировщик API. Хорошие программы состоят из модулей, а протокол взаимодействия модулей — это тоже API. Хорошие модули используются повторно.
API — это большая сила и большая ответственность. У хорошего API будут благодарные пользователи; поддержка плохого превратится в кошмар.
Публичный API — не воробей, опубликуешь — не уберешь. Есть только одна попытка сделать все правильно, поэтому постарайся.
API должно быть легко использовать, но сложно использовать неправильно. Сделать что-то простое с помощью такого API должно быть просто; сложное — возможно; сделать что-то неправильно должно быть невозможно, или, по крайней мере, трудно.
API должен описывать сам себя. Изучение кода на таком API не вызывает желания читать комментарии. Вообще, комментарии редко нужны.
Перед разработкой API собери требования с долей здорового скептицизма. Осознай общие задачи и реши их.
Оформляй требования как шаблоны использования API. Сверяйся с ними в процессе проектирования.
API — это большая сила и большая ответственность. У хорошего API будут благодарные пользователи; поддержка плохого превратится в кошмар.
Публичный API — не воробей, опубликуешь — не уберешь. Есть только одна попытка сделать все правильно, поэтому постарайся.
API должно быть легко использовать, но сложно использовать неправильно. Сделать что-то простое с помощью такого API должно быть просто; сложное — возможно; сделать что-то неправильно должно быть невозможно, или, по крайней мере, трудно.
API должен описывать сам себя. Изучение кода на таком API не вызывает желания читать комментарии. Вообще, комментарии редко нужны.
Перед разработкой API собери требования с долей здорового скептицизма. Осознай общие задачи и реши их.
Оформляй требования как шаблоны использования API. Сверяйся с ними в процессе проектирования.
+132
Часть 4.2 Возвращаем зрение. От очков до эксимерного лазера
11 min
251KПацаны, есть лазер. Он вгрызается в ваш глаз. Но раньше, чтобы лазер мог начать работу, надо было аккуратно зачистить глаз скальпелем. Скальпель со временем становился меньше, а лазер — круче. Поэтому давайте посмотрим на эволюцию методов.
Эпиграф от Milfgard

Заключительная часть цикла, посвященная непосредственно оставшимся методам коррекции зрения. В этой части мы рассмотрим ортокератологию, все варианты лазерной коррекции зрения, замену хрусталика и несколько других методов. Если вы не читали цикл с самого начала, я очень рекомендую ознакомиться с частями 2 и 4.1, в которых подробно рассматриваются те проблемы, с которыми сталкивается современный офтальмохирург. В этой статье я постараюсь развеять уже поднадоевший страх, связанный с фильмом «Пункт назначения 4» и сошедшим с ума лазером. Также я постараюсь ответить на заданные вопросы читателей, как и обещал.
Предыдущие части
Часть 1. Unboxing VisuMax — фемто-лазера для коррекции зрения
Часть 2. Сколько мегабит/с можно пропустить через зрительный нерв и какое разрешение у сетчатки? Немного теории
Часть 3. Знакомьтесь — лазер по имени Amaris. Переезды и первое пробуждение VisuMax
Часть 4.1 Возвращаем зрение. От очков до эксимерного лазера
+161
Evercookie — самые устойчивые куки
1 min
75KSamy Mamkar разработал систему, которая позволяет хранить куки в 8 местах, автоматически восстанавливая друг друга, и даже добиться того, чтобы куки, поставленное в одном браузере, действовало и в другом.
Удалить это куки практически невозможно! (Все возможно, конечно, но слишком много мороки)
Куки хранятся в:
При удалении из одного из этих мест кука автоматически восстанавливается из оставшихся. Работает даже если пользователь сменит браузер (через Local Shared Objects из Flash).
Описание (на английском) и демо: http://samy.pl/evercookie/.
Попробуйте удалить куки, почистить систему и зайти назад.

Как пользоваться?
Удалить это куки практически невозможно! (Все возможно, конечно, но слишком много мороки)
Куки хранятся в:
- HTTP Cookies;
- Local Shared Objects (Flash);
- Сохранение куки в значениях RGB автосгенерированных и форсированно кэшированных PNG с использованием HTML5 canvas;
- Сохранение куки в Web History;
- HTML5 Session Storage;
- HTML5 Local Storage;
- HTML5 Global Storage;
- HTML5 Database Storage через SQLite.
При удалении из одного из этих мест кука автоматически восстанавливается из оставшихся. Работает даже если пользователь сменит браузер (через Local Shared Objects из Flash).
Описание (на английском) и демо: http://samy.pl/evercookie/.
Попробуйте удалить куки, почистить систему и зайти назад.

Как пользоваться?
+103
Переводим работающую систему Debian 7 на софтовый raid1/10 на примере хостинга от Leaseweb
10 min
20K
Сегодня, уважаемые хабражители и гости хабра, я поделюсь с вами рассказом о том как я строил свой лунапарк с блекджеком и девушками. Т.е. как я переводил свой выделенный сервер, полученный от Leaseweb, на софтовый raid1/10 и lvm.
Зачем нужна данная статья?
Так уж сложилось что Leaseweb, наверное, один из самых вредных хостеров, т.к. поставить систему сразу с готовым raid нельзя, по имеющейся у меня информации техподдержка тоже этого не делает. KVM можно взять далеко не для всех серий серверов, да и денег он стоит немаленьких. В итоге, из желания глубже познать linux, я стал разбираться сам в этой теме.
В интернете я находил множество статей как это сделать, но у них было две основных проблемы: для них требуют возможности доступа в BIOS для изменения порядка загрузки (коего у нас нет) или используется GRUB legasy (версии до 1), которые не используется в Debian 7.
Результатом двух недель жизни в гугле, курения мануалов, википедии и множества опытов стала данная инструкция «для чайников».
+7
Автодокументация мобильных веб-сервисов на примере Yii
3 min
10KДумаю, что многие, особенно небольшие, компании, при работе с одним и тем же фреймоворком постоянно пишут какие-то вещи/расширения и т.п., которые решают именно те задачи, с которыми они сталкиваются наиболее часто.
В нашем случае этим фреймворком является Yii, а одной из самых популярных проблем была одновременная разработка web-сервиса для приложений iOS/Android.
Сначала, как и всегда, просто разработчики договаривались между собой что и как, но если разработчик вдруг менялся — начинались проблемы. Далее — описание входных/выходных данных в wiki. При большом количестве мелких изменений возникала проблема синхронизации кода и форматов, описанных в wiki.
Как мы решили проблему — ниже.
В нашем случае этим фреймворком является Yii, а одной из самых популярных проблем была одновременная разработка web-сервиса для приложений iOS/Android.
Сначала, как и всегда, просто разработчики договаривались между собой что и как, но если разработчик вдруг менялся — начинались проблемы. Далее — описание входных/выходных данных в wiki. При большом количестве мелких изменений возникала проблема синхронизации кода и форматов, описанных в wiki.
Как мы решили проблему — ниже.
+10
Правильное использование Yii
18 min
115KВступление
На самом деле, в заголовке должен стоять знак вопроса. Довольно долго я не кодил как на yii, так и на php в целом. Сейчас, вернувшись, хочется переосмыслить свои принципы разработки, понять куда двигаться дальше. И лучший способ — изложить их и выложить на ревью профессионалам, что я и делаю в этом посте. Несмотря на то, что я преследую чисто корыстные цели, пост будет полезен многим новичкам, и даже не новичкам.
+53
Обновление грида через ajax
5 min
41KПривет, хабрасообщество!
В этой теме я хочу обсудить наиболее правильное использование компонента CGridView в Yii.
Ниже я опишу 3 способа, которые вижу лично я, и буду рад услышать ваши идеи в комментариях.

Итак, задача:
Требуется страница с несколькими блоками, в одном из которых должна быть таблица (грид).
Нужна возможность сортировки и постраничной навигации грида через ajax.
Звучит несложно, не правда ли? Давайте посмотрим, что нам предлагает Yii.
В этой теме я хочу обсудить наиболее правильное использование компонента CGridView в Yii.
Ниже я опишу 3 способа, которые вижу лично я, и буду рад услышать ваши идеи в комментариях.

Итак, задача:
Требуется страница с несколькими блоками, в одном из которых должна быть таблица (грид).
Нужна возможность сортировки и постраничной навигации грида через ajax.
Звучит несложно, не правда ли? Давайте посмотрим, что нам предлагает Yii.
+12
Открытие компании в зарубежной юрисдикции для айтишника, фрилансера, разработчика мобильных приложений
4 min
167K«Право налогоплательщика избегать уплаты налогов с использованием всех разрешенных законом способов никем не может быть оспорено. Каждый имеет право вести свои финансовые дела таким образом, чтобы свести соответствующие платежи к минимуму…»
Дж. Сандерленд,
Судья Верховного Суда США
После моей статьи про поиск инвестиций, я получил много просьб рассказать подробнее про открытие компании за рубежом, и осветить финансовые вопросы. В данном топике я попытался изложить основные моменты, не претендуя на истину в последней инстанции.
Дж. Сандерленд,
Судья Верховного Суда США
После моей статьи про поиск инвестиций, я получил много просьб рассказать подробнее про открытие компании за рубежом, и осветить финансовые вопросы. В данном топике я попытался изложить основные моменты, не претендуя на истину в последней инстанции.
+142
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Registered
- Activity