Just a simple race condition example.
Dokku je ekstremno jednostavan PaaS (platform as service) . Filozofija koje su se držali programeri dok su razvijali ovaj softver je poprilično jasna. Želeli su da naprave što jednostavniji potpuno funkcionalan klon Heroku platforme. I uspeli su u tome.
Ono što je prednost ovakvog sistema jeste to što vi ne morate (ali možete) da razmišljate o celokupnom kontejneru u kom se izvršava aplikacija već samo o aplikaciji i njenim zahtevima. Sve što treba da uradite jeste da pushujete svoj git repozitorijum i Dokku će od njega napraviti potpuno funkcionalan docker kontejner.
Prvo što treba da znate o Dokkuu, Herokuu i sličnim rešenjima jeste to da oni koriste nešto što se zove buildpackovi. Buildpack je u suštini skup dodatnog softvera koji je neophodan za buildovanje i izvršavanje vaše aplikacije. Tako npr. imamo buildpack za PHP, buildpack za Python, za Ruby, etc.
<?php | |
function broj($n){ | |
if($n == 1){ | |
return 1; | |
} | |
if($n % 2 == 0){ | |
return broj($n/2) - 1; | |
} | |
else |
<record from="1394631662" to="graphics/pictures/person/1394631662/portrait"/> | |
<record from="1394631663" to="graphics/pictures/person/1394631663/portrait"/> | |
<record from="1394631664" to="graphics/pictures/person/1394631664/portrait"/> | |
<record from="1394631665" to="graphics/pictures/person/1394631665/portrait"/> | |
<record from="1394631666" to="graphics/pictures/person/1394631666/portrait"/> | |
<record from="1394631667" to="graphics/pictures/person/1394631667/portrait"/> | |
<record from="1394631668" to="graphics/pictures/person/1394631668/portrait"/> | |
<record from="1394631669" to="graphics/pictures/person/1394631669/portrait"/> | |
<record from="1394631670" to="graphics/pictures/person/1394631670/portrait"/> | |
<record from="1394631671" to="graphics/pictures/person/1394631671/portrait"/> |
<?php | |
for($i = 1394631662; $i <= 1394634500; $i++){ | |
echo '<record from="'.$i.'" to="graphics/pictures/person/'.$i.'/portrait"/>'."\n"; | |
} |
tmux actually gives unique ids for windows and they persist even when windows are reordered:
╭─nemanjan00@nemanjan00-laptop ~
╰─$ tmux list-windows -t turizam
1: php (1 panes) [192x53] [layout bbc5,192x53,0,0,8] @8
2: index.php (1 panes) [192x53] [layout 5e12,192x53,0,0,13] @13
ELF Header: | |
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 | |
Class: ELF64 | |
Data: 2's complement, little endian | |
Version: 1 (current) | |
OS/ABI: UNIX - System V | |
ABI Version: 0 | |
Type: EXEC (Executable file) | |
Machine: Advanced Micro Devices X86-64 | |
Version: 0x1 |
package com.mycompany.app; | |
import java.util.Scanner; | |
public class App{ | |
public static void main(String args[]) { | |
Scanner sc = new Scanner(System.in); | |
String str = sc.nextLine(); | |
for(int i = 0; i < str.length(); i++){ |
<?php | |
function rm($dir){ | |
$list = scandir($dir); | |
foreach($list as $path){ | |
$path = $dir."/".$path; | |
if(is_dir($path)){ | |
rm($path); | |
} |
error_log: { | |
"name": "TypeError", | |
"message": "Cannot read property 'getAttribute' of null", | |
"origin": "$r.comet<comet.onmessage>", | |
"fatal_level": 0, | |
"stack": [ | |
"create_item@/v2/en-us/-/js/hon_v3/base-app.1971.js:37:15", | |
"Object.apply@<anonymous>:17:19", | |
"prepare@/v2/en-us/-/js/hon_v3/base-app.1971.js:35:31121", | |
"Object.apply@<anonymous>:17:19", |