Команда (фрилансеры)

Набираем команду фрилансеров, Вы:

  • Программист,
  • Дизайнер,
  • SEO-специалист,
  • Менеджер

Разработка на заказ

Наша команда фрилансеров выполнит
работы на заказ:

Создание и раскрутка сайтов
Разработка приложений (мобайл, десктоп, сервер)
Разработка игр (веб, мобайл, 3D)
Аутсорсинг, фриланс

Контакты
vk.com/sitev_ru
Skype: sitev.ru
E-mail: mike@sitev.ru
github.com/sitev

Рейтинг@Mail.ru

Besucherzahler
счетчик посещений
Сайт на C++
Наш сайт работает на C++ и это очень круто! =))

Как ускорить загрузку сайта?

Недавно ко мне по скайпу обратился клиент с вопросом ускорения загрузки сайта. Я ему сходу ляпнул: а давайте перепишем сайт на С++? Звуки грохота со стула отдались в моих наушниках, я сбросил звонок. И погрузился в глубокие раздумья. Как же, как же всё-таки ускорить сайт, ведь действительно, не переписывать же его на С++?

Благо интернет под рукой. Сам я разбираться не стал, но нашёл специалиста, который этим занимается. Это Владимир Муковоз. Так давайте же спросим у него, как он ускоряет сайты?

далее


Parser - синтаксический анализатор

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

Давайте сразу разобьём парсер на два класса. Первый будет абстрактным парсером, поместим его в библиотеку lang.

class Parser {
protected:
	vector nodes;
public:
	Parser(Lexer *lexer);
	virtual Str run(Str s) = 0;
	virtual Token getToken();
	virtual void savePosition();
	virtual void savePosition(int &savePos);
	virtual void rollback();
	virtual void rollback(int savePos);
};

далее


Lexer - лексический анализатор

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

class Lexer {
public:
	Lexer();
	~Lexer();

	virtual void start(Str s);
	virtual Str step();

	virtual Str run(Str s);

	virtual bool isLetter(char a);
	virtual bool isNumeral(char a);
	virtual bool isSpecial(char a);

	virtual bool isIdentifier(Str lexema);
	virtual bool isNumber(Str lexema);
	virtual bool isSpecial(Str lexema);
	virtual LexemaType getLexemaType(Str lexema);
	
	virtual Token getToken(Str lexema);
};

далее


Как работает компилятор

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

Мы будет сразу и писать компилятор (класс Compiler) и, одновременно, разбираться как он работает. Поехали!

далее


Язык программирования C++ не признали иностранным языком

26 апреля 2016 г., арбитражный суд Орловской области должен был решить такой вопрос: является ли язык программирования C++ иностранным языком.

На против местного политеха был размещен рекламный банер:

далее


Синтаксическая диаграмма Вирта

Разработка языка программирования начинается с определения его синтаксиса. Описать синтаксис можно обычным языком. Но более наглядно можно представить, изобразив визуально, в виде синтаксической диаграммы. Такие диаграммы в своё время предложил Никлаус Вирт для описания синтаксиса языка Pascal.

Мы будем применять такие диаграммы для описания своего языка программирования.

далее


Язык программирования Rust

Rust - достаточно новый язык программирования.

Разработчики языка сосредоточились на трёх задачах: безопасность, скорость и параллелизм.

Ухты, интересно!

далее


Спецификация языка Cj (версия 0.1)

1. Идентификаторы

Идентификатор - это имя, задаёмое в программе на языке Cj для переменных, функций, типов данных или классов.

Идентификатор может состоять из следующих символов:

_ a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9

но не может начинаться с цифры.

далее


Pug JS (Jade)

Pug JS или просто Pug, бывший Jade — это HTML-препроцессор и, одновременно, шаблонизатор, который был написан на JavaScript для NodeJS.

Pug JS - незаменимый инструмент для вёрстки сайтов - очень удобен и экономит время!

Отличная реклама! Ну чтож, можно разобраться и с этим инструментом!

далее


Express - фреймворк для NodeJS

Заходим на официальный сайт фреймворка и читаем там:

Быстрый, гибкий, минималистичный веб-фреймворк для приложений Node.js

Ну как не изучить этот фреймворк? Срочно изучаем!

далее

Наш проект: язык Cj
Cj - язык программирования (C++ & Javascript)
Новый язык программирования, для разработки веб, мобайл, десктоп-приложений, игр... подробнее...

Хотите поддержать проект?

  • Оставляйте ссылки на наш сайт
  • Станьте спонсором проекта
подробнее...

Концепция SITEV.ru

SITEV.ru - это социальная сеть для ИТ-специалистов (программистов, дизайнеров, seo-специалистов, рекламных менеджеров, маркетологов), в том числе фрилансеров, бизнесменов... а также обычных пользователей, для которых и делается ИТ

Реклама


Поиск работы по всему миру