Pull to refresh
13
0
Александр Гаврилюк @Absent

Программист

Send message

Отличная статья! Спасибо и респект автору.

BTW по-моему, в предложении "Наследование стоит оставить для случаев, когда она абсолютно необходима" будет правильнее использовать местоимение "оно"

Это могло бы быть смешно, если бы не было так грустно

Мою фамилию «Гаврилюк» в Казахстане писали Gavrilyuk, в России — Gavriliuk, в Молдавии — Gavriliuc, а в Украине — Havryliuk

Украина в этом плане вообще — впереди планеты всей, они умудряются переводить даже имена
К примеру, мои инициалы А.Н. (Александр Николаевич) здесь пишут О.М. (Олександр Миколайович)
В итоге я не узнаю свое имя в документах ни на кириллице, ни на латинице :-(

Спасибо за интересную работу! Очень полезно и познавательно :-)

Хочу поделиться мыслями по поводу вот этой фразы:
код все равно длинны 3 и не стандартный

Во-первых, по-моему, можно ограничиться заменой Щ -> JS (длина — 2, но префикс взят от гласных)
А во-вторых, правильно писать «длины» и «нестандартный» (а точнее — «длиной» и «нестандартен»)

Всех благ! :-)
Привет, отличная статья

Мой случай: имеется веб-приложение с WebSocket соединением с сервером, определена пара пользователей, желающих начать видео-звонок (то есть каждый из них может передавать данные на сервер и быть уверенным, что другой их получит — сервер передаст :-)

Получается, мне нужно только добавить видеозахват и отображение потока, так как само соединение у меня уже есть (правда, через сервер, но это можно пережить)

Не могу сообразить, надо ли мне использовать RTCPeerConnection, как более подходящее по случаю, или лучше воспользоваться описанной здесь схемой?

Спасибо
Опечатка в коде: имя параметра «text_lenght»
char* text;
int text_length;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &text, &text_lenght) == FAILURE) { 
   return;
}
По-моему, у вас в примере есть опечатка

destroy_write:
    png_destroy_write_struct(&png_str, nullptr);
close_file:
    fclose(fp);
}

В этом фрагменте удаляется png_str, но такой переменной не объявлялось
По-видимому, имелась в виду переменная png_ptr

Спасибо за пример, это — как раз то, что я искал (если, конечно, всё заработает) :-)
«но и это настаиваемо» :-)

Я использую Vue.js на многих проектах и очень им доволен


Достаточно двух тегов v-if и v-for, чтобы начать с ним работать и получить выигрыш по скорости разработки и объему кода раз в 10, и ничего больше можно не изучать


Я считаю это огромным плюсом Vue.js

Наверное, все же не «почтовый клиент», а какой-то общесистемный spell checker?
И наверняка его можно «обучить» новому слову.
Спасибо за ссылки.

Именно к такому же выводу я пришел логически.
Apple решил выебнуться
Я тоже не уважаю ни эту фирму, ни их политику или продукцию.
Но, уважая собеседников и читателей, следует выбирать более корректные выражения.
1. Нам нужна замена подстроки в строке. Самым очевидным вариантом будет такой: string.replace(from, to). Жаль, что в PHP он не осуществим.
Ну, во-первых, «неосуществим» пишется слитно. А во-вторых, очень даже осуществим:
<?php
class Str
{
  public $value;

  public function __construct($value)
  {
    $this->value = $value;
  }

  public static function create($value)
  {
    return new self($value);
  }

  public function __toString()
  {
    return '' . $this->value;
  }

  public function replace($what, $with)
  {
    return self::create(str_replace($what, $with, $this->value));
  }
}

function S($value)
{
  return new Str($value);
}

$source = '1234567890';

$result1 = Str::create($source)->replace('456', 'xxx');

$result2 = S($source)->replace('89', 'ZZ');

echo "<pre>\n";
echo "source: '$source'\n";
echo "result1: '$result1'\n";
echo "result2: '$result2'\n";
echo "</pre>\n";
?>

Результат:
source: '1234567890'
result1: '123xxx7890'
result2: '1234567ZZ0'
Человек задается вопросом о том, как правильно говорить — что само по себе уже хорошо
«Зри в корень» (с) Козьма Прутков

Комментарии по содержанию статьи априори ценнее, чем комментарии по форме ее изложения.
В общем я согласен с вами.

Моя логика примерно такова:

Регрессия — антоним слова прогрессия.

— Регрессивное тестирование — альтернатива прогрессивному тестированию, то есть регрессия наблюдается в самом процессе тестирования. Прогрессивное тестирование использует все новейшие методики и другие достижения научно-технического прогресса и само прогрессирует как процесс, оно со временем становится все лучше и лучше. Как альтернатива этому, регрессивное тестирование — это тестирование, которое со временем только становится все хуже и хуже.

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

Русский язык богаче английского за счет более сложного словообразования, поэтому мы можем позволить себе использовать разные суффиксы там, где англоговорящий человек вынужден использовать разную интонацию. Смайл.
DrPass, за чувство юмора вам сразу плюс!
Избегаю ставить смайлики, так как в правилах написано, что это — моветон.

Ок, мир. FYI я не преподаю информатику, а пытаюсь дома увлечь программированием детей 10 и 13 лет, которые пока что этим не увлекаются.

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

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

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

Замечание насчет заголовка статьи отчасти справедливо: действительно, его лаконичность рождает некоторую двусмысленность. Но я думаю, что текст статьи вносит полную ясность, а длинных заголовков я стараюсь избегать. Так что между лаконичностью и кропотливой точностью заголовка я выбираю лаконичность. Кому надо — тот поймет.

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

Что касается опыта, то свои три первых языка программирования я выучил еще в 1985 году — за 24 года до формализации принципов SOLID (и, возможно, еще до вашего рождения). Но знание многих языков программирования не мешает мне знать правила русского языка.

Пожалуйста, не относитесь негативно к моим замечаниям, ведь, как написано выше — «Ничего в критике страшного, да и вообще негативного, нет»

Три смайла и зеленая стрелка вместо красной на вашем профиле.
Где-то на следующих этапах обучения — возможно, да.
Но сейчас моя задача — увлечь своих детей программированием.
Я хочу показать, что даже написание игры им вполне по силам.
Поэтому я искал предельно простые решения.
Не подходит.
В «части второй» мы пишем приложение, использующее этот компонент.
А первая часть целиком и полностью описывает процесс создания компонента.
Этот компонент нужен для анимации спрайтов, без него это намного сложнее.
Я перебрал в уме несколько вариантов, которые не обманывали бы человека, смутно понимающего смысл предлога «для».
Наверное, вам понятнее было бы так:
— Пишем компонент, удобный для создания анимации в приложении
Но это звучит громоздко и как-то не по-русски.
И я бы еще прислушался к мнению человека, пишущего по-русски без ошибок, но к комментариям людей, допускающих грамматические ошибки, на тему построения предложений я останусь глух.
Знаете, это моя вторая статья на хабре, причем первая была написана в 2011 году. Так что опыта по ведению диалогов в комментариях у меня маловато, но вы научили меня одной хорошей идее. Если автор комментария производит сомнительное впечатление, то его комментарии лучше просто игнорировать. А если отвечать на такие безграмотные вбросы, то только статью запачкаешь да минусов нахватаешь — от него и ему подобных.

Так что спасибо вам большое за урок, но это — мой последний вам ответ.
Я очень люблю критику, но конструктивную, разумную и обоснованную.

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

2. Компонент и на самом деле «недалеко ушел от TImage». Но я это пытаюсь преподнести как достоинство. Компонент не решает задачу анимации — иначе он назывался бы TAnimatedSprite. Все, что мне было нужно от этого компонента — возможность показать фрагмент изображения, что и отражено в его названии. Анимация делается в приложении, но инструментом выступает TImageFragment.

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

Я не отрицаю, что в статье есть недостатки. Но вы не назвали ни одного!

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity