Как стать автором
Обновить
29
0
Ноблькур Жан-Луи @JeanLouis

Пользователь

Отправить сообщение

Принцип цикады и почему он важен для веб-дизайнеров

Время на прочтение6 мин
Количество просмотров233K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →
Всего голосов 696: ↑682 и ↓14+668
Комментарии119

Быстрое создание прототипа веб приложения в ASP.NET MVC 3 с использованием MvcScaffolding

Время на прочтение7 мин
Количество просмотров6.9K
В этой статье я бы хотел рассмотреть возможность быстрого создания функционального прототипа веб приложения на основе технологии ASP.NET MVC 3. Немного соприкоснувшись с «Ruby on Rails», я заинтересовался его возможностью Scaffolding-га т.е. быстрого способа генерации основного каркаса приложения. Это дает возможность разработчику сконцентрироваться на создании бизнес модели и получить функциональный прототип не тратя свое время на детали реализации, что очень важно в начале любого проекта. А существует что-либо подобное в ASP.NET MVC? И насколько это функционально, быстро, удобно и практично.
Я хотел бы рассмотреть это на конкретном примере, и в этом качестве предлагаю создать простой веб каталог товаров. В моем случае это будет каталог автозапчастей.
В качестве инструментов, я буду использовать следующие средства разработки и библиотеки.
  • MS Visual Studio 2010
  • ASP.NET MVC 3 – официальный релиз
  • NuGet – менеджер пакетов для Visual Studio
  • MvcScaffolding — генератор кода MVC на основе шаблонов
  • EFCodeFirst — новая возможность Entity Framework CPT5

Читать дальше →
Всего голосов 51: ↑39 и ↓12+27
Комментарии16

Запускаем сторонний код в песочнице

Время на прочтение8 мин
Количество просмотров5.7K
Как гласит статья из Википедии, Песочница — механизм для безопасного исполнения программ. Песочницы часто используют для запуска непротестированного кода, непроверенного кода из неизвестных источников, а также для запуска и обнаружения вирусов.

Представим, что у нас стоит задача: есть какой-то проект и пользователи могут под него писать свои скрипты (виджеты, дополнения, плагины). Мы хотим, чтобы пользовательские скрипты не делали ничего плохого (кража кук это меньшее, что они могут сделать).

В статье пойдет речь об атаках, которые могут совершать злоумышленники и о методах безопасного выполнения стороннего кода.
Читать дальше →
Всего голосов 97: ↑92 и ↓5+87
Комментарии25

1 апреля

Время на прочтение2 мин
Количество просмотров4.6K
Буду собирать тут первоапрельские шутки веб-разработчиков за 2011 год.
Если хотите найти их самостоятельно — лучше не заходите в пост.

Читать дальше →
Всего голосов 138: ↑125 и ↓13+112
Комментарии230

Что почитать на выходных? Рекомендуем, выпуск №4

Время на прочтение2 мин
Количество просмотров1.2K
Это подборка статей на тему веб-разработки на платформе .NET (и не только). За день перед выходными я предлагаю набор интересных ссылок, которые стоит посетить в свободные минуты на выходных, чтобы узнать что-то новое и интересное.

Вы можете следить за циклом этих советов по следующей ссылке.

Темы  номера:
  • видео-курс обучения разработке для Windows Azure из 12 видео [link];
  • Конкурс: зарегистрируй сайты — получи шанс выиграть Xbox360+Kinect [link].
WebForms:
  • ASP.NET AppDomain – что это такое и почему важно понимать как это работает? [link];
  • ASP.NET WF4 / WCF и асинхронные вызовы [link];
  • Tailspin Spyworks Tutorial — тестовый демонстрационный проект на ASP.NET [link];
  • Пример производительного решения на Windows Azure и Windows Server 2008 R2: StockTrader 5 [link];
Читать дальше →
Всего голосов 78: ↑42 и ↓36+6
Комментарии16

Бесплатный доступ к курсу по ReSharper от PluralSight

Время на прочтение1 мин
Количество просмотров3.8K


Всем привет! Хочу поделиться хорошей новостью для тех, кто интересуется ReSharper’ом. Дело в том, что добрые люди с Pluralsight решили открыть на два дня свой курс по ReSharper. Начиная с 19.00 сегодня (15 марта) и в течении двух суток доступ к материалам курса сможет получить любой, причем совершенно бесплатно.

В своих скринкастах, автор курса Джеймс Ковакс (@jameskovacs) рассказывает про все основные аспекты Решарпера: про навигацию, анализ кода, рефакторинги, кодогенерацию, использование шаблонов, поддержку юнит-тестирования и локализации, а также про поддержку Решарпером различных технологий, таких как ASP.NET/ASP.NET MVC, XML, WPF, Silverlight, MSBuild и NAnt. В курсе также рассказано про поддержку JavaScript и CSS – фичи, которые будут доступны в ReSharper 6.

Курс находится тут: http://www.pluralsight-training.net/microsoft/courses/TableOfContents?courseName=resharperfundamentals

Enjoy!
Всего голосов 39: ↑26 и ↓13+13
Комментарии16

Защита идеи: типичные заблуждения

Время на прочтение3 мин
Количество просмотров12K
Уважаемый Хабрахабр вновь обсуждает, нужно ли защищать идеи и как это делать. RMA решила предоставить слово профессиональному юристу и преподавателю программы «Менеджмент в сфере интернет-технологий» Павлу Шинкаренко. Под катом — разбор нескольких «граблей», на которые многие почему-то натыкаются.
Читать дальше →
Всего голосов 41: ↑30 и ↓11+19
Комментарии26

Делаем SMS-сервис «на коленке»

Время на прочтение6 мин
Количество просмотров8.9K
Привет!

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

Задача перед мини-стартапом стояла простая:
  • Создать прикольную штуку на «коленке» за минимум времени
  • Потратить на запуск меньше 1000 рублей (время не считается)
  • Собрать работающий монетизируемый сервис

UDP: в комментах ещё есть статистика во время хабраэффекта и феерический конец истории от агрегатора.
Читать дальше →
Всего голосов 113: ↑104 и ↓9+95
Комментарии96

Практические советы тем, кто хочет построить веб-сообщество ч.3

Время на прочтение4 мин
Количество просмотров1.3K
Продолжаю рассказывать о том, как я ставил на ноги Автотуристу.Ру.
Часть 1, Часть 2.

Глава 7. Цифры нефинансовые
Что ж, обещал в предыдущей части цифры и графики, буду держать своё слово. Сперва хотел бы продемонстрировать динамику роста моего проекта, начиная с первого посетителя и заканчивая 17.12.2010. Не знаю почему, но данные по уникам и просмотрам разительно отличаются в трёх основных (мною используемых) системах сбора статистики о посетителях: Liveinternet, Yandex.Metrica и Google Analytics. Лично я отдаю предпочтение последней по качеству и полноте отчётов, интерфейсу и авторитетности. Также, что, естественно в моих интересах, в GA фиксируется бОльшее кол-во посещений и просмотров страниц, нежели в двух остальных системах. Про Рамблер я промолчу, пожалуй.

Вот как по ГА выглядит обещанная динамика посещений:


Читать дальше →
Всего голосов 95: ↑87 и ↓8+79
Комментарии71

Пишем своё первое приложение на Android

Время на прочтение10 мин
Количество просмотров1.8M

Предисловие


Цель данного поста — с одной стороны поделиться своим успешным опытом старта разработки приложений на платформе Android и с другой стороны поспособствовать развитию рынка софта для этой замечательной и бурно растущей платформы за счёт (без ложной скромности скажу) возможно Вас, прочитавших данный пост. В сети, конечно, можно найти материалы на тему разработки приложения «чуть сложнее, чем helloworld», но как правило они разрозненные и в них не описываются различные мелкие подводные камешки. В данном посте мы рассмотрим полный цикл разработки приложения, начиная с чистого компьютера до готового apk-файла. Под катом скрины.
Читать дальше →
Всего голосов 138: ↑123 и ↓15+108
Комментарии99

3 главные проблемы сайтов web-студий

Время на прочтение3 мин
Количество просмотров15K
Не самая новая тема, не самые свежие идеи. Но, раз количество сайтов с подобными ошибками только растёт, мои советы могут быть вам полезны.

image

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

#1: Текст главной страницы


Надеюсь, не нужно объяснять, насколько важен для web-сайта хороший текст. Особенно, если сайт коммерческий. Но, в то же время, тексты 90% сайтов web-студий СНГ бесполезны. Почему я так считаю?

Давайте посмотрим на вопрос со стороны заказчика и будем предельно откровенны. Сколько студий «уже 10 лет на рынке web-разработки»? Сотни. В скольких студиях «работают только квалифицированные специалисты»? Во всех. У какой студии «самая качественная и расширяемая CMS»? У каждой.
Читать дальше →
Всего голосов 151: ↑128 и ↓23+105
Комментарии102

Знакомство с асинхронными операциями в C# 5

Время на прочтение10 мин
Количество просмотров21K
В прошлый раз мы говорили о том, как можно упростить работу с асинхронными операциями с помощью класса AsyncEnumerator Джеффри Рихтера, а также с помощью библиотеки Reactive Extensions. Однако, как поведал нам недавно Хейлсберг с компанией, счастье таки наступит с выходом новой версии языка C# и нам не понадобится использовать сторонние и не очень велосипеды, при работе с асинхронными операциями.

Идея, которая лежит в основе асинхронных операций в C# 5, очень похожа на ту, которую использовал Джеффри Рихтер в своем классе AsyncEnumerator, только на этот раз помимо нас с вами и старины Рихтера о ней еще узнал и компилятор (что здорово сказывается на вкусовых качествах сего синтаксического сахарка).  Для начала, давайте вернемся к синхронной версии нашего гениального примера, который мы использовали ранее:

Читать дальше →
Всего голосов 55: ↑42 и ↓13+29
Комментарии34

Видео с пользовательской конференции по Sphinx (~8часов)

Время на прочтение1 мин
Количество просмотров1K
Поскольку новость не пробежала на Хабре, но однозначно (с) будет интересна многим:

«Видео с пользовательской конференции по Sphinx (~8часов)
http://devconf.tv/user/sphinx».
Всего голосов 26: ↑23 и ↓3+20
Комментарии9

Инъекции MSIL кода в стороннюю сборку при помощи Mono.Cecil. Реализация принципов АОП в NET

Время на прочтение12 мин
Количество просмотров19K

Введение


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

Многие .NET разработчики знают, что для доступа к объектам чужой сборки можно использовать Reflection. С помощью типов из System.Reflection мы можем получить доступ ко многим объектам .NET сборки, просмотреть их метаданные, и даже использовать те объекты, доступ к которым ограничен (например, private методы чужого класса). Но использование Reflection имеет свои ограничения и главная причина этому — данные, с котороми вы работаете через Reflection, все еще считаются кодом. Таким образом, вы, к примеру, можете получить CodeAccessSecurity exception, если сборка, к которой вы пытаетесь применить Reflection, запрещает это. По этой же причине Reflection работает довольно медленно. Но наиболее важным для данной статьи является то, что стандартный Reflection не позволяет изменять существующие сборки, только генерировать и сохранять новые.

Mono.Cecil


Качественно иной подход предлагает бесплатная библиотека с открытым исходным кодом Mono.Cecil. Главное отличие подхода Mono.Cecil от подхода Reflection в том, что данная библиотка работает с NET сборкой как с потоком байт. При загрузке сборки, Mono.Cecil разбирает PE заголовок, CLR заголовок, MSIL код классов и методов и т.д. работая напрямую с потоком байтов, представляющим сборку. Таким образом, с помощью данной библиотеки можно как угодно (в пределах предусмотренного) изменять имеющуюся сборку.
Читать дальше →
Всего голосов 49: ↑45 и ↓4+41
Комментарии14

Практические советы тем, кто хочет построить веб-сообщество

Время на прочтение5 мин
Количество просмотров2.5K


Вступление


Привет!

В последнее время, спустя вот уже полтора года, как я с нуля, практически в одиночку, создал и развил неплохое с точки зрения пользующихся им людей, а также с точки зрения материального профицита, интернет-сообщество — Автотуристу.Рф, меня стали часто спрашивать, как мне удалось этого добиться и какие шаги я предпринимал на пути к этому. Пусть это и покажется не скромным, но я действительно добился результата (это – состоявшийся факт), об этапах достижения которого теперь и хотел бы поведать интересующимся. И пусть я не запустил Хабр v2.0 и не получаю со своего стартапа баснословных доходов, но, всё же, средний (и даже немножечко выше) московский ай-ти’шный оклад я с него имею, а это и было моей целью. Соответственно, ниже повествование о том, как я поставил себе цель и её добился!

Итак, писанина ниже – это некое Know-How на тему создания с нуля человеком, далёким от web-разработческих дел, интернет-стартапа и его дельнейшего продвижения и развития. Сразу оговорюсь, что всё, что будет изложено ниже, основывается лишь на моём собственном опыте и не претендует на какую бы то ни было научность или официальность. Дело в том, что полтора года назад загоревшись (да что там «загоревшись» — став одержимым!) идеей создания тематического интернет-сообщества, я самостоятельно, от и до, её реализовал. Ещё прошу заметить, что все свои «трепыхания» при создании своего собственного стартапа предпринимались мной, так сказать, «по наитию», то бишь я не читал мудрых книжек и не ходил на семинары или мастер классы. Хотя, с другой стороны, если бы не два замечательных человека, моих друга, то, скорее всего, не было бы и никакого стартапа, но об этом по ходу пьессы.
Важно! Я буду писать много и обстоятельно, вдаваясь в разные, на первый взгляд, казалось бы, ненужные детали, но, поверьте, именно детали порой играют решающую роль, имхо, конечно же.
Читать дальше →
Всего голосов 216: ↑123 и ↓93+30
Комментарии111

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Время на прочтение16 мин
Количество просмотров40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...
Всего голосов 375: ↑368 и ↓7+361
Комментарии105

apache+nginx+gzip_static+yuicompressor

Время на прочтение6 мин
Количество просмотров15K
В этой статье я опишу принципиальные различия Apache и Nginx, архитектуру фронтэнд-бэкэнд, установку Apache в качестве бэкэнда и Nginx в качестве фронтэнда. А также опишу технологию, позволяющую ускорить работу веб-сервера: gzip_static+yuicompressor.
Читать дальше →
Всего голосов 117: ↑109 и ↓8+101
Комментарии71

Yii 1.1.5

Время на прочтение1 мин
Количество просмотров1.1K
Вышел релиз PHP-фреймворка Yii с номером1.1.5, который привнёс внушительное количество исправлений и доработок.

Самое вкусное:

CTypedMap.
— В профайлере теперь видно параметры SQL-запросов.
Массивы как параметры для действия контроллера.
Улучшения в консольных командах.
CClientScript теперь можно вызывать
цепочкой:

Yii::app()->clientScript->registerCoreScript(…)->registerScriptFile(…)->registerStyle(…);

— Добавлен CDbCriteria::index, при помощи которого можно получить результат запроса
массивом с значениями указанного поля в качестве ключей.
— Публикация ресурсов через симлинки (CAssetManager::linkAssets).
— Поддержка PhpUnit 3.5.0RC1 и выше.
— CActiveDataProvider теперь поддерживает составные ключи.
— yiic.bat под Windows теперь корректно работает, если путь к PHP содержит пробелы.
— Поддержка автозагрузки классов PHP5.3 из пространств имён.
— Поддержка темизации виджетов, выводящих представления через метод render.

Список всех изменений.
Инструкции по обновлению.
Пробуем и обновляемся
Всего голосов 42: ↑38 и ↓4+34
Комментарии29

Перевожу Smashingmagazine и Mashable

Время на прочтение1 мин
Количество просмотров745
Привет.

Некоторое время назад, загорелся очередной бредовой идей. Я хотел переводить интересные на мой взгляд статьи с Mashable, Smashingmagazine и других. По той простой причине, что большинство ресурсов сначала появляется на Западе, а потом рано или поздно приходит к нам. В планах было создать этакий клон «русский филиал» озвученных выше сайтов, дабы пользователи всегда были в курсе самой свежей информации. Но конечно я хотел размещать статьи не только новостного характера, но и просветительского.

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

Но, осталось достаточно, ИМХО интересных материалов и я не собираюсь останавливаться на достигнутом.
Прежде чем минусовать, прошу дочитать до конца
Всего голосов 153: ↑130 и ↓23+107
Комментарии45

Информация

В рейтинге
Не участвует
Откуда
Bordeaux, Gironde, Франция
Зарегистрирован
Активность