Нужен обычный VPS Linux. Пара сайтов, может пара скриптов. Мне вполне хватает RAM 1 Гб, 2х2000 MHz, 15 Гб SSD. Я правильно понимаю, что ближайший аналог a1.medium https://aws.amazon.com/ru/ec2/pricing/on-demand/ 0.0255*12*30*12 = 110.16 USD в год? Больше не за что не нужно платить?
Есть ли у AWS какой-то экономный вариант для приложений на node js(типа heroku)? Контейнера или что-то такое.
Если речь про s3 website, туда же можно загрузить angular и т.д.?
Я правильно понимаю, что для типичных задач (интернет магазин, лендинг и т.д.) экономнее взять s3 website(дает скорость загрузки через их сеть) + где-то сторонний (не на AWS) VPS где держать базу, скрипты или ботовда. и может даже посмотреть на какой-то другой сдн, у меня очень большие сомнения что с3 будет дешевле
s3 website
var Player = React.createClass({
componentDidMount: function() {
this.refs.video.addEventListener("ended", this.onEnded, false);
},
onEnded: function() {
alert("ended");
},
componentWillUnmount: function() {
this.refs.video.removeEventListener("ended", this.onEnded, false);
},
render: function() {
return <video ref="video" src={this.props.src} autoPlay={this.props.autoPlay} width={this.props.width} height={this.props.height} controls />;
}
});
var PlayerContainer = React.createClass({
render: function() {
return <Player width="50%" height="50%" src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" autoPlay="" />;
}
});
ReactDOM.render(<PlayerContainer />, document.body);
ArrayList
без весомой на то необходимости. Поэтому компилятор не смог вас предупредить, что ArrayList
состоит из ArrayList
'ов, в котором строки (двумерный массив строк), а не просто строк.ArrayList
необходимо использовать типизированный динамический массивList<string>
.public void Click_OpenFile()
{
string fileName = form1.OpenFie();
IList<string[]> aL = ParseFile(fileName);
foreach (var line in aL)
{
// Снова собираем токены в строки
MessageBox.Show(string.Join(" ", line));
}
}
// Читаем файл и построчно парсим его
private IList<string[]> ParseFile(string fileName)
{
if (string.IsNullOrEmpty(fileName))
{
throw new ArgumentNullException(nameof(fileName));
}
if (!File.Exists(fileName))
{
throw new ArgumentException($"There is no file {fileName}!");
}
string[] fileContent = File.ReadAllLines(result);
var aL = new List<string[]>(fileContent.Length);
foreach (var line in fileContent)
{
aL.Add(ParseString(line));
}
return aL;
}
// Разбиваем строки на токены
private string[] ParseString(string s)
{
const char delimiter = '|';
return s.Split(delimiter);
}
t.parent().parent().parent().find( "input" ).val( (--inpVal) ).trigger('change');
List<Integer> mass;
void sayLen(){
if (mass == null) {
System.out.println("0");
} else {
int len = this.mass.size();
System.out.println(len);
}
}
void addToMass(int e){
if (mass == null) {
mass = new ArrayList<>();
this.mass.add(e);
} else {
this.mass.add(e);
}
}
}
$_SERVER['HTTP_REFERER'] // тут адрес страницы, с которой был отправлен запрос