Pull to refresh
  • by relevance
  • by date
  • by rating

Концепт панели администрирования в symfony 1.2

Symfony *
Первое что обещают разработчики symfony, первый релиз которой намечается на октябрь месяц, это новая панель администрирования (точнее, новый генератор новой панели) В разработке появилось первое описание концепта новой панели администрирования. Пердлагается разделить модель на две группы:
  • Информационные записи (несущие определнные значения)
    — Номер
    — Город
    — Пользователь
    — Страница Контекстные записи (которые прдлагают информцию в контексте, чаще всего «групп» или «категорий»)
    — Група
    — Тэг
    — Категория
    — Тип

Читать дальше →
Total votes 1: ↑1 and ↓0 +1
Views 580
Comments 9

Url to PDF. Легко и без проблем

Qt *
Всем здравствовать.
Давеча был замечен мною интересный пост про замечательный сервис с говорящим адресом: pdfmyurl.com
И родилась мысль написать об альтернативном, более интересном способе (особенно интересном для программистов, энтузиастов и просто любящих консоль людей). Точнее, о проекте, позволяющим делать то же самое, не используя сторонний сервис.
Что же за проект?
Total votes 40: ↑32 and ↓8 +24
Views 5.5K
Comments 32

Iterators & Generators

JavaScript *
Обработка элементов коллекции/массива обычная и частая операция. В JavaScript есть несколько способов обхода коллекции начиная с простого for(;;) и for a in b

var divs = document.querySelectorAll('div');
for (var i = 0, c = divs.length; i < c; i++) {
    console.log(divs[i].innerHTML);
}

var obj = {a: 1, b: 2, c: 3};
for (var i in obj) {
    console.log(i, obj[i]);
}

У объекта Array есть методы обхода всех элементов map(), filter()
var numbers = [1, 2, 3, 4, 5];
var doubled = numbers.map(function (item) {
    return item * 2;
});
console.log(doubled);

В Firefox есть "заполнитель массива" (Array comprehensions)
var numbers = [1, 2, 3, 4];
var doubled = [i * 2 for each (i in numbers)];
console.log(doubled); // [2, 4, 6, 8]

Итераторы и Генераторы появились в JavaScript 1.7 (по версии Mozilla) они есть пока в Firefox 2+ (в статье будет упомянут способ как их можно «эмулировать» почти во всех браузерах с костылем) Итераторы и Генераторы вносят механизм, позволяющий управлять поведением for in и инкапсулировать процесс получения следующего элемента в списке объектов.

Часто для обхода и обработки элементов массива мы пишем большие конструкции, часто копипастим их части. Задача Генераторов и Итераторов усовершенствовать этот процесс, добавив синтаксический сахар.
Читать дальше →
Total votes 89: ↑86 and ↓3 +83
Views 17K
Comments 16

Итераторы и генераторы на основе функций

JavaScript *
Поддержка итераторов и генераторов в качестве языковых конструкций появилась в javascript только в версии 1.7, и об использовании этих чудесных вещей в браузерах еще долго можно будет только мечтать. Однако использовать итераторы и генераторы в виде паттернов проектирования в javascript можно уже сейчас, и более того, делать это достаточно легко, а иногда даже приятно :)
Добро пожаловать под кат
Total votes 38: ↑36 and ↓2 +34
Views 4.3K
Comments 9

Layout страницы за 5 секунд

CSS *HTML *
www.layzilla.com

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

Можно создавать основу страницы проекта любой сложности.

В будущем сделаем поддержку HTML5.

Мануал для любителей почитать.
Total votes 105: ↑98 and ↓7 +91
Views 760
Comments 40

Онлайн генератор документации для Node.JS проектов

JavaScript *Node.JS *
Документация — одна из самых важных составляющих любого проекта, особенно если этот проект с открытым кодом, который будут читать другие люди. Чтобы сделать мир opensource чуточку лучше, я попытался собрать свои знания в области организации модулей nodejs проектов и сделать такой инструмент как Makedoc!. Ремарка для адептов ruby: это почти то же, что и rdoc.info для руби.

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

В кратце шаблон использования такой: идем на jsdoc.info/[githubusername]/[projectname] и видим готовую документацию по проекту. Либо идем на jsdoc.info/[githubusername] и получаем список проектов для которых можно сгенерировать документацию.

За деталями реализации прошу под кат.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 4.9K
Comments 34

Генерация DTO и remote интерфейсов из Java в ActionScript

Java *Adobe Flash Apache Flex *
Дано web приложение на Java и Flex. Для связи используется Blaze DS или подобная технология, использующая AMF сериализацию. На стороне сервера и на стороне клиента явно или неявно присутствуют DTO (data transfer objects) и интерфейсы remote сервисов. В подобных приложениях стоит проблема синхронизации кода DTO между клиентом и сервером. Конечно, если приложение полностью покрыто тестами, рассинхронизация между Java и ActionScript исходниками выявится во время тестирования, но есть возможность получить feedback еще раньше – уже во время компиляции.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Views 4.5K
Comments 0

Заполнение текстовых шаблонов данными на основе модели. Реализация на .NET с использованием динамических функций в байт-коде (IL)

.NET *C# *
Tutorial

Пролог


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

Сразу возник вопрос — как это реализовать? На ум приходили различные решения, начиная от задания в шаблоне неких константных значений, которые бы заменялись на данные модели, и заканчивая полноценными вьюхами Razor (сайт построен на MVC 5).

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

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

Если вас интересует только шаблонизатор, ссылочки ниже:

Исходные коды шаблонизатора (Genesis.Patternizer) и тестовой консоли в проекте на SourceForge: https://sourceforge.net/projects/open-genesis/?source=navbar
Или в архиве одним файлом: Patternizer.zip

Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Views 8.6K
Comments 5

Генерация шейдеров GLSL, HLSL, Metal

C++ *Development of mobile applications *
Доброго дня хабр. Это моя первая статья на хабре, не судите строго.

В данной статье я хотел-бы рассмотреть тему генерации кода шейдеров для разных платформ, а также их оптимизацию.
Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Views 20K
Comments 13

Python: коллекции, часть 4/4: Все о выражениях-генераторах, генераторах списков, множеств и словарей

Python *Programming *
Tutorial
Часть 1 Часть 2 Часть 3 Часть 4
imageЗаключительная часть моего цикла, посещенного работе с коллекциями. Данная статья самостоятельная, может изучаться и без предварительного изучения предыдущих.

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

imageБудут рассмотрены: выражения-генераторы, генераторы списка, словаря и множества, вложенные генераторы (5 вариантов), работа с enumerate(), range().
А также: классификация и терминология, синтаксис, аналоги в виде циклов и примеры применения.

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

Оглавление:


1. Определения и классификация.
2. Синтаксис.
3. Аналоги в виде цикла for и в виде функций.
4. Выражения-генераторы.
5. Генерация стандартных коллекций.
6. Периодичность и частичный перебор.
7. Вложенные циклы и генераторы.
8. Использование range().
9. Приложение 1. Дополнительные примеры.
10. Приложение 2. Ссылки по теме.
Изучаем детали, иллюстрации и примеры
Total votes 22: ↑21 and ↓1 +20
Views 97K
Comments 45

IQL — очередной SQL-генератор для Java

Java *SQL *GitHub
Sandbox
Несколько лет назад я принялся за разработку одного крупного проекта на PHP, который только и делал что писал, читал и обновлял тонны данных в SQL. Сразу же было решено написать для этого проекта конструктор SQL-запросов, который тогда сильно облегчил мне жизнь и по сей день помогает мне и мои коллегам в ежедневной работе. Дело в том, что выложить этот конструктор в общественный доступ я не могу, так как проект принадлежит не мне, да и сильно завязан этот конструктор на наш фреймворк.

В связи с чем я решил разработать его аналог на Java, в надежде, что он сослужит кому-то добрую службу, так как не всем нужен ORM, а JOOQ кажется слишком сложным
Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Views 8K
Comments 27

JavaScript: методы асинхронного программирования

RUVDS.com corporate blog Website development *JavaScript *
Translation
Синхронный код на JavaScript, автор которого не стремился сбить с толку тех, кто этот код будет читать, обычно выглядит просто и понятно. Команды, из которых он состоит, выполняются в том порядке, в котором они следуют в тексте программы. Немного путаницы может внести поднятие объявлений переменных и функций, но чтобы превратить эту особенность JS в проблему, надо очень постараться. У синхронного кода на JavaScript есть лишь один серьёзный недостаток: на нём одном далеко не уехать.



Практически каждая полезная JS-программа написана с привлечением асинхронных методов разработки. Здесь в дело вступают функции обратного вызова, в просторечии — «коллбэки». Здесь в ходу «обещания», или Promise-объекты, называемые обычно промисами. Тут можно столкнуться с генераторами и с конструкциями async/await. Асинхронный код, в сравнении с синхронным, обычно сложнее писать, читать и поддерживать. Иногда он превращается в совершенно жуткие структуры вроде ада коллбэков. Однако, без него не обойтись.

Сегодня предлагаем поговорить об особенностях коллбэков, промисов, генераторов и конструкций async/await, и подумать о том, как писать простой, понятный и эффективный асинхронный код.
Читать дальше →
Total votes 27: ↑22 and ↓5 +17
Views 68K
Comments 17

USB Генератор СВЧ

DIY Electronics for beginners
Sandbox
Бывает так, что одного СВЧ генератора на рабочем месте не хватает, или же им кто-то пользуется, а проверить например смеситель (усилитель, АЦП…) очень нужно. А ещё стационарные СВЧ генераторы довольно большие и тяжёлые, лично мне часто лень их переносить и освобождать место на рабочем столе. По этим причинам два года назад я сделал свой маленький генератор, первую версию.

Первая версия USB генератора

Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Views 38K
Comments 28

Генератор клиента к базе данных на Golang на основе интерфейса

Open source *Programming *Go *

Генератор клиента к базе данных на Golang на основе интерфейса.



Для работы с базами данных Golang предлагает пакет database/sql, который является абстракцией над программным интерфейсом реляционной базы данных. С одной стороны пакет включает мощную функциональность по управлению пулом соединений, работе с prepared statements, транзакциями, интерфейсом запросов к базе. С другой стороны приходится написать немалое кол-во однотипного кода в веб приложении для взаимодействия с базой данных. Библиотека go-gad/sal предлагает решение в виде генерации однотипного кода на основе описанного интерфейса.

Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 11K
Comments 8

Генератор музыкальных каверов на Python в Blender

Working with video *Python *Software
Sandbox
В данной статье я расскажу о моём аддоне к блендеру, о причинах, побудивших меня к его созданию, процессе разработки и об «успехе» на YouTube.


Читать дальше →
Total votes 32: ↑32 and ↓0 +32
Views 8.8K
Comments 19

Последовательный fetch и 5 способов решения

JavaScript *Programming *
Sandbox


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

Читать дальше →
Total votes 37: ↑19 and ↓18 +1
Views 11K
Comments 88

Заметка о перебираемых объектах

Website development *JavaScript *Programming *


Доброго времени суток, друзья!

Данная заметка не имеет особой практической ценности. С другой стороны, в ней исследуется некоторые «пограничные» возможности JavaScript, которые могут показаться вам интересными.

Руководство по стилю JavaScript от Google советует отдавать предпочтение циклу for-of там, где это возможно.

Руководство по стилю JavaScript от Airbnb не рекомендует использовать итераторы. Вместо циклов for-in и for-of следует использовать функции высшего порядка, такие как map(), every(), filter(), find(), findIndex(), reduce(), some() для итерации по массивам и Object.keys(), Object.values(), Object.entries() для итерации по массивам из объектов. Об этом позже.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views 4.3K
Comments 4

А вы все еще генерируете данные руками? Тогда GenRocket идет к вам

Big Data *

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

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

 

Проблема тестовых данных

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

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

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

Но даже учитывая Классы эквивалентности генерация тестовых данных сейчас стало отдельной задачей для таких сфер, где работа идет непосредственно с данными, их обработкой и/или трансформацией.  Вариаций таких данных огромное количество, а еще необходимо тестировать не только конечный результат, но и промежуточные значения. Усугубляется все тем, что форматы данных могут так же иметь различные форматы.

Читать далее
Total votes 11: ↑9 and ↓2 +7
Views 3.4K
Comments 8

Kotlite и Kotgres: генераторы SQL и JDBC кода на Kotlin для Sqlite и Postgresql

PostgreSQL *SQL *SQLite *Kotlin *
Sandbox

Нравится Kotlin? Считаешь SQL мощным инструментом? Подташнивает от слов ORM, JPA, Hibernate?

Есть выход! Автоматическая генерация SQL + JDBC без бойлер-плейта.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views 2K
Comments 9

Генераторы для самых маленьких

ДомКлик corporate blog Python *

Всем привет! В бытность мою, когда я самостоятельно изучал Python, я находил достаточно теоретического материала о языке и его возможностях. Однако даже после прочтения нескольких статей на разных сайтах и книг многое не укладывались у меня в голове (да, вот такой вот я тугой). Непонятные концепции приходилось зубрить «на веру» без глубокого понимания, потому что практические примеры в статьях были для меня сложны. Время шло, я становился опытнее, понимание приходило на практических задачах, и в какой-то момент я стал учить Python'у своих друзей. В рамках наставничества я обнаружил, что, кажется, наметил путь, по которому можно объяснять сложные концепции простыми словами.

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

Сегодня хочется ещё раз поговорить о генераторах. Итак, в бой!

Читать далее
Total votes 26: ↑24 and ↓2 +22
Views 10K
Comments 13