Search
Write a publication
Pull to refresh
-6
0
Send message

Обзор материалов для изучения Drupal

Reading time2 min
Views45K
«Одна голова хорошо, а много лучше» — подумала я и решила спросить у Drupal-разработчиков, откуда они черпали свои знания.

Так появился проект «3 ссылки, которые сделали вас друпалером» на базе Drupal-сообщества в Санкт-Петербурге: опытные и начинающие друпалеры делятся материалами, которые помогли лично им в изучении этой замечательной CMS.

В этом посте мы собрали ссылки на лучшие ресурсы для изучения Drupal.

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

Что значит быть junior-разработчиком

Reading time5 min
Views88K
image
Автор фотографии: Максим Золотухин

Привет Хабр! Хочу рассказать вам о небольшом сообществе junior-разработчиков в Алматы и своём пути junior-разработчика в Казахстанском вебе.
Читать дальше →

Настраиваем Django 1.6 с python 3.3 под Apache2 на Ubuntu 12.04 Server

Reading time3 min
Views28K
Приятного времени суток!
Возникла необходимость настроить на своём сервере с PHP под Apache поддержку Django. Думал это будет не сложно и всё пройдёт как по маслу, но получилось не совсем так. Дело в том, что я решил настроить последнюю версию фраемворка с поддержкой третьего питона. Тут то и начали всплывать подводные камни.
Читать дальше →

RESTful Api используя Zend framework 2

Reading time3 min
Views14K

Небольшой гайд по созданию простейшего RESTful api с помощью Zend framework 2 (далее zf2).


Нам потребуется zf2 v2.3@dev, а так же Doctrine 2 ORM.

Итак, начнем с создания структуры директорий нашего api:

mkdir -pv zf2-api/{config/autoload,public,module/v1/{config,src/v1/{Controller,Service,Entities}}}


Загружаем композер
curl -sS https://getcomposer.org/installer | php

Так же нам потребуется создать composer.json с такими зависимостями и установить их.
"require": {
        "php": ">=5.4",
        "zendframework/zendframework": "2.*@dev",
        "doctrine/doctrine-orm-module" :"0.*"
    }

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

Расширение возможностей массива в PHP

Reading time5 min
Views17K
Уровень статьи: начальный/средний

Массив в PHP — один из самых мощных типов данных. Он может работать как линейный массив (список), как ассоциативный (словарь) и как смешанный. В качестве ключа массива может использоваться либо целое число, либо строка, причем строка, если она представляет собой целое число (например, «5»), будет конвертирована в целое. Остальные типы, за исключением массивов и объектов, так же конвертируются в целое или строку — подробнее можно прочитать в документации.

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

$foo = isset($array['foo']) ? $array['foo'] : null;
$bar = isset($array['bar']) ? $array['bar'] : null;


Один из способов сделать этот код короче и элегантней — использовать короткую запись тернарного оператора:

$foo = $array['foo'] ? : null;
$bar = $array['bar'] ? : null;


Но такой код выкинет PHP Notice в случе, когда ключ не определен, а я стараюсь писать максимально чистый код — на сервере разработки выставлено error_reporting = E_ALL. И именно в подобных случаях на помощь приходит ArrayObject — класс, к объектам которого можно обращаться используя синтаксис массивов и позволяющий изменять поведение используя механизм наследования.

Рассмотрим несколько примеров изменения поведения.

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

Собеседование разработчика

Reading time5 min
Views62K
Техническое собеседование – практически неотъемлемый атрибут трудоустройства любого разработчика, а для старших разработчиков – проведение их (собеседований) ещё и чуть ли не повседневная обязанность. Но как за короткий срок (в идеале 20-30 минут) составить у себя более менее приемлемое представление о реальном опыте соискателя?

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

Удаленная работа — это не «фриланс»

Reading time5 min
Views137K


Сегодня на глаза попался старый вопрос "Почему работодатель предпочитает нанимать веб-разработчика в офис?": habrahabr.ru/qa/22292. Вопрос был задан еще в 2012 году, но, на мой взгляд, ситуация с тех пор не сильно изменилась.

Коллеги, тут есть серьезное недопонимание, которое давно пора устранить.

Многие, как мне кажется, представляют себе фрилансера примерно так:
  • Приходит на какую-то отдельную небольшую задачу, выполняет ее и уходит.
  • Работает над несколькими мелкими проектами одновременно. Либо имеет постоянную работу, а фрилансером просто подрабатывает в оставшееся время.
  • Его не беспокоит проект в целом. Только то, за что он отвечает.
  • Огораживает себя техническими заданиями. И из-за каждой новой плюшки может возникнуть конфликт.
  • Работает когда хочет. С ним сложно связаться.

А на самом деле

Как получить американский диплом о высшем образовании дистанционно

Reading time4 min
Views52K
Тема изменений в системе высшего образования становится все более актуальной. Много говорят об онлайн курсах как альтернативе университетскому образованию. Один из основных аргументов за традиционное университетское образование это отсутствие диплома и реальной аттестации после окончания онлайн курса.

На самом деле аттестацию можно получить. Причём не просто сертификат о сдаче экзамена после определённого курса, а вполне реальный диплом американского колледжа после выполнения конкретной программы курсов.

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

«WebGL Beginner's Guide» Глава 1: Начиная работать с WebGL

Reading time13 min
Views50K
Всем привет!

Хочу начать вольный перевод отличной книги «WebGL Beginner's Guide», которая, на мой взгляд, будет интересна не только новичкам, но и более продвинутым разработчикам.

Содержание:
  • Глава 1: Начиная работать с WebGL
  • Глава 2: Рендеринг геометрии
  • Глава 3: Освещение
  • Глава 4: Камера
  • Глава 5: Движение
  • Глава 6: Цвет, глубина и альфа-смешение
  • Глава 7: Текстуры
  • Глава 8: Выбор
  • Глава 9: Собираем все вместе
  • Глава 10: Дополнительные методы


WebGL первоначально была основана на OpenGL ES 2.0 (ES означает Embedded Systems), версии спецификации OpenGL для таких устройств как iPhone от Apple и iPad. Но спецификация развивалась, стала независимой, ее основная цель это обеспечение переносимости между различными операционными системами и устройствами. Идея веб-интерфейса, рендеринг в реальном времени открыли новую вселенную возможностей для веб-3D сред, таких как видеоигры, научная и медицинская визуализация. Кроме того, из-за широкого распространения веб-браузеров, эти и другие виды 3D-приложений могут быть запущены на мобильных устройствах, таких как смартфоны и планшеты. Если вы хотите создать свою первую веб-видеоигру, 3D арт-проект для виртуальной галереи, визуализацию данных ваших экспериментов или любое другое 3D-приложение, вы должны иметь ввиду, что первым шагом должно быть то, что вы должны убедиться, что у вас есть подходящая среда.
В этой главе вы сможете:
  • Понять структуру WebGL-приложения
  • Создавать свои области рисования (canvas)
  • Проверить WebGL-возможности вашего браузера
  • Понять, как устроена машина состояний WebGL
  • Изменять переменные WebGL, которые влияют на вашу сцену
  • Загружать и исследовать полнофункциональные сцены


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

Играем в RSS с PlayFramework 2.2 и Scala

Reading time12 min
Views9.4K


Доброго времени суток, уважаемые хабравчане.

Мы, погромпрограммисты, очень часто сталкиваемся с одной и той же проблемой при изучении нового языка X или фреймворка Y — что писать после вступительного туториала Yet Another Hello World? Что-нибудь, что сможет показать какие-то преимущества и недостатки X/Y, но при этом не заняло бы много времени.

Мы с товарищами часто задавались подобным вопросом. В итоге родилась простая мысль — напиши RSS читалку. Тут тебе и работа с сетью, и XML парсер, и БД можно подключить, поглядеть на шаблонизатор. Да мало ли.

Итак, здесь начинается увлекательное путешествие в стек Play Framework 2.2 + Scala + MongoDB на бэкэнде и AngularJS + CoffeeScript на фронтенде.

TL;DR
Весь проект вместился в ~250-300 строк на Scala с документацией и ~150 строк на CS. Ну и немного HTML.
Код доступен на Bitbucket

В путь

Собранные требования к psd-макету веб-сайта

Reading time3 min
Views69K
Привет, фрондэнд разработчики!

При верстке сайта с psd-макета, мы постоянно сталкиваемся с проблемой реализации некоторых элементов, которые нарисовал дизайнер. Будь то кнопка, или какой-то хитрый градиент. Нам приходится либо изворачиваться, тратя на это свое рабочее время или просить дизайнера переделать или в крайнем случае забить и сделать более-менее что-то похожее.

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

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

Вы можете развить свой интеллект: 5 способов максимально улучшить свои когнитивные способности

Reading time17 min
Views516K
Не стоит преследовать цели, которые легко достичь. Стоит нацеливаться на то, что удается сделать с трудом, приложив немалые усилия — Альберт Эйнштейн

Несмотря на то, что Эйнштейн не был нейробиологом, он точно знал все, когда говорил о способности человека добиваться чего-либо. Он интуитивно догадывался о том, что лишь сегодня нам удалось подтвердить с помощью данных, а именно: что заставляет когнитивные способности работать на максимально высоком уровне. По существу: То, что тебя не убивает, делает тебя умнее.
Читать дальше →

Commands in MVVM

Reading time22 min
Views85K
  • Пример 1 – Простое использование Command
  • Пример 2 — Простое использование Command в паре с лямда функциями
  • Пример 3 — Простое использование Command с параметрами
  • Пример 4 – Включение и отключение Command
  • Пример 5 – Command вызывающие события
  • Пример 6 – Асинхронные Command
  • Пример 7 — Асинхронные Command обновляющие интерфейс пользователя (UI)
  • Пример 8 — Асинхронные Command с возможность отмены
  • Пример 9 – Привязка событий к Command
  • Как это работает – Класс Command
  • Как это работает – Класс асинхронных Command
  • Как это работает – Класс привязки данных к Command

Вступление


На примере приложения, использующего паттерн MVVM (Model View View-Model) рассмотрим работу с командами (Commands).
Читать дальше →

Выучить французский и остаться в Тулузе

Reading time3 min
Views69K
image
Про Тулузу многие читатели Хабра должны были слышать как о штаб-квартире Аэробус и аэрокосмическом центре Европы. К этому добавлю, что до Средиземного моря отсюда меньше двух часов езды и до Атлантического океана три часа на машине. Так же в двух шагах Пиренеи и Испания. Температура воздуха сегодня 27 градусов. Если вам интересно, то я могу раскрыть легкий способ переехать сюда жить.
Читать дальше →

Дайджест интересных новостей и материалов из мира PHP за последние две недели № 26 (8—22 сентября 2013)

Reading time5 min
Views17K


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →

Как быстро запустить сложный проект?

Reading time4 min
Views20K

Три недели назад мы выступали на коференции RockIT Conf, которая прошла в Таллине в формате баркемпа. На RockIT технические доклады сменялись выступлением рок-команд, в кулуарах царила неформальная атмосфера. Событие прошло в два дня — первый был стопроцентно боевой, на второй народ разошелся и было немного кисло. Организаторы обещали провести следующий ивент в Питере и учесть ошибки первого RockIT.

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

Многое из того, что написано ниже, можно смело вложить в уста Капитана. Да, это действительно так. Но! Я сам из технарей и сам знаю, как часто мы увлекаемся какой-то технической фитюлькой, крутым рефакторингом или внедрением новых технологий. В 90% случаев пользователь об этом не узнает, особенно, если проект новый.

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

* еще раз, чтобы не было войны в комментариях — подход, описанный в статье подходит не всегда и не для всех проектов
Читать дальше →

Замечательное выступление настоящего программиста

Reading time1 min
Views150K
Не нашёл на хабре — спешу поделиться. Восхитительное выступление Александра Соловьёва ingspree на конференции JavaScript Frameworks Day 2013. На видео ниже просто набор отрывков из него, желающим посмотреть полностью — сюда.

Запускаем приложение ASP.NET MVC 4 на Ubuntu Server 12.04 + nginx

Reading time5 min
Views45K
Захотелось мне посмотреть, как работает реализация .NET на Linux. Решено было развернуть Ubuntu Server на нашем гипервизоре, установить свежий пакет mono и через nginx запустить ASP.NET MVC4 сайт.

На официальном сайте mono готовый пакет для Ubuntu только 2-х летней давности. С этого момента начались поиски в сети путей осуществления задуманного. Результатом полученного опыта стал скрипт для автоматического развертывания на голой Ubuntu Server 12.04.3 или 13.04 всего необходимого для запуска сайтов ASP.NET MVC4:
  • Соберем из исходников и установим mono 3.2.1
  • Добавим monoserve скрипт в init.d для автоматического запуска сайтов и управления ими.
  • Установим nginx 1.4.1
  • Создадим и настроим простой сайт, чтобы проверить работоспособность всей связки.

Сразу под катом находится строчка для автоматического выполнения всей процедуры, описанной в статье.
Читать далее...

Information

Rating
Does not participate
Registered
Activity