Search
Write a publication
Pull to refresh
0
@SeDo4read⁠-⁠only

User

Send message

27+ ресурсов для онлайн-обучения

Reading time5 min
Views971K

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

Статья содержит перечень ресурсов для онлайн-обучения, представляющих интерес преимущественно для программистов.

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

Сайты для онлайн-обучения веб-разработчиков и веб-дизайнеров

Reading time2 min
Views128K
В заметке собраны сайты с обучающими материалами для веб-дизайнеров и веб-разработчиков. Старался не повторяться с постом 27+ ресурсов для онлайн-обучения хабраюзера nicolausYes.

Academic Earth


Множество бесплатных лекций, в том числе от известных университетов (Гарвард, MIT, Стенфорд и др.).

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

Список полезных инструментов для php разработчика

Reading time10 min
Views150K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →

Как устроены переменные в PHP

Reading time3 min
Views65K
Вроде простой вопрос, даже не понятно что на него ответить, правда?
Мы все знаем как создать переменную, как получить значение переменной, как взять ссылку на переменную в конце концов.
Но как они работают изнутри?
Что происходит в интерпретаторе, когда вы изменяете значение переменной? Или когда удаляете ее?
Как реализованы типы переменных?

В этой статье я постараюсь раскрыть именно эти темы.

Abstract

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

Структуры данных, PHP

Reading time9 min
Views86K
Данный пост является переводом и предназначен для новичков. Ну или для тех, кто забыл лекции с начальных курсов своих вузов. Скорее всего, данный материал уже попадался на хабре в той или иной модификации, но здесь упор на PHP и его особенности.

Структуры данных или Абстрактный Тип Данных (ADT) — это модель, определенная как некий набор операций, которые могут быть применены к самой себе и ограничена тем, какой результат дают эти операции.
Большинство из нас сталкиваются со стеком и очередью в повседневной жизни, но что общего между очередью в супермакете и структурой данных? В этом мы и попробуем разобраться в данной статье, где также будут описаны деревья.

http://www.thisiscolossal.com/2013/01/a-wooden-domino-tree-by-qiu-zhijie/



UPD: s01e02

Осторожно, трафик! Очень много текста!

История The Pirate Bay

Reading time4 min
Views45K


На днях проект The Pirate Bay отметил свой 10-летний юбилей. Основанный в 2003 году группой хакеров и активистов, небольшой шведский торрент-трекер рос, став иконой интернет-пиратства. Давайте взглянем, как проект прошел путь от маленького сайта, расположенного на сервере с процессором 1.3 ГГц и 256Мб оперативной памяти, до глобального пиратского ресурса с мировым именем.
Читать дальше →

Как узнать, что ваш PHP сайт был взломан

Reading time11 min
Views135K
Сайт моего друга недавно был взломан, на нем была запущена старая версия IP.Board, в которой есть уязвимость локального внедрения кода (local file inclusion). Этот пост не будет посвящен IP.Board или другому php коду, он покажет, как найти потенциально вредоносный php код на ваших серверах. Наконец, покажу пример того, что злоумышленники могут загрузить на взломанный сайт.

Проверьте логи доступа


Что бы с чего-то начать, я бы хотел поделиться некоторыми записями из журнала доступа (access log) взломанного сайта моего друга.

IpreMOVED - - [01/Mar/2013:06:16:48 -0600] "POST /uploads/monthly_10_2012/view.php HTTP/1.1" 200 36 "-" "Mozilla/5.0"
IpreMOVED - - [01/Mar/2013:06:12:58 -0600] "POST /public/style_images/master/profile/blog.php HTTP/1.1" 200 36 "-" "Mozilla/5.0"

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

Два файла выше это загруженные взломщиком скрипты, как они туда попали, большой роли не играет, так как код на любых двух серверах, вероятно, будет различным. Тем не менее, в данном конкретном примере, уязвимость в устаревшей версии IP.Board была использована, и атакующие смогли добавить свои собственные скрипты в директории доступные для записи, такие как пользовательский каталог загрузки и каталог, в котором IP.Board хранит кэшированные изображения темы оформления. Это общий вектор атаки, много людей изменяют права на эти каталоги на 777 или дают им доступ на запись, подробнее об этом чуть позже.

Рассмотрим подробнее приведенные выше строки журнала, ничего не цепляет вас?

Обратите внимание, что в журнале доступа POST запросы, а не GET запросы.
Скорее всего, злоумышленники хотели сделать журнал доступа более неприметным, так как большинство журналов не сохраняют post данные.
Читать дальше →

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

Reading time5 min
Views68K


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

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


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

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

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

Полноэкранный, масштабируемый div, соблюдающий пропорции ширины, высоты и текста

Reading time3 min
Views69K
Здравствуйте! На днях мне выпала задача написать «заглушку» на сайт, который прекратил своё существование. Дизайнерское решение заключается в создании видео на котором изображён старый сайт, напечатанный на листке, плавно поглощающийся офисным утилизатором бумаги. После окончания ролика должна появиться надпись «Старого сайта больше нет. Скоро будет новый.», логотип компании, ссылки на Facebook и Google+, а также контактная информация.



Видео посредством Css размещается на всю ширину или высоту вьюпорта, в зависимости от экрана пользователя, сохраняя свои пропорции. То есть, если у нас видео с разрешением 1280 x 1024, то при ресайзе окна браузера, его разрешение будет меняться пропорционально: 1000 x 800, 600 x 480.

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

Проблемы роста в IT бизнесе

Reading time8 min
Views97K
проблемы
Я ничему не научу вас в этом посте. Может быть просто расскажу что-то о чем вы еще не знаете, или не догадываетесь. Но вы можете с этим столкнуться, и тогда вы будете предупреждены. А значит и вооружены. И еще я очень рассчитываю на советы тех людей, которые уже прошли через эти проблемы и решили их.

Итак, вы устали работать на дядю и решили замутить свой IT бизнес. У вас уже есть какие-то наработки или прорывные идеи. Вы уже вечерами написали все что задумывали, у вас уже есть пара заинтересованных клиентов. И вот вы гордо вышли из кабинета директора с подписанным заявлением в новую жизнь.

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

Что же это за проблемы?
Читать дальше →

Экранирование (или что нужно знать для работы с текстом в тексте)

Reading time10 min
Views238K
SQL инъекции, подделка межсайтовых запросов, поврежденный XML… Страшные, страшные вещи, от которых мы все бы хотели защититься, да вот только знать бы почему это все происходит. Эта статья объясняет фундаментальное понятие, стоящее за всем этим: строки и обработка строк внутри строк.
Читать дальше →

5 практических советов по эксплуатации литий-ионных аккумуляторов

Reading time3 min
Views1.2M
Литий-ионные аккумуляторы не столь «привередливы», как их никель-металл-гидридные собратья, но все равно требуют определенного ухода. Придерживаясь пяти простых правил, можно не только продлить жизненный цикл литий-ионных аккумуляторных батарей, но и повысить время работы мобильных устройств без подзарядки.

Не допускайте полного разряда. У литий-ионных аккумуляторов отсутствует так называемый эффект памяти, поэтому их можно и, более того, нужно заряжать, не дожидаясь разрядки до нуля. Многие производители рассчитывают срок жизни литий-ионного аккумулятора количеством циклов полного разряда (до 0%). Для качественных аккумуляторов это 400-600 циклов. Чтобы увеличить срок службы вашего литий-ионного аккумулятора, чаще заряжаете свой телефон. Оптимально, как только показатель заряда батареи опустится ниже отметки 10-20 процентов, можете ставить телефон на зарядку. Это увеличит количество циклов разряда до 1000-1100.
Данный процесс специалисты описывают таким показателем как Глубина Разряда (Depth Of Discharge). Если ваш телефон разряжен до 20%, то Глубина Разряда составляет 80%. В нижеприведенной таблице показана зависимость количества циклов разряда литий-ионного аккумулятора от Глубины Разряда:
image

Разряжайте раз в 3 месяца. Полный заряд на протяжении длительного времени также же вреден для литий-ионных аккумуляторов, как и постоянная разрядка до нуля.
Читать дальше →

Dropbucket.org — хранилище сниппетов для Drupal

Reading time3 min
Views4.2K
image

Я уже достаточно давно работаю с Drupal и за многие годы практики у меня скопилась масса сниппетов для решения различных задач. В течение этого времени где я только не хранил эти куски кода: в блокноте, в evernote, в gist, в IDE (которые сменялись как перчатки). Всякий раз когда мне нужно было найти тот или иной кусок кода в целях переиспользования я или начинал утомительные поиски среди всей этой цифровой кипы или попросту писал код сначала.

В конечном итоге мне все это надоело и после долгих и продолжительных поисков удобного онлайн хранилища для моих сниппетов, а перебрал я ой ой как много решений, было принято решение создать свое, причем строго Drupal-ориентированое хранилище. Такая узкая направленность — это дань сообществу Drupal, которое подобного проекта «под себя» до сих пор не имело.

Так появился сайт Dropbucket.org, который был запущен месяц назад и получил довольно неплохую прессу в западной части сообщества Drupal. На сегодняшний день на сайте зарегистрировалось 800 друпал разработчиков со всевозможных уголков нашей планеты (включая, конечно же, Россию и Украину).

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

Drupal + Omega + Bootstrap: быстрое создание полностью кастомных тем оформления без верстки (Часть 1. Omega)

Reading time7 min
Views66K
Drupal 7 на сегодняшний день развился настолько, что позволяет создавать темы оформления для сайтов любой сложности, практически не прибегая к HTML-верстке. Процесс создания таких тем напоминает использование конструктора, вся основная работа по переносу эскиза макета в жизнь заключается только в задании необходимых стилей в CSS. Дополнительных ограничений при этом никаких не возникает, можно создавать темы любой сложности, причем полностью настраиваемые; и разве что натыкаешься на ограничения самой платформы (Drupal) или выбранного фреймворка (Bootstrap).

Мой опыт разработки под Drupal более 7 лет, начинал в 2005 году с Drupal 4.6, с тех пор использую и восхищаюсь тем, как он развивается и становится лучше и удобнее от версии к версии. В этой статье я поделюсь своим опытом создания и использования сабжевой связки. Подразумевается, что вы знакомы с Drupal, умеете устанавливать модули и создавать темы оформления, но по каким-то причинам еще не используете фреймворк Omega для разработки своих тем. Первая часть статьи представляет собой простую инструкцию о том, как создать и настроить субтему на базе Omega. Также надеюсь, что идея этой статьи будет интересна пользователям альтернативных платформ, и немного прорекламирует мощь, простоту и гибкость Drupal в этом вопросе.
Читать дальше →

Тратите всю зарплату за месяц?

Reading time1 min
Views178K


Знакома ли Вам ситуация, когда конец месяца и сумма на карточке пустеет? А если еще аванс/зарплату задерживают на день-два, приходится даже занимать?

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

Пост дискуссионный, интересно знать Ваш опыт решения этой проблемы. Мой вариант дальше.
Читать дальше →

Обзор исходного кода Quake 3: Архитектура (Часть 1)

Reading time5 min
Views106K
Так как у меня была одна неделя до моего следующего контракта, я решил закончить мой цикл статей id. После Doom,Doom Iphone, Quake1, Quake2, Wolfenstein iPhone и Doom3, я решил изучить код, который я еще не рассматривал: idTech3 — 3D движок Quake III и Quake Live.
Читать дальше →

О долгой жизни и неминуемой смерти карт с магнитной полосой

Reading time11 min
Views122K
Этот плод любви авиационной и банковской отрасли пережил вот уже более полувека. Однако его конец близок.

В 1967 году авиакомпании пользовались самолетами Боинг 727 и Дуглас DC-8, авиаперелеты были ещё чем-то особенным, а авиаперевозчики зарабатывали на этом большие деньги. Однако на горизонте появилась проблема. Авиакомпании собирались закупить первые широкофюзеляжные самолеты Боинг 747 и Дуглас DC-10, которые значительно увеличили бы пассажиропоток, а, следовательно, и число пассажиров, приходящих одновременно к стойкам регистрации. Для того чтобы предотвратить тот бардак, который мог бы из-за этого возникнуть, авиакомпании были вынуждены искать способ, который позволил бы ускорить процесс продажи билетов и регистрации пассажиров.

Фото: Леви Браун; Стилист-реквизитор: Ариана Салвато
Читать дальше →

Что и в каком объеме нужно знать php программисту

Reading time4 min
Views44K
Хочу сразу оговориться данная статья что отображает мое собственное мнение по этому вопросу основанное на личном опыте и не претендует на абсолютную точность. Написана она для тех, кто или только задумывается на карьерой php программиста или думает что бы изучить дальше.

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

Видео лекций всего курса первой Школы разработки интерфейсов Яндекса

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

За долгое время работы в Яндексе нам удалось систематизировать все наши знания и огромный опыт в создании фронтенда веб-сервисов. Результатом этого осмысления и длительной работы стала первая Школа разработки интерфейсов, занятие которой шли в московском офисе Яндекса. Вся практическая часть обучения проходила в реальных проектах Яндекса. Теоретическая же состояла из лекций, которые читали ведущие разработчики интерфейсов Яндекса: Сергей veged Бережной, Михаил mishanga Трошев, Алексей doochik Андросов, Михаил azproduction Давыдов и другие.

Выпускники первой Школы разработки интерфейсов Яндекса

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

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

Information

Rating
Does not participate
Registered
Activity