Duplexe Tchamba

Duplexe Tchamba Bangou (born 10 July 1998) is a Cameroonian professional footballer who plays as a defender for the club Strømsgodset, on loan from Strasbourg.

Duplexe Tchamba
Personal information
Full name Duplexe Tchamba Bangou
Date of birth (1998-07-10) 10 July 1998
Place of birth Yaoundé, Cameroon
Height 1.91 m (6 ft 3 in)
Playing position(s) Defender
Club information
Current team
Strømsgodset
Number 4
Youth career
2014–2017 TAD Sport Academy
2017–2019 Strasbourg
Senior career*
Years Team Apps (Gls)
2017– Strasbourg II 24 (0)
2019– Strasbourg 0 (0)
2019–Strømsgodset (loan) 14 (1)
National team
2017 Cameroon U20 3 (0)
2017– Cameroon U23 3 (1)
* Senior club appearances and goals counted for the domestic league only and correct as of 24 November 2019
‡ National team caps and goals correct as of 1 July 2019

Professional career

Tchamba was a product of the TAD Sport Academy in Cameroon, and moved to Strasbourg on 22 March 2017.[1] He made his professional debut for Strasbourg in a 1–0 Coupe de France win over Grenoble Foot 38 on 16 January 2019.[2]

International career

Tchamba represented Cameroon U20s at the 2017 Africa U-20 Cup of Nations, and the Cameroon U23s in a set of friendlies.[3]

gollark: The embed says "no" on heav's website, fix?
gollark: This is not ideal. How can we use more without boring things like cryptominers?
gollark: Okay, this might fix it, pushed.
gollark: If the issue is what I think it could be, then it's accidentally dropping? data on the threshold of the rolling counter region incorrectly.
gollark: ```nimproc pollTargets(ctx: Ctx) {.async.} = for row in ctx.db.all("SELECT * FROM sites"): var (id, url, rollingTotalPings, rollingSuccessfulPings, rollingLatency, rollingDataSince) = row.unpack((int64, string, int64, int64, int64, Option[Time])) let res = await ctx.pollTarget(url) let threshold = getTime() # drop old data from rolling counters if rollingDataSince.isSome: for row in ctx.db.iterate("SELECT status, latency FROM reqs WHERE timestamp >= ? AND timestamp <= ? AND site = ?", rollingDataSince.get, threshold, id): let (statusRaw, latency) = row.unpack((int, int)) rollingTotalPings -= 1 rollingLatency -= latency if statusRaw <= 0: rollingSuccessfulPings -= 1 # add new data rollingTotalPings += 1 rollingLatency += res.latency if int(res.rtype) <= 0: rollingSuccessfulPings += 1 ctx.db.transaction: ctx.db.exec("UPDATE sites SET rc_total = ?, rc_success = ?, rc_latency = ?, rc_data_since = ? WHERE sid = ?", rollingTotalPings, rollingSuccessfulPings, rollingLatency, threshold, id) ctx.db.exec("INSERT INTO reqs (site, timestamp, status, latency) VALUES (?, ?, ?, ?)", id, getTime(), int(res.rtype), res.latency)```This is the core algorithm.

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.