Flex и RIA блоги
2014-12-17 |
С# для AS3 разработчиков. Часть 2: Расширение классов и реализация Интерфейсов Перевод статьи From AS3 to C#, Part 2: Extending Classes and Implementing Interfaces Эта статья продолжает серию “C# для AS3 разработчиков“, и сегодня мы рассмотрим устройство классов в C# с точки зрения AS3 разработчика (наследование классов, реализация интерфейсов и наследование интерфейсов).
class Shape { } class Circle extends Shape { } А вот, как это выглядить в C#: class Shape { } class Circle : Shape { } Как вы могли заметить, вместо ключевого слова extends, используется : (двоеточие). Похожим образом обстоят дела с реализацией интерфейсов. Как это выглядит в AS3: interface IHasArea { function GetArea(): int; } interface IRound { function GetSmoothness(): int; } class Shape { } class Circle extends Shape implements IHasArea, IRound { function GetArea(): int { return 33; // TODO рассчитать } function GetSmoothness(): int { return 44; // TODO рассчитать } } Та же самая структура кода, но в C#: interface IHasArea { int GetArea(); } interface IRound { int GetSmoothness(); } class Shape { } class Circle : Shape, IHasArea, IRound { int GetArea() { return 33; // TODO рассчитать } int GetSmoothness() { return 44; // TODO рассчитать } } В С#, двоеточие используется вместо ключевого слова implements, по такому же принципу, как и с extends. Описание интерфейсов в C# похоже на описание оных в AS3. Пример расширения интерфейсов в AS3: interface ISuper { } interface ISub extends ISuper { } Скорее всего, вы уже догадываетесь, как этот код выглядит в C#… interface ISuper { } interface ISub : ISuper { } Давайте разберёмся, как описываются отношения между родительскими и дочерними классами/интерфейсами в C#. В AS3 вы можете использовать ключевые слова this и super в любых не статических функциях, чтобы обратиться к экземпляру текущего класса (this) или к экземпляру родительского класса (super). Например: class Polygon { var numVertices:uint; function printDescription(): String { return "Polygon (numVertices=" + numVertices + ")"; } } class Triangle extends Polygon { var color:String; var polygonDescriptionAtConstructionTime:String; function Triangle(color:String) { this.color = color; polygonDescriptionAtConstructionTime = super.printDescription(); } function printDescription(): String { return "Triangle (color=" + color + ")"; } } В данном примере, ключевое слово super обращается исключительно к переменным и функциям класса Polygon. Такой способ обращения к функциям используется крайне редко, но иногда он может помочь избежать в коде двусмысленностей, относительно того, какая из функций printDescription будет вызвана. Если бы в данном примере не использовалось слово super, то вызывалась бы функция printDescription класса Triangle, т.к. поиск в текущем классе происходит раньше родительского класса. Ключевое слово this обращается исключительно к переменным и функциям класса Triangle. В примере, this используется, чтобы компилятор понимал, что нужно обрщаться к переменной color класса Triangle, а не к одноимённой переменной, передаваемой в конструктор. А теперь версия на C#: class Polygon { uint NumVertices; String PrintDescription() { return "Polygon (numVertices=" + numVertices + ")"; } } class Triangle : Polygon { String Color; String PolygonDescriptionAtConstructionTime; Triangle(String color) { this.Color = color; PolygonDescriptionAtConstructionTime = base.printDescription(); } String printDescription() { return "Triangle (color=" + color + ")"; } } Эти два примера очень похожи, за исключением того, что в C#, вместо ключевого слова super, используется ключевое слово base. В C# base выполняет те же функции, что и super в AS3. Другой пример использования super в AS3 (вызов родительского конструктора): class Polygon { var numVertices:uint; function Polygon(numVertices:uint) { this.numVertices = numVertices; } } class Triangle extends Polygon { var color:String; function Triangle(numVertices:uint, color:String) { super(numVertices); this.color = color; } } C# версия: class Polygon { uint NumVertices; Polygon(uint numVertices) { NumVertices = numVertices; } } class Triangle : Polygon { String Color; Triangle(uint numVertices, String color) : base(numVertices) { } } Помимо того, что мы снова заменили super на base, вы можете заметить, что вызов происходит до выполнения кода в конструкторе (до фигурных скобок {}). Так же, вызову конструктора родительского класса предшествует двоеточие (:). Обратите внимание, что в конце строки вызова, не ставится точка с запятой (;). Давайте разберём, как в AS3 сделать так, чтобы класс нельзя было расширить: final class FinalClass { } // Этот класс не будет компилироваться class DerviedClass extends FinalClass { } Похожий функционал в C#: sealed class FinalClass { } // Этот класс не будет компилироваться class DerviedClass : FinalClass { } В данном случае различия между C# и AS3 состоят только в названии ключевых слов. В C# класс, котоырй нельзя расширить обозначается ключевым словом sealed, а в AS3 для этого используется final, но эффект – абсолютно одинаковый. В завершении, сравнение описанных особенностей C# и AS3 кода:
На этом мы сегодня закругляемся. В следующей статье мы поговорим о геттерах и сеттерах (getter/setter) и закончим описание основ классов. После чего, мы сможем перейти к нюансам C#, аналогов которых нет в AS3. Запись С# для AS3 разработчиков. Часть 2: Расширение классов и реализация Интерфейсов впервые появилась Flashist. |
С# для AS3 разработчиков. Часть 2: Расширение классов и реализация Интерфейсов Перевод статьи From AS3 to C#, Part 2: Extending Classes and Implementing Interfaces Эта статья продолжает серию “C# для AS3 разработчиков“, и сегодня мы рассмотрим устройство классов в C# с точки зрения AS3 разработчика (наследование классов, реализация интерфейсов и наследование интерфейсов).
class Shape { } class Circle extends Shape { } А вот, как это выглядить в C#: class Shape { } class Circle : Shape { } Как вы могли заметить, вместо ключевого слова extends, используется : (двоеточие). Похожим образом обстоят дела с реализацией интерфейсов. Как это выглядит в AS3: interface IHasArea { function GetArea(): int; } interface IRound { function GetSmoothness(): int; } class Shape { } class Circle extends Shape implements IHasArea, IRound { function GetArea(): int { return 33; // TODO рассчитать } function GetSmoothness(): int { return 44; // TODO рассчитать } } Та же самая структура кода, но в C#: interface IHasArea { int GetArea(); } interface IRound { int GetSmoothness(); } class Shape { } class Circle : Shape, IHasArea, IRound { int GetArea() { return 33; // TODO рассчитать } int GetSmoothness() { return 44; // TODO рассчитать } } В С#, двоеточие используется вместо ключевого слова implements, по такому же принципу, как и с extends. Описание интерфейсов в C# похоже на описание оных в AS3. Пример расширения интерфейсов в AS3: interface ISuper { } interface ISub extends ISuper { } Скорее всего, вы уже догадываетесь, как этот код выглядит в C#… interface ISuper { } interface ISub : ISuper { } Давайте разберёмся, как описываются отношения между родительскими и дочерними классами/интерфейсами в C#. В AS3 вы можете использовать ключевые слова this и super в любых не статических функциях, чтобы обратиться к экземпляру текущего класса (this) или к экземпляру родительского класса (super). Например: class Polygon { var numVertices:uint; function printDescription(): String { return "Polygon (numVertices=" + numVertices + ")"; } } class Triangle extends Polygon { var color:String; var polygonDescriptionAtConstructionTime:String; function Triangle(color:String) { this.color = color; polygonDescriptionAtConstructionTime = super.printDescription(); } function printDescription(): String { return "Triangle (color=" + color + ")"; } } В данном примере, ключевое слово super обращается исключительно к переменным и функциям класса Polygon. Такой способ обращения к функциям используется крайне редко, но иногда он может помочь избежать в коде двусмысленностей, относительно того, какая из функций printDescription будет вызвана. Если бы в данном примере не использовалось слово super, то вызывалась бы функция printDescription класса Triangle, т.к. поиск в текущем классе происходит раньше родительского класса. Ключевое слово this обращается исключительно к переменным и функциям класса Triangle. В примере, this используется, чтобы компилятор понимал, что нужно обрщаться к переменной color класса Triangle, а не к одноимённой переменной, передаваемой в конструктор. А теперь версия на C#: class Polygon { uint NumVertices; String PrintDescription() { return "Polygon (numVertices=" + numVertices + ")"; } } class Triangle : Polygon { String Color; String PolygonDescriptionAtConstructionTime; Triangle(String color) { this.Color = color; PolygonDescriptionAtConstructionTime = base.printDescription(); } String printDescription() { return "Triangle (color=" + color + ")"; } } Эти два примера очень похожи, за исключением того, что в C#, вместо ключевого слова super, используется ключевое слово base. В C# base выполняет те же функции, что и super в AS3. Другой пример использования super в AS3 (вызов родительского конструктора): class Polygon { var numVertices:uint; function Polygon(numVertices:uint) { this.numVertices = numVertices; } } class Triangle extends Polygon { var color:String; function Triangle(numVertices:uint, color:String) { super(numVertices); this.color = color; } } C# версия: class Polygon { uint NumVertices; Polygon(uint numVertices) { NumVertices = numVertices; } } class Triangle : Polygon { String Color; Triangle(uint numVertices, String color) : base(numVertices) { } } Помимо того, что мы снова заменили super на base, вы можете заметить, что вызов происходит до выполнения кода в конструкторе (до фигурных скобок {}). Так же, вызову конструктора родительского класса предшествует двоеточие (:). Обратите внимание, что в конце строки вызова, не ставится точка с запятой (;). Давайте разберём, как в AS3 сделать так, чтобы класс нельзя было расширить: final class FinalClass { } // Этот класс не будет компилироваться class DerviedClass extends FinalClass { } Похожий функционал в C#: sealed class FinalClass { } // Этот класс не будет компилироваться class DerviedClass : FinalClass { } В данном случае различия между C# и AS3 состоят только в названии ключевых слов. В C# класс, котоырй нельзя расширить обозначается ключевым словом sealed, а в AS3 для этого используется final, но эффект – абсолютно одинаковый. В завершении, сравнение описанных особенностей C# и AS3 кода:
На этом мы сегодня закругляемся. В следующей статье мы поговорим о геттерах и сеттерах (getter/setter) и закончим описание основ классов. После чего, мы сможем перейти к нюансам C#, аналогов которых нет в AS3. Запись С# для AS3 разработчиков. Часть 2: Расширение классов и реализация Интерфейсов впервые появилась Flashist. |
Тест для JavaScript-кодера Харьков. Cтарая, медленно растущая, теплая ламповая компания ищет фронтэндера, способного за три минуты выполнить три пункта этого задания: Мы требуем:
Присылайте результаты теста и резюме на английском по адресу rostislav.siryk@gmail.com Этот же пост на FB: |
2014-12-15 |
С# для AS3 разработчиков. Часть 1: Основы классов
Перевод статьи From AS3 to C#, Part 1: Class Basics Эта статья поможет разобраться в основах C# тем AS3 разработчикам, которые решили переключиться на Unity, но абсолютно не знакомы с программированием на C#.
class MyClass { } Название классов в C# подчиняется той же конвенции, что и названия классов в AS3: каждое слово в названии класса должно начинаться с большой буквы, остальная часть названия пишется в нижнем регистре. Как вы могли заметить, базовый синтаксис классов в C# такой же, как у классов в AS3. Теперь давайте добавим переменную: class MyClass { int X; } Определение переменных в C# отличается от AS3. Вместо var x:int, нужно использовать int X. Конвенция названий говорит, что названия переменных должны начинаться с большой буквы. Давайте посмотрим на функции: class MyClass { void Foo() { } } Функции в C# так же отличаются от функций в AS3. В C# не используется ключевое слово function, возвращаемый тип данный указывается вначале (а не в конце, как это было в AS3), название функций должно начинаться с большой буквы, исходя из конвенции названий. Функция с входящими параметрами: class MyClass { void Foo(int x, int y, int z) { } } Параметры функций, так же, как и в AS3, находятся внутри скобок, но записываются они немного по-другому: вначале тип, потом имя, с пробелом между ними. Конвенция говорит, что названия параметров функций должны начинаться с маленькой буквы. Как и в AS3, параметры функций могут иметь значения по-умолчанию: class MyClass { void Foo(int x = 1, int y = 2, int z = 3) { } } Функция-конструктор: class MyClass { MyClass() { } } Как и в AS3, нам не обязательно указывать тип возвращаемого значения для функций-конструкторов. Вообще-то, у вас не получится указать даже тип данных void, как это можно было сделать в AS3. Так же, для объявления этого типа функций, не используется ключевое слово function. Вы можете иметь больше одной функции-конструктора, это называется “перегрузка” функций: class MyClass { MyClass() { } MyClass(int x) { } MyClass(int x, int y, int z) { } } Перезагрузка так же доступна для других функций: class MyClass { void Foo() { } void Foo(int x) { } void Foo(int x, int y, int z) { } } Чтобы компилятор мог определить, какая из функций вызывается, необходимо придерживаться 2 правил. Во-первых, вы не можете иметь 2 функции с одинаковыми параметрами: class MyClass { void Foo(int x, int y, int z) { // Какой-то функционал } void Foo(int x, int y, int z) { // Какой-то другой функционал } } Это же касается тех функций, вызов которых может выглядеть одинаково, если не будет указан один из параметров по-умолчанию: class MyClass { void Foo(int x, int y, int z) { // Какой-то функционал } void Foo(int x, int y, int z, int w = 0) { // Какой-то другой функционал } } Во-вторых, вы не можете “перегружать” функции по типу данных, который они возвращают: class MyClass { int Foo(int x, int y, int z) { return 0; } uint Foo(int x, int y, int z) { return 0; } } Придерживаясь этих двух простых правил, вы сможете “перегружать” функции, сколько ваша душа пожелает =) Как и в AS3, для определения статических функций необходимо добавить ключевое слово static: class MyClass { static void Foo() { } } То же самое со статическими переменными: class MyClass { static int X; } Теперь, когда мы знаем, как внутри классов определять классы, переменные, функции и конструкторы, давайте рассмотрим как использовать их: void SomeCode() { // Вызов конструктора по-умолчанию (например, без входящих параметров) MyClass mc = new MyClass() // Вызов другого конструктора mc = new MyClass(5); // Вызов функции mc.Foo(); // Вызов перегруженной функции mc.Foo(1, 2, 3); // Вызов статической функции MyClass.Foo(); // Получение значения переменной mc.X; // Установка значения переменной mc.X = 1; // By the way, single-line comments are the same... // Кстати, однострочные комментарии работают так же, как и в AS3... /* ... многострочные комментарие тоже. */ } Всё это очень похоже на AS3. Обратите внимание, что локальная переменная mc начинается с маленькой буквы, как и параметры функций. Давайте обсудим модификаторы доступа. Стандартные модификаторы public, private и protected имеют такой же синтаксис и такое же поведение, как и в AS3. Для их использования достаточно просто добавить их перед возвращаемым типом данных функции, типом переменной или ключевым словом class: public class MyClass { private int X; protected void Foo() { } } В C#, как и в AS3, существует модификатор доступа internal, который имеет такое же название, но немного другое поведение (по-сравнению с AS3). В AS3 модификатор internal означает “доступно для текущего класса и других классов в текущем пакете”. В C# он означает “доступно для текущего класса и остальных классов в текущей сборке”. Я расскажу про понятие “сборки” в других статьях, но пока что, думайте о них, как о группе классов, собранных в одном бинарном файле. Так же, в C# есть модификатор protected internal, который является комбинацией protected и internal. В завершении, сравнение описанных особенностей C# и AS3 кода:
Этим завершается первая часть цикла статей “С# для AS3 разработчиков”. Следующие статьи будут касаться более сложных тем, включая такие особенности C#, аналоги которых не существуют в AS3. Оставайтесь на связи! Запись С# для AS3 разработчиков. Часть 1: Основы классов впервые появилась Flashist. |
С# для AS3 разработчиков. Часть 1: Основы классов Перевод статьи From AS3 to C#, Part 1: Class Basics Эта статья поможет разобраться в основах C# тем AS3 разработчикам, которые решили переключиться на Unity, но абсолютно не знакомы с программированием на C#.
class MyClass { } Название классов в C# подчиняется той же конвенции, что и названия классов в AS3: каждое слово в названии класса должно начинаться с большой буквы, остальная часть названия пишется в нижнем регистре. Как вы могли заметить, базовый синтаксис классов в C# такой же, как у классов в AS3. Теперь давайте добавим переменную: class MyClass { int X; } Определение переменных в C# отличается от AS3. Вместо var x:int, нужно использовать int X. Конвенция названий говорит, что названия переменных должны начинаться с большой буквы. Давайте посмотрим на функции: class MyClass { void Foo() { } } Функции в C# так же отличаются от функций в AS3. В C# не используется ключевое слово function, возвращаемый тип данный указывается вначале (а не в конце, как это было в AS3), название функций должно начинаться с большой буквы, исходя из конвенции названий. Функция с входящими параметрами: class MyClass { void Foo(int x, int y, int z) { } } Параметры функций, так же, как и в AS3, находятся внутри скобок, но записываются они немного по-другому: вначале тип, потом имя, с пробелом между ними. Конвенция говорит, что названия параметров функций должны начинаться с маленькой буквы. Как и в AS3, параметры функций могут иметь значения по-умолчанию: class MyClass { void Foo(int x = 1, int y = 2, int z = 3) { } } Функция-конструктор: class MyClass { MyClass() { } } Как и в AS3, нам не обязательно указывать тип возвращаемого значения для функций-конструкторов. Вообще-то, у вас не получится указать даже тип данных void, как это можно было сделать в AS3. Так же, для объявления этого типа функций, не используется ключевое слово function. Вы можете иметь больше одной функции-конструктора, это называется “перегрузка” функций: class MyClass { MyClass() { } MyClass(int x) { } MyClass(int x, int y, int z) { } } Перезагрузка так же доступна для других функций: class MyClass { void Foo() { } void Foo(int x) { } void Foo(int x, int y, int z) { } } Чтобы компилятор мог определить, какая из функций вызывается, необходимо придерживаться 2 правил. Во-первых, вы не можете иметь 2 функции с одинаковыми параметрами: class MyClass { void Foo(int x, int y, int z) { // Какой-то функционал } void Foo(int x, int y, int z) { // Какой-то другой функционал } } Это же касается тех функций, вызов которых может выглядеть одинаково, если не будет указан один из параметров по-умолчанию: class MyClass { void Foo(int x, int y, int z) { // Какой-то функционал } void Foo(int x, int y, int z, int w = 0) { // Какой-то другой функционал } } Во-вторых, вы не можете “перегружать” функции по типу данных, который они возвращают: class MyClass { int Foo(int x, int y, int z) { return 0; } uint Foo(int x, int y, int z) { return 0; } } Придерживаясь этих двух простых правил, вы сможете “перегружать” функции, сколько ваша душа пожелает =) Как и в AS3, для определения статических функций необходимо добавить ключевое слово static: class MyClass { static void Foo() { } } То же самое со статическими переменными: class MyClass { static int X; } Теперь, когда мы знаем, как внутри классов определять классы, переменные, функции и конструкторы, давайте рассмотрим как использовать их: void SomeCode() { // Вызов конструктора по-умолчанию (например, без входящих параметров) MyClass mc = new MyClass() // Вызов другого конструктора mc = new MyClass(5); // Вызов функции mc.Foo(); // Вызов перегруженной функции mc.Foo(1, 2, 3); // Вызов статической функции MyClass.Foo(); // Получение значения переменной mc.X; // Установка значения переменной mc.X = 1; // By the way, single-line comments are the same... // Кстати, однострочные комментарии работают так же, как и в AS3... /* ... многострочные комментарие тоже. */ } Всё это очень похоже на AS3. Обратите внимание, что локальная переменная mc начинается с маленькой буквы, как и параметры функций. Давайте обсудим модификаторы доступа. Стандартные модификаторы public, private и protected имеют такой же синтаксис и такое же поведение, как и в AS3. Для их использования достаточно просто добавить их перед возвращаемым типом данных функции, типом переменной или ключевым словом class: public class MyClass { private int X; protected void Foo() { } } В C#, как и в AS3, существует модификатор доступа internal, который имеет такое же название, но немного другое поведение (по-сравнению с AS3). В AS3 модификатор internal означает “доступно для текущего класса и других классов в текущем пакете”. В C# он означает “доступно для текущего класса и остальных классов в текущей сборке”. Я расскажу про понятие “сборки” в других статьях, но пока что, думайте о них, как о группе классов, собранных в одном бинарном файле. Так же, в C# есть модификатор protected internal, который является комбинацией protected и internal. В завершении, сравнение описанных особенностей C# и AS3 кода:
Этим завершается первая часть цикла статей “С# для AS3 разработчиков“. Следующие статьи будут касаться более сложных тем, включая такие особенности C#, аналоги которых не существуют в AS3. Оставайтесь на связи! Запись С# для AS3 разработчиков. Часть 1: Основы классов впервые появилась Flashist. |
2014-12-09 |
Дима Гранецкий — Flash, Unity и Haxe разработчик и математик Ищу постоянную работу в компании с полной занятостью Мое резюме:
Опытный разработчик с сильной математической подготовкой. Планирую переезд в Киев, в связи с этим ищу в Киеве постоянную работу. Отлично разбираюсь в математике и геометрии. Пишу AGAL-шейдеры и не только. Много работал с 3D как во флэше, так и на Unity3D. Сделал много NDA-проектов для мировых брендов, промо- и игровых сайтов с 3D-графикой, элементами Augmented Reality и потоковым видео. Отдельно стоит рассказать об отношении к Haxe. На этом языке пишу как обычный код, так и макросы, благодаря поддержке мета-программирования. Реализовал поддержку MXML-подобной нотации со связыванием данных (binding) на чистом Haxe. Написал ряд статей и заметок о Haxe, а также организовал несколько конференций по этой технологии. Поэтому в сообществе Haxe меня знают все — или почти все (а вы знаете, что такое Haxe?) Контакт:Сейчас ищу работу в Киеве, предпочитаю haxe или flash/flex (чистый ас3 меня устроит). Хочу делать что-то интереснее, чем онлайн-казино. Если у вас есть предложение работы для меня — свяжитесь со мной через LinkedIn или по этой почте.
Минимальная зарплата: $3000 Максимальная зарплата: $4000 |
2014-12-04 |
GAF Правда что http://gafmedia.com/ делают в Украине? Если да, то отзовитесь плиз :) Есть проблема http://gafmedia.com/forum/viewtopic.php?f=5&t=147 |
2014-11-27 |
Ищем Flex/AIR-разработчика Ищем хорошего разработчика в Директ Коммандер. В московский или екатеринбургский офисы Яндекса, фуллтайм. Более подробное описание и точка входа здесь. В целом про условия работы написано здесь, от себя могу лишь подтвердить, что работать в Яндексе действительно удобно и хорошо. Если есть какие-то вопросы - спрашивайте, постараюсь ответить. PS: напоминаю, что у нас есть еще одна вакансия. |
2014-11-21 |
Собери совещание Тэги: |
Определение геолокации в приложениях Adobe AIR на мобильных устройствах Ccылки по Adobe AIR Geolocation API на mobile: |
2014-11-20 |
Try Haxe — кросс-платформенный язык разработки Deep на сайте Haxe.ru пишет про обновление сайта Try.Haxe.Org — для быстрого онлайн-знакомства с языком Haxe (кстати, сайт сделан на нем же). Haxe?В 2006 году Haxe появился как универсальный язык программирования для разработки клиента и сервера, включая работу с базами данных. Мы отслеживали его развитие. С тех пор JavaScript также совершил большие шаги, но и Haxe не остановился, во многом превосходя JavaScript (благодаря смелости идей и таланту своего создателя Николя Канасье и сообществу энтузиастов). Сейчас Haxe — это открытый инструментарий со строго типизированным языком, кросс-компилятором, полностью кросс-платформенной стандартной библиотекой и функциями доступа к системным возможностям каждой отдельной платформы. На Haxe.ru перечислен список платформ Haxe:
Попробуйте Haxe Примеры: Перейти на сайт: |
2014-11-19 |
Тут был пост "ссылки на статьи про Друпал" В посте было три ссылки на свежие статьи по Drupal. А теперь все те ссылки — битые. Как неумолимо время. Пост был всего лишь от 7 июля 2014 года. Что мне теперь почитать про Drupal, а? |
2014-11-18 |
Нужен сисадмин глобальных масштабов Нужен админ с сетевым уклоном для работы в большой американской хостинг-компании. Работа из офиса в Харькове. Если интересно — пишите. Формальное описание вакансии намекает, что fluent technical English is mandatory: Network Administrator Job descriptionNetwork Administrator’s role to plan and coordinate the design, installation and connectivity of servers and network systems to ensure the stable operation of the organization’s IT infrastructure. This includes development, configuration, support and optimizations of all new and existing network hardware, software and communication links. In addition the Network Administrator will participate with the installation, monitoring, maintenance, support and optimizations of all network hardware, software and communication links. Troubleshoot network performance issues, analyze network traffic and provide capacity planning solutions. Knowledge and experience
Кстати, прикольные читшит-обои по CLI, кликабельно для скачивания: Да,Если вы — вменяемый Unix-админ, тоже пишите! |
2014-11-17 |
Видео доклада "Функциональное программирование" Краткое содержание:
Запись доклада:Есть также интерактивная запись доклада на Adobe Connect (доклад начинается с 24 минуты): Об автореЛена Кузнецова участвовала во многих проектах и командах, постепенно мигрировала от кодинга до управления кодом. Увлекается оптимизацией, Python и функциональным программированием. Имеет Facebook и желание пожить во Львове (до сих пор не уехала после конференции). Доклад состоялся 1 ноября на конференции UAFPUG-50 во Львове. На странице встречи есть остальные 4 доклада. |
2014-11-14 |
Видео доклада "История одного звука" Рассказ математика и программиста Андрея Андреева об алгоритме сличения звуков — это хит. Изложен матаппарат. Объясняются гармоники, несущая частота и другие интимные места теории музыки. Интерактивно, визуально показаны преобразование Радона, расстояние Фреше и оконная функция Хемминга. Не обошлось и без быстрого преобразования Фурье. Гранит этого спича можно грызть годами. Запись:Интерактивная на Adobe Connect: UAFPUG-50: 4 - История одного звука Об автореАндрей Андреев думает формулами. Он программирует. Делает магические игры. Его доклады проверены практикой. На этой конференции он также провел мастер-класс по сборке приложений Adobe AIR под мобильные устройства (видео). Картинка из доклада: Это доклад с конференции UAFPUG-50 во Львове, 1 ноября; см. остальные там же.
|
2014-11-13 |
Готов к новым приключениям! Здравствуйте, меня зовут Виталий Снитко. Я ищу работу в Киеве (офис), либо удалённо. Готов начать с 21 ноября. О себе:
Пишите на джимейл-ящик "zaidite" — жду предложений!
|
Видео доклада "Рефакторинг и оптимизация" Лена Кузнецова рассказывает о рефакторинге с точки зрения управления кодом и проектами, пропагандируя идею вдумчивой и регулярной оптимизации, не доводя до превращения проекта в спагетти или неизвестную науке пиццу. Запись доклада:Смотрите также интерактивную запись доклада на Adobe Connect: Об автореЛена Кузнецова участвовала во многих проектах и командах, постепенно мигрировала от кодинга до управления кодом. Ее последнее увлечение — язык Python и функциональное программирование. Ведет Facebook. Скриншот из доклада: Доклад состоялся на конференции UAFPUG-50 во Львове, 1 ноября. Остальные доклады есть на странице встречи. |
2014-11-07 |
Видео доклада "Загрузка ресурсов в AIR TAR как пакет" Андрей Саломатин детально разбирает различные способы загрузки ресурсов с упором на оптимизацию процесса в своем докладе на конференции UAFPUG-50 во Львове, 1 ноября. Объясняется формат и использование TAR-формата как удобного контейнера для потоковой загрузки и распаковки на лету. Трудно поверить, что это его первый доклад — настолько хорошо все изложено. Запись доклада:Есть также интерактивная запись на сайте Adobe Connect: Слайды к презентации: https://speakerdeck.com/merlinds/zaghruzka-riesursov-v-air-tar-kak-pakiet Об автореАндрей Саломатин - "зависимый инди-разработчик", как он сам себя называет. Провел много времени, создавая мобильные игры, делает фреймворк-альтернативу Starling. Ведет Facebook и действующий блог merlinds.com, где уже опубликовал отчет о 50-й встрече UAFPUG во Львове (спасибо!) Остальные доклады UAFPUG-50 скоро также появятся на странице встречи. |
2014-11-05 |
Видео мастер-класса "Подготовка и сборка мобильных приложений" Андрей Андреев показал, как паковать мобильные AIR-приложения на мастер-классе во время конференции UAFPUG-50 во Львове, 1 ноября. Разобран процесс публикации AIR для Android. Отдельно включены особенности iOS, такие, как генерирование сертификатов .p12 для тестирования. Демонстрируется создание и редактирование дескриптора мобильного приложения и иконок. Описано использование Android SDK и его инструментов adb и ddms, показаны подводные камни и оптимизации. Запись мастер-класса:Есть также интерактивная запись доклада на сайте Adobe Connect: Об автореАндрей Андреев - в первую очередь не программист, но математик. Он любит делать игры и доклады. Все, что он рассказывает, проверено практикой. Остальные четыре доклада UAFPUG-50 скоро появятся на странице встречи. Спасибо за отличный туториал, Андрей! |
2014-11-04 |
Английский для совсем ленивых Это последний гвоздь в крышку языкового гроба. PlayPhrase.me — гениально простой сервис изучения английского по фразам и словам, на живых примерах из лучших фильмов. Просто вбиваете нужную вам фразу и have fun в контексте, а не как обычно:
http://www.playphrase.me/#/en/have%20fun . А если "have fun" обернуть в кавычки, найдете фразу по точному соответствию.
Еще примеры фраз:
При этом еще и бесплатно. Не, вы серъезно?
|
2014-10-29 |
Away3D — нужен специалист Приветствую. Суть задачи: есть набор уже сделанной анимации в максе, ее нужно правильно экспортировать в библиотеку away3d. Это не для игр, а для дополнительной реальности, вот приблизительный эскиз того что мы сделали (но это просто рендер, мувик): https://www.youtube.com/watch?v=40m-SQzgUzE&feature=youtu.be Таких анимаций будет около 14-ти, нужно подготовить наши анимированные файлы в 3Д максе для перекидывания в движок Away3D. О форматах сотрудничества готов обсдуить в скайпе ink_pixel или по почте info@inkpixel.com Спасибо. Тэги: |
Вы хотите Apache Flex 4.13+ Air 14-15 beta? Но не можете побороть их установщик? Log
Мы вам поможем!
1. Скачиваем вражеский OSMF.swc https://sourceforge.net/projects/osmf.adobe/files/OSMF%202.0%20Release%2... 2. Выкачиваем http://svn.code.sf.net/adobe/flexsdk/code/trunk/lib/ 3. Забираем fiddler http://www.telerik.com/download/fiddler 4.Устанавливаем и настраиваем AutoResponder в fiddler http://sourceforge.net/projects/osmf.adobe/files/OSMF%202.0%20Release%20... выбираем для него OSMF.swc
указываем для него afe.jar
для
aglj40.jar
flex-fontkit.jar
flex-messaging-common.jar
rideau.jar
Аналогично.
итого примерно вот так должно быть
5. Запускаем инсталятор Apache Flex SDK Installer и далее - далее.
|
2014-10-22 |
Конференция UAFPUG-50 во Львове — 1 ноября После долгого перерыва во Львове пройдет конференция флэш-разработчиков код UAFPUG-50. Место - офис GlobalLogic. Прозвучат доклады:
Регистрация уже началась, прошу: Зарегаться на UAFPUG-50 во Львове P.S. Трудно сказать, когда у нас будет еще следующая такая возможность :) |
2014-10-17 |
Вакансия: Flash/JS-разработчик, Екатеринбург, Яндекс Ищу к себе в команду флэшера, который уже трансформировался в JS-разработчика или ещё пока активно собирается. Будем переписывать на JS/HTML всякое флэшовое. Маленькое, большое и, возможно, очень большое. Подробнее тут: http://company.yandex.ru/job/vacancies/dev_flash.xml Екатеринбург, офис, Яндекс, фуллтайм. Деньги обсуждаем на собеседовании. Тэги: |
2014-10-13 |
Флэшер в Днепр — казино, фулл-тайм В Днепропетровский офис Playtika нужен разработчик онлайн-казино с блэкджеком и дудками, делать игры на AS3 для существующей платформы. Тип занятости - полная (офис Менора). Зарплата зависит.
Требования:
Мы дадим вам:
Интересно? Резюме с пометкой "Job Playtika" присылайте на Rostislav.Siryk@gmail.com |
2014-10-02 |
Узнать версию Flash Player — myflashversion.com |
2014-09-25 |
Обновленный Tour De Flex: более 300 примеров кода Команда Apache Flex выпустила "Tour De Flex 1.1 Сomponent Еxplorer". Это обновление к версии 1.0 с улучшениями и багфиксами. Также исправлены неработающие примеры. Изменения в Tour De Flex 1.1:
Ссылки:Кликабельно: Happy Coding! |
2014-09-15 |
Город не важен: нужен флэшер-фрилансер
О проекте: Оптимизация существующих на веб платформе флэш игр. Оптимизация под вин*8, мобильные девайсы не нужны. Кто нам нужен? Команда из 4 человек, либо рассмотрим каждого в отдельности:) Важно:
Сотрудничество на основе фриланс от 3 до 6 месяцев (возможно продолжение).
|
2014-09-11 |
JavaScript для Flex-разработчика. Запись доклада и ссылки На самом деле, этот доклад будет полезен также enterprise-разработчикам, которые еще не знаю, с чего начать путь в JavaScript. Так вышло, что многие команды Flex-разработчиков переходят на JavaScript. И хотя появляются такие решения, как кросс-компилятор FlexJS — задача изучения JS стоит перед многими. Важная особенность JS в том, что тут нет одного-единственного фреймворка, покрывающего все задачи — вы должны подобрать оптимальный для вашего случая набор. Даниил Московцов — настоящий флексер. Он рассказывает о том, как переходила на Enterprise-разработку его команда, в которой не было ни одного разработчика с реальным опытом в JS. Вот уже восьмой месяц они создают на JS сложный промышленный проект с высокими требованиями к устойчивости и качеству. Они нашли тот стек фреймворков, который хорошо решает их задачи, в том числе такие, как поддерживаемость кода, TDD и бизнес-стандарты. Почему был выбран тот или иной фреймворк и что он делает — об этом рассказывается в докладе. От себя добавлю, что практически все фреймворки из доклада являются звездами в своих областях и заслуживают внимательного изучения. Запись доклада:От Flex к Javascript на конференции UAFPUG #47. Харьков, 6 сентября 2014 г. Слайды к докладу:Фреймворки из доклада, картинкой:Фреймворки из доклада, списком:
Докладчик:Что дальше?Заседание продолжается!Следующая конференция UAFPUG-48 будет в Киеве в GL-Club'е. Будем обсуждать:
|
2014-09-10 |
Вышел Adobe Flash Player 15: новые возможности и безопасность Выпущены Adobe Flash Player 15.0.0.152 и AIR 15.0.0.249. В новых версиях Flash Runtime исправлены уязвимости на всех платформах, включая iOS и Android. Повышение безопасностиПредыдущие версии Flash Player 14 и Flash Player 13 содержат уязвимости, такие, как утечки памяти, что может использоваться для обхода рандомизации выделения адресов памяти (ASLR), обхода системы безопасности, использования памяти после ее освобождения (use-after-free), повреждения областей памяти и обхода политики единого происхождения кода, а также переполнение буфера. На сайте Adobe есть полный писок уязвимостей Flash Player 13 и 14. Там же можно проверить, какая версия Flash Player установлена у вас. Исправление для Google Chrome ожидается в ближайшем времени. Microsoft, скорее всего, выпустит обновления для Internet Explorer как часть патча. Новые возможности Flash Player 15Adobe нашла чем порадовать и разработчиков. Вот список основных улучшений со ссылками на статьи:
Скачать Adobe Flash Player и Adobe AIR
Документация к Flash PlayerА тем временем, в индексе TIOBE язык ActionScript занял 14 место. Приходите пообщаться в КиевеПродолжается регистрация на конференцию UAFPUG-48 в Киеве. Будем обсуждать:
Тэги: |